제 3 장 관계데이타모델과관계 데이타베이스제약조건 Fundamentas of Database Systems R. A. Emasri and S. B. Navathe
내용 3.1 관계모델의개념 3.2 관계제약조건과관계형데이타베이스스키마 3.3 갱신연산과트랜잭션그리고제약조건의위반처리 3.4 요약 Ch6 Fundamentas of Database Systems 2
3.1 관계모델의개념 관계모델에서데이타베이스는릴레이션 ( 테이블 ) 들의모임으로표현됨 릴레이션은투플 ( 행, 레코드 ) 들의집합으로표현됨 투플은애트리뷰트 ( 컬럼, 필드, 혹은속성 ) 들로구성됨 ER 모델과의비교 행 : 엔티티혹은관계에해당하는사실을표현함 열 : 애트리뷰트들을표시함 관계모델의용어 행 : 투플 열 : 애트리뷰트 ( 속성 ) 테이블 : 릴레이션 Ch6 Fundamentas of Database Systems 3
릴레이션의이름 애트리뷰트 애트리뷰트이름 STUDENT 투플 Name SSN HomePhone Address OfficePhone Age GPA Benjamin Bayer Katherine Ashy Dick Davidson Chares Cooper 30-61-243 381-62-124 422-11-2420 489-22-1100 373-1616 37-4409 nu 376-9821 2918 BueBonnet Lane 12 Kirby Road 342 Egin Road 26 Lark Lane nu nu 749-123 749-123 19 18 2 28 3.21 2.89 3.3 3.93 Barbara Benson 33-69-1238 839-8461 7384 Fontana Lane nu 19 3.2 애트리뷰트의값 [ 그림 4.1] STUDENT 릴레이션의애트리뷰트와투플들 Ch6 Fundamentas of Database Systems 4
3.1.1 도메인, 투플, 애트리뷰트, 릴레이션 릴레이션과연관된용어들 도메인 (domain): 원자값들 (atomic vaues) 의집합 USA_phone_numbers : 미국에서사용하는 10자리전화번호들의집합 Names : 개인의이름들의집합 Age : 16~60 사이의사원들의나이 ( 정수 ) => 도메인은실제데이터타입으로명시함 (int, char(10), ) 릴레이션스키마 (Reation schema) 릴레이션이름 R과애트리뷰트 A i 들의집합으로 R(A 1, A 2,..., A n ) 로표기함 예 : STUDENT(Name,SSN,BirthDate,Addr) 릴레이션의차수 (degree): 릴레이션의애트리뷰트갯수 릴레이션 R(A 1, A 2,..., A n ) 의투플 t : n-투플이라고부름 값들의 ( 순서화된 ) 집합 t = <v 1, v 2,..., v n >; 값 v i 는 dom(a i ) 의한원소임 ; R에대한릴레이션혹은릴레이션인스턴스 (Reation instance) r(r) 투플의집합 ; r(r) = {t 1, t 2,..., t m } r(r) dom(a 1 )... dom(a n ) // r(r) 은실세계의특정상태를반영 Ch6 Fundamentas of Database Systems
3.1.2 릴레이션의특성 릴레이션에서투플의순서는의미가없음 집합에서원소의순서가무의미한것과마찬가지임 각투플내에서의값들의순서 n- 투플은 n 개값의리스트이며, 한투플내에서값들의순서는중요함 ( 리스트에서원소의순서는중요한의미를가짐 ) 그러나각애트리뷰트와값이서로대응될수있다면애트리뷰트값들의순서는중요하지않을수있음 ; 예를들어, 하나의투플을 (< 애트리뷰트 >, < 값 >) 쌍들의집합으로간주하면애트리뷰트와값은서로대응될수있으며, 값의순서는중요하지않음 투플내의필드값 나눌수없는원자값들 (atomic vaues) 임 값을알수없거나해당되는값이없을때에는 nu 이라는특수값을사용함 ER 모델에서의다치애트리뷰트나복합애트리뷰트는관계모델에서는허용되지않음 중복된투플을갖지않음 Ch6 Fundamentas of Database Systems 6
3.1.2 관계모델의표기 차수가 n 인릴레이션스키마 R 은 R(A1, A2,..., An) 으로표기한다. 릴레이션 r(r) 의 n- 투플 t 는 t = <v1, v2,..., vn> 으로표기한다. 여기서 vi 는애트리뷰트 Ai 의값이다. t[ai] 또는 t.ai 는 t 에서애트리뷰트 Ai 의값 vi 를가리킨다. 투플 t 의구성요소값 (component vaue) 을 t[a i ] = v i ( 투플 t 에대한애트리뷰트 A i 의값 ) 로표기한다. 마찬가지로, t[a u, A v,..., A w ] 는애트리뷰트 A u, A v,..., A w 의값을포함하는부 (sub)- 투플을가리킨다. 대문자 Q, R, S 등은릴레이션이름을나타낸다. 소문자 q, r, s 등은릴레이션상태를나타낸다. 소문자 t, u, v 등은투플을나타낸다. 일반적으로, STUDENT 처럼릴레이션스키마의이름은릴레이션의현재투플들의집합, 즉현재의릴레이션상태를가리키고, 반면에 STUDENT(Name, SSN,...) 는릴레이션스키마를가리킨다. 서로다른릴레이션에서동일한이름의애트리뷰트를사용할수있으며, 이경우애트리뷰트이름앞에릴레이션이름을붙여서서로를구분한다. STUDENT.Name, Facuty.name, Empoyee.name Ch6 Fundamentas of Database Systems 7
3.2 관계제약조건과관계형데이타베이스스키마 제약조건은모든릴레이션인스턴스들이만족해야하는조건임 주요제약조건 도메인제약조건 (domain constraints) 키제약조건 (key constraints) 엔티티무결성제약조건 (entity integrity constraints) 참조무결성제약조건 (referentia integrity constraints) 이절의구성 3.2.1 도메인제약조건 3.2.2 키제약조건 3.2.3 관계데이타베이스스키마와무결성제약조건 3.2.4 엔티티무결성제약조건, 참조무결성제약조건, 외래키 Ch6 Fundamentas of Database Systems 8
3.2.1 도메인제약조건 각애트리뷰트 A 의값은반드시 A 의도메인 dom(a) 에속하는 원자값이어야함 도메인과관련된데이터타입 정수, 실수와같은표준숫자형 문자, 고정길이문자열, 가변길이문자열 날짜, 시간 화폐단위 메모등 Ch6 Fundamentas of Database Systems 9
R 의수퍼키 (superkey) R 의애트리뷰트집합 SK 로서다음의성질을만족해야함 모든유효한릴레이션인스턴스 r(r) 에서어떠한두투플도동일한 SK 값을갖지않아야함 ; 즉, r(r) 내의임의의서로다른두투플 t 1 과 t 2 에대해 t 1 [SK] t 2 [SK] 이어야함 R 의키 (key) 최소 수퍼키 ; 즉, 수퍼키 K 를구성하는어느한애트리뷰트라도빠지면수퍼키가될수없는수퍼키 K 를의미함 키제약조건 1) 서로다른두투플은동일한키애트리뷰트를가질수없음 2) 키는최소의수퍼키 (minima superkey) 임 기본키 (primary key) 3.2.2 키제약조건과널 릴레이션이여러개의후보키 (candidate key) 를가지면이중하나를임의로선택하여기본키 (primary key) 로지정함 기본키를구성하는애트리뷰트는밑줄로표시함 애트리뷰트의값으로널의허용여부도중요한제약조건임 Ch6 Fundamentas of Database Systems 10
3.2.3 관계데이타베이스와관계데이타베이스스키마 관계형데이타베이스스키마 동일한데이타베이스에속하는릴레이션스키마들의집합 S 와무결성제약조건 IC 로구성됨 릴레이션스키마집합 S 를데이타베이스이름이라고정의함 S = {R 1, R 2,..., R n } 데이타베이스스키마 S 의관계데이타베이스상태 ( 혹은인스턴스 ) 릴레이션상태들의집합 예제 Company = {Empoyee, Department, Dept_ocations, Projects, Works_On, Dependent} 는관계데이타베이스스키마이고 ( 그림 6.), 그림 6.6 은 Company 스키마에해당하는관계데이타베이스상태를보여준다 Ch6 Fundamentas of Database Systems 11
EMPLOYEE FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DEPARTMENT DNAME DNUMBER MGRSSN MGRSTARTDATE DNUMBER DEPT_LOCATION DLOCATION PROJECT PNAME PNUMBER PLOCATION DNUM WORKS_ON ESSN PNO HOURS DEPENDENT ESSN DEPARTMENT_NAME SEX BDATE RELATIONSHIP [ 그림 3.] 기본키에밑줄을그은 COMPANY 관계데이타베이스스키마 Ch6 Fundamentas of Database Systems 12
EMPLOYEE FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO John B Smith 12346789 09-JAN- 731 Fondren, Houston, TX M 30000 Frankin T Wong 08-DEC-4 638 Voss, Houston, TX M 40000 88866 Aicia J Zeaya 999887777 19-JUL-8 3321 Caste, Spring, TX F 2000 98764321 4 Jennifer S Waace 98764321 20-JUN-31 291 Berry, Beaire, TX F 43000 88866 4 Ramesh K Narayn 666884444 1-SEP-2 97 Fire Oak, Humbe, TX M 38000 Joyce A Engish 434343 31-JUL-62 631 Rice, Houston, TX F 2000 Ahmad V Jabbar 987987987 29-MAR-9 980 Daas, Houston, TX M 2000 98764321 4 James E Borg 88866 10-NOV-27 40 Stone, Houston, TX M 000 nu 1 DEPT_LOCATIONS DNUMBER DLOCATION 1 Houston DEPARTMENT DNAME Research Administration Headquarters DNUMBER 4 1 MGRSSN 98764321 88866 MGRSTARTDATE 22-MAY-78 01-JAN-8 19-JUN-71 4 Stafford Beaire Sugarand Houston [ 그림 3.6] COMPANY 스키마의관계데이타베이스상태 Ch6 Fundamentas of Database Systems 13
Ch6 14 Fundamentas of Database Systems [ 그림 3.6] COMPANY 스키마의관계데이타베이스상태 (cont.) WORKS_ON ESSN 12346789 12346789 666884444 434343 434343 999887777 999887777 987987987 987987987 98764321 98764321 88866 PNO 1 2 3 1 2 2 3 10 20 30 10 10 30 30 20 20 HOURS 32. 7. 40.0 20.0 20.0 10.0 10.0 10.0 10.0 30.0 10.0 3.0.0 20.0 1.0 nu PROJECT PNAME ProductX ProductY ProductZ Computerization Reorganization Newbenefits PNUMBER 1 2 3 10 20 30 PLOCATION Beaire Sugarand Houston Stafford Houston Stafford DNUM 4 1 4 DEPENDENT ESSN 98764321 12346789 12346789 12346789 DEPENDENT_NAME Aice Theodore Joy Abner Michae Aice Eizabeth SEX F M F M M F F BDATE 0-APR-76 2-OCT-73 03-MAY-48 29-FEB-32 01-JAN-78 32-DEC-78 0-MAY-7 RELATIONSHIP DAUGHTER SON SPOUSE SPOUSE SON DAUGHTER SPOUSE
3.2.4 엔티티무결성, 참조무결성제약조건, 외래키 엔티티무결성제약조건 어떠한기본키값도널값을가질수없다는제약조건임 기본키가각투플들을식별하는데에이용되기때문임 참조무결성제약조건 참조무결성은두릴레이션에대한제약조건임 한릴레이션 (R 1 ) 의투플 (t 1 ) 이다른릴레이션 (R 2 ) 의투플 (t 2 ) 을참조할때의제약조건 R 1 : 참조하는릴레이션, R 2 : 참조되는릴레이션 외래키 (foreign key) : R 2 의기본키 (PK) 값을참조하기위해존재하는 R 1 내의속성집합 FK 외래키 (FK) 의제약조건 1) FK 는 R 2 의 PK 와동일한도메인을가짐 2) t1 의 FK 값은 R 2 의어떤투플 t 2 의 PK 값과일치하거나 Nu 값을가짐. t 1 [FK] = t 2 [PK] or t 1 [FK] = Nu 관계형데이타베이스스키마에서참조무결성제약조건은 R 1.FK 에서 R 2 로의화살표로표시함 Ch6 Fundamentas of Database Systems 1
EMPLOYEE 외래키는동일한릴레이션의애트리뷰트를참조할수도있음 FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO DEPARTMENT DNAME DNUMBER MGRSSN MGRSTARTDATE DEPT_LOCATION DNUMBER DLOCATION PROJECT PNAME PNUMBER PLOCATION DNUM WORKS_ON ESSN PNO HOURS DEPENDENT ESSN DEPARTMENT_NAME SEX BDATE RELATIONSHIP [ 그림 3.7] COMPANY 데이타베이스스키마에표시된참조무결성제약조건들 Ch6 Fundamentas of Database Systems 16
3.3 갱신연산과제약조건위반의처리 릴레이션에대한기본갱신연산들 삽입, 삭제, 수정 갱신연산을실행하는경우스키마에정의된무결성제약조건을위반하지않아야함삽입연산 네가지제약조건을위반할수있음 삽입되는투플 t 에서애트리뷰트의값이도메인에없으면도메인제약조건을위반함 t 에서기본키의값이다른투플에서이미존재한다면키제약조건을위반하며, 널이면엔티티제약조건을위반함 t 에서외래키의값이참조되는릴레이션의키값으로존재하지않는다면참조제약조건을위반함 제약조건을위반하면그삽입을거부하거나그위반사실을사용자에게알려야함 Ch6 Fundamentas of Database Systems 17
3.3 갱신연산과제약조건위반의처리 삭제연산 투플이삭제되는경우다른테이블에서참조하고있는지검사하여그렇지않는경우에만삭제함 ( 참조무결성 ) 삭제연산이참조무결성제약조건을위반하는경우취할수있는세가지옵션 삭제를거부 삭제되는투플을참조하는투플들까지모두삭제 ( 연쇄삭제 ) 삭제되는투플을참조하는투플에서외래키값을널로바꾸거나다른유효한투플을참조하도록변경 위의세가지옵션중사용자가응용의특성에적합한것을선택하도록하는것이바람직함 Ch6 Fundamentas of Database Systems 18
3.3 갱신연산과제약조건위반의처리 갱신연산 갱신연산은기본적으로 삭제후삽입 연산으로간주할수 있으므로삽입과삭제시의문제점이모두나타남 기본키나외래키가아닌애트리뷰트값의변경은문제가없음 Ch6 Fundamentas of Database Systems 19
요약 관계모델의개념 용어정의 관계제약조건과관계형데이타베이스스키마 도메인제약조건, 키제약조건, 엔티티무결성제약조건, 참조무결성제약조건 스키마는릴레이션의집합과제약조건집합으로구성됨 갱신연산과제약조건의위반처리 릴레이션에투플을삽입하거나삭제변경할때제약조건을만족하는지검사 Ch6 Fundamentas of Database Systems 20