기록
day 0613 데이터베이스 모델링(1) 본문
데이터베이스 모델링
논리
물리
-- ERwin 설치하기
-- 데이터베이스 oracle 9.x 로 설정
-- 모델링 실습 시작
-- 차수 선모양 바꾸기
-- 표 모델링 연습
무정규화 상태로 하나의 테이블에 모든 속성 담기
-- Entity(테이블명) / 주식별자 / 속성
tab 누르면 칸 이동
enter 누르면 줄 추가
shift + 왼쪽클릭 수정 (잘 안됨..)
-- 저장하기
<< 단계별 정규화 과정 >>
-- 1차 정규화
반복 그룹 속성 추출하기
추출한 개체는 자식이 된다
식별관계가 되도록 한다
차수
부모를 누르고 자식을 누르면 선이 그어진다
identifying relationship : 식별자
-- 2차 정규화
주식별자의 완전 기능 종속 되지않는 속성 추출
(주식별자 속성이 여러개일 때)
부모 개체가 추출되고 반드시 식별관계(실선)
-- 3차 정규화
주식별자의 이행종속 속송 추출
부모 개체가 추출되고 반드시 비식별관계(점선)
-- 차수 정하기
cardinality(자식)
부모타입은 null
-- Zero or One : 안나올 수 있고 하나만 나올 수 있다
-- One or More : 한번 나올 수 있고 여러번 나올 수 있다
Zero or One : 안나올 수 있고 하나만 나올 수 있다
One or More : 한번 나올 수 있고 여러번 나올 수 있다 (한명이상)
Zero or More : 안나오거나 하나
Exactly : 1:1 관계는 1을 써준다
-- Logical 에서 physical로 바꿔준다
-- 영어로 바꿔주기
-- 타입 바꿔주기 (더블클릭)
-- 물리 모델링 완성
14:00 ~
-- Tools
Forward > preview 누르고 schema 트리거 만들기 전까지 복사하기
CREATE TABLE customer (
cno NUMBER NOT NULL,
cname VARCHAR2(20) NULL,
bno VARCHAR2(20) NULL
);
ALTER TABLE customer
ADD ( PRIMARY KEY (cno) ) ;
CREATE TABLE detail (
qty NUMBER NULL,
saleprice NUMBER NULL,
ono NUMBER NOT NULL,
pno NUMBER NOT NULL
);
ALTER TABLE detail
ADD ( PRIMARY KEY (ono, pno) ) ;
CREATE TABLE orders (
ono NUMBER NOT NULL,
orderdate DATE NULL,
total NUMBER NULL,
cno NUMBER NOT NULL,
status VARCHAR2(20) NULL
);
ALTER TABLE orders
ADD ( PRIMARY KEY (ono) ) ;
CREATE TABLE product (
pno NUMBER NOT NULL,
name VARCHAR2(20) NULL,
price NUMBER NULL
);
ALTER TABLE product
ADD ( PRIMARY KEY (pno) ) ;
ALTER TABLE detail
ADD ( FOREIGN KEY (pno)
REFERENCES product ) ;
ALTER TABLE detail
ADD ( FOREIGN KEY (ono)
REFERENCES orders ) ;
ALTER TABLE orders
ADD ( FOREIGN KEY (cno)
REFERENCES customer ) ;
-- 사용자 새로만들기
-- 부모를 먼저 지우면 '외래 키에 의해 참조되는 고유/기본 키가 테이블에 있습니다'
테이블 지우는 순서 : 자식을 먼저 삭제하고 부모를 지운다
-- 테이블잘못만들어서 사용자 삭제하고 다시 만들었다,,
- 다음의 인사기록카드 표에 해당하는 데이터 모델링을 실습해봅니다
- 오늘 학습한 내용에 대하여 요약 및 정리하고
- 팀별로 프로젝트 관련 회의를 진행합니다
- 회의가 일찍 끝나면 팀별로 호텔 예약 시스템에 대하여 모델링 작업을 해 봅니다
'📖' 카테고리의 다른 글
day 0617 데이터베이스(3) (0) | 2024.06.17 |
---|---|
day 0614 데이터베이스 모델링(2) (0) | 2024.06.14 |
day 0612 데이터베이스(2) (0) | 2024.06.12 |
day 0611 데이터베이스(1) (1) | 2024.06.12 |
day 0610 상품_등록_수정_삭제_조회 (0) | 2024.06.10 |