Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

기록

day 0613 데이터베이스 모델링(1) 본문

📖

day 0613 데이터베이스 모델링(1)

슈슈파나 2024. 6. 13. 17:02

데이터베이스 모델링

  논리

  물리

 

-- 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