개발정보/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을 사용한다