데이터베이스의 정석 - 교보문고
누구를 위한 책인가?ㆍ 데이터베이스의 핵심 개념과 용어를 빠른 시간에 학습하고자 하는 경우ㆍ 데이터베이스 모델링/설계 과정을 체계적으로 습득하고자 하는 경우ㆍ MySQL DBMS의 활용 방법과
www.kyobobook.co.kr
제 3장, 관계형 데이터 모델
데이터 모델의 구성 요소
: 데이터구조, 연산, 제약조건
관계형 데이터 구조
▶ 릴레이션
: 관계형 데이터베이스의 테이블
- 속성(attribute)
테이블의 열(column)
데이터를 표현하는 가장 작은 논리적 단위 - 튜플(tuple)
테이블의 행(row)
현실세계의 개체(entity)
▶ 도메인(domain)
속성이 취할 수 있는 값의 범주
도메인을 통해 속성이 어떤 데이터값을 가질 수 있는 지 확인
▶ 카디널리티(cardinality)
릴레이션 안의 전체 투플의 개수
입력, 수정, 삭제 등을 통해 계속 변화
동적 특성
▶ 차수(degree)
릴레이션을 구성하는 전체 속성의 개수
각 투플이 가지는 속성 값의 개수는 릴레이션의 차수와 같음
정적 특성
DB | SQL | R |
Relation | Table | data frame |
tuple | record | 관측치 |
attribute | column | 변수 |
▶ 릴레이션 스키마
: 특정 릴레이션의 논리적 구조
릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름들로 정의
테이블의 첫 번째 행인 헤더부분에 표현
릴레이션 내포(relation intension)라고도 부름
시간이 경과해도 좀처럼 변경되지 않는 정적인 특성
▶ 릴레이션 인스턴스
: 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합
보통 테이블의 첫번째 행인 헤더부분을 제외한 나머지 모든 행들의 집합
릴레이션 외연(relation extension)이라고도 부름
시간에 따라 변하는 동적인 특성
▶ 데이터베이스 스키마(database schema)
데이터베이스의 모든 릴레이션 스키마들을 모은 것
정적 특성
▶ 데이터베이스 인스턴스(database instance)
특정 시점에서의 모든 릴레이션 인스턴스들을 모은 것
동적 특성
릴레이션의 특징
- 튜플의 유일성
- 튜플의 무순서성
- 속성의 무순서성
- 속성의 원자성
릴레이션의 키(Key)
: 각 튜플을 유일하게 식별할 수 있는 하나 이상의 속성 집합
모든 릴레이션은 키를 갖는다
키는 릴레이션이 단순한 테이블이 아님을 보여주는 대표적인 개념
여러 무결성 조건과 관련하여 중요한 역할을 함
키 선정 방법
: 현재 릴레이션 데이터 값으로만 결정하지 않아야 함.
릴레이션 인스턴스는 계속 변화하므로, 미래의 입력 값까지를 포함한 속성의 본질적인 의미를 고려하여 키 지정 여부를 결정한다.
키 종류
- 후보키(CK : Candidate Key)
튜플을 유일하게 식별할 수 있는 속성들의 최소 집합
유일성(Uniqueness)과 최소성(Minimality) 조건을 모두 만족
키 속성 중에 속성을 하나라도 생략하면 튜플을 유일하게 식별할 수 없게 되는, 꼭 필요한 최소한의 속성만으로 구성된 키
모든 릴레이션은 최소 하나 이상의 후보키를 가진다 - 슈퍼키(SK : Super Key)
튜플을 유일하게 식별할 수 있는 속성 집합
식별을 위해 꼭 필요한 속성이 아니어도 포함할 수 있다 - 기본키(PK : Primary Key)
튜플을 대표하도록 선정된 후보키
※ 기본키 선정 기준 ↓- 후보키가 하나일 경우, 바로 기본키가 된다
- 후보키가 여러개일 경우
값이 자주 변경되지 않는 정적인 속성으로 구성된 후보키
Null값을 가질 수 없는 속성으로 구성된 후보키
속성 개수가 작은 후보키
속성 값의 물리적 크기가 작은 후보키
- 대체키(AK : Alternate Key)
후보키가 여러 개 있을 때, 기본키로 선정되지 못한 후보키 - 외래키(FK : Foreign Key)
특정 릴레이션의 기본키를 참조하는 속성 집합
외래키는 반드시 기본키를 포함하고 있는 또다른 릴레이션을 이용하는 것
참조하는 릴레이션 : 자식 릴레이션
참조되는 릴레이션 : 부모 릴레이션
제약 조건
- 개체 무결성 제약 조건(entity integrity constraint) : 기본키로 지정한 모든 속성은 널 값을 가질 수 없고 릴레이션 안에서 중복되지 않는 유일한 값을 가져야 한다
- 참조 무결성 제약 조건(referential integrity constraint) : 외래키로 지정한 속성은 참조하는 릴레이션의 기본키 속성 값과 일치하는 값이나 널 값을 가져야 한다
- 도메인 무결성 제약 조건(domain integrity constraint) : 투플의 모든 속성 값이 각 속성의 도메인에 속한 값만을 취해야 한다
- 유일성 제약 조건(uniqueness constraint) : 모든 키 속성 값이 서로 중복되지 않고 유일해야 한다
관계 연산(relation operation)
- 관계 대수(relational algebra)
: 사용자가 필요로 하는 데이터를 획득하는 절차 즉, 연산들의 적용 순서를 명세 실행 순서를 순차적으로 명세하는 절차적(procedural) 표현 방법
How 에 중점 - 관계 해석(relational calculus)
: 사용자가 필요한 데이터가 무엇인지, 연산들의 최종 결과만을 명세 선언적(declarative) 표현 방법으로 비절차적(nonprocedural) 표현방법
What 에 중점
참고자료
'IT Basic > Data' 카테고리의 다른 글
[Data] 8장, 플로팅하기 (0) | 2022.07.06 |
---|---|
[Data] 6장, 데이터 시리즈와 프레임 다루기 (0) | 2022.07.05 |
[DB] 2장, 데이터베이스 시스템 (0) | 2022.04.20 |
[DB] 1장, 데이터베이스의 개념 (0) | 2022.04.20 |
[DB] DB 성능 개선 방법 (0) | 2022.02.08 |
댓글