일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- Level2
- 리트코드
- 카카오
- Medium
- VUE
- python
- dp
- 고득점Kit
- 백준
- 동적계획법
- 프로그래밍
- typescript
- Doitvue.js입문
- C++
- OS
- 자바스크립트
- CS
- javascript
- 프로그래머스
- Level1
- 코테연습
- 배열
- 리액트
- web
- 웹프로그래밍
- LeetCode
- sql
- Level3
- react
- Today
- Total
[데이터베이스] 관계형 데이터 베이스 본문
관계형 데이터 베이스
개체(Entity)나 관계(Relationship)을 모두 릴레이션(Relation)이라는 표(Table)로 표현한다.
구조
튜플 = 레코드
- 릴레이션을 구성하는 각각의 행을 말한다.
- 튜플의 수를 카디널리티(Cardinality) 또는 기수, 대응수라고 한다.
- 속성의 모임으로 구성된다.
속성 (Attribute) = 데이터 필드
- 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- 속성의 수를 디그리 또는 차수라고 한다.
도메인(Domain)
- 하나의 속성이 취할 수 있는 같은 타입의 원자(Atomic) 값들의 집합이다.
- 주민번호 속성의 도메인은 숫자로 알파벳은 입력될 수 없다.
릴레이션의 특징
- 튜플은 중복되지 않는다.
- 튜플 사이에는 순서가 없다.
- 튜플의 삽입, 삭제로 인해 릴레이션은 시간에 따라 변한다.
- 릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.
- 속성의 유일한 식별을 위해 속성의 명칭은 유일해야하지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다.
- i.g.) 학년 속성에는 1,2,1,2 처럼 동일한 값이 있을 수 있다.
- 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분 집합을 키(Key)로 설정한다.
- i.g.) <학생> 릴레이션에서는 '학번'이나 '이름'이 튜플을 구분하는 유일한 값인 키가 될 수 있다.
- 속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자값만 저장한다.
제약 조건 - Key
키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 속성을 말한다.
후보키 Candidate key
튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.
- 모든 릴레이션에는 하나 이상의 후보키가 존재한다.
- 유일성(Unique)과 최소성(Minimality)을 만족시켜야한다.
<학생> 릴레이션에서 학번이나 주민번호는 다른 레코드를 유일하게 구별할 수 있는 기본키로 사용할 수 있으므로 후보키이다.
기본키 Primary Key
후보키 중에서 특별히 선정된 Main Key로 중복된 값을 가질 수 없다.
- 후보키의 성질 (유일성, 최소성)을 가진다.
- NULL 값을 가질 수 없다.
<학생> 릴레이션에서 '학번'이나 '주민번호'가 기본키가 될 수 있고, <수강> 릴레이션에서는 '학번' + '과목명'으로 조합해야 기본키가 만들어진다.
학번이 <학생>의 기본키로 정의되면 이미 입력된 값은 다른 튜플의 학번 속성으로 입력 될 수 없다.
대체키 Alternate key
후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
슈퍼키 Super Key
한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.
- 유일성은 만족시키지만 최소성은 만족시키지 못한다.
<학생> 릴레이션에서 학번, 주민번호, 학번 + 주민번호, 주민번호 + 성명, 학번 + 주민번호+성명 등으로 슈퍼키를 구성할 수 있다.
외래키 Foreign Key
다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다.
- 스키마 간에 참조 관계를 표현하는데 중요한 도구
- 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.
<수강> 릴레이션의 학번에는 <학생> 릴레이션의 학번에 없는 값은 입력할 수 없다.
<수강> 릴레이션이 <학생> 릴레이션을 참조하고 있으므로 <학생> 릴레이션의 학번은 기본키이고 <수강> 릴레이션의 학번은 외래키이다.
제약 조건 - 무결성
무결성이란 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 일치하는 정확성을 의미한다.
무결 제약조건은 데이터베이스 내의 데이터의 정확성을 보장하기 위한 제약 조건을 말한다.
개체 무결성
기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다.
도메인 무결성
주어진 속성 값이 정의된 도메인에 속한 값이어야 한다.
참조 무결성
외래키값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야한다. 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] SQL (0) | 2022.04.10 |
---|---|
[데이터베이스] 인덱스 (0) | 2022.04.09 |
[데이터베이스] 트랜잭션 (0) | 2022.04.09 |
[데이터베이스] 정규화 (0) | 2022.04.08 |
[데이터베이스] 데이터베이스의 특징과 설계, E-R 다이어그램 (0) | 2022.04.08 |