sakilamysql_SakilaMySQL样例数据库解析
0.前⾔
Sakila 可以作为数据库设计的参考,也可作为实验数据。本例是⽤作数据分析学习的实验数据。
The Sakila sample database was developed by Mike Hillyer, a former member of the MySQL AB documentation team, and is intended to provide a standard schema that can be used for examples in books, tutorials, articles, samples, and so forth. Sakila sample database also serves to highlight the latest features of MySQL such as Views, Stored Procedures, and Triggers.
1.实验环境
mysql视图和存储过程⽅法⼀:安装 MySQL 时选择 FULL 完全安装
安装 MySQL 时选择 FULL 完全安装,默认安装了 Sakila sample database
⽅法⼆:下载后导⼊
下载地址:
解压后得到三个⽂件:
sakila-schema.sql ⽂件包含创建 Sakila 数据库的结构:表、视图、存储过程和触发器
sakila-data.sql ⽂件包含:使⽤ INSERT 语句填充数据及在初始数据加载后,必须创建的触发器的定义
sakila.mwb ⽂件是⼀个 MySQL Workbench 数据模型,可以在 MySQL 的⼯作台打开查看数据库结构。
shell> mysql -u root -p
mysql> SOURCE C:/temp/sakila-db/sakila-schema.sql;
mysql> SOURCE C:/temp/sakila-db/sakila-data.sql;
2.数据结构
Sakila 样例数据库包括 16 张表格,7 个视图,3 个 Stored Procedures,3 个 Functions,6 个 Triggers。英⽂描述点开相应连接即可查看。
总览:
关系图:
3.视图
actor_info 视图提供了所有演员的列表及所演的电影,电影按 category 分组. actor → film_actor → film → film_category → category
actor_id: 代理主键⽤于唯⼀标识表中的每个演员
first_name: 演员的名字
last_name: 演员的姓⽒
last_update: 该⾏已创建或最近更新的时间
客户列表,firstname和lastname连接成fullname,将 address, city, country 集成在⼀个视图⾥customer → address → city → country
stomer_id: 代理主键⽤于唯⼀标识表中的每个客户
store_id: ⼀个外键,确定客户所属的 store。
first_name: 客户的名字
last_name: 客户的姓⽒
email: 客户的电⼦邮件地址
address_id: 使⽤在地址 表的外键来确定客户的地址
active: 表⽰客户是否是活跃的客户
create_date: 顾客被添加到系统中的⽇期。使⽤ INSERT 触发器⾃动设置。
last_update: 该⾏已创建或最近更新的时间
每个电影种类的销售额
payment → rental → inventory → film → film_category → category
每个商店的 manager 及销售额。
payment → rental → inventory → store → staff
store 表列出了系统中的所有商店 。
store 使⽤外键来标识⼯作⼈员和地址;在员⼯、客户、库存表被作为外键使⽤。store_id: 代理主键唯⼀标识的商店
manager_staff_id: 使⽤外键来标识这家商店的经理
address_id: 使⽤外键来确定这家店的地址
last_update: 该⾏已创建或最近更新的时间
⼯作⼈员的列表

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。