min's devlog

DDL과 DML 본문

til/Oracle

DDL과 DML

값진 2022. 5. 4. 10:51

DDL 작성

만든 ERD를 바탕으로 DDL을 작성한다.

--영화정보 테이블
create table tblMovie (
        seq number primary key,
        name varchar2(100) not null,
        dates date not null, 
        time number not null,
        gradeSeq number not null references tblGrade(seq)
);


--나이별 관람객 추이
create table tblAgeStats (
        mseq number not null primary key,
        teens number not null,
        twenties number not null,
        thirties number not null,
        fourties number not null,
        fifties number not null,

        constraint tblAgeStats_fk foreign key(mseq) references tblMovie(seq)
);


--성별 관람객 추이
create table tblGenderStats (
	seq number not null primary key,
	male number not null,
	female number not null,

    constraint tblGenderStats_fk foreign key(seq) references tblMovie(seq)
);


--국가 목록
CREATE TABLE tblClist (
    mSeq NUMBER NOT NULL references tblMovie(seq),
    cSeq NUMBER NOT NULL references tblCountry(seq),

    CONSTRAINT tblClist_seq_pk PRIMARY KEY(cSeq, mSeq)
); 


--영화 관계자 기본 정보
create table tblInfo (
        seq number primary key,
        name varchar2(100) not null,
        cSeq number null references tblCountry(seq),
        birth date null,
        gSeq number null references tblGender(seq)
);


--전체 영화 관계자 목록
create table tblStaff (
    seq number primary key,
	mSeq number not null references tblMovie(seq),
	rSeq number not null references tblRole(seq),
    iSeq number not null references tblInfo(seq)
);

--시퀀스 객체생성
create sequence staffSeq;

--이후 생략

 

 

DML 작성

50편에 해당하는 영화 정보를 insert한다.

네이버 영화 페이지에서 양식에 맞춰서 정보를 수집했기 때문에 양식이 균일했다.

데이터는 그대로 두고 INSERT INTO 테이블 VALUES(sequence, '정보들'); 만 추가해주면 되어 작업이 어렵진 않았다.

요것도 코드가 너무 길어 생략

'til > Oracle' 카테고리의 다른 글

인덱스(index)  (0) 2022.05.11
PL/SQL  (0) 2022.05.09
뷰(view)  (0) 2022.05.03
[Movie] ERD 설계  (0) 2022.05.03
[Movie] ERD 연습  (0) 2022.05.01
Comments