개발정보/DB

SQL 첫걸음 8장 설계

dev김 2019. 1. 28. 17:26

데이터베이스 설계(스키마 설계)

물리명(실제 테이블 이름, 열 이름)과 논리명(설계상의 이름)

자료형(check 제약으로 조건에 맞는 값만 허용가능)

큰 데이터는 lob지정(인덱스가 안된다)


ER다이어그램

기본키가 되는 열부터 상단 열 이름은 논리명

연계(릴레이션십) 외래키와 다른 테이블 기본키 연결


정규화

제1정규형 : 반복되는 데이터를 줄이기 위해 테이블 추가 생성

테이블 분할과 기본키 지정

제2정규형 : 부분 함수 종속성을 찾아내 테이블 분할

함수종속성은 키 값을 이용해 데이터를 특정지을수 있는 것

제3정규형 : 중복되는 항목이 있을 경우 기본키 생성하고 분할

제5정규형까지 있지만 대부분 제3정규형까지 채택

목적 : 하나의 데이터가 한 곳에만 존재하도록 해 관리 편이


트랜잭션

start transaction;

insert into ..

...

commit;     commit하기전에 rollback;하면 트랜잭션 이후의 명령 롤백됨


sql server postgresql은 begin transaction

oracle이나 db2에는 transaction 없다고 하지만 oracle에는 존재한다

sqlplus로 확인해 보았고 start transaction을 사용한다