조사범위를 어디서부터 어디까지 할건지 결정
요구사항을 수집하고, 요구사항을 검토/승인하는 단계
개체, 속성, 관계파악
개념-논리-물리 데이터 모델링 단계
(데이터 모델링 3단계는 하단에 설명)
"개체"는 테이블이 된다.
그 속에는 "속성"이 들어간다.
개체간의 "관계"를 파악한다.
데이터 모델링 중 개념적 모델링에서 작성한 E-R 다이어그램을 테이블 형태로 변환
문자 길이, 숫자 길이
날짜는 따로 길이를 안줘도 된다.
이름- 글자 데이터 / 한글자당 2byte
통상 20byte정도 준다.
주민등록번호- 날짜 데이터 타입으로 준다.
데이터타입은
숫자,문자,날짜 등등..
1) 일 대 다 (1:N) 관계
2) 다 대 다 (N:M) 관계
[사원 테이블]
사원번호가 기본키
[근무 테이블]
사원번호와 사업장번호는 복합키이면서 기본키
[사업장 테이블]
사업장번호가 기본키
근무테이블의 사원번호와 사업장번호는 외래키로 참조하고 있음
3) 일 대 일 (1:1) 관계
존재하고 있는 것(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)
(Entity는 테이블이 나오기 전 단계라고 생각하면 된다)
예시1)
먼저 부모테이블과 자식테이블이 뭔지 구별해야한다
더 중심이 되는 테이블이 부모 테이블.
A테이블의 기본키를 B테이블이 가지고 있다면
A는 부모테이블, B는 자식테이블.
(실선/점선 표기법)
실선 표기 (식별관계)
부모 테이블의 기본키를 자식 테이블이 가지고 있으며, 기본키로 사용하는 경우
점선 표기 (비식별관계)
부모 테이블의 기본키를 자식 테이블이 가지고 있지만, 기본키로 사용하지 않는 경우
한 학생은 여러개의 수업을 수강 할 수 있기 때문에 일 대 다 (1:N) 로 표기.
여러가지 수업 중 안듣는 수업이 있을 수 있기 때문에 ○를 표시해준다.
예시2)
부모 테이블은 부서 테이블
자식 테이블은 사원 테이블
부모 테이블의 기본키를 자식 테이블에서 기본키로 사용하지 않았기 때문에 점선으로 표시 (비식별 관계)
하나의 부서는 0~N명의 사원을 가질 수 있다.
사원 테이블은 부서테이블의 기본키인 부서번호를 FK로 가진다.
- 기본키는 누가 갖고 있는가?
- 누가 외래키를 갖고 있는가?
- 누가 어디에 종속되고 누가 누구를 포함하고 있는가? 등의 관계를 표현
사용자 요구 사항을 분석 결과
• 사원은 (사원번호, 사원명, 주소, 전화번호, 직급, 부서명)의 속성을 갖는다.
• 사업장은 (사업장번호, 사업장명, 주소, 전화번호, 공사금액, 투입인원, 시공일자, 예상완공일, 완공일, 비고)의 속성을 갖는다.
• 사업장의 비고는 공사중과 공사완료로 구분한다.
• 사업장자재는 (자재명코드, 자재명, 수량, 구입가격, 구입일)의 속성을 갖는다.
• 한 사원은 일정 기간 동안 하나의 사업장에서 근무하며 그 기간이 지나면 다른 사업장에서 근무한다.
• 구입한 사업장자재는 하나의 사업장에서만 관리할 수 있다.