在 PostgreSQL 中安装 Sakila 示例数据库
本文介绍如何在 PostgreSQL 中安装本系列教程中使用的 Sakila 示例数据库。
Sakila 示例数据库是使用最广泛的示例数据库之一,也是最好的示例数据库之一。Sakila 数据库为 DVD 租赁商店业务建模,其中包含影片、演员、影片与演员关系等内容,以及连接影片、商店和租赁业务的中央库存表。
Sakila 示例数据库最初来源于 MySQL,现在已经被移植到许多的数据库。
在这个 PostgreSQL 教程系列中,我们使用 Sakila 示例数据库作为演示数据库,以更快速有效的入门和使用 PostgreSQL。
在本教程中,我们将在 PostgreSQL 中安装 Sakila 示例数据库,以为后的学习建立基础。
前提条件
在继续本教程之前,您需要:
-
在您自己的系统上安装 PostgreSQL 数据库服务器
-
下载 Sakila 示例数据库 sql 脚本文件。
请跳转到 https://github.com/jOOQ/sakila/tree/main/postgres-sakila-db,并下载以下两个文件:
postgres-sakila-schema.sql
- 此文件包含了创建数据库结构的 sql 脚本,包含表,函数,存储过程,触发器等。postgres-sakila-insert-data.sql
- 此文件包含了导入数据的 sql 脚本。
这两个文件下载完成后,您要做的就是把这两个文件导入到数据库中。您可以使用以下两种工具中的任意一个将 sql 文件导入到数据库:
- psql 工具
- pgAdmin 工具
使用 psql 工具导入 Sakila 数据库
如果您已经安装好 PostgreSQL,psql 工具也会随之安装。请按照如下步骤将 Sakila 数据库文件导入。
-
启动 PowerShell 或命令提示符。
-
导航到 PostgreSQL 安装目录的 bin 目录下:
cd D:\PostgreSQL\14\bin
注意,您的安装目录可能于此处不同。
-
启动 psql 工具并连接 PostgreSQL 服务器:
.\psql.exe -U postgres
根据提示输入 postgres 用户的密码,然后按下回车键。
-
创建 sakila 数据库
CREATE DATABASE sakila;
-
选择 sakila 数据库
\c sakila;
-
分别指定以下两个语句以导入刚刚下载的两个文件
postgres-sakila-schema.sql
和postgres-sakila-insert-data.sql
:\i C:/Users/Adam/Downloads/postgres-sakila-schema.sql \i C:/Users/Adam/Downloads/postgres-sakila-insert-data.sql
请注意,请使用
/
替换文件路径中的\
。 -
使用
\dt
展示 sakila 数据库中的表以验证是否导入成功\dt
List of relations Schema | Name | Type | Owner ----------+----------------+-------+---------- public | actor | table | postgres public | address | table | postgres public | category | table | postgres public | city | table | postgres public | country | table | postgres public | customer | table | postgres public | film | table | postgres public | film_actor | table | postgres public | film_category | table | postgres public | inventory | table | postgres public | language | table | postgres public | payment | table | postgres public | payment_p2007_01 | table | postgres public | payment_p2007_02 | table | postgres public | payment_p2007_03 | table | postgres public | payment_p2007_04 | table | postgres public | payment_p2007_05 | table | postgres public | payment_p2007_06 | table | postgres public | rental | table | postgres public | staff | table | postgres public | store | table | postgres (21 rows)
至此, PostgreSQL 数据库服务器已经成功加载 sakila 数据库。
使用 pgAdmin 工具
使用 pgAdmin 4 工具加载 SQL 文件到 数据库中是一件更加容易的事情。请跟随以下步骤:
-
启动 pgAdmin 4 并连接 PostgreSQL 服务器。
-
创建 sakila 数据库:
- 右键左侧导航中的
Databases
。 - 选择
Create
>Database...
- 在弹出的对话框中输入
Database
栏目中输入sakila
- 单击
Save
- 右键左侧导航中的
-
在新建的
sakila
数据上点击右键,并点击弹出菜单中的Query Tool
。 -
点击
Query Tool
窗口中的右上角的Open File
按钮并选择postgres-sakila-schema.sql
文件,然后点击Excute
按钮。 这个过程可能会持续数秒钟。 -
点击
Query Tool
窗口中的右上角的Open File
按钮并选择postgres-sakila-insert-data.sql
文件,然后点击Excute
按钮。 这个过程可能会持续数秒钟。 -
依次点击左侧导航的
sakila
,Schemas
,public
,Tables
以查看是否加载成功。
Sakila 示例数据库架构
Sakila 数据库包括了 16 个表,7 个视图,3 个存储过程,3 个存储函数,6 个触发器。
Sakila 数据库中的表:
- 演员表
actor
: 演员的信息 - 地址表
address
: 包含客户、员工和商店的地址信息 - 类别表
category
: 影片的类别 - 城市表
city
: 城市列表 - 国家表
country
: 国家/地区列表 - 客户表
customer
: 客户信息 - 影片演员关系表
film_actor
: 影片和演员的多对多对应关系 - 影片类别关系表
film_category
: 影片和类别的多对多对应关系 - 影片描述表
film_text
: 影片的标题、描述信息 - 影片表
film
: 所有影片 - 库存表
inventory
: 影片拷贝的库存信息 - 语言表
language
: 影片的语言信息 - 支付表
payment
: 记录了客户的每笔付款 - 租赁表
rental
: 包含每个库存物品的每次租赁明细 - 员工表
staff
: 列出了所有员工的信息 - 商店表
store
: 列出了系统中的所有商店
结论
在本文中,我们分别通过 psql 工具和 pgAdmin 4 工具将 sakila 示例数据库加载到了 PostgreSQL 服务器中。