gwooden_코린이
오라클 데이터 베이스 정규화/정규형 본문
728x90
1. 오라클 정규화/정규형
- 데이터베이스 중복을 제거하다보면 이상현상이 생기게됨
- 이상현상이 생기는걸 방지하기 위한 것
- 이상현상 EX)
- 공간낭비
- 테이터중복
- 갱신이상
- 삽입이상
- 삭제이상
- 제1정규화
- 하나의 컬럼은 하나의 값만 가져야 한다 (원자값을 가진다)
- 제2정규화
- 테이블에 연관없는 컬럼을 다른테이블로 옮기는 것
- 한개 이상의 데이터(컬럼)들로 구성된 후보키가 없으면 제 2 정규형
- PARTIAL DEPENDENCY를 제거한 테이블 -> 제2정규형
- 제3 정규화
- 테이블이 제2정규형에 해당
- 기본키가 아닌 모든 컬럼이 기본키에 이행적 함수 종속이 되지 않으면 제3정규형 테이블이 됨
- 전이 의존성
테이블 만들기 CREATE
CREATE TABLE 고객(
고객번호 NUMBER(4) PRIMARY KEY,
이름 VARCHAR2(50),
회원등급 VARCHAR2(50)
);
CREATE TABLE 구매현황 (
고객번호 NUMBER(4),
상품 VARCHAR2(50)
);
데이터 추가하기 INSERT INTO
INSERT INTO 구매현황 VALUES (1001, '셔츠');
INSERT INTO 구매현황 VALUES (1002, '바지');
INSERT INTO 구매현황 VALUES (1003, '바지');
INSERT INTO 구매현황 VALUES (1003, '반팔티');
테이블 수정 및 외래키 생성
ALTER TABLE 구매현황
ADD CONSTRAINT FK_고객번호 --제약조건 이름
FOREIGN KEY(고객번호)
REFERENCES 고객(고객번호) --참조할 테이블과 컬럼
ON DELETE CASCADE; --기본키를 삭제하면 외래키도 삭제 되게 설정 UPDATE로 하면 수정
ON DELETE SET NULL --다 지워지는게 아닌 NULL로 바뀜
외래키 설정은 엄격한 제약 설정이 필요할때만, 중요한 테이블일때 사용
정해진 구매내역을 토대로 정규화 작업 진행해보기
- 쇼핑몰 -> DB (EX. 판매자, 회원 등)
- 게시판 -> DB(게시판, 댓글, 추천 등)
- 커피숍 -> DB
- 등~
728x90
'데이터베이스' 카테고리의 다른 글
오라클 데이터 베이스 서브쿼리 (0) | 2023.01.11 |
---|---|
오라클 데이터 베이스 집합 연산자 (0) | 2023.01.11 |
오라클 데이터베이스 함수다뤄보기 (0) | 2023.01.10 |
데이터 베이스 오라클 11g xe 설치 및 오라클 sql Developer 세팅해보기 (0) | 2023.01.09 |
데이터 베이스란? (0) | 2022.12.21 |
Comments