MDP

2024-01-08 본문

TIL

2024-01-08

모다팡 2024. 1. 9. 01:14

RDBMS 정규화

- 테이블 간에 중복된 데이터를 허용하지 않는다는 것이다(중복데이터)

- 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지 할 수 있으며, DB의 저장용량을 줄일 수 있다.

제 1 정규화

- 테이블 컬림이 하나의 값을 갖도록 테이블을 분해하는 것

제 2 정규화

-  제 1정규화를 진행한 테이블에 대해  완전 함수 종속을 만족하도록 테이블을 분해하는 것

완전 함수 종속이란 기본키의 부분집합이 결정자가 되어서는 안된다는 것을 의미한다.

제 3 정규화

-  제 2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록  테이블을 분해하는 것

이행적 종속이라는 것은 A - > B , B -> C 가 성립할 때, A -> C가 성립되는 것을 의미한다.

BCNF 정규화

- 제 3 정규화를 진행한 테이블에 대해 모든 결정자가 후보키가 되도록 테이블을 분해하는 것

Primary Key 와 Foreign Key

Primary key(기본 키)

- 데이터베으스 테이블 내의 모든 레코드에서 고유한 아이디를 제공한다.

 

특징

- 모든 레코드가 서로 다른 값을 가지고 있어 각 레코드를 식별할 수 있다.

- NULL값이 존재할 수 없다.

- 레코드의 값은 중복이 불가능하다.

- 테이블에는 하나의 기본키만 가질 수 있지만 경우에 따라 1개 이상의 기본키를 정의할 수도 있다.

(다수 열 기본 키, 복합 기본 키)

 

Foregin key(외래 키)

- 데이터가 일관될 수 있도록 돕는 역할을 한다. 보통은 두 개의 데이터베이스 테이블을 잇고자 기본 키와 함께 사용된다.

일종의 테이블을 연결하는 가상의 다리 역할을 한다.

 

특징

- 외래 키는 한 테이블의 필드로, 다른 테이블의 기본 키를 나타낸다.

- 외래 키를 가지고 있는 테이블을 하위 테이블, 기본 키를 가지고 있는 테이블을 참조하면 상위 테이블이라고 한다.

- 각 외부 키와 기본 키는 1:1 관계로 매칭되어야 하며, 기본 키에 존재하지 않는 값이 외부키에 존재할 수 없다.

 

DB 관계

- 1:1 관계(일대일 관계)

=> 어느 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것

- 1:N 관계(일대다 관계)

=> N:M 관계처럼 새로운 테이블을 만들지 않는다.

여러개의 엔티티가 하나의 엔티티에 속해있다.

N개의 엔티티에서만 상속받은 하나의 엔티이에 대한 FK를 넣음으로써 관계를 표현 할 수 있다.

 

- N:M 관계(다대다 관계)

=> 양쪽의 엔티티 모두에서 1:N 관계를 가지는것을 말한다.

 

'TIL' 카테고리의 다른 글

스프링과 스프링 부트의 차이점  (0) 2024.07.12
자바 - 객체지향프로그래밍 (2024 - 07 - 08)  (0) 2024.07.08
2023- 12-08 CRUD 구현  (0) 2023.12.08
2023-11-10  (0) 2023.11.13
2023-11-07  (0) 2023.11.07