数据库课程大作业——数据分析与数据管理系统实践
数据分析与数据管理系统实践
一、数据介绍
约 1400 行信用卡刷记录,内容包括:员工姓名、地点称金额时间
二、大作业要求
1、根据自己所学数据库操作和管理知识,创建一个数据库,把两个Excel表导入这个数据库,并对应建立两个表;对两个表创建主键、外键、索引,还可以自己增加一些列,或者做一些视图;
2、综合运用自己所学的查询语句和SQL开发技巧对数据进行统计分析,并要求回答如下问题;
问题一:员工的消费有一些什么有趣的模式和规律,请写出你分析的SQL语句,并截取分析结果,说明你是如何找到的这些模式和规律的;(不少于5个模式)
问题二:员工的消费有什么异常现象,你是如何找到这个异常的,请写出你得到分析的SQL语句,并截取分析结果。(不少于3个异常)
系统基本功能2:提供输入框接受用户手动输入SQL查询语句,能输出用户任意输入的SQL查询语句的查询结果。
系统基本功能3:能够按人、按消费地点、按天这三种组合,设计并输出几个统计报表。
三、实验过程及结果
1、创建“大数据作业”数据库后,右键点击该数据库,选择【任务】—>【导入数据】,如右图所示:
2、选择导入的数据源,下一步,选择导入的数据库目标,如下图所示:
3、在指定表复制或查询中应该可以选择【编写查询已指定要传输的数据】对数据进行清洗,尝试着写SQL语句过滤到脏数据,但没有成功,所以就选择直接先全将数据导入到数据库,再对数据进行过滤。
4、通过对数据的查询,我们可以发现creditcard表中存在一些类似“Katerina抯 Caf?28”的奇字符,下面在数据库里对表中数据进行清洗。
将employee表中FirstName和LastName合并,创建newemployee表
select FirstName+' '+LastName as name,CurrentEmploymentType,CurrentEmploymentTitleinto newemployeefrom employee
将creditcard表中FirstName和LastName合并,创建newcreditcard表
select FirstName+' '+LastName as name,timestamp,location,priceinto newcreditcardfrom creditcard
通过对两张表的name查询,可以发现newemployee表共44名员工,newcreditcard表去掉为NULL共55人
select distinct namefrom newemployeeselect distinct namefrom newcreditcard
在这里我们对存在newemployee表中的44名员工进行对他们的消费记录的查询,可以发现creditcard表中错误不会影响,当然也可以尝试清洗一下数据
select *into newcreditcard1from newcreditcardwhere name in (select namefrom newemployee)
select *into newcreditcardfrom credtcardwhere location not like '%[0-9]%'and FirstName is not NULL and LastName is not NULL
① 查询每个人两周内的消费总金额和职业,可以发现卡车司机职业的消费金额比其他人都高,Valeria Morlun消费最多。
② 查询所有消费地点的消费人次,可以发现Hippokampos、Guy's Gyros、Brew've Been Served普遍比其他地方消费次数高,比较受欢迎。
③ 查询每个人到某个地点的消费次数,可以发现大部分人两周内基本每天都去某个地方消费一次。
④ 查询每天所有人的消费次数总和,可以发现6号至10号五天和13号至17号五天,消费次数比11、12号和18、19号要多,可以猜想工作日出门次数比周末次数多,消费次数多。
① Adan Morlun和Claudio Nant两人消费次数都比较少且平均消费金额比较大,最大单笔消费也比较多。
select FirstName,LastName,COUNT(*)as '消费次数',SUM(price)as '总金额',AVG(price)as '平均消费金额',MAX(price)as '单笔最大消费'from newcredtcardgroup by FirstName,LastName order by AVG(price)desc
② 13号的凌晨【00:00:00-03:00:00】和12、13号【03:00:00-06:00:00】有消费记录
③ Maximum Iron and Steel、Abila Scrapyard这几个地点,消费次数少,且金额大,平均金额也很大。
select location,COUNT(*)as '消费次数',SUM(price)as '总金额',AVG(price)as '平均消费金额',MAX(price)as '单笔最大消费'from newcreditcardgroup by locationorder by AVG(price)desc
开发环境:Windows XP(在虚拟机上完成的,SQL Server Management Studio也在XP里,因为我的主机Win10安装不成功)
Ucreadtcard.pas:对creditcard表(这里命名错了)的增删改操作的主程序;
Uemployee.pas:对employee表的增删改操作的主程序;
Ugroup.pas:对creditcard表分组查询操作(按人、地点、天)的主程序;
Employee表的窗口界面,一张表控件和数据库导航控件,导航控件可以对数据库进行增删改操作,creditcard表一样。
ADOConnection连接数据库,ADOQuery查询数据库,DataSource查询后的数据源
SQL查询界面,Memo接收SQL语句,查询按钮触发事件进行查询,表输出结果。
给ComboBox设置选项,即查询列下的所有数据对象,代码如下图:
点击employee表,进行对该表的增删改,增是“+”,删是“-”,改直接在表中改,然后点击“√”
增加数据的效果,SQL Sever数据库中增加了这么一行,如下图:
点击统计按钮,进行分组查询,从下拉框中选出查询的对象,点击查询就可以进行条件查询。
四、总结
数据库课程大作业——数据分析与数据管理系统实践相关推荐
- 西工大数据库实验大作业 火锅店菜品管理系统
西工大数据库实验大作业 火锅店菜品管理系统 文章目录 西工大数据库实验大作业 火锅店菜品管理系统 前言: 一.大作业简单的需求分析: 二.数据流图: 三.数据字典: 四.E-R图: 五.关系模式设计: ...
- MYSQL:餐厅点菜、管理员工的数据库。大学数据库课程大作业(初学者,入门,用的基础知识)
mysql数据库:点餐系统和管理员工的数据库 大二做的数据库课程大作业,作者是初学者,分享给大家参考,内容参考了很多篇数据库文章才拼凑出来,所以本数据库很粗糙,很简单,需要的同学复制粘贴然后自行修改交 ...
- 数据库课程大作业:课程管理系统——java实现、图形化,我写了MySQL和SQL两个版本
演示视频 项目源码.文档.数据库脚本下载地址:https://github.com/Chaim16/CurseManager.git 一.描述 1. 数据库"学生管理"中&qu ...
- SQL Server【数据库-系统设计-大作业】【教学管理系统】【完整代码】
SQL Server 2012(软件名称)--教学管理系统的后台数据库设计(实验名称) 实验报告展示 目 录 1.课本[P281-P287] 2.SQL语句[建立数据表(6个表).插入数据] 2. ...
- 【大学生课程】《Python数据分析》课程大作业要求
<Python数据分析>课程大作业要求 大作业要求 评分标准 考核目标 数据分析基本步骤 实际操作 一.掌握Pandas的读写操作 读写数据操作: 读取文本文件 正确使用预处理技术过滤数据 ...
- 《数据库系统原理》课程大作业——音响店VCD零售/出租管理系统(SQL Server)
<数据库系统原理>课程大作业 课题名称:音响店VCD零售/出租管理系统 温馨提示:本文主要为了应付结课检查,仍有很多尚未完善的内容,不规范的画图之类的,忘读者谨慎食用
- python面向对象课程大作业 定义一个描述学生基本情况的类,数据成员至少包括 “姓名、性别、学号、年级、所在院系、面向对象的考试日期”
python面向对象课程大作业 按下列要求编写一个完整的程序: 定义一个描述学生基本情况的类,数据成员至少包括"姓名.性别.学号.年级.所在院系.面向对象的考试日期",成员函数至少 ...
- 好家伙!清华电子系大一暑假Python课程大作业上知乎热榜!竟是个CV任务
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 编辑:Amusi | 来源:知乎 https://www.zhihu.com/question/4719 ...
- 大工2021秋《软件工程》课程大作业
答案点击主页+v 网络教育学院 <软件工程>课 程 大 作 业 题 目: 姓 名: 报名编号: 学习中心: 层 次: 专 业: 第一大题:谈谈你对本课程学习过程中的心得体会. 第二大题:完 ...
- 浙江万里学院期末计算机网络,(浙江万里学院云计算基础课程大作业封面.doc
(浙江万里学院云计算基础课程大作业封面 浙江万里学院云计算基础课程论文封面 教师填写: 得分 任课教师签名 年 月 日 学生填写: 姓名 学号 所在学院计算机与信息学院专业信息工程课程名称云计算基础? ...
最新文章
- python并发编程之多线程理论部分
- 比尔盖茨跌落第二!世界首富换人了
- 原:开辟内存时,可以以结构体为单位,这样测试,是对的吧?
- matlab符号函数绘图法_转载:MATLAB 符号函数作图
- 80040e14 mysql_【ASP】提示错误80040e14
- app账号退不出去_最新!多交的税可以退,同学,你今天退税了吗?
- (王道408考研操作系统)第二章进程管理-第三节5:用信号量实现进程互斥、同步和前驱关系
- 华为P30系列再曝光:屏幕参数揭晓 还要用水滴全面屏?
- Python中的split()和rsplit()的使用
- 鸿蒙2.0手机交互体验,鸿蒙 2.0手机应用开发者Beta,来了!全新交互体验
- Rust : 性能测试criterion库
- 如何批量打印Excel文件
- handler机制详解
- 来杭州云栖大会,全面了解企业如何实现云上IT治理
- cmd进阶学习笔记(原创进阶)
- 2022-03-03 北京 计算机知识。字符编码,ppt
- 纯前端语言编写音乐播放器
- 设置esxi主机时间
- 轻轻揭开 b*tree 索引结构的神秘面纱
- php输入银行卡判断所属银行,PHP实现根据银行卡号判断银行,php银行卡判断银行_PHP教程...