[DB] 데이터베이스 정규화 (제 1, 2, 3, 보이스/코드, 4, 5 정규형)
이상현상을 방지하기 위해, 테이블을 잘게 쪼개는 정규화라는 작업을 합니다. 정규화에는 1~5단계가 있으며, 이에 대해 알아보도록 하겠습니다. [ Contents ] 1. 정규화 (Normalization) 이상현상(Anomaly)을 없애기 위해, 테이블을 잘게 쪼개는 과정 앞서 이상현상을 살펴보았습니다. 이상현상은 삽입, 갱신, 삭제 시 원치 않는 결과를 초래하는 경우를 뜻합니다. PK값이 없어서 삽입할 수 없다던가, 갱신으로 인해 상이한 데이터가 생긴다던가 하는 문제가 있었죠. 2023.04.24 - [Data Engineering] - [DB] 데이터베이스 이상현상(삽입, 삭제, 갱신)과 함수종속성 개념과 예시 [DB] 데이터베이스 이상현상(삽입, 삭제, 갱신)과 함수종속성 개념과 예시 데이터베이스 ..
2023. 4. 24.
[DB] 가상 테이블, 뷰(VIEW)의 특성과 장단점
주로 조회 용도로 만들어둔 가상 테이블을 뷰(VIEW)라고 합니다. 이러한 뷰의 특성, 장단점을 살펴보겠습니다. [ Contents ] 1. 뷰(VIEW) 자주 조회하는 SELECT문을 저장해 둔 가상 테이블 관계형 데이터베이스에서 테이블은 정규화되어 나뉘어 있습니다. 흩어진 모든 정보를 모아둔... 일명 Master(마스터) 테이블이 없다면, 매번 join을 통해서 여러 테이블을 모아 조회해야 합니다. 예를 들어, 학생의 신상정보를 보려면 여러 테이블(신체, 학적, 성적, 등록, 봉사활동, 자격증, 어학 등등)을 학번으로 조인을 걸어서 통합해야 합니다. 이는 굉장히 귀찮고 손이 많이 가는 일이죠. CREATE VIEW 신상정보(학번, 신체, 학적, 성적, 등록, 봉사활동, 자격증, 어학) AS SELE..
2023. 4. 23.
[DB] 테이블 키의 5가지 종류와 무결성 제약 3가지 종류
DB 테이블 키에는 슈퍼키, 후보키, 기본키, 대체키, 외래키가 있습니다. 그리고 무결성 제약에는 개체 무결성, 참조 무결성, 도메인 무결성이 있습니다. 이들에 대해 자세히 알아보겠습니다. [ Contents ] 1. 테이블 키의 종류 - 후보키(Candidate Key): 최소 조합으로 만든 유일한 키 - 기본키(Primary Key): 선정된 후보키 - 대체키(Alternate Key): 후보키 중 기본키를 제외한 나머지 키 - 슈퍼키(Super Key): 최소 조합이지만 유일하지는 않은 키 - 외래키(Foreign Key): 다른 테이블에서 해당 테이블을 참조할 때 쓰는 기본키 테이블 키에는 위와 같이 5가지 종류가 있습니다. 후보키, 기본키, 대체키, 슈퍼키, 외래키입니다. 테이블 키는 특정 속성..
2023. 4. 23.
[DB] 데이터 언어의 종류 (데이터 정의어, 데이터 조작어, 데이터 제어어)
데이터베이스에서 사용하는 언어, SQL에는 3가지 종류가 있습니다. 데이터 구조를 정의하는 데이터 정의어(DDL), 데이터를 삽입/삭제/갱신/조회하는 데이터 조작어(DML), 데이터를 제어하는 데이터 제어어(DCL)입니다. 이에 대해서 알아보겠습니다. [ Contents ] 1. 데이터 정의어 (DDL, Data Definition Language) 데이터 구조를 생성하거나 변경, 삭제하는 데에 사용합니다. 흔히 데이터베이스 관리자(DBA)가 사용하며, DB의 스키마를 정의합니다. 이는 메타 데이터 형태로 데이터 사전(Data Dictionary)에 저장됩니다. SQL문에서는 CREATE, DROP, ALTER, TRUNCATE와 같은 명령어가 있으며, 테이블이나 뷰 등을 정의할 때 사용합니다. DML과..
2023. 4. 22.