MogDB 使用样本数据集Mogila
MogDB 使用样本数据集 Mogila
MogDB 提供了一个样本数据集 Mogila,本数据集借鉴了适用于 MySQL 的Sakila 示例数据库。Sakila最初由 MySQL AB 文档团队的 Mike Hillyer 开发,其目的是提供一个可用于书籍、教程、文章、样本等示例的标准 schema。
Mogila 数据集是一个关于 DVD 出租店信息的数据库,包含有关电影(如标题、类别、女演员)、出租店(如地址、工作人员、客户)和出租的信息。您可以使用 Mogila 数据库进行各种功能测试。
Mogila 适用于 MogDB 2.1 及更高版本。
实体-关系模型图
下图展示了 Mogila 数据库表和视图的概览。您可以查看不同表之间如何通过各个字段相互关联。例如,film表具有title和description列。它还通过列language_id和original_language_id与language表相关联。因此您可以联结这两个表来获取每部电影的语言,或者列出特定语言的所有电影。
在 MogDB 容器版中使用 Mogila
MogDB 容器版本已经内置了 Mogila 样本数据库,无需额外安装。
安装 MogDB 容器版。
使用样本数据库 Mogila:
docker exec -it mogdb bash
omm@eb7aef3f860f:~$ gsql -d mogila -p5432
gsql ((MogDB x.x.x build 56189e20) compiled at 2022-01-07 18:47:53 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
mogila=# \dt
List of relations
Schema | Name | Type | Owner | Storage
--------+---------------+-------+-------+----------------------------------
public | actor | table | mogdb | {orientation=row,compression=no}
public | address | table | mogdb | {orientation=row,compression=no}
public | category | table | mogdb | {orientation=row,compression=no}
public | city | table | mogdb | {orientation=row,compression=no}
public | country | table | mogdb | {orientation=row,compression=no}
public | customer | table | mogdb | {orientation=row,compression=no}
public | film | table | mogdb | {orientation=row,compression=no}
public | film_actor | table | mogdb | {orientation=row,compression=no}
public | film_category | table | mogdb | {orientation=row,compression=no}
public | inventory | table | mogdb | {orientation=row,compression=no}
public | language | table | mogdb | {orientation=row,compression=no}
public | payment | table | mogdb | {orientation=row,compression=no}
public | rental | table | mogdb | {orientation=row,compression=no}
public | staff | table | mogdb | {orientation=row,compression=no}
public | store | table | mogdb | {orientation=row,compression=no}
(15 rows)
mogila=#
在 MogDB 企业版中使用 Mogila
安装 MogDB 企业版。
创建样本数据库 mogila 及 mogdb 用户,然后登出:
切换到omm用户
[root@test ~]# su - omm
登录postgres数据库,根据实际情况填写端口号
[omm@test ~]$ gsql -d postgres -p5432 -r
gsql ((MogDB x.x.x build 56189e20) compiled at 2022-01-07 18:47:53 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
MogDB=#create database mogila DBCOMPATIBILITY='PG';
CREATE DATABASE
MogDB=#create user mogdb password '*@';
CREATE ROLE
MogDB=#\q
[omm@test ~]$
下载 mogila,并上传至服务器中,进入 mogila 所在目录。
创建模式对象,然后手动插入数据:
4.1 创建所有模式对象(表等):
gsql -d mogila -p5432 -f mogila-schema.sql
4.2 插入所有数据:
gsql -d mogila -p5432 -f mogila-data.sql
复制
或者通过 1 个脚本创建模式对象并插入数据,如果您已经完成步骤 4.1 和 4.2,则无需执行步骤 5。
创建所有模式对象(表等)并插入所有数据:
gsql -d mogila -p5432 -f mogila-insert-data.sql
使用样本数据库 Mogila:
[omm@test ~]$ gsql -d mogila -p5432 -r
gsql ((MogDB x.x.x build 56189e20) compiled at 2022-01-07 18:47:53 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
mogila=# \dt
List of relations
Schema | Name | Type | Owner | Storage
--------+---------------+-------+-------+----------------------------------
public | actor | table | mogdb | {orientation=row,compression=no}
public | address | table | mogdb | {orientation=row,compression=no}
public | category | table | mogdb | {orientation=row,compression=no}
public | city | table | mogdb | {orientation=row,compression=no}
public | country | table | mogdb | {orientation=row,compression=no}
public | customer | table | mogdb | {orientation=row,compression=no}
public | film | table | mogdb | {orientation=row,compression=no}
public | film_actor | table | mogdb | {orientation=row,compression=no}
public | film_category | table | mogdb | {orientation=row,compression=no}
public | inventory | table | mogdb | {orientation=row,compression=no}
public | language | table | mogdb | {orientation=row,compression=no}
public | payment | table | mogdb | {orientation=row,compression=no}
public | rental | table | mogdb | {orientation=row,compression=no}
public | staff | table | mogdb | {orientation=row,compression=no}
public | store | table | mogdb | {orientation=row,compression=no}
(15 rows)
mogila=#
示例查询
本节通过一些查询来展示如何使用样本数据库 Mogila。所有查询结果仅展示前 10 项。
按长度排序列出所有电影
select film_id, title, length from film order by length desc;
film_id | title | length |
---|---|---|
426 | HOME PITY | 185 |
690 | POND SEATTLE | 185 |
609 | MUSCLE BRIGHT | 185 |
991 | WORST BANGER | 185 |
182 | CONTROL ANTHEM | 185 |
141 | CHICAGO NORTH | 185 |
349 | GANGS PRIDE | 185 |
212 | DARN FORRESTER | 185 |
817 | SOLDIERS EVOLUTION | 185 |
872 | SWEET BROTHERHOOD | 185 |
列出每个电影类别中有多少部电影 |
select category.name, count(category.name) category_count from category left join film_category on category.category_id = film_category.category_id left join film on film_category.film_id = film.film_id group by category.name order by category_count desc;
name | category_count |
---|---|
Sports | 74 |
Foreign | 73 |
Family | 69 |
Documentary | 68 |
Animation | 66 |
Action | 64 |
New | 63 |
Drama | 62 |
Sci-Fi | 61 |
Games | 61 |
显示按出演电影的数量排序的演员 |
select actor.first_name, actor.last_name, count(actor.first_name) featured_count from actor left join film_actor on actor.actor_id = film_actor.actor_id group by actor.first_name, actor.last_name order by featured_count desc;
first_name | last_name | featured_count |
---|---|---|
SUSAN | DAVIS | 54 |
GINA | DEGENERES | 42 |
WALTER | TORN | 41 |
MARY | KEITEL | 40 |
MATTHEW | CARREY | 39 |
SANDRA | KILMER | 37 |
SCARLETT | DAMON | 36 |
VIVIEN | BASINGER | 35 |
VAL | BOLGER | 35 |
GROUCHO | DUNST | 35 |
获取所有活跃客户的列表,按其姓名排序 |
select first_name, last_name from customer where active = 1 order by first_name asc;
first_name | last_name |
---|---|
MARY | SMITH |
PATRICIA | JOHNSON |
LINDA | WILLIAMS |
BARBARA | JONES |
ELIZABETH | BROWN |
JENNIFER | DAVIS |
MARIA | MILLER |
SUSAN | WILSON |
MARGARET | MOORE |
DOROTHY | TAYLOR |
查看租 DVD 数量最多的客户,以及租借次数 |
select customer.first_name, customer.last_name, count(customer.first_name) rentals_count from customer left join rental on customer.customer_id = rental.customer_id group by customer.first_name, customer.last_name order by rentals_count desc;
first_name | last_name | rentals_count |
---|---|---|
ELEANOR | HUNT | 46 |
KARL | SEAL | 45 |
CLARA | SHAW | 42 |
MARCIA | DEAN | 42 |
TAMMY | SANDERS | 41 |
WESLEY | BULL | 40 |
SUE | PETERS | 40 |
MARION | SNYDER | 39 |
RHONDA | KENNEDY | 39 |
TIM | CARY | 39 |
查看每个出租店的总收入 |
select store.store_id, sum(payment.amount) as "total revenue" from store left join inventory on inventory.store_id = store.store_id left join rental on rental.inventory_id = inventory.inventory_id left join payment on payment.rental_id = rental.rental_id where payment.amount is not null group by store.store_id order by sum(payment.amount) desc;
store_id | total revenue |
---|---|
2 | 33726.77 |
1 | 33689.74 |
按总收入列出前 5 个电影类型 |
select category.name, film.title, sum(payment.amount) as "gross revenue" from film left join film_category on film_category.film_id = film.film_id left join category on film_category.category_id = category.category_id left join inventory on inventory.film_id = film.film_id left join rental on rental.inventory_id = inventory.inventory_id left join payment on payment.rental_id = rental.rental_id where payment.amount is not null group by category.name, film.title order by sum(payment.amount) desc limit 5;
name | title | gross revenue |
---|---|---|
Music | TELEGRAPH VOYAGE | 231.73 |
Documentary | WIFE TURN | 223.69 |
Comedy | ZORRO ARK | 214.69 |
Sci-Fi | GOODFELLAS SALUTE | 209.69 |
Sports | SATURDAY LAMBS | 204.72 |
film.description 的数据类型为 text ,支持全文搜索查询,搜索所有包含documentary和robot的描述 |
select film.title, film.description from film where to_tsvector(film.description) @@ to_tsquery('documentary & robot');
title | description |
---|---|
CASPER DRAGONFLY | A Intrepid Documentary of a Boat And a Crocodile who must Chase a Robot in The Sahara Desert |
CHAINSAW UPTOWN | A Beautiful Documentary of a Boy And a Robot who must Discover a Squirrel in Australia |
CONTROL ANTHEM | A Fateful Documentary of a Robot And a Student who must Battle a Cat in A Monastery |
CROSSING DIVORCE | A Beautiful Documentary of a Dog And a Robot who must Redeem a Womanizer in Berlin |
KANE EXORCIST | A Epic Documentary of a Composer And a Robot who must Overcome a Car in Berlin |
RUNNER MADIGAN | A Thoughtful Documentary of a Crocodile And a Robot who must Outrace a Womanizer in The Outback |
SOUTH WAIT | A Amazing Documentary of a Car And a Robot who must Escape a Lumberjack in An Abandoned Amusement Park |
SWEDEN SHINING | A Taut Documentary of a Car And a Robot who must Conquer a Boy in The Canadian Rockies |
VIRGIN DAISY | A Awe-Inspiring Documentary of a Robot And a Mad Scientist who must Reach a Database Administrator in A Shark Tank |
复制
清理
如需清理环境并删除样本数据库,请运行以下命令:
\c postgres;
DROP DATABASE mogila;
MogDB 使用样本数据集Mogila的更多相关文章
- Android恶意样本数据集汇总
硕士论文的研究方向为Android恶意应用分类,因此花了一点时间去搜集Android恶意样本.其中一部分来自过去论文的公开数据集,一部分来自社区或平台的样本.现做一个汇总,标明了样本或数据集的采集时间 ...
- 使用CIFAR-10样本数据集测试卷积神经网络(ConvolutionalNeuralNetwork,CNN)
第一次将例程跑起来了,有些兴趣. 参考的是如下URL: http://www.yidianzixun.com/article/0KNz7OX1 本来是比较Keras和Tensorflow的,我现在的水 ...
- 机器学习数据集,主数据集不能通过,人脸数据集介绍,从r包中获取数据集,中国河流数据集
机器学习数据集,主数据集不能通过,人脸数据集介绍,从r包中获取数据集,中国河流数据集 选自Microsoft www.tz365.Cn 作者:Lee Scott 机器之心编译 参与:李亚洲.吴攀. ...
- Recorder︱深度学习小数据集表现、优化(Active Learning)、标注集网络获取
一.深度学习在小数据集的表现 深度学习在小数据集情况下获得好效果,可以从两个角度去解决: 1.降低偏差,图像平移等操作 2.降低方差,dropout.随机梯度下降 先来看看深度学习在小数据集上表现的具 ...
- 怎么用Q-Q图验证数据集的分布
样本数据集在构建机器学习模型的过程中具有重要的作用,样本数据集包括训练集.验证集.测试集,其中训练集和验证集的作用是对学习模型进行参数择优,测试集是测试该模型的泛化能力. 正负样本数据集符合独立同分布 ...
- 机器学习经典分类算法 —— k-近邻算法(附python实现代码及数据集)
目录 工作原理 python实现 算法实战 约会对象好感度预测 故事背景 准备数据:从文本文件中解析数据 分析数据:使用Matplotlib创建散点图 准备数据:归一化数值 测试算法:作为完整程序验证 ...
- Python数模笔记-Sklearn(2)样本聚类分析
1.分类的分类 分类的分类?没错,分类也有不同的种类,而且在数学建模.机器学习领域常常被混淆. 首先我们谈谈有监督学习(Supervised learning)和无监督学习(Unsupervised ...
- [Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-02-加载数据:加载数据集
<Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...
- 机器学习——k-近邻算法
k-近邻算法(kNN)采用测量不同特征值之间的距离方法进行分类. 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 使用数据范围:数值型和标称型 工作原理:存在一个样本数 ...
- 机器学习实战笔记(Python实现)-01-K近邻算法(KNN)
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
随机推荐
- 【Azure 应用服务】更新镜像后并重启应用服务,部署日志始终没有出现加载新镜像成功的日志
问题描述 在App Service中部署镜像文件,发现镜像一直没有部署,重启App Service服务也无效果. DockerFile如下: FROM crunchgeek/php-fpm:7.0 # ...
- 冲击900亿美元估值!邀约路演、秘密交表的Shein上市有望
双十一的狂欢刚刚结束,Shein即将赴美上市的消息又在电商圈里投下一枚重磅炸弹. 继被媒体曝光其寻求900亿美金估值后,最新的消息称其已邀请投资人参与路演,且已秘密完成交表.这个神秘的中国独角兽,离敲 ...
- 4、zookeeper的事件监听机制
watcher概念 https://zookeeper.apache.org/doc/r3.4.14/zookeeperProgrammers.html#sc_WatchRememberThese z ...
- nginx-authenticate.conf Nginx配置 新增长链接支持代理
nginx-authenticate.conf Nginx配置 新增长链接支持代理 新增代码 proxy_set_header Connection ""; proxy_http_ ...
- 如何让AR物体更真实?
在增强现实中,除了虚拟物体本身的模型材质等因素,影响物体真实性的主要是光照.反射.阴影.接下来3DCAT实时渲染云平台将带您从这三个方面探索如何让AR物体更真实! AR光估测 要让一个虚拟物体很好的融 ...
- 三维模型OBJ格式轻量化的数据压缩与性能平衡分析
三维模型OBJ格式轻量化的数据压缩与性能平衡分析 三维模型的OBJ格式轻量化数据压缩在保持性能的同时,可以减小文件大小.提高加载速度和节省存储空间.然而,在进行数据压缩时,需要权衡压缩比率和模型质量之 ...
- WPF状态保存
由于WPF做客户端的时候,它不像BS那样有Session,Cookie给你使用,所以保存状态你首先想到的就是数据库了. 但是你不可能什么都放在数据库,为此还专门为它建立一张表. 而WPF中能用到的除了 ...
- 记录--怎么实现一个3d翻书效果
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本篇主要讨论以下两种翻书动画的实现: 第一种是整页翻转的效果: 这种整页翻转的效果主要是做rotateY的动画,并结合一些CSS的3d属性 ...
- TP6框架--EasyAdmin学习笔记:实现数据库增删查改
这是我写的学习EasyAdmin的第三章,这一章我给大家分享下如何进行数据库的增删查改 上一章链接:点击这里前往 上一章我们说到,我仿照官方案例,定义了一条路由goodsone和创建了对应数据库,我们 ...
- top 命令解释
PID:进程ID USER:运行改进程的用户 PR:进程的优先级 NI:Nice值,进程的优先级修正值,负值表示高优先级,正值表示低优先级 VIRT:虚拟内存,进程使用的虚拟内存总量 RES:物理内存 ...