实验1:数据库设计.doc¥4.95元
附件大小: 820 KB, 下载次数:97,25积分约4.95元
实验2:MySQL关系型数据库操作.doc¥4.95元
附件大小: 1.37 MB, 下载次数:97,25积分约4.95元
实验3:HBase数据库操作.doc¥4.95元
附件大小: 6.16 MB, 下载次数:97,25积分约4.95元
实验4:MongoDB数据库操作.docx¥4.95元
附件大小: 235.97 KB, 下载次数:97,25积分约4.95元

实验1:数据库设计(20分)

实验1:数据库设计

1. 考核目的

考核学生对E-R图的基本概念的理解情况,考核学生能够根据业务需求描述抽象出E-R图并将其转换为关系型数据库逻辑模式的能力,并且能使用MySQL Workbench EER Diagram来绘制E-R图。

2. 考核内容

【实验1-1】针对以下在线考试系统需求信息,尽可能全面地给出各个实体的属性和实体之间的联系,画出纸质E-R图。

在线考试系统是关于授课教师安排自己的学生在线参加各种考试的应用,如阶段性考试、期中考试和期末考试等,系统的用户包括教师、学生两种角色。在线考试系统要求有用户的登录和登出,实现教师输入试题,从试题生成试卷,以及学生参加考试获取试卷,提交答案和给出考试成绩等主要逻辑,包括用户管理、试题管理、试卷管理和考试管理功能。

鉴于在线考试的客观条件限制,试题完全采用单项选择形式。试题由所属知识点、内容、分值、备选答案项和唯一正确答案等属性组成。课程的知识点是确定的,可以扩展,一道试题只能考察一个知识点。

教师录入各种试题构成题库,并根据考察的知识点不同生成试卷,相同知识点的试题只能在一张试卷中出现一次,试卷由试卷标题和一定数量(知识点的数量)的试题组成。试卷生成后,教师指定某次考试使用的试卷(唯一),学生参加考试使用统一的试卷(试卷可能被不同时间的考试重复使用),考试信息还包含考试标题、任教老师(唯一)、考试时间。

学生登录后,可以参加考试并在提交答案后立刻得到自己的考试成绩,也可以查看自己的考试历史记录。教师登录后可以查看学生的成绩。

【实验1-2】使用MySQL Workbench EER Diagram给出E-R图。

【实验1-3】使用MySQL Workbench EER Diagram将【实验1-2】给出的E-R图转化为MySQL数据库中生成表的脚本。

3. 考核要求

完成上述实验,实验报告要求包含E-R图、生成表脚本、表和视图的截图等,以Word或者PDF报告形式进行提交。

实验2:MySQL关系型数据库操作(20分)

实验2:MySQL关系型数据库操作

1. 考核目的

考核学生对关系型数据库支撑“网上商城”功能的理解,以及在MySQL中创建表、视图、索引,通过SELECT、INSERT、DELETE、UPDATE等语句进行关系数据库操作的能力。

2. 考核内容

【实验2-1】在MySQL中创建“网上商城”的四个数据库:用户数据库(mcuserdb)、商品数据库(mcproductdb)、订单数据库(mcorderdb)和管理数据库(mcadmindb),将数据库的字符集设为GBK。

【实验2-2】选择用户数据库(mcuserdb),创建用户信息表user_information(文字教材中表4-6)、用户收货地址表user_address(文字教材中表4-7)、用户购物车表order_cart(文字教材中表4-8),数据引擎选择InnoDB。

选择商品数据库(mcproductdb),创建商品信息表product_info(文字教材中表4-9)、商品分类信息表product_category(文字教材中表4-10),数据引擎选择InnoDB。

选择订单数据库(mcorderdb),创建订单主表order_master(文字教材中表4-11)、订单详细信息表order_detail(文字教材中表4-12),数据引擎选择InnoDB。

选择管理数据库(mcadmindb),创建管理员表user_admin(文字教材中表4-1)、权限表power(文字教材中表4-2)、管理-权限表admin_power(文字教材中表4-3)、首页模块表models(文字教材中表4-4)、模块内容表model_comment(文字教材中表4-5),数据引擎选择InnoDB。

【实验2-3】选择商品数据库(mcproductdb),在商品信息表product_info上按照商品名称创建索引。

【实验2-4】选择订单数据库(mcorderdb),创建如下视图:

CREATE VIEW View_Order_detail

(order_detail_id,product_id,order_id,product_price,product_cnt,t_price) AS

SELECT order_detail_id,product_id,order_id,product_price,product_cnt,product_price*product_cnt

FROM order_detail;

【实验2-5】使用SHOW、DESCRIBE语句查看所建的表和视图。

【实验2-6】使用SELECT语句查询创建好的视图View_Order_detail。

【实验2-7】使用单记录插入INSERT语句,分别向用户数据库(mcuserdb)、商品数据库(mcproductdb)、订单数据库(mcorderdb)和管理数据库(mcadmindb)的各个表中插入数据,并通过SELECT语句检查插入前后的记录情况。

【实验2-8】使用带SELECT的INSERT语句,完成商品信息表product_info中数据的批量添加,并通过SELECT语句检查插入前后的记录情况。

【实验2-9】使用DELETE语句,分别完成购物车表order_cart、商品信息表product_info、订单主表order_master、订单详细信息表order_detail的数据删除,删除条件自定,并通过SELECT语句检查删除前后的记录情况。

【实验2-10】使用UPDATE语句,分别完成用户信息表user_information、购物车表order_cart、商品信息表product_info、商品分类信息表product_category、订单主表order_master、订单详细信息表order_detail的数据修改,修改后数据值自定,修改条件自定,并通过SELECT语句检查修改前后的记录情况。

【实验2-11】使用SELECT语句[包含GROUP BY子句、ORDER BY子句和SUM()函数]查询每个注册用户的消费总金额(所有订单),结果按照消费总金额降序排列。

【实验2-12】使用SELECT语句[包含GROUP BY子句和COUNT()函数]查询“网上商城”每天的接单数。

【实验2-13】使用SELECT语句[包含GROUP BY子句和SUM()函数]查询“网上商城”每天的的销售额。

【实验2-14】使用SELECT语句[包含GROUP BY子句和AVG()函数]查询“网上商城”所有订单的平均销售金额。

【实验2-15】使用SELECT语句[包含MAX()函数]查询所有用户按字母排序中名字最靠前者。

【实验2-16】使用SELECT语句查询“网上商城”所有用户的地域分布情况,将查询结果导入Excel,然后以饼图形式呈现。

【实验2-17】使用JOIN运算查询所有订单的发出者名字。

【实验2-18】使用JOIN运算查询用户ID为1的用户的订单信息和收货人地址、收货人名字。

【实验2-19】使用JOIN运算查询今年新增用户的消费金额,将查询结果导入Excel中,然后以柱状图形式呈现。

【实验2-20】使用EXIST谓词查询商品类别表中是否存在类别ID为1的类别,如果存在,列出此类别中商品价格小于5的商品ID。

【实验2-21】使用UNION运算查询类别ID为1或者2的,而且价格小于5的商品信息。

3. 考核要求

三种操作方式任选一种即可(三种方式有:MySQL可视化工具Navicat for MySQL,MySQL Workbench,命令行方式),每执行一种操作后,均要求将操作过程以屏幕抓图的方式复制,形成实验文档,以Word或者PDF报告形式进行提交。

实验3:HBase数据库操作(20分)

实验3:HBase数据库操作

1. 考核目的

考核学生对HBase和Hive的模式架构理解,以及在HBase和Hive中创建表、使用HBase Shell命令、在Hive中使用SELECT语句的能力。

2. 考核内容

【实验3-1】在HBase中创建“网上商城”中的用户点击表,表名为clickTable,三个列簇分别命名为“users”“goods”“click”,表中列详见表6-7内容。

【实验3-2】在HBase中使用list命令查看创建的表。

【实验3-3】在HBase中使用exist命令查看clickTable表是否存在。

【实验3-4】在Hbase中使用describe命令查看表clickTable的描述。

【实验3-5】在Hbase中使用scan命令查看表clickTable中数据。

【实验3-6】在Hbase中使用put命令向clickTable表插入数据,并使用scan命令查看表clickTable中插入的数据。

【实验3-7】在Hbase中使用put命令修改clickTable表中某数据,并使用scan命令查看表clickTable中修改前后的数据。

【实验3-8】在Hbase中使用get命令查询clickTable表中某一列数据、某一列簇数据、某一行数据。

【实验3-9】在Hbase中使用count命令查询clickTable表中有多少行。

【实验3-10】在Hbase中使用delete命令删除clickTable表中的一列,并使用scan命令查看表clickTable中数据是否删除。

【实验3-11】在Hbase中使用deleteall命令删除clickTable表中的一行,并使用scan命令查看表clickTable中数据是否删除。

【实验3-12】在HBase中创建另外一张测试表test,使用describe命令查看表test的描述,使用alter命令删除测试表的某一列簇,再次使用describe命令查看表test的描述。

【实验3-13】在Hbase中使用put命令向test表插入数据,并使用scan命令查看表test中插入的数据,然后使用truncate命令清空test表,再次使用scan命令查看表test中的数据。

【实验3-14】在Hbase中使用drop命令将表test删除。

【实验3-15】在Hive中创建外部表hbase_click,并将HBase的clickTable表中数据映射到Hive的hbase_click表中。

【实验3-16】在Hive中,使用SELECT语句操作表hbase_click,统计某一用户在某时间范围内的点击量、平均日浏览时间、购买商品类偏好。

【实验3-17】在Hive中,使用SELECT语句操作表hbase_click,统计某一商品的点击量、成交量、成交率、平均浏览时间。

【实验3-18】在Hive中创建内部表in_click,并将HBase的clickTable表中数据导入Hive的in_click表中。

【实验3-19】在Hive中,使用SELECT语句操作表in_click,统计某一用户在某时间范围内的点击量、平均日浏览时间、购买商品类偏好,统计某一商品的点击量、成交量、成交率、平均浏览时间。

3. 考核要求

在HBase和Hive中,使用命令行方式,每执行一种操作后,均要求将操作过程以屏幕抓图的方式复制,形成实验文档。以Word或者PDF报告形式进行提交。

实验4:MongoDB数据库操作(20分)

实验4:MongoDB数据库操作

1. 考核目的

考核学生对MongoDB模式架构的理解,以及在MongoDB中创建库、聚集,进行文档增删改查,在Hive中访问MongoDB的能力。

2. 考核内容

【实验4-1】使用mongod命令启动数据库,并使用mongo连接数据库。

【实验4-2】在MongoDB中,使用show命令查看数据库状态、数据库中聚集、数据库用户等数据库常用信息。

【实验4-3】在MongoDB中,使用db.help()和db.foo.help()分别查看数据库和聚集的操作命令帮助信息。

【实验4-4】在MongoDB中,使用use命令创建数据库usercomment,使用db.stats()命令查看数据库描述。

【实验4-5】在MongoDB中,使用db.createCollection在数据库usercomment下,创建一个聚集col,col的数据项见表4-15。

【实验4-6】在MongoDB中,分别使用insertOne()和insertMany()向聚集col插入文档,使用show collections查看该聚集。

【实验4-7】在MongoDB中,使用db.col.update()修改上述聚集中的已有文档数据。

【实验4-8】在MongoDB中,使用db.col.remove()删除上述聚集中的文档数据。

【实验4-9】在MongoDB中,使用db.col.find()查询上述聚集中的数据,调用pretty()方法以格式化显示查询结果。

【实验4-10】在MongoDB中,使用db.col.find(),实现一个比较运算的条件查询,实现一个存在谓词的查询,并使用sort()方法对查询结果进行排序。

【实验4-11】在MongoDB中,使用db.col.find(),分别实现带limit和skip方法的条件查询。

【实验4-12】在MongoDB中,使用db.col.aggregate(),实现一个聚合查询。

【实验4-13】在MongoDB中,练习索引操作命令,创建索引、读取索引、删除索引等。

【实验4-14】在Hive中创建一外部表mg_comment,将前面存储在MongoDB中的聚集col映射到Hive表mg_comment中。

【实验4-15】在Hive中,使用SELECT语句,查询外部表mg_comment中数据。

【实验4-16】在Hive中,基于外部表mg_comment,统计用户评论总数、好评数、差评数。

3. 考核要求

在MongoDB和Hive中,使用命令行方式,每执行一种操作后,均要求将操作过程以屏幕抓图的方式复制,形成实验文档,以Word或者PDF报告形式进行提交。