..열심히 공부하세../MS-SQL
06_모델링
댄스댄스
2008. 6. 18. 15:33
[테이블분리의 필요성 및 방법]
*DB의 관계형 모델 (DB모델링)
MS-SQL/MY-SQl/오라클
1.테이블당 유일성을 보장하는 컬럼은 반드시 존재(PK)
해당레코드만 수정,삭제,조회 하기위해 -- 제 1 정규화
*회원구매테이블의 문제점
1)NULL이 빈번하게 들어간다.
2)2개이상의 주제가 한 테이블에 들어가 있음.
3)L자형 테이블은 주제가 2개 존재함
4)테이블은 주제별로 세로로 나눠져야 함.
*2개의 테이블중 반드시 하나는 부모테이블,
나머지 한 테이블은 자식테이블이 된다.
*부모테이블의 PK가 자식테이블의 컬럼에 전이된다.
*그반대로 전이될수 있지만 문제점 발생.
drop table tb_mem
create table tb_mem
(
uid varchar(10) primary key,
uname varchar(20) not null,
uphone varchar(20) not null,
uaddr varchar(20) not null
)
create table tb_order
(
orderno int identity primary key,
model varchar(10) not null,
qty int default 0,
regdt smalldatetime default getdate(),
uid varchar(10)
)
*부모테이블과 연관된 컬럼은 반드시 자료형을 일치시켜 준다.