Sakila 数据库
市面上最好的示例数据库之一是 Sakila 数据库,它最初由 MySQL 创建,并已根据 BSD 许可证 的条款开源。
Sakila 数据库是一个很好的规范化模式,用于模拟 DVD 租赁商店,其中包含电影、演员、电影-演员关系以及连接电影、商店和租赁的中央库存表。
该数据库允许执行如下的出色示例查询,例如查找拥有电影数量最多的演员(PostgreSQL 语法)
SELECT first_name, last_name, count(*) films FROM actor AS a JOIN film_actor AS fa USING (actor_id) GROUP BY actor_id, first_name, last_name ORDER BY films DESC LIMIT 1;
first_name last_name films -------------------------------- GINA DEGENERES 42
或者,让我们计算所有商店的累计收入(PostgreSQL 语法)
SELECT payment_date, amount, sum(amount) OVER (ORDER BY payment_date) FROM ( SELECT CAST(payment_date AS DATE) AS payment_date, SUM(amount) AS amount FROM payment GROUP BY CAST(payment_date AS DATE) ) p ORDER BY payment_date;
payment_date amount sum ------------------------------------- 2005-05-24 29.92 29.92 2005-05-25 573.63 603.55 2005-05-26 754.26 1357.81 2005-05-27 685.33 2043.14 2005-05-28 804.04 2847.18 2005-05-29 648.46 3495.64 2005-05-30 628.42 4124.06 2005-05-31 700.37 4824.43 2005-06-14 57.84 4882.27 2005-06-15 1376.52 6258.79 2005-06-16 1349.76 7608.55 2005-06-17 1332.75 8941.30 ...
想尝试 Sakila 数据库吗?我们在 GitHub 上托管了原始数据库的几个移植版本,包括以下版本的数据库:
- DB2
- MySQL
- Oracle
- PostgreSQL
- SQL Server
- SQLite