2023. 4. 10. 06:15ㆍ데이터베이스

수학에서의 릴레이션과 집합이론으로 생각하면 편하다. = > 테이블형태
테이블의 열 = field => 관계 데이터 모델의 애트리뷰트
테이블의 행 = 레코드 => 관계 데이터 모델의 튜플
학생 테이블 : 릴레이션

애트리 뷰트와 도메인
테이블 => 릴레이션
도메인
- 애트리뷰트가 취할 수 있는 값들의 집합
애트리뷰트
- 도메인의 역할 이름
- 한 릴레이션 내에서 애트리뷰트 이름들은 모두 달라야 함
단순 도메인
- 원자
복합 도메인
- 복합 값 -> ex) 날짜: <연, 월, 일>
애트리뷰트 이름과 도매인 이름은 같을 수 있음 -> 자명한 말

릴레이션 스키마
릴레이션 스킴
-릴레이션 이름 + 애트리뷰트 이름
정적 성질
- 시간에 무관
릴레이션 인스턴스
어느 한 시점에 릴레이션 R이 포함하고 있는 투플들의 집합
튜플 : {(attr1=v1, attr2.v2----)}
동적 성질
- 삽입 삭제, 갱신으로 시간에 따라 변함
릴레이션 R
투플들의 집합
릴레이션 스키마 + 릴레이션 인스턴스
릴레이션의 특성
1) 투플의 유일성
- 릴레이션 = 투플들의 "집합"
2) 투플의 무순서성
릴레이션 : 추상적 개념 <- 투플들의 집합
테이블 : 구체적 개념
3) 애트리뷰트의 무순서성
릴레이션 스키마 -> 애트리뷰트들의 "집합"
투플 : <attribute: value> 쌍의 집합
4) 애트리뷰트의 원자성
애트리뷰트 값은 원자 값 -> 분리 불가능
정규화 릴레이션
Null Value도 원자 값으로 취급
릴레이션의 정규화

관계 데이터베이스 개념

관계 데이터베이스
- 테이블들의 조합
- 데이터베이스를 시간에 다라 그 내용이 변할 수 있는 테이블 형태로 표현
관계 데이터베이스 스키마
= {릴레이션 스키마} + {*무결성 제약조건}
*무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미
관계 데이터 모델 <=> 프로그래밍 시스템
- 릴레이션 <=> 파일
- 투플 <=> 레코드
- 애트리뷰트 <=> 필드
++ 관계 데이터베이스라고 할 때 데이터가 물리적 테이블 형태로 저장된다는 것을 의미하지는 않음
데이터베이스 키
Key
- 각 투플을 유일하게 식별할 수 있는 애트리뷰트 집합
후보 키(candidate key)
릴레이션 R에 대한 애트리뷰트 집합 K로서
유일성과 최소성을 가지고 있어야 한다.
슈퍼키 (super key)
유일성은 만족지만, 최소성은 만족하지 않은 애트리뷰트의 집합.
기본 키 (primary key)
후보키 중에서 지정된 하나의 키
- 데이터 베이스 설계자가 지정
- 각 투플에 대한 기본 키 값은 항상 유효한 값이어야 함
- null 값이 허용되지 않음
외래 키 (Foreign key)

- 릴레이션 R의 에트리뷰트 집합 FK가 릴레이션 S의 기본 키일 때 FK는 R의 외래 키이다.
- (FK의 도메인) = (S의 기본 키의 도메인)
- FK의 값은 S에 존재하는 값이거나 null
- R과 S가 같은 릴레이션일 수도 있음
- R을 참조 릴레이션, S를 피참조 릴레이션이라 함
-> 릴레이션 R은 FK를 통해 릴레이션 S를 참조
R!= S 인 경우
- 교수 (교수번호, 교수이름, 학과번호, 직급)
- 학과 ( 학과번호(PK), 학과이름, 학과장교수번호(FK), 학생수)
- 학생 ( 학번, 이름, 학년, 학과)
- 과목 (과목번호, 과목이름, 학점, 학과, 담당교수)
- 등록 (학번(FK), 과목번호(FK), 성적)
R = S 인 경우
- 교수 1 (교수번호(FK), 교수이름, 학과번호, 학과교수번호(FK))
무결성 제약
- 개체 무결성
- 기본키 값은 언제 어느 때고 null 값을 가질 수 없다.
-참조 무결성
- 외래 키 값은 반드시 피참조 릴레이션의 기본 키 값이거나 null이다.
데이터베이스 상태
- 어느 한 시점에 데이터베이스에 저장되어 있는 모든 데이터 값
- 데이터베이스 인스턴스
- 데이터베이스 스키마에 포함되어 있는 모든 릴레이션들의 인스턴스 집합
- 데이터베이스 상태의 계속적인 변화
- 삽입, 학제 변경, 연산
DBMS는 데이터베이스 상태의 변화에도 항상 무결성제약을 만족시키도록 해야 함
'데이터베이스' 카테고리의 다른 글
6. 관계 대수와 관계해석 (0) | 2023.04.14 |
---|---|
2016 - 1 (0) | 2023.04.11 |
3. DBMS 데이터베이스 관리 시스템이란? ( DataBase Management System) (1) | 2023.04.03 |
데이터베이스 0장 예제 (0) | 2023.04.03 |
2. SQL의 DDL, DML, DCL 정의, 주요 명령어 예제로 알아보기 (0) | 2023.04.01 |