1. 데이터 베이스(DB) 란: 시스템이 공동으로 사용하고 관리하는 데이터 집합
2. 데이터 베이스의 장단점
장 점 |
단 점 |
- 종속성 및 중복성 최소화 - 일관성 및 무결성 유지 - 공유 및 보안성 강화 - 실시간 처리 가능 |
- 전문가 부족 - 전산화 비용 증가 - 시스템이 복잡하고 속도 느림 - 파일 회복이 어려움 |
3. 데이터베이스의 필수 기능: 정의, 조작, 제어(아래 DBMS 언어 참조)
4. 스키마(Schema): 데이터베이스를 구성하는 파일, 레코드, 항목의 형식과 상호 관계 정의
외부스키마 |
서브 스키마, 뷰(View), 일반사용자나 응용프로그래머 관점 |
개념스키마 |
논리적 구조, 보안, 무결성 규칙 명세 |
내부스키마 |
물리적 스키마, 시스템 설계자 관점 |
5. DBMS 언어
DDL (정의어) |
생성, 구조 수정 (Data Definition Language) - Create, Alter, Drop등의 명령어 |
DML (조작어) |
검색, 삽입, 삭제, 변경 (Data Manipulation Language) - Select, Insert, Delete, Update... |
MCL (제어어) |
무결성 유지 (Data Control Language) - Grant, Revoke, Commit, Rollback... |
7. 관계형 DBMS (Relational DBMS)
○ 테이블(Table)을 이용한 구조
- 테이블: 표, 개체, 릴레이션(Relationships)
- 속성(Attribute): 필드(Field), 레코드의 이름 요소, 열(Column)
· 도메인(Domain): 하나의 속성에서 취할 수 있는 원자값의 범위
· 속성 갯수: 차수(Degree)
- 튜플(Tuple): 레코드(Record), 행(Row)
· 튜플 갯수: 기수(Cardinality)
○ 테이블의 특징
- 필드(속성)와 레코드(튜플)는 유일하며 순서와는 무관하다.
- 필드 값은 분해할 수 없다.(원자값)
- 필드 값은 동일할 수 있다.
- 레코드(튜플)를 식별하기 위해 필드(속성)의 일부를 기본 Key로 설정한다.
- 필드는 Null 값을 가질 수 있으나, 기본 키에 해당하는 필드는 Null 값을 가질 수 없다.
8. 키(Key)의 개념과 종류
○ 테이블에서 다른 데이터와 구분하기 위한 유일한 값을 가지는 필드 또는 필드의 결합
○ 키(Key)는 각각의 튜플을 유일하게 식별할 수 있는 것. 없어도 된다.
○ 후보키(Candidate Key): 유일성과 최소성을 모두 만족하는 키
○ 기본키(Primary Key): 후보키 중에서 선정(중복 안되고, Null값도 안됨)
○ 대체키(Alternate Key): 후보키 중 기본키를 제외한 나머지 키
○ 슈퍼키(Super Key): 두 개 이상의 속성 연결, 유일성은 만족, 최소성은 불만족
○ 외래키(Foreign Key): 관계가 정의되어 참조된 다른 테이블의 기본키(한 테이블에 여러 개 존재 가능)
9. 정규화(Normalization): 이상(Anomaly) 현상이 일어나지 않도록 분해하는 과정
○ 중복·종속성 최소화하기 위한 작업(완벽하게 중복 제거는 안됨)
○ 논리적 설계 과정에서 수행
○ 속성 수가 적은 테이블로 분할되어 관리가 쉬워짐
○ 분할이 많으면 오히려 복잡해져 효율이 떨어짐
□ 이상(Anomaly)현상이란: - 삽입 이상: 불필요한 데이터가 함께 삽입되는 현상 - 삭제 이상: 필요한 데이터가 함께 삭제되는 현상 - 갱신 이상: 일부만 수정되어 데이터의 불일치가 발생 |