버글버글

DataBase 수업 기록 (5) 모델링(Modeler) 본문

Database/database 수업 기록

DataBase 수업 기록 (5) 모델링(Modeler)

Bugle 2022. 8. 29. 00:00
반응형

▶ 모델링 

1. [보기] - [Data Modeler] - [브라우저]

2. [브라우저] 창 - [제목 없음_1] - [관계형 모델 []] - 우클릭 - [새 관계형 모델]


3. 상단 메뉴 [새 테이블] 클릭 후 [Relational_1] 창에 그리기(클릭 or 드래그)

     1) 일반 : 테이블 이름, DDL에 생성 체크
     2) 열   : 열 이름, 논리적, 타입, 옵션 체크(PK, 필수(NOT NULL))
     3) 기본키 : 기본키 변경 및 제약조건 이름 변경
     4) 고유 제약 조건 : UNIQUE
     5) 외래키
         (1) 필수 선택하면 실선으로 관계 생성, 필수 해제하면 점선으로 관계 생성
         (2) 연관된 열
             참조된 열  |  열
             PK 등록    |  FK 등록
4. 상단 메뉴 [DDL 생성] 클릭 후 [생성] 버튼 클릭하면 자동으로 생성되는 DDL 확인 가능

- 생성자 Oracle SQL Developer Data Modeler 20.4.0.374.0801
- 위치:        2022-08-24 15:58:29 KST
- 사이트:      Oracle Database 11g
- 유형:      Oracle Database 11g


- predefined type, no DDL - MDSYS.SDO_GEOMETRY
- predefined type, no DDL - XMLTYPE

 

 

◁─────<  FK : NOT NULL
◁---------------<  FK : NULL
◁───o< FK : NOT NULL / ON DELETE SET NULL (종속받는 객체가 지워졌을때, null 값으로 세팅된다)
◁--------------o< FK : NULL / ON DELETE SET NULL
◁────x< FK : NOT NULL / ON DELETE CASCADE (종속받는 객체가 지워졌을때, 같이 지워진다)
◁--------------x< FK : NULL / ON DELETE SET CASCADE

 

 

예시) 아래 예시를 모델링 하기

DROP TABLE orders;
DROP TABLE product;
CREATE TABLE orders (
    ord_no    NUMBER NOT NULL,
    ord_user  VARCHAR2(20 BYTE) NOT NULL,
    prod_no   NUMBER(3) NOT NULL,
    ord_date  DATE
);

ALTER TABLE orders ADD CONSTRAINT pk_orders PRIMARY KEY ( ord_no );

CREATE TABLE product (
    prod_no    NUMBER(3) NOT NULL,
    prod_name  VARCHAR2(20 BYTE) NOT NULL,
    price      NUMBER(6) NOT NULL,
    stock      NUMBER
);

ALTER TABLE product ADD CONSTRAINT product_pk PRIMARY KEY ( prod_no );

ALTER TABLE orders
    ADD CONSTRAINT fk_orders_product FOREIGN KEY ( prod_no )
        REFERENCES product ( prod_no );

 

반응형