테이블이란 ?
관계형 데이터베이스에서 데이터를 관리 및 저장하는 장소
데이터의 효율적인 관리 및 적절한 조작이 매우 중요하다.
기본키(PRIMARY KEY)의 중요성
특정 집합에서 특정 행을 유일하게 식별할 수 있는 속성
기본키는 절대 중복되면 안된다.
반드시 기본키를 설정해야함 / 단, 업무상 이유로 기본키가 없는 테이블이 존재하는 곳도 있음
정규형 : 테이블을 정의하는 기본 형태
정규형을 제대로 지키지 않으면 정규화 위반임.
정규형의 목적은 제대로된 데이터 모델링을 설계하기 위함이다. 성능 향상이 아님.
1. 제 1정규형(1NF) 위반
테이블의 셀에 여러개의 값을 포함하지 않는다.
ex) 연락처 컬럼에 010-1222-2222,qwer@qwer.com 이렇게 두가지 값이 포함되면 안됨.
-> 해소 방법
기존 회원 테이블에서 회원 연락처 테이블을 따로 추가한다.
테이블은 함수와 같기 때문에, 기본키 값을 입력하면 무조건 1개의 값이 출력되어야함.
함수 종속성을 가짐.
2. 제 2정규형(2NF) 위반
부분함수 종속성을 허용하지 않는다. -> 기본키를 구성하는 열의 일부에만 함수 종속이 존재하는 것
기본키가 고객아이디 + 주문번호 일 때, 고객명과 고객등급은 주문번호가 아닌, 고객ID에만 종속됨.
이러한 경우를 부분함수 종속이라고함. 제 2정규형에 위반.
-> 해소 방법
고객 주문 테이블과 고객 테이블을 분리해서 관리
3. 제 3정규형(3NF) 위반
기본키를 제외한 일반 함수끼리 종속이 발생한 경우. ( 이행적함수종속 )
기본키가 고객 ID인데, 컬럼에 직업코드와 직업명이 있는경우.
직업명이 직업코드에 종속되기 때문에 제 3정규형 위반이다.
-> 해소 방법
직업 테이블을 따로 생성해야함
ER 다이어그램 : 개체-관계 모델링(Entity-Relationship Modeling)의 산출물
데이터 모델링 과정은 데이터 모델을 그림으로 표현하기 위해 표시법을 필요로함.
Barker 표기법 ( 최근 많이 사용 )
Oracle에서 기본 표기법으로 채택함.
모델링 하는 방법
https://peach-hzz.tistory.com/49
엔터티(테이블)
테이블과 유사함.
#으로 시작하는 것은 기본키
*로 시작하는 것은 Not null
0로 시작하는 것은 NULL
끝에 (FK)로 끝나는 것은 외래키임
Relationship : 엔터티(테이블)과 엔터티 사이의 관계
정의된 엔터티는 대부분 혼자서 존재 할 수 없다. 관계가 정의 되어야 그 역할을 할 수 있음.
FK인 컬럼은 부모 테이블의 기본키를 참고하고 있다.
'SQL' 카테고리의 다른 글
데이터베이스 성능 / 인덱스 (0) | 2022.10.10 |
---|---|
백업 및 복구 (0) | 2022.10.09 |
DA# 데이터 모델링 실습 (0) | 2022.10.09 |
트랜잭션 (0) | 2022.10.09 |
연습문제풀이 (0) | 2022.10.05 |