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的更多相关文章

  1. Android恶意样本数据集汇总

    硕士论文的研究方向为Android恶意应用分类,因此花了一点时间去搜集Android恶意样本.其中一部分来自过去论文的公开数据集,一部分来自社区或平台的样本.现做一个汇总,标明了样本或数据集的采集时间 ...

  2. 使用CIFAR-10样本数据集测试卷积神经网络(ConvolutionalNeuralNetwork,CNN)

    第一次将例程跑起来了,有些兴趣. 参考的是如下URL: http://www.yidianzixun.com/article/0KNz7OX1 本来是比较Keras和Tensorflow的,我现在的水 ...

  3. 机器学习数据集,主数据集不能通过,人脸数据集介绍,从r包中获取数据集,中国河流数据集

    机器学习数据集,主数据集不能通过,人脸数据集介绍,从r包中获取数据集,中国河流数据集   选自Microsoft www.tz365.Cn 作者:Lee Scott 机器之心编译 参与:李亚洲.吴攀. ...

  4. Recorder︱深度学习小数据集表现、优化(Active Learning)、标注集网络获取

    一.深度学习在小数据集的表现 深度学习在小数据集情况下获得好效果,可以从两个角度去解决: 1.降低偏差,图像平移等操作 2.降低方差,dropout.随机梯度下降 先来看看深度学习在小数据集上表现的具 ...

  5. 怎么用Q-Q图验证数据集的分布

    样本数据集在构建机器学习模型的过程中具有重要的作用,样本数据集包括训练集.验证集.测试集,其中训练集和验证集的作用是对学习模型进行参数择优,测试集是测试该模型的泛化能力. 正负样本数据集符合独立同分布 ...

  6. 机器学习经典分类算法 —— k-近邻算法(附python实现代码及数据集)

    目录 工作原理 python实现 算法实战 约会对象好感度预测 故事背景 准备数据:从文本文件中解析数据 分析数据:使用Matplotlib创建散点图 准备数据:归一化数值 测试算法:作为完整程序验证 ...

  7. Python数模笔记-Sklearn(2)样本聚类分析

    1.分类的分类 分类的分类?没错,分类也有不同的种类,而且在数学建模.机器学习领域常常被混淆. 首先我们谈谈有监督学习(Supervised learning)和无监督学习(Unsupervised ...

  8. [Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-02-加载数据:加载数据集

    <Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...

  9. 机器学习——k-近邻算法

    k-近邻算法(kNN)采用测量不同特征值之间的距离方法进行分类. 优点:精度高.对异常值不敏感.无数据输入假定 缺点:计算复杂度高.空间复杂度高 使用数据范围:数值型和标称型 工作原理:存在一个样本数 ...

  10. 机器学习实战笔记(Python实现)-01-K近邻算法(KNN)

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

随机推荐

  1. 【Azure 应用服务】更新镜像后并重启应用服务,部署日志始终没有出现加载新镜像成功的日志

    问题描述 在App Service中部署镜像文件,发现镜像一直没有部署,重启App Service服务也无效果. DockerFile如下: FROM crunchgeek/php-fpm:7.0 # ...

  2. 冲击900亿美元估值!邀约路演、秘密交表的Shein上市有望

    双十一的狂欢刚刚结束,Shein即将赴美上市的消息又在电商圈里投下一枚重磅炸弹. 继被媒体曝光其寻求900亿美金估值后,最新的消息称其已邀请投资人参与路演,且已秘密完成交表.这个神秘的中国独角兽,离敲 ...

  3. 4、zookeeper的事件监听机制

    watcher概念 https://zookeeper.apache.org/doc/r3.4.14/zookeeperProgrammers.html#sc_WatchRememberThese z ...

  4. nginx-authenticate.conf Nginx配置 新增长链接支持代理

    nginx-authenticate.conf Nginx配置 新增长链接支持代理 新增代码 proxy_set_header Connection ""; proxy_http_ ...

  5. 如何让AR物体更真实?

    在增强现实中,除了虚拟物体本身的模型材质等因素,影响物体真实性的主要是光照.反射.阴影.接下来3DCAT实时渲染云平台将带您从这三个方面探索如何让AR物体更真实! AR光估测 要让一个虚拟物体很好的融 ...

  6. 三维模型OBJ格式轻量化的数据压缩与性能平衡分析

    三维模型OBJ格式轻量化的数据压缩与性能平衡分析 三维模型的OBJ格式轻量化数据压缩在保持性能的同时,可以减小文件大小.提高加载速度和节省存储空间.然而,在进行数据压缩时,需要权衡压缩比率和模型质量之 ...

  7. WPF状态保存

    由于WPF做客户端的时候,它不像BS那样有Session,Cookie给你使用,所以保存状态你首先想到的就是数据库了. 但是你不可能什么都放在数据库,为此还专门为它建立一张表. 而WPF中能用到的除了 ...

  8. 记录--怎么实现一个3d翻书效果

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本篇主要讨论以下两种翻书动画的实现: 第一种是整页翻转的效果: 这种整页翻转的效果主要是做rotateY的动画,并结合一些CSS的3d属性 ...

  9. TP6框架--EasyAdmin学习笔记:实现数据库增删查改

    这是我写的学习EasyAdmin的第三章,这一章我给大家分享下如何进行数据库的增删查改 上一章链接:点击这里前往 上一章我们说到,我仿照官方案例,定义了一条路由goodsone和创建了对应数据库,我们 ...

  10. top 命令解释

    PID:进程ID USER:运行改进程的用户 PR:进程的优先级 NI:Nice值,进程的优先级修正值,负值表示高优先级,正值表示低优先级 VIRT:虚拟内存,进程使用的虚拟内存总量 RES:物理内存 ...