티스토리 뷰
1. 데이터베이스
- 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것
- DBMS(Database Management System) : 데이터베이스 관리 소프트웨어
n 데이터베이스의 발전
- 1960년대 : 플로우차트 중심의 개발 방법
- 1970년대 : 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품
- 1980년대 : 관계형 데이터베이스가 상용화되었으며 Oracle, Sybase, DB2와 같은 제품
- 1990년대 : 객체 관계형 데이터베이스로 Oracle, Sybase, Informix, DB2, Teradata, SQL Server
n 관계형 데이터베이스 (Relational Database)
- 1970년 영국의 수학자였던 E.F. Codd 박사의 논문에서 처음으로 관계형 데이터베이스가 소개
- 파일시스템의 단점
동시에 입력, 수정, 삭제를 할 수 없기 때문에 정보의 관리가 어렵다.
복사본 파일을 만들어 사용할 경우 데이터의 불일치성이 발생한다.
- 관계형 데이터베이스의 장점
정규화를 통해 이상(ANOMALY) 현상을 제거하고 데이터 중복을 피할 수 있다.
동시성 관리, 병행 제어를 통해 데이터를 공유
데이터의 표현 방법 등을 체계화할 수 있고, 데이터 표준화, 데이터 품질을 확보
보안 기능
데이터 무결성(Integrity)을 보장
데이터를 회복/복구하는 기능
2. SQL (Structured Query Language)
- SQL의 최초 이름이 SEQUEL(Structured English QUEry Language) – ‘에스큐엘’로 읽는 것을 권고
- 1986년부터 ANSI/ISO를 통해 표준화되고 정의된 SQL 기능은 벤더별 DBMS 개발의 목표가 된다.
- 각 벤더의 관계형 데이터베이스(RDBMS)는 표준화된 SQL 이외에도 벤더 차별화 및 이용 편리성을 위해 추가 기능 구현
-
SQL 문장들의 종류 – SQL 명령어는 3가지
SAVEPOINT 그룹인 DDL, DML, DCL로 구분
TCL의 경우 굳이 나눈다면 일부에서 DCL로 분류하기도 하지만, 다소 성격이 다르므로 별도의 4번째 그룹으로 분리
명렁어의 종류 |
명령어 |
설명 |
데이터 조작어 (DML : Data Manipulation Language) |
SELECT |
데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE 라고도 한다. |
INSERT UPDATE DELETE |
데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어 들을 말한다. 예를 들어 데이터를 테이블에 새로운 행을 집어 넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들의 명령어들을 DML이라고 부른다 |
|
데이터 정의어 (DDL : Data Definition Language) |
CREATE ALTER DROP RENAME |
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 그러한 구조를 생성하거나 변경하거나 삭제하거나 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL 이라고 부른다. |
데이터 제어어 (DCL : Data Control Language) |
GRANT REVOKE |
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어를 DCL이라고 부른다. |
트랜잭션 제어어 (TCL : Transaction Control Language) |
COMMIT ROLLBACK |
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어를 말한다. |
3. TABLE
- 테이블(TABLE) : 데이터를 저장하는 객체(Object)로서 관계형 데이터베이스의 기본 단위
용어 |
설명 |
테이블 (Table) |
행과 칼럼의 2차원 구조를 가진 데이터의 저장 장소이며, 데이터베이스의 가장 기본적인 개념 |
칼럼/열 (Column) |
2차원 구조를 가진 테이블에서 세로 방향으로 이루어진 하나하나의 특정 속성 (더 이상 나눌 수 없는 특성) |
행 (Row) |
2차원 구조를 가진 테이블에서 가로방향으로 이루어진 연결된 데이터 |
-
테이블의 분할 : 데이터의 불필요한 중복을 줄이는
것을 정규화(Normalization)라고 한다.
이상현상(Anomaly)을 방지
- 키(Key) : 기본키(Primary Key), 외부키(Foreign Key)
용어 |
설명 |
정규화 (Normalization) |
테이블을 분할하여 데이터의 정합성을 확보하고, 불필요한 중복을 줄이는 프로세스 |
기본키 (Primary Key) |
테이블에 존재하는 각 행을 한 가지 의미로 특정할 수 있는 한 개 이상의 칼럼 |
외부키 (Foreign Key) |
다른 테이블의 기본키로 사용되고 있는 관계를 연결하는 칼럼 |
4. ERD (Entity Relationship Diagram)
-
ERD
ERD의 구성 요소는 엔티티(Entity), 관계(Relationship),
속성(Attribute) 3가지이다.
- IE(Information Engineering) 표기법과 Barker(Case*Method) 표기법
'자격증 > SQLD' 카테고리의 다른 글
SQLD - SQL 기본 [DML] (0) | 2017.08.04 |
---|---|
SQLD - SQL 기본 [DDL] (0) | 2017.08.03 |
SQLD - 데이터 모델과 성능 [분산 데이터베이스와 성능] (0) | 2017.08.02 |
SQLD - 데이터 모델과 성능 [데이터베이스 구조와 성능] (0) | 2017.08.02 |
SQLD - 데이터 모델과 성능 [대량 데이터에 따른 성능] (0) | 2017.07.31 |