정규화 이상현상이 있는 릴레이션을 다수의 릴레이션으로 분리하는 과정 무결성 유지, 데이터 일관성🔼, 모델의 응집도🔼 제 1 정규화 (1NF) 모든 속성이 원자값으로 이루어짐 여러개의 주문상품이 하나의 칼럼에 들어가있어 제 1 정규형을 만족시키지 못함 제 1 정규화하여 분리 가능 제 2 정규화 (2NF) 모든 속성이 기본키에 대해 완전 함수 종속을 만족함 기본키 = (고객ID, 상품ID) (주문 상품), (가격) 속성은 기본키의 부분집합인 (상품ID)만 알아도 식별가능하므로 기본키에 부분 함수 종속 상품 테이블을 별도로 분리하여 제 2 정규화 가능함 제 3 정규화 (3NF) 모든 속성이 기본키에 대해 이행 함수 종속이 되지 않음 종속성: 고객ID -> 등급, 등급 -> 할인율 일 때, 고객ID -> 할인율..
함수 종속성 (Functional Dependency) : 속성들 간의 종속 관계 Y는 X에 함수 종속 = X -> Y: X의 값에 의해 Y의 값이 오직 하나로 결정됨 X = 결정자 / Y = 종속자 완전 함수 종속 : 종속자가 기본키에 종속되며, 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 대해 종속됨 ex) 릴레이션의 기본키 = (고객ID, 상품ID) (수량), (구매 금액) 속성은 기본키를 구성하는 속성 (고객ID, 상품ID)를 모두 알아야 식별가능하므로 기본키에 완전 함수 종속 부분 함수 종속 : 종속자가 기본키가 아닌 다른 속성에 종속되거나, 기본키를 구성하는 속성들 중 일부에만 종속됨 ex) (주문 상품) 속성은 기본키의 부분집합인 (상품ID)만 알아도 식별가능하므로 기본키에 부분..
정규화를 거치지 않고 DB에 데이터들이 불필요하게 중복되어 릴레이션 조작시 발생하는 이상현상 삽입이상 (Insertion Anomaly) : 삽입할 때 불필요한 데이터를 추가해야 삽입할 수 있는 현상 ex) 테이블에 경영학과를 추가할 때, 학생의 정보(불필요한 데이터)가 있어야 함 삭제 이상 (Delete Anomaly) : 삭제할 때 원하지 않는 값이 연쇄 삭제됨 ex) 테이블에서 학생을 삭제할 때, 학과의 정보가 삭제됨 갱신 이상 (Update Anomaly) : 중복된 데이터 중 일부만 변경되어 데이터에 모순이 일어나는 현상 ex) 컴퓨터공학의 학과명이 소프트웨어학으로 변경되는 경우, 1000개의 데이터를 모두 변경해야 함 학생 테이블, 학과 테이블 두 개의 테이블로 분리하여 갱신 이상 방지
무결정 제약 조건 : 데이터베이스에 저장된 데이터의 무결성, 일관성 보장 1. 개체 무결성 : 기본 키를 구성하는 속성은 NULL 값이나 중복값을 가질 수 없음 2. 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함 3. 도메인 무결성 : 특정 속성의 값이 도메인에 속한 값이어야함 4. Null 무결성 : 테이블의 특정 속성 값이 null이 될 수 없음 5. 고유 무결성 : 테이블의 특정 속성에 대해 각 레코드들이 다른 값을 가져야 함 6. 키 무결성 : 하나의 테이블은 적어도 하나의 키를 가짐
스키마 (Schema) : 데이터베이스의 구조와 제약 조건에 대한 전반적인 명세를 기술한 메타데이터 집합 간단히 말하자면, DB내에 데이터가 어떤 구조로 저장되는 지 나타내는 데이터베이스 구조 스키마는 DDL로 기술하고, DDL 컴파일러에 의해 번역되어 데이터 사전에 저장됨 - 외부 스키마 (서브 스키마): 사용자 뷰, 서브 스키마, 일반 사용자는 SQL을 통해, 프로그래머는 개발 언어를 통해 DB에 접근 - 개념 스키마: 전체적인 뷰, DBA에 의해 구성 - 내부 스키마: 저장 스키마, 물리적인 저장장치 입장 - 하나의 데이터베이스시스템에 여러개의 외부스키마 존재 가능 - 하나의 외부스키마를 여러 개의 프로그램/사용자가 공유 가능 - 개념 스키마, 내부 스키마는 하나만 존재 시스템 카탈로그 (Syste..
데이터베이스 키(Key) : 하나 이상의 속성(attribute)의 집합 키의 특성 유일성: 키값으로 튜플을 유일하게 식별함 최소성: 키를 구성하는 속성들 중 최소한의 속성들로만 키를 구성함 슈퍼키 (Super Key) 릴레이션 내 튜플을 유일하게 식별하는 하나의 속성 또는 속성들의 집합 유일성 만족, 최소성 만족 X 후보키 (Candidate Key) 튜플을 유일하게 식별할 수 있는 최소한의 속성들의 모임 모든 릴레이션은 하나 이상의 후보키를 가짐 모든 튜플에 대해 유일성과 최소성 만족 기본키 (Primary Key) 후보키 중 선택된 키, 유일성과 최소성 만족 NULL값을 가질 수 없음 (개체 무결성) 동일한 값이 중복되어 저장될 수 없음 (개체 무결성) 외래키 (Foreign Key) 다른 릴레이션..