티스토리 뷰

 네이버 영화를 참고하여 영화 DB테이블을 구성해보고자 한다.

위의 그림에서 어떤 정보가 있는지 모두 나열해보자.

1. 영화
- 영화번호
- 제목
- 장르
- 개봉일
- 감독
- 출연진
- 평점
- 상영시간
- 등급

관계를 지어본다.

2. 장르
장르번호
장르명

3. 영화-장르
    다대다관계. 하나의 영화는 여러 장르를 가질 수 있고, 하나의 장르에는 여러개의 영화를 포함할 수 있다.
- 영화-장르 번호
- 영화번호
- 장르번호

4. 감독
- 감독번호
- 감독명

5. 영화-감독
    다대 다관계. 영화에는 여러명의 감독이 있고, 한명의 감독은 여러개의 영화를 만들수 있기 때문에. 해소테이블이 필요하다.
- 영화-감독번호
- 영화번호
- 감독번호

6. 출연진
- 배우 번호
- 배우 명

7. 영화-출연진
    다대 다관계. 영화에는 여러명의 출연진이 나오고, 한명의 출연진이 여러개의 영화에 출연할 수 있기 때문에. 해소테이블이 필요하다.
- 영화-출연진번호
- 영화 번호
- 배우 번호

8. 등급
- 등급 번호
- 등급 명
    
    영화-등급 테이블이 필요할까? No... 
    일대 다 관계. 하나의 등급이 여러개의 영화에 매겨질 수 있지만, 하나의 영화는 하나의 등급만 가진다.

이제 위에 정리한 내용들을 ERD로 그려보면 아래와 같다.

 

 

 

다 생성했으면 SQL DEVELOPER를 켜서 기존의 접속을 해제하고, 관리자모드의 다른 사용자를 우클릭하여 사용자를 생성한다. 그러면 아래와 같은 화면이 나온다. 아래와 같이 설정을 모두 적용해준다.

 

 

 설정을 마쳤다면 이제 관리자모드 접속을 해제하고 +를 선택해서 MOVIE 계정으로 접속을 한다. 아래와 같이!


간단한 DIRECTOR 테이블부터 만들어보자. 테이블을 만들때는 관계의 끝부터 만드는 것이 좋다.

 

테이블을 모두 만들면 이렇게 테이블 리스트가 생성된다.
그러나 아직은 데이터를 넣을 수는 없다.
PK 타입이 모두 NUMBER 타입인데, 이것이 자동으로 증가되지가 않는다.(Oracle만!)
그래서 각 테이블마다 자동으로 증가시킬 수 있는 것을 만들어야한다.
그것을 바로 SEQUENCE라고 한다.
이것을 이용해서 숫자를 증가시킬 것이다. SEQUENCE는 테이블 마다 하나씩 있어야하기 때문에 SEQUENCE를 8개 만든다.
그 후에 데이터를 추가해보고, 조회도 해보고, 할 것이다.


SEQUENCE를 만드는 방법

 

8개를 다 만들었다면 이제 쿼리문을 적어보자.


 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   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
글 보관함