● 모델링
- 추상적인 주제를 DB에 맞게 설계하는 것
1. 요구사항 분석
2. 개념적 설계(개념 모델링)
3. 논리적 설계(논리 모델링)
4. 물리적 설계(물리 모델링)
5. 구현
실습 1
1. 요구사항 분석
꽃 테이블과 화분 테이블 2개가 필요하고,
꽃을 구매할 때 화분도 같이 구매한다.
꽃은 이름과 색깔, 가격이 있고
화분은 제품 번호, 색깔, 모양, 꽃 이름이 있다.
2. 개념적 설계(개념 모델링)
3. 논리적 설계(논리 모델링)
4. 물리적 설계(물리 모델링)
5. 구현
※ 부모 : ◇ , 자식 : ●
- 꽃 테이블 구현
CREATE TABLE FLOWER(
FLOWERNAME VARCHAR2(200),
FLOWERCOLOR VARCHAR2(100),
FLOWERPRICE NUMBER,
CONSTRAINT FLOWER_PK PRIMARY KEY(FLOWERNAME)
);
SELECT * FROM FLOWER;
- 화분 테이블 구현
CREATE TABLE POT(
POTID VARCHAR2(100),
POTCOLOR VARCHAR2(100),
POTSHAPE VARCHAR2(200),
NAME VARCHAR2(200),
CONSTRAINT POT_PK PRIMARY KEY(POTID),
CONSTRAINT POT_FK FOREIGN KEY(NAME) REFERENCES FLOWER(FLOWERNAME)
);
SELECT * FROM POT;
실습 2
- 주인 테이블 구현
/*
OWNER
ID VC2(200)
-----------
OWNER_NAME VC2(200)
AGE N(5)
ADDRESS VC2(300)
*/
CREATE TABLE OWNER(
ID VARCHAR2(200) PRIMARY KEY,
NAME VARCHAR2(200) NOT NULL,
AGE NUMBER(5) DEFAULT 20,
ADDRESS VARCHAR2(300)
);
- 반려동물 테이블 구현
/*
PET
PIN VC2(300)
------------
NAME VC2(200)
AGE N(5)
ID VC2(200)
*/
CREATE TABLE PET(
PIN VARCHAR2(300) PRIMARY KEY,
NAME VARCHAR2(200) NOT NULL,
AGE NUMBER(5) DEFAULT 1,
OWNERID VARCHAR2(200),
GENDER CHAR(1) DEFAULT 'M' NOT NULL CONSTRAINTS CHECK_CHAR CHECK(GENDER IN('M', 'W')),
CONSTRAINT PET_FK FOREIGN KEY(OWNERID) REFERENCES OWNER(ID)
);