문제 1. 다음 용어를 설명하시오.
문제1.1 도메인 무결성 제약조건
answer : 특정 속성의 값이,
그 속성이 정의된 도메인에 속한 값이어야 한다는 규정
문제1.2 개체(entity) 무결성 제약 조건
answer : 기본키를 구성하는 모든 속성은 널 값을 가지면 안 된다는 규칙이다.
관계 데이터 모델에서는 릴레이션에 포함되어 있는 투플들을 유일하게 구별해주고 각 투플에 쉽게 접근할 수 있도록 릴레이션마다 기본키를 정의한다. 그런데 기본키 를 구성하는 속성 전체나 일부가 널 값이 되면 투플의 유일성을 판단할 수 없어 기본키의 본래 목적을 상실하게 된다.
문제 1.3 참조 무결성 제약 조건
answer : 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙이다.
외래키는 다른 릴레이션의 기본키를 참조하는 속성이고 릴레이션 간의 관계를 표현 하는 역할을 한다. 그런데 외래키가 자신이 참조하는 릴레이션의 기본키와 상관이 없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없으므로 외래키 본래의 의미가 없어진다. 그러므로 외래키는 자신이 참조하는 릴레이션에 기본키 값으로 존재하는 값, 즉 참조 가능한 값만 가져야한다.
문제 2. 5장 기출문제 문제40번 (P. 163)
40. 관계형 데이터베이스에서 외래키(foreign key)와 참조 무결성(referential integrity)에
대한 설명으로 옳은 것은?
- 외래키는 기본키(primary key)가 될 수 없다.
- 참조한 외래키와 참조된 기본키는 반드시 동일한 도메인을 가질 필요는 없다.
- 외래키 값은 참조된 릴레이션의 애트리튜브에 존재하는 값이거나 NULL 값이어야 한다.
- 참조 무결성은 릴레이션 내의 투플을 유일하게 식별하기 위해 사용된다.
answer : 3번
문제 3. 5장 기출문제 문제43번 (P. 164)
∙ ER다이어그램에 개체의 속성이 생략되어 나타나있는데,
다음과 같은 속성이 있는 것으로 추가해서 문제를 풀 것
• Dept 개체의 속성: deptno(기본키)
• Emp 개체의 속성: empno(기본키)
∙ 변환된 릴레이션의 테이블 이름은, ER다이어그램의 개체 이름과 동일한 이름을 부여함
43. 다음 ERD (Entity-Relationship-Diagram)를 구성하는 두 릴레이션 Dept,Emp에 대해 참조 무결성 제약조건을 정의하였다고 가정하자. 정의한 참조 무결성 제약조건의 영향을 받는 연산들로만 모두 묶은 것은?
가. Emp 테이블에 새로운 레코드를 삽입하는 삽입 연산 o
나. Emp 테이블에서 외래키 값을 수정하는 변경 연산
다. Emp 테이블에서 기존 레코드를 삭제하는 삭제 연산 x
라. Dept 테이블에 새로운 레코드를 삽입하는 삽입 연산 o
마. Dept 테이블에서 기본키 값을 수정하는 변경 연산 o
바. Dept 테이블에서 기존 레코드를 삭제하는 삭제 연산
- 가,다,마 2. 나,라,바 3. 다,라,마 4. 가,나,마,바
answer : 4번
문제 4. 릴레이션 스키마와 무결성 제약조건에 대한 옳은 설명으로 묶인 것은?
1) 스키마에는 무 결성 제약 조건이 포함된다.
2) 스키마는 변경될 수 있다.
3) 참조무결성제약조건은 두릴레이션의 연관된 투플들 사이의 무 결성 유지와 관련이 있다.
4) 한 릴레이션에 외래키가 여러 개 존재할 수 있다.
5) 외래키도 기본키의 구성요소가 될 수 있다.
answer : 2,4,5
문제 5. "ER모델을 관계 데이터 모델로 변환 -모델링연습–" 수업을 통해 변환된 릴레이션들의 외래키가 무엇인지 작성하시오.
◈참고) "ER모델을 관계 데이터 모델로 변환 -모델링연습–”
수업에서 변환된 릴레이션들 (밑줄친 부분은 기본키를 의미함)
회원(회원아이디,비밀번호,등급,적립금)
게시글(글번호,글제목,글내용,작성일자,회원아이디)
상품(상품번호,상품명,단가, 제조업체명, 부모상품번호)
제조업체(제조업체명, 전화번호)
제조업체위치(제조업체명, 위치)
주문(상품번호,회원아이디,주문수량,배송지,주문일시)
answer : 제조업체명, 상품번호, 회원아이디
문제 6. 다음 문제에 대해 답하라.
문제 6-1. 문제 5의 릴레이션 중에서 엔티티 무결성 제약조건과 참조 무결성 제약조건이설정되어 있는 릴레이션 중 몇 개를 선택하여, 각 릴레이션에 대한 인스턴스를 보여라. (데이터 값은 임의로 정하면 됨)
answer :
엔티티 무결성 제약 조건
회원(회원 아이디,비밀번호,등급,적립금)
dodo9249,qwer1234,vvip,10000
d9249,qwer1234,vip,1000
참조 무결성 제약조건
주문(상품번호,회원아이디,주문수량,배송지,주문일시)
00010,dodo9249,1,경기대학교,2019/11/18
문제 6-2. 문제 6-1에서 보인 릴레이션 인스턴스를 대상으로, 엔티티 무 결성 제약조건을위배하도록 데이터를 변경하시오.
또한 해당 데이터 변경이 왜 엔티티 무 결성 제약조건을 위배했는지를 함께 쓰시오.
answer :
1단계 : '회원‘릴레이션에서 ’회원 아이디’속성의 값 'dodo9249'인 인스턴스에 대한 ‘회원 아이디’의 속성 값을 ‘null'로 변경 -> null,qwer1234,vvip,10000
2단계 : '회원‘릴레이션에서 ’회원 아이디’속성의 값 'd9249'인 인스턴스에 대한 ‘회원 아이디’의 속성 값을 ‘null'로 변경 -> null,qwer1234,vip,1000
두 개의 값의 회원아이디 값을 null값으로 변경 시 두 개의 인스턴스는 식별이 불가하므로 엔티티 무결성 제약조건을 위배하였다.
문제 6-3. 문제 6-1에서 보인 릴레이션 인스턴스를 대상으로, 참조 무결성 제약조건을 위배하도록 데이터를 변경하시오. 또한 해당 데이터 변경이 왜 참조 무결성 제약조건을 위배했는지를 함께 쓰시오.
answer :
1단계 : ‘주문’릴레이션의 ‘회원아이디’에 속성의 값이 ‘dodo9249'인 인스턴스를 'asdf9249'로 변경.
‘주문’릴레이션의 값에 ‘회원아이디’속성의 인스턴스 내용으로 ‘asdf9249'로 변경 시에 ’회원‘릴레이션의 ’회원아이디‘에 존재하지 않기 때문에 위의 내용은 존재하지 않는 회원이 주문을 하게 된 경우 이므로 현실 세계를 올바르게 반영하지 못하였기 때문에, 참조 무결성 제약조건을 위반한 예가 된다.
참고) 문제6-2, 문제6-3의 데이터 변경하는 내용은 다음과 같은 예처럼 쓰면 됨.
예1) ‘XX’릴레이션에서 ‘X1’속성의 값 ‘ZZ’인 인스턴스에 대한 ‘X2’속성 값을 ‘BB’로 수정.
예2)여러 개의 데이터를 변경하는 경우에는, 아래처럼 변경 순서도 고려하여 작성할 것.
1단계) ‘AA’ 릴레이션에서 ‘A1’ 속성의 값 ‘aa’인 값을 가지는 투플 삭제.
2단계) ‘BB’ 릴레이션에 새로운 투플(b1,b2)를 삽입
'Department > Database' 카테고리의 다른 글
데이터베이스 팀프로젝트 보고서(Team Project Report) (0) | 2020.07.14 |
---|---|
데이터베이스 과제#6 (0) | 2020.07.14 |
데이터베이스 과제#4 (0) | 2020.07.14 |
데이터베이스 과제#3 (0) | 2020.07.14 |
데이터베이스 과제#2 (0) | 2020.07.14 |