ERD & 스키마매핑
✅ 회사DB
- entity와 entity를 연결하는 것이 relation
- 개체를 찾아내기
- entity : 사원, 부양가족, 프로젝트, 부서, 공급자, 부품
- 최대최소 대응수 : 반드시 참여해야 할 때 두 줄임
- 최대최소 대응수는 반대쪽에다 표시함.
✅ 스키마 매핑
1️⃣ 1단계
- 모든 strong entity type은 table이됨?
- Employee(
empno
, empname, title, salary, city, ku, dong)
- Department(
deptno
, deptname, floor)
- Project(
pno
, pname, budget)
- Supplier(
sno
, sname, credit)
- Part(
partno
, partname, price) : 순환관계가 있음. 자기 자신 파트를 표현하므로 forein key로 자기를 써야 함.
2️⃣ 2단계
- weak entity를 쓰기
- Dependent(
empno(FK), depname(FK)
, sex)
3️⃣,4️⃣,5️⃣ 3,4,5 단계
- 1:1 : employee ↔️ project
- Project(
pno
, pname, budget, empno(FK)
, startdate)
- 1:many : employee ↔️ department, employee에 dept를 가져옴
- Employee(
empno
, empname, title, salary, city, ku, dong, deptno(FK)
)
- m:n : Works(
empno(FK), pno(FK)
, duration, responsibility)
6️⃣ 6단계
- 다진의 경우 supply -> 무조건 테이블 만들기
- Supplies(
sId
, pno(FK), partno(FK), sno(FK), quantity)
- 3개를 프라이머리키로 만들면 속도가 너무 느림
7️⃣ 7단계
- location(
pno(FK), Lname
)
- 순환관계 : Part(
partno
, partname, price, subNo(FK))
ISA 관계
- 학생(
학번
, 이름, 학과)
- 휴학생(
학번(FK)
, 년도, 기간)
- 재학생(
학번(FK)
, 학점)