180 likes | 568 Views
제 3 장 관계 데이터 모델. 1. 개요. 2. 기본 개념. 3. 관계 데이터 제약. 릴레이션 차수 (= 7). 단순속성. 복합속성. 학생 (STUDENT). 학번 (S_NO). 이름 (S_NAME). 학과 (DEPT). 학년 (YEAR). 생일 (S_BIRTH). 릴레이션 스킴. 키. 년 (YEAR). 월 (MONTH). 일 (DATE). 9711001. 엄두섭. 컴퓨터. 3. 1974. 5. 8. 9812045. 한근희. 교육. 2. 1975.
E N D
제 3 장 관계 데이터 모델 1. 개요 2. 기본 개념 3. 관계 데이터 제약
릴레이션 차수 (= 7) 단순속성 복합속성 학생(STUDENT) 학번 (S_NO) 이름 (S_NAME) 학과 (DEPT) 학년 (YEAR) 생일 (S_BIRTH) 릴레이션 스킴 키 년 (YEAR) 월 (MONTH) 일 (DATE) 9711001 엄두섭 컴퓨터 3 1974 5 8 9812045 한근희 교육 2 1975 10 9 카디널리티 (= 4) 투 플 릴레이션 인스턴스 9913051 이동석 국어 1 1976 12 7 9914021 윤재형 미술 1 1976 8 17 INT(7) CHAR(10) CHAR(6) INT(1) INT(2) INT(2) INT(2) INT(6) 단순 도메인 복합 도메인 1. 개요 • 1970년도 E. F. Codd • - 관계 데이터 모델은(Relational Data Model) 열(column)과 행(row)으로 이루어진 테이블(릴레이션)과 수학적으로 정의된 연산들로 구성된다. • 릴레이션 구조와 구성 요소
용어 정의 Simple Attribute vs. Composite Attribute 속성 (Attribute) Single-valued Attribute vs. Multivalued Attribute Null Attribute 도메인 (Domain) Derived Attribute 투플 (Tuple) 단순 도메인 (Simple Domain) 복합 도메인 (Complex Domain) 릴레이션 (Relation) 릴레이션 스킴(Relation Scheme) 데이터베이스 스키마 (Database Schema) 릴레이션 스키마 (Relation Schema) 릴레이션 내포 (Relation Intension) 카디널리티 (Cardinality) 릴레이션 인스턴스(Relation Instance) 데이터베이스 인스턴스 (Database Instance) 릴레이션 차수 (Degree) 릴레이션 릴레이션 외연 (Relation Extension) 키 (Key)
관계데이터모델 파일 시스템 비고 릴레이션 파일(file) 테이블 투플(tuple) 레코드(record) 행(row) 속성(attribute) 필드(field) 열(column) 릴레이션 차수 속성의 개수 카디널리티 투플의 개수 2. 기본 개념 • 관계 데이터 모델 vs 파일 시스템
릴레이션(Relation) 릴레이션 스킴(Relation Scheme) 릴레이션 인스턴스(Relation Instance) • 릴레이션 스키마 (Relation Schema) • 릴레이션 내포 (Relation Intension) • 릴레이션 • 릴레이션 외연 (Relation Extension) 데이터베이스 스키마 (Database Schema) 데이터베이스 인스턴스 (Database Instance) 2.1 릴레이션 – 2.1.1 릴레이션 구성 • 릴레이션 스킴 • - 릴레이션 이름(R) 과 릴레이션을 구성하는 속성 이름(A1, A2,A3, . . . An) 들의 합으로 표현하며, R (A1, A2,A3, . . . An) 과 같이 표현한다. • 릴레이션 인스턴스 • - 어느 한 시점에 릴레이션 R에 포함되는 투플(tuple)의 집합을 의미하는 것으로 실제 값이라고도 함.
2.1.2 릴레이션 특성 • 한 릴레이션에는 중복된 투플이 존재하지 않는다. • 한 릴레이션에 저장된 투플들 간에는 순서가 없다. • 한 릴레이션을 구성하는 속성들 간에는 순서가 없다. • 모든 속성 값은 원자 값(atomic value)이다.
속성 (Attribute) • 단순 속성 • (Simple Attribute) vs. • 복합 속성 • (Composite Attribute) • 단일 값 속성 • (Single-valued Attribute) vs. • 다중 값 속성 • (Multi-valued Attribute) • 널 속성 • (Null Attribute) • 유도 속성 • (Derived Attribute) 2.2 속성 • 속성(attribute)이란 릴레이션의 열(column)이며, 파일 시스템의 필드(field)에 해당한다. • 속성의 분류
속성의 정의 • 단순 속성 : 속성값이 하나의 의미만을 가지는 것. • 복합 속성 : 속성값이 여러 의미를 포함하는 것. • 단일 값 속성 : 원자값인 것으로 하나의 값만 존재하는 것 • 다중 값 속성 : 속성 값이 여러 개 존재할 수 있는 것. • 널 속성 : 속성 값이 널 값(null value)인 것. • 유도 속성 : 새롭게 유도해 낸 속성.
Simple Attribute vs. Composite Attribute Entity Set 학생 Composite Attribute 학생 이름 학생 주소 Component Attribute 성 이름 시/도 구/군 읍/면/동 번지 우편번호 Single-valued Attribute vs. Multivalued Attribute • 학생 번호 • 학생 전화 번호 Null Attribute • A null value is used when an entity does not have a value for an attribute • Null can designate that an attribute value is unknown • An unknown value may be either missing or not known. Derived Attribute • 학생 입력 날짜 : base or stored attribute • 재학 기간 = 현재 날짜 - 입학 날짜 속성의 종류
년 월 일 성 이름 시/도 구/군 읍/면/동 번지 우편번호 2.2.2 복합 속성 • 복합 속성 구성 예 Entity Set 학생 Composite Attribute 생일 학생 이름 학생 주소 Component Attribute
2.2.5 널 속성 • 널 속성의 개념 학생(STUDENT) 학번 (S_NO) 이름 (S_NAME) 학과 (DEPT) 학년 (YEAR) 생일 (S_BIRTH) 년 (YEAR) 월 (MONTH) 일 (DATE) 9711001 엄두섭 컴퓨터 3 1974 5 8 9812045 한근희 교육 2 1975 10 9 9913051 이동석 국어 1 1976 12 7 9914021 윤재형 미술 1 1976 8 17 새로이 입력된 투플 9615051 윤재형 통신 null 1973 9 30 널 값을 갖는 널 속성 아직 학년이 결정되지 않았다는 의미를 지님.
생일 (S_BIRTH) 년 (YEAR) 월 (MONTH) 일 (DATE) 1974 5 8 1975 10 9 1976 12 7 1976 8 17 1973 9 30 2.2.6 유도 속성 • 유도 속성의 개념 학생(STUDENT) 학번 (S_NO) 이름 (S_NAME) 학과 (DEPT) 학년 (YEAR) 나이 (AGE) 나이 계산 프로그램 (현재날짜 – 생일) 9711001 엄두섭 컴퓨터 3 27 9812045 한근희 교육 2 26 9913051 이동석 국어 1 25 9914021 윤재형 미술 1 25 9615051 윤재형 통신 null 28 기본 속성 또는 저장 속성 유도 속성
속성 이름 학번 (S_NO) 이름 (S_NAME) 학과 (DEPT) 학년 (YEAR) 생일 (S_BIRTH) 속성 유형 INT(7) CHAR(10) CHAR(10) INT(1) INT(6) 도메인 도메인이 아님 서울특별시 부산광역시 대구광역시 광주광역시 대전광역시 인천광역시 … 컴퓨터공학 컴퓨터과학 컴퓨터교육 정보공학 통신공학 수학 수학교육 … 2.3 도메인 • 도메인(domain) 은 특정 속성이 가질 수 있는 원자 값들의 집합을 가리킴
2.4 키(Key) • 키(Key)는 릴레이션의 투플을 유일하게 식별할 수 있는 속성의 집합. • 유일성 (Uniqueness) - 속성의 집합인 키의 내용이 릴레이션내에서 유일하다는 특성. • 최소성(Minimality) - 속성의 집합인 키가 릴레이션의 모든 투플을 유일하게 식별하기 위하여 꼭 필요한 속성들로 구성되는 것.
키 (Key) 후보키 (Candidate key) 슈퍼키 (Super key) 기본키 (Primary key) 대체키 (Alternate key) 외래키 (Foregine key) 관계 데이터 모델의 키 분류 • 후보키 : 유일성과 최소성을 만족하는 키. • 슈퍼키 : 유일성은 있으나 최소성은 없는 키. • 기본키 : 후보키들중 하나를 선정해 사용하는 것 • 대체키 : 후보키를 대체할 수 있는 키. • 외래키 : 한 릴레이션의 속성의 집합이 다른 릴레이션에서 기본 키로 이용되는 것.
학생 릴레이션의 외래키 학생 릴레이션의 지도교수 속성은 교수 릴레이션에서 기본키로 사용된다. 학생(STUDENT) 학번 S_NO 이름 S_NAME 학과 DEPT 학년 YEAR 전화 S_TEL 주소 S_ADDRESS 지도교수 ADVISOR 생년월일 S_BIRTH 9911001 9912002 9911003 9813009 9811015 : 정찬우 김정길 강재우 이수자 이길녀 컴퓨터공학과 정보과학과 컴퓨터공학과 정보통신학과 컴퓨터공학과 2 2 2 3 3 023355519 03463355411 0325491115 0428601144 023386634 서울… 경기도… 인천… 대전… 서울… P0001 P0015 P0002 P0022 P0003 19800505 19801215 19801119 19791205 19791130 학생 릴레이션의 기본키 교수(PROFESSOR) 교수번호 P_NO 이름 P_NAME 직급 GRADE 연구실 ROOM_NBR 전화 P_TEL 주소 P_ADDRESS 생년월일 P_BIRTH 입사일 JOIN_DATE 호봉 PAY_STEP 교수 릴레이션의 기본키 P0001 P0002 P0003 : 김수철 이기문 박동진 교 수 교 수 부교수 T102 T103 T302 4444 4445 4555 서울… 서울… 서울… 19520401 19540605 19610105 00880301 00890901 00910301 30 29 15 외래키의 개념
3. 관계 데이터 제약 • 개체 무결성 제약 • - 릴레이션의 기본키 속성은 절대 널 값을 가질 수 없는 것. • 참조 무결성 제약 • - 릴레이션의 외래키 속성은 참조할 수 없는 값을 가질 수 없는 것.
학생 릴레이션의 외래키 학생(STUDENT) 학번 S_NO 이름 S_NAME 주소 S_ADDRESS 지도교수 ADVISOR 9911001 9912002 9911003 9813009 null : 정찬우 김정길 강재우 이수자 이길녀 서울… 경기도… 인천… 대전… 서울… P0001 P0015 이수정 P0022 P0003 참조 무결성 제약 위반 개체 무결성 제약 위반 교수(PROFESSOR) 교수번호 P_NO 이름 P_NAME 직급 GRADE 입사일 JOIN_DATE 호봉 PAY_STEP 교수 릴레이션의 기본키 P0001 P0002 P0003 : 김수철 이기문 박동진 교 수 교 수 부교수 00880301 00890901 00910301 30 29 15 관계 데이터 제약 개념