SakilaMySQL样例数据库解析.docx
《SakilaMySQL样例数据库解析.docx》由会员分享,可在线阅读,更多相关《SakilaMySQL样例数据库解析.docx(9页珍藏版)》请在冰豆网上搜索。
SakilaMySQL样例数据库解析
Salila——MySQL样例数据库解析
Sakila能够作为数据库设计的参考,下载地址:
紧缩包包括三个文件:
、、
文件包括创建Sakila数据库的结构:
表、视图、存储进程和触发器
文件包括:
1)利用INSERT语句填凑数据;2)在初始数据加载后,必需创建的触发器的概念
文件是一个MySQLWorkbench数据模型,能够在MySQL的工作台打开检查数据库结构。
salila共有16张表
01演员表actor
02地址表address
03分类表category
04城市表city
05国家表country
06客户表customer
07电影表file
08*film_actor表
09*film_category表
10*film_text表
11库存表inventory
12语言表language
13*付款表payment
14租金表rental
15工作人员表staff
16存储表store
【01演员表actor】
演员表列出了所有演员的信息。
演员表和电影表之间是多对多的关系,通过film_actor表成立关系
1
2
3
4
actor_id:
代理主键用于唯一标识表中的每个演员
first_name:
演员的名字
last_name:
演员的姓氏
last_update:
该行已创建或最近更新的时间
【02地址表address】
地址表包括客户、员工和商店的地址信息。
地址表的主键出此刻顾客、员工、和存储表的外键。
1
2
3
4
5
6
7
8
address_id:
代理主键用于唯一标识表中的每个地址
address:
地址的第一行
address2:
一个可选的第二行地址
district:
该地区的所属地区,这可以是国家,省,县等
city_id:
指向城市表的外键
postal_code:
邮政编码
phone:
地址的电话号码
last_update:
该行已创建或最近更新的时间
【03分类表category】
类别表列出了能够分派到一个电影类别。
分类和电影是多对多的关系,通过表film_category成立关系
1
2
3
category_id:
代理主键用于唯一标识表中的每个类别
name:
类别名称
last_update:
该行已创建或最近更新的时间
【04城市表city】
城市表包括的城市名单。
城市表利用外键来标示国家;在地址表中被作为外键来利用。
1
2
3
4
city_id:
代理主键用于唯一标识表中的每个城市
city:
城市的名字
country_id:
外键,用于标示城市所属的国家
last_update:
该行已创建或最近更新的时间
【05国家表country】
国家表中包括的国家名单。
国家表是指在城市表的外键。
1
2
3
country_id:
代理主键用于唯一标识表中的每个国家
country:
国家的名称
last_update:
该行已创建或最近更新的时间
【06客户表customer】
客户表包括了所有客户的列表。
客户表在支付表和租金表被作为外键利用;客户表利用外键来表示地址和存储。
1
2
customer_id:
代理主键用于唯一标识表中的每个客户
store_id:
一个外键,确定客户所属的store。
3
4
5
6
7
8
9
first_name:
客户的名字
last_name:
客户的姓氏
email:
客户的电子邮件地址
address_id:
使用在地址表的外键来确定客户的地址
active:
表示客户是否是活跃的客户
create_date:
顾客被添加到系统中的日期。
使用INSERT触发器自动设置。
last_update:
该行已创建或最近更新的时间
说明:
active:
此设置为“FALSE“作为替代客户完全删除。
大多数查询应该有一个WHEREactive=TRUE字句。
store_id:
此处的客户不仅限于只由这家商店出租,而是包括客户常常去逛的商店
【07电影表file】
电影表是一个可能在商店库存的所有影片名单。
每部影片的拷贝的实际库存信息保留在库存表。
电影表指利用外键来标示语言表;在film_category、film_actor和库存表中作为外键利用。
1
2
3
4
5
6
7
8
9
film_id:
代理主键用于唯一标识表中的每个电影
title:
影片的标题
description:
一个简短的描述或电影的情节摘要
release_year:
电影发行的年份
language_id:
使用外键来标示语言
original_language_id:
电影的原始语音。
使用外键来标示语言
rental_duration:
租赁期限的长短,以天作为单位
rental_rate:
指定的期限内电影的单位租金
length:
影片的长度,以分钟为单位。
10
11
12
13
replacement_cost:
如果电影未被归还或损坏状态向客户收取的款项
rating:
分配给电影评级。
可以是G,PG,PG-13,R或NC-17
special_features:
包括DVD上常见的特殊功能的列表
last_update:
该行已创建或最近更新的时间
特殊功能包括零个或多个拖车、评论、删剪片段、幕后。
【08*film_actor表】
film_actor表是用来支持许多电影和演员之间的多对多关系。
关于每一个给定的电影演员,将有film_actor表中列出的演员和电影中的一个行。
film_actor表指的是利用外键的电影和演员表。
1
2
3
actor_id:
用于识别演员的外键
film_id:
用于识别电影的外键
last_update:
该行已创建或最近更新的时间
【09*film_category表】
film_category表是用来支持许多电影和类别之间的多对多关系。
应用于电影的每一个类别中,将有film_category表中列出的类别和电影中的一个行。
film_category表是指利用外键的电影和类别表。
1
2
3
film_id:
用于识别电影的外键
category_id:
用于识别类别的外键
last_update:
该行已创建或最近更新的时间
【10*film_text表】
film_text表是Sakila样例数据库唯一利用MyISAM存储引擎的表。
此表提供许诺全文搜索电影表中列出的影片的题目和描述。
film_text表包括的film_id,题目和描述的列电影表,保留的内容与电影表上的内容同步(指电影表的插入、更新和删除操作)
1
2
3
film_id:
代理主键用于唯一标识表中的每个电影
title:
影片的标题
description:
一个简短的描述或电影的情节摘要
注意:
film_text表的内容不该该直接修改。
所有的变更来自于电影表。
【11库存表inventory】
库存表包括一排为每一个给定的电影拷贝在一个给定的存储。
库存表是利用外键来识别电影和存储;在出租表中利用外键来识别库存。
1
2
3
4
inventory_id:
理主键用于唯一标识每个项目在库存
film_id:
使用外键来识别电影
store_id:
使用外键来识别物品所在的商店
last_update:
该行已创建或最近更新的时间
【12语言表language】
语言表是一个查找表,列出可能利用的语言,电影能够有自己的语言和原始语言值。
语言表在电压表中被作为外键来利用。
1
language_id:
代理主键用于唯一标识每一种语言
2
3
name:
语言的英文名称
last_update:
该行已创建或最近更新的时间
【13*付款表payment】
付款表记录每一个客户的付款,如支付的金额和租金的资料。
付款表利用外键来表示客户、出租、和工作人员。
1
2
3
4
5
6
7
payment_id:
代理主键用于唯一标识每个付款
customer_id:
使用外键来标识付款的客户
staff_id:
工作人员,负责处理支付。
使用外键来标识
rental_id:
?
?
?
amount:
付款金额
payment_date:
处理付款的日期
last_update:
该行已创建或最近更新的时间
【14租金表rental】
租金表包括一排每一个存货项目的租金出租什么项目,当它被租用,而当它返回的信息。
租金表是利用外键来标识库存,顾客和工作人员;在支付表中利用了外键来标识租金。
1
2
3
4
5
rental_id:
代理主键唯一标识的租金
rental_date:
该项目租用的日期和时间
inventory_id:
该项目被租用
customer_id:
租用该项目的客户
return_date:
归还日期
6
7
staff_id:
处理该项业务的工作人员
last_update:
该行已创建或最近更新的时间
【15工作人员表staff】
工作人员表列出了所有的工作人员,包括电子邮件地址,登录信息和图片信息。
工作人员表是指利用外键来标识存储和地址表;在出租、支付和存储表中作为外键。
1
2
3
4
5
6
7
8
9
10
11
staff_id:
代理主键唯一标识的工作人员
first_name:
工作人员的名字
last_name:
工作人员的姓氏
address_id:
工作人员的地址在地址表的外键
picture:
工作人员的照片,使用了BLOB属性
email:
工作人员的电子邮件地址
store_id:
工作人员所在的商店,用外键标识
active:
是否是活跃的工作人员。
username:
用户名,由工作人员用来访问租赁系统
password:
工作人员访问租赁系统所使用的密码。
使用SHA1函数来保存密码.
last_update:
Thetimethattherowwascreatedormostrecentlyupdated.
active:
工作人员离开,将此列设为FALSE,而并非是真正删除
【16存储表store】
存储表列出了系统中的所有商店。
存储表是指利用外键来标识工作人员和地址;在员工、客户、库存表作为外键利用。
1
2
3
4
store_id:
代理主键唯一标识的商店
manager_staff_id:
使用外键来标识这家商店的经理
address_id:
使用外键来确定这家店的地址
last_update:
该行已创建或最近更新的时间