Database : Database란?
데이터베이스
데이터베이스의 기본개념
- 데이터의 집합 (a Set of Data)
- 여러 프로그램들의 통합된 정보들을 저장하고 운영할 수 있는 공용 데이터의 집합
- 효율적으로 저장, 검색, 갱신할 수 있도록 데이터 집합들끼리 연관시키고 조직화되어야 합니다.
데이터베이스의 특성
- 실시간 접근성(Real-time Accessability)
- 사용자의 요구를 즉시 처리할 수 있습니다.
- 계속적인 변화(Continuous Evolution)
- 정확한 값을 유지하려고 삽입·삭제·수정 작업 등을 이용해 데이터를 지속적으로 갱신할 수 있습니다.
- 동시 공유성(Concurrent Sharing)
- 사용자마다 서로 다른 목적으로 사용하므로 동시에 여러 사람이 동일한 데이터에 접근하고 이용할 수 있습니다.
- 내용 참조(Content Reference)
- 저장한 데이터 레코드의 위치나 주소가 아닌 사용자가 요구하는 데이터의 내용, 즉 데이터 값에 따라 참조할 수 있어야 합니다.
데이터베이스 관리 시스템
(Database Management System = DBMS)
- 데이터베이스를 관리하는 소프트웨어
- 여러 응용 소프트웨어(프로그램) 또는 시스템이 동시에 데이터베이스에 접근하여 사용할 수 있게 합니다
- Oracle, SQL Server, MySQL, DB2 등의 상용 또는 공개 DBMS가 있습니다.
데이터베이스 관리 시스템의 필수 3기능
- 정의기능 : 데이터 베이스의 논리적, 물리적 구조를 정의
- 조작기능 : 데이터를 검색, 삭제, 갱신, 삽입, 삭제하는 기능
- 제어기능 : 데이터베이스의 내용 정확성과 안전성을 유지하도록 제어하는 기능
데이터베이스 관리 시스템의 장/단점
- 장점
- 데이터 중복을 최소화
- 데이터의 일관성 및 무결성 유지
- 데이터 보안 보장
- 단점
- 운영비가 비싸다
- 백업 및 복구에 대한 관리가 복잡
- 부분적 데이터베이스 손실이 전체 시스템을 정지
SQL (Structured Query Language)
- SQL은 데이터를 보다 쉽게 검색하고 추가, 삭제, 수정 같은 조작을 할 수 있도록 고안된 컴퓨터 언어입니다.
-
관계형 데이터베이스에서 데이터를 조작하고 쿼리하는 표준 수단입니다.
- DML (Data Manipulation Language): 데이터를 조작하기 위해 사용합니다.
- INSERT, UPDATE, DELETE, SELECT 등
- DDL (Data Definition Language): 데이터베이스의 스키마를 정의하거나 조작하기 위해 사용합니다.
- CREATE, DROP, ALTER 등
- DCL (Data Control Language) : 데이터를 제어하는 언어입니다. 권한을 관리하고, 테이터의 보안, 무결성 등을 정의합니다.
- GRANT, REVOKE 등
테이블(table)
- 엑셀의 표와 유사한 모양을 가집니다.
- 데이터베이스를 생성해도 테이블은 존재하지 않습니다.
- 테이블을 사용하려면 테이블을 생성하는 SQL을 사용해야 합니다.
구성요소
- 테이블 : RDBMS(관계형 데이터베이스 관리 시스템) 의 기본적 저장구조. 한 개 이상의 column과 0개 이상의 row로 구성합니다.
- 열(Column) : 테이블 상에서의 단일 종류의 데이터를 나타냄. 특정 데이터 타입 및 크기를 가지고 있습니다.
- 행(Row) : Column들의 값의 조합. 레코드라고 불림. 기본키(PK)에 의해 구분. 기본키는 중복을 허용하지 않으며 없어서는 안 됩니다.
- Field : Row와 Column의 교차점으로 Field는 데이터를 포함할 수 있고 없을 때는 NULL 값을 가지고 있습니다.
데이터베이스와 DBMS
- 데이터베이스를 이마트의 물픔들이라고 한다면, DBMS는 이마트 관리자라고 할 수 있습니다.
- 관리자는 물품들을 종류별로 진열할 위치를 정하여 구조를 정의 할 수있습니다 (정의기능)
- 관리자는 물품들을 반입반출하거나 유통기한이 다된 물품을 진열대에서 제거하는 일 등을 할 수 있습니다 (조작기능)
- 관리자는 물품들이 다른 종류의 위치에 있으면 제 위치를 찾아서 진열할 수도 있고 유통기한이 다된 물품들을 관리해줄 수 있습니다 (제어기능)
출처 : https://www.boostcourse.org/web326/lecture/258482/
https://www.boostcourse.org/web326/lecture/258481/
댓글남기기