웹개발/웹 개발[데이터베이스-MySQL]

데이터베이스 [DB] 정규화(Normalization) .2

jhshdksa 2022. 12. 19. 19:37

 [ Database ] 정규화 실습하기


[ 정규화 ]

관계형 데이터베이스(RDBMS = Relational DataBase Manangement System)는

현재 가장 많이 사용되고 있는 데이터 베이스의 한 종류이다.

 

'행'과 '열'로 이루어진 각각의 테이블을 고유값(Primary Key)을 참조하여 서로 종속되는 관계(= 연결하는 것)를 표현하는 데이터베이스 구조를 '관계형 데이터베이스'라고 한다.

 

이러한 '관계형 데이터베이스'의 핵심은 고유값(Primary Key)이다.

데이터는 각 행을 대표하는 고유값을 가지고 있어야 한다.

>> 동명이인 또는 같은 데이터의 중복으로 데이터를 참조하는데 혼란을 방지하기 위해서 <<


[ 정규화 실습하기 1 ]

👇아래와 같이 각 테이블에 '고유값'을 지정하고 서로 종속되는 값을 연결해보자 (JOIN & 정규화)👇

'order_mst'테이블의 'id'(Primary Key)와

'order_dtl'테이블의 'order_id'는 같다.

 

👇중복되는 값을 통해 JOIN을 시켜보자👇

 

LEFT OUTER JOIN order_dtl od ON(od.order_id = om.id)

LEFT OUTER JOIN product_mst pm ON(pm.id = od.product_id)​

LEFT OUTER JOIN user_mst um ON(um.id = om.user_id)

각 테이블 마다 고유값(Key)을 잡아주어 서로 종속되는 데이터 값을 연결하였다.(JOIN)


👇결과 값👇


[ 정규화 실습하기 2 ]

아래의 3가지 테이블을 정규화한 후 JOIN을 이용하여 위의 결과 값을 완성하시오.


'study_writer_mst' 테이블

'study_notice_mst' 테이블

'study_notice_img' 테이블

 

👇결과 값👇


지금까지 '데이터베이스'의 [정규화]를 실습해보겠습니다

 

다음 포스팅에서는 '데이터베이스'의 [JOIN]에 대해 알아보겠습니다.

 

긴 글 읽어주셔서 감사드립니다