Background
- Relational model is based on Set Theory and Predicate Logics (First Order Logics)
- Predicate Logics (술어 논리): 개체, 속성, 관계를 표현하는 논리 체계
- Relational DBMS
Basic Structure
- sets D1, D2, ... Dn이 주어졌을 때 relation r은 D1 x D2 x ... x Dn의 부분 집합이다.
- tuple은 unique해야 한다.
- attribute 값은 atomic해야 한다.
- 튜플이나 속성의 순서는 상관없다.
Attribute Types
- relation의 각 속성은 이름이 있다.
- 각 속성에 허용되는 값의 집합을 domain이라고 부른다.
- 각 속성의 값은 atomic해야 한다. -> composite x, multivalued x
- null은 모든 도메인에 포함된다.
Relation Schema
- A1, A2, ... An 이 속성들일 때 R = (A1, A2, ..., An)을 relation schema라고 한다.
- r(R)은 relation schema R에 대한 relation이다.
Database
- 데이터베이스는 여러 relations로 구성된다.
- 잘못된 설계: 정보의 반복, null 값의 필요
- 좋은 관계형 스키마를 설계하는 방법: Normalization theory
Keys
- superkey K: K가 r(R)의 가능한 relation의 unique tuple을 식별하기에 충분할 때
- K가 minimal하다면 candidate key
- candidate key 중 하나를 primary key로 선택
- Foreign key constraint: 참조하는 relation에 반드시 값이 존재해야 함.
Relational Database - integrity constraints
- Entity integrity: 기본키 값은 null이면 안됨. -> null값인 경우 특정 튜플을 식별 불가능함
- Referential integrity: 다른 릴레이션을 참조하는 한 릴레이션의 튜플은 다른 릴레이션에 존재해야 함. -> 두 릴레이션 간의 일관성을 유지
- Domain integrity: 모든 릴레이션의 요소는 속성의 타입과 제약을 준수해야 함.
- User Defined integrity: 비즈니스 측면에서 정의되는 규칙을 준수해야 함.
Relational Query Languages
- Pure languages
- Relational algebra -> procedural
- Tuple relational calculus -> non-procedural
- Domain relational calculus -> non-procedural
- Ralation algebra
'대학공부 > 데이터베이스' 카테고리의 다른 글
6. Recovery System (2) | 2025.04.04 |
---|---|
5. Transactions (0) | 2025.03.24 |
4. Relational Database Design (Normalization) (0) | 2025.03.23 |
3. Database Design and E-R Model (0) | 2025.03.19 |
2. SQL (0) | 2025.03.18 |