본문 바로가기
Department/Database

데이터베이스 과제#5

by mean. 2020. 7. 14.
728x90
반응형

문제 1. 다음 용어를 설명하시오.


문제1.1 도메인 무결성 제약조건
answer : 특정 속성의 값이,
그 속성이 정의된 도메인에 속한 값이어야 한다는 규정


문제1.2 개체(entity) 무결성 제약 조건

answer : 기본키를 구성하는 모든 속성은 널 값을 가지면 안 된다는 규칙이다.
관계 데이터 모델에서는 릴레이션에 포함되어 있는 투플들을 유일하게 구별해주고 각 투플에 쉽게 접근할 수 있도록 릴레이션마다 기본키를 정의한다. 그런데 기본키 를 구성하는 속성 전체나 일부가 널 값이 되면 투플의 유일성을 판단할 수 없어 기본키의 본래 목적을 상실하게 된다.


문제 1.3 참조 무결성 제약 조건

answer : 외래키는 참조할 수 없는 값을 가질 수 없다는 규칙이다.
외래키는 다른 릴레이션의 기본키를 참조하는 속성이고 릴레이션 간의 관계를 표현 하는 역할을 한다. 그런데 외래키가 자신이 참조하는 릴레이션의 기본키와 상관이 없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없으므로 외래키 본래의 의미가 없어진다. 그러므로 외래키는 자신이 참조하는 릴레이션에 기본키 값으로 존재하는 값, 즉 참조 가능한 값만 가져야한다.


문제 2. 5장 기출문제 문제40번 (P. 163)
40. 관계형 데이터베이스에서 외래키(foreign key)와 참조 무결성(referential integrity)에
대한 설명으로 옳은 것은?

  1. 외래키는 기본키(primary key)가 될 수 없다.
  2. 참조한 외래키와 참조된 기본키는 반드시 동일한 도메인을 가질 필요는 없다.
  3. 외래키 값은 참조된 릴레이션의 애트리튜브에 존재하는 값이거나 NULL 값이어야 한다.
  4. 참조 무결성은 릴레이션 내의 투플을 유일하게 식별하기 위해 사용된다.
    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 테이블에서 기존 레코드를 삭제하는 삭제 연산

  1. 가,다,마 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)를 삽입

728x90
반응형

'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