本章将介绍示例数据库,以便后续的演示。同时,你将学习到如何将已存在的数据导入到 PostgreSQL 中。
下载并导入示例数据库
下载示例数据库:
wget https://file.axum.rs/subjects/postgresql-basic/dvdrental.tar
请确保你已经安装了 PostgreSQL:
连接服务器:
docker exec -it axum_rs_postgres psql -U postgres
创建示例数据库:
CREATE DATABASE dvdrental;
\q
复制示例数据库到 docker 容器:
docker cp ~/Downloads/dvdrental.tar axum_rs_postgres:/root/dvdrental.tar
进入容器:
docker exec -it axum_rs_postgres bash
导入数据:
pg_restore -U postgres -d dvdrental /root/dvdrental.tar
退出容器:
你需要使用以下命令进入示例数据库:
# 直接由 docker exec 进入
docker exec -it axum_rs_postgres psql -U postgres -d dvdrental
# 在容器内进入
psql -U postgres -d dvdrental
示例数据库简介
示例数据库是一个模拟 DVD 租赁业务的数据库,它有:
- 15张表
- 1个触发器
- 7个视图
- 8个函数
- 1个域
- 13个序列
下面简要介绍15张表:
表名 | 说明 |
---|---|
actor | 存储演员数据,包括姓、名等 |
film | 存储电影数据,包括标题、发行年份、片长、评级等。 |
film_actor | 存储电影和演员之间的关系 |
category | 存储电影的分类 |
film_category | 存储电影和分类的关系 |
store | 存储门店数据,包括经理、地址等 |
inventory | 存储库存数据 |
rental | 存储租赁数据 |
payment | 存储客户的付款数据 |
staff | 存储员工数据 |
customer | 存储客户数据 |
address | 存储员工和客户地址 |
city | 存储城市 |
country | 存储国家/地区名称 |