관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

데이터 입출력 구현 4 - Session 35~36 : 관계형 데이터베이스의 제약 조건 본문

자격증 공부/정보처리기사 실기

데이터 입출력 구현 4 - Session 35~36 : 관계형 데이터베이스의 제약 조건

huenuri 2024. 9. 25. 07:33

이제 관계형 데이터베이스의 제약 조건에 대해서 학습해볼 것이다.


 

 

 

세션 35 - 관계형 데이터베이스의 제약 조건 : 키(key)

 

 

 

 

학번과 과목명은 중복되어서 기본키로 설정할 수 없다. 이 둘을 묶는다 해도. 그럴 때는 이런 식으로 관계로 연결시키면 된다. 

 

 

기본키와 연결된 것을 외래키라고 한다. 학번과 이름, 이름과 주민번호를 묶어서 기본키로 설정할 수 있게 된다. 이것을 슈퍼키라고 한다. 슈퍼키는 유일성을 만족하지만 최소성은 만족하지 못한다.

 

 

 

슈퍼키는 최소성을 만족시키지 못하므로 후보키가 될 수 없다.

 

 

 

 

 

앞서 보았던 테이블의 외래키에는 기본키에 없는 학번을 추가시킬 수 없다는 뜻이다.

 

이제 문제를 풀어보자. 1번은 과목번호이다. 2번은 유일성, 최소성이다. 3번은 외래키이고 4번은 서술형이라 넘어간다. 5번은 기본키이다. 3번은 틀렸다. 외래키와 슈퍼키가 많이 헤깔린다.

슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로, 유일성은 만족하지만 최소성은 만족하지 못한다. 대체키는 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 말한다. 외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미하는 것이다.


 

 

 

 

세션 36 - 관계형 데이터베이스의 제약 조건 : 무결성(Integrity)

 

 

 

 

 

중복되거나 null값을 가질 수 없는 것을 개체 무결성이라고 한다.

 

 

 

 

개체 무결성과 참조 무결성은 서술할 수 있도록 꼭 암기해야 한다.

 

 

 

도메인은 입력될 수 있는 값의 범위를 말한다. 예를 들어 대학교는 4학년까지, 초등학교는 6학년까지 입력할 수 있다.

 

 

 

 

1번 문제는 서술형이니 넘어간다. 나중에 모두 암기할 것이다. 2번은 개체, 3번은 애플리케이션이다. 4번에서 ①번은 지점 번호에 없는 번호가 참조되었으니 참조 무결성에 위반되었다. ②번은 NULL값이 있으므로 개체 무결성에 위배되었다.

4번 문제를 풀다가 이 개념을 확실히 이해했다. 2번도 왜 틀렸는지 알 것 같다 이것은 회원 번호에 없는 이름을 회원으로 참조했기 때문이다. 이는 참조 무혈성 제약 조건을 준수하지 않았다.

개체 무결성은 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정이다.

 


 

 

학습을 마치고

강의도 잘 들었고 문제도 잘 풀었다. 2장 단원부터는 너무 빠르게 학습하는 걸 목표에 두지 않고 차분하게 읽고 생각하면서 내용을 기억하려고 노력했다. 이제 이 공부를 하는 것도 정말 재미있어졌다. 공부가 재미있으면 다른 건 끝난 것이다. 이미 합격을 한 거나 마찬가지다. 

나머지 단원은 아침 공부 시간에 이어서 해볼 것이다.