여니의 프로그래밍 study/Oracle

[Oracle] 데이터 모델링 기본 개념 (엔티티, PK, 도메인, 다대다 관계)

여니's 2023. 3. 28. 13:01


1. 엔티티

: 개체로 인식할 수 있는 데이터의 집합

 

엔티티 == 테이블

인스턴스 == 행

속성 == 열

 

엔티티는 다수의 인스턴스를 가질 수 있다.

(1) 엔티티 -< 인스턴스 (M)

 

인스턴스는 다수의 속성을 가질 수 있다.

(1) 인스턴스 -< 속성 (M)

 

속성은 하나의 속성값만 가질 수 있다. 

(1) 속성 - 속성값 (1) 

 


2. PK (기본 식별자 , Primary identifier)

: 엔티티에서 인스턴스를 고유하게 식별할 수 있는 속성이다.

(= 테이블에서 행을 고유하게 식별할 수 있는 속성이다)

 

단일 식별자 : 하나의 속성으로 구성된 식별자

복합 식별자 : 2개 이상의 속성으로 구성된 식별자

 

PK는 NOT NULL이어야 하고 중복되어서도 안된다 (Unique)

간단한 정보로 지정해야 빠르게 식별할 수 있다. 

 

 

+ 복합키

: 2개 이상의 속성으로 구성된(컬럼)을 합쳐서 봤을 때 중복이 아니라면

무결성의 원칙을 지키는 것이다. 

즉 기본키를 구성하는 칼럼은 복수일 수 있지만, 기본키가 복수일 수는 없다. 

 

=> 오해하고 있었던 부분 (깨달은 부분)

 


3. FK (외래 식별자, Foreign identifier)

: 부모 엔티티로부터 상속받은 식별자를 의미한다. 

즉 부모 엔티티의 기본 식별자를 상속받은 식별자이다. 

 


4. 도메인

: 소프트웨어를 개발하는 대상 영역과 범위를 의미한다. (포괄적 의미)

: 속성값의 범위를 나타내며 데이터 타입과 제약 조건으로 변환된다. (용어 의미)

 

 

 


5. 카디널리티

: 하나의 부모 인스턴스가 몇 개의 자식 인스턴스와 페어링이 될 수 있는지를 나타낸다.

 

1:1, 1:M, M:N(다대다관계)

 

관계형 데이터베이스에서 M:N 관계의 조인은 카테시안 곱이 발생하기에 해소해야한다.

1대 N, N대 1로 분류를 해서 해소시켜줘야한다. 

 

카테시안 곱 (Cartesian Product)

: 두 테이블 사이의 조인 조건이 기술되어 있지 않은 경우,

두 테이블의 모든 행들이 무조건 결합해 

테이블들에 존재하는 행 개수를 곱한 만큼의 결과 값이 반환되는 것을 의미한다. 

 

 

엔터티 중간에 연관 테이블을 하나 추가한다.

 

 

참고 자료 : 

https://goodteacher.tistory.com/466

 

[DB] 다대다 관계의 문제점과 해결

이번 포스트에서는 다대다 관계의 문제점과 해결 방법에 대해서 살펴보자. 다대다 관계 다대다 관계의 예 DB 모델링 과정에서 다대다 관계가 나올 수 있다. 쉽게 생각할 수 있는 관계로는 학생과

goodteacher.tistory.com