관계형 모델 데이터 베이스란?
1. 카지노 가입 쿠폰: 데이터를 저장하는 기본 구조로, 테이블 형태로도 표현됨.
2. Attribute: 각 릴레이션의 Column(열)을 나타내며, 각 속성은 고유한 이름과 Domain(허용되는 값의 집합)을 소유함
3. Tuple: 카지노 가입 쿠폰의 Row(행)을 나타내며, 각 튜플은 속상 값들의 집합임.
4. Schema: 카지노 가입 쿠폰의 구조를 정의하며, 카지노 가입 쿠폰의 이름과 속성들의 목록으로 구성됨.
1. Entity Integrity: Primary Key(기본 키)는 Null이 될 수 없으며, 반드시 Unique(고유) 해야 함. (애초에 겹칠 거면 왜 만듦)
2. Domain Constraint:각 속성의 범위를 제한할 수 있음. (예: rating값은 1~ 5사이의 정수여야 함)
3. Referential Integrity: Foreign Key(외래 키)는 참조하는 카지노 가입 쿠폰에 꼭 존재해야 함.
1.순서 없음: 카지노 가입 쿠폰의 Tuple(행)과 Attribute(열)은 순서가 없음. 고로 { (a, b), (c, d) } = { (c, d), (a, b) }는 성립함.
2. 중복 없음: 카지노 가입 쿠폰은 완전히 중복된 Tuple을 가질 수 없음. (완전히 중복되면 id도 같을 테니까, Entity Integirty 위배)
3. Atomicity (원자성): 각 Attribute는 원자값을 가져야 함. 즉, 복합값이나 다중값을 가질 수 없음. (더 이상 쪼갤 수 없는 값이어야 함)
추상적인 개념인 ER을 실제 카지노 가입 쿠폰al Model로 전환하는 예제를 보며 실제 DB에선 어떤 식으로 적용되는지 확인해 봅시다.
Strong Entity인 Employee테이블의 Primary Key인 SSN을 Contact에서 그대로 차용합니다.
N:M 관계를 구현하기 위해서 Owns는 별도의 테이블이 필요합니다. Owns 테이블은 Customer의 Primary Key인 custNo, Account의 Primary Key인 acctNo를 둘 다 가지고 있으며, 별도의 정보인 Last accessed 또한 갖고 있을 수 있습니다.
1:N 관계를 구현하고자 Customer 테이블은 Branch테이블의 Primary Key인 branchNo을 보유합니다.
모든 branch(지점)은 1명의 매니저를 필수적으로 갖는 모델입니다. 단, 매니저는 지점이 없을 수 있습니다. 구현 방식은 위의 1:N 모델과 큰 차이는 없습니다. 이런 식으로 한쪽이 필수적으로 가져야 하는 형태의 모델이 아니라면, 둘 중 어떤 테이블이 Foreign Key(외부 키)를 갖고 있어야 하는지도 상관없습니다.
본 글은 University Of New South Wales - COMP3311 코스에서 배운 내용을 복습 및 시험 대비 노트를 위해 작성했습니다.