총 16개 테이블이 있습니다. 어떤 용도로 사용하는 테이블인지 아직 알 수 없지만, actor, film 등의 테이블 이름을 보면 영화와 관련된 테이블이란 것을 짐작할 수 있습니다. 사실 sakila 데이터베이스에는 DVD 대여 정보를 관리하기 위한 테이블이 들어 있습니다. 예전에는 비디오 가게에서 비디오나 DVD를 빌려 봤는데, 그 당시에 만들어진 예제 테이블임을 유추할 수 있죠. 각 테이블에 관한 설명을 표 3-6에 간단히 정리했습니다.
▼ 표 3-6 sakila 데이터베이스의 테이블
테이블명 |
테이블 설명 |
actor |
배우 정보 |
address |
고객, 직원, 매장 주소 정보 |
category |
영화 카테고리 정보 |
city |
도시 정보 |
country |
국가 정보 |
customer |
고객 정보 |
film |
영화 정보(DVD) |
film_actor |
영화와 출연 배우 정보 |
film_category |
영화와 영화 카테고리 정보 |
film_text |
영화와 그에 관한 설명 |
inventory |
대여 매장에 있는 영화(DVD) 재고 정보 |
language |
영화에 대한 언어 정보 |
payment |
고객의 DVD 영화 대여 시 지급 내역 정보 |
rental |
고객의 DVD 영화 대여 상세 정보 |
staff |
대여 매장 직원 정보 |
store |
대여 매장 정보 |
표에서 보듯이 sakila 데이터베이스에 있는 테이블은 수도 많고 좀 복잡합니다. 개별 테이블만 참조해서 특정 정보를 찾을 수도 있지만, 대부분은 다른 테이블과 연결해야 원하는 정보를 찾을 수 있죠. 예를 들어 actor 테이블에는 배우, film 테이블에는 영화 정보가 있습니다. 그런데 어떤 영화에 어떤 배우가 출연했는지는 film_actor 테이블을 참조해야 합니다. 하지만 film_actor 테이블에는 배우와 출연 영화에 대한 연결 정보만 있습니다. 따라서 영화 제목과 출연 배우의 이름을 알려면 3개 테이블을 모두 참조해야 합니다. 테이블 참조 부분은 8장 테이블끼리 관계 맺기: 조인에서 자세히 다룹니다.