数据库实验三范文

2022-05-31

第一篇:数据库实验三范文

数据挖掘实验三

实验三 设计并构造AdventureWorks数据仓库实例

【实验要求】

在SQL Server 平台上,利用AdventureWorks数据库作为商业智能解决方案的数据源,设计并构造数据仓库,建立OLAP和数据挖掘模型,并以输出报表的形式满足决策支持的查询需求。 【实验内容】

步骤1:需求分析:以决策者的视角分析和设计数据仓库的需求; 步骤2:根据所设计的需求,确定本数据仓库的主题和主题与边界; 步骤3:设计并构造逻辑模型;

步骤4:进行数据转换和抽取,建立数据仓库:创建数据源,,建立OLAP和挖掘模型,使用多维数据集进行分析,建立数据挖掘结构和数据挖掘模型,创建报表。 【实验平台】

Win7操作系统,SQL Server 2005 【实验过程】

一、创建 Analysis Services 项目

1. 打开 Business Intelligence Development Studio。

2. 在“文件”菜单上,指向“新建”,然后选择“项目”。

3. 确保已选中“模板”窗格中的“Analysis Services 项目”。

4. 在“名称”框中,将新项目命名为 AdventureWorks。

5. 单击“确定”。

二、创建数据库和数据源

1. 运行AdventureWorks sql server 2005示例数据库.msi,然后用SQL Server Management Studio 附加数据库AdventureWorks_Data.mdf 。

(1)运行AdventureWorks sql server 2005示例数据库.msi

(2)用SQL Server Management Studio附加数据库AdventureWorks_Data.mdf

2. 在解决方案资源管理器中,右键单击“数据源”文件夹,然后选择“新建数据源”。 3. 在“欢迎使用数据源向导”页面中,单击“下一步”按钮。

4. 在“选择如何定义连接”页上,单击“新建”向 Adventure Works 数据库中添加连接。 5. 在“连接管理器”的“提供程序”列表中,选择“本机 OLE DBSQL Native Client”。 6. 在“服务器名称”列表中,键入或选择承载 AdventureWorks 的服务器的名称。 7. 在“登录到服务器”组中,选择身份验证方法,并输入凭据。

8. 在“选择或输入一个数据库名”列表中,选择 AdventureWorks,然后测试连接。若连接成功,再单击“确定”按钮。

9. 单击“下一步”按钮进入向导的下一页。

10. 在“模拟信息”页中,选择“使用服务帐户”,再单击“下一步”。 11. 请注意,在“完成向导”页中,数据源名称默认为 Adventure Works。

12. 单击“完成”。

新的数据源 Adventure Works 将显示在解决方案资源管理器的“数据源”文件夹中。

三、创建数据源视图

1. 在解决方案资源管理器中,右键单击“数据源视图”,选择“新建数据源视图”。 系统将打开数据源视图向导。

2. 在“欢迎使用数据源视图向导”页上,单击“下一步”。 3. 在“选择数据源”页的“关系数据源”下,系统将默认选中您在上一个任务中创建的 Adventure Works DW 数据源。 单击“下一步”。 若要创建新数据源,请单击“新建数据源”,启动数据源向导。

4. 在“选择表和视图”页上,选择下列各表,然后单击右箭头键,将这些表包括在新数据源视图中:

5. 单击“下一步”。

6. 在“完成向导”页上,默认情况下,系统将数据源视图命名为 Adventure Works 。 单击“完成”。

系统将打开数据源视图设计器,显示 Adventure Works 数据源视图。

四、定义维度

1. 在解决方案资源管理器中,右键单击“维度”,然后单击“新建维度”。

2. 在“欢迎使用维度向导”页上,单击“下一步”。

3. 在“选择生成方法”页上,验证是否选择了“使用数据源生成维度”选项,然后单击“下一步”。

4. 在“选择数据源视图”页上,验证是否选择了 Adventure Works 数据源视图。

5. 在“选择维度类型”列表中,选择“标准维度”。

6. 在“选择主维度表”中,点击“下一步”。

7. 在“选择维度属性”中,点击“下一步”。

8. 在“指定维度类型”中,点击“下一步”。 9. 在“定义父子关系”中,点击“下一步”。

10.“检测层次结构”中,点击“下一步”。

11.点击“下一步”,然后点击“完成”。

五、使用多维数据集进行分析

1. 在解决方案资源管理器中,右键单击“多维数据集”并选择“新建多维数据集”启动多维数据集向导。

2. 在“欢迎使用多维数据集向导”页上,单击“下一步”。 3. 在“选择生成方法”页上,确认已选中“使用数据源生成多维数据集”选项,然后单击“下一步”。

4. 在“选择数据源视图”页上,点击“下一步”。

5. 在“检测事实数据表和维度表”页上,点击“下一步”。

6. 在“时间维度表”页上,如下所示。

点击“下一步”。

7. 在“查看共享维度”页上,点击“>”,然后“下一步”。

8. 在“选择度量值”页上,选择可用度量值。

点击“下一步”。

9. 在“检测层级结构”页上,查看结果,点击“下一步”。

10. 在“查看新建维度”中,选择新建维度,然后点击“下一步”。

11. 在“完成向导”页,多维数据集名称为“Adventure Works”。在“预览”中,可以看到“度量值组”和“维度”。

12. 点击“完成”。

13. 在多维数据集设计器的工具栏上,将“缩放”级别更改为 50 %,以便更轻松地查看多维数据集内的维度和事实数据表。注意,事实数据表是黄色的,维度表是蓝色的。

14. 在“文件”菜单上,单击“全部保存”。

六、创建用于个人客户方案的挖掘结构

1.在解决方案资源管理器中,右键单击“挖掘结构”并选择“新建挖掘结构”启动数据挖掘向导。

2.在“欢迎使用数据挖掘向导”页上,单击“下一步”。

3.在“选择定义方法”页上,确保已选中“从现有关系数据库或数据仓库”,再单击“下一步”。

4.在“创建数据挖掘结构”页的“您要使用何种数据挖掘技术?”下,选择“Microsoft 决策树”。

5.单击“下一步”。

6.在“选择数据源视图”页上,请注意已默认选中 Adventure Works 。在数据源视图中,单击“浏览”查看各表,然后单击“关闭”返回该向导。

7.单击“下一步”。

8.在“指定表类型”页上,选中 vIndividualCustomer 表旁边“事例”列中的复选框,再单击“下一步”。

9.在“指定定型数据”页上,确保已选中 CustomerID 列旁边 Key 列中的复选框。据源视图中的源表表示一个键,则数据挖掘向导将自动选择该列作为模型的键。

10.选中 FirstName和LastName 列旁边的“输入”和“可预测”。

如果数

11.单击“建议”打开“提供相关列建议”对话框。

只要选中至少一个可预测属性,即可启用“建议”按钮。“提供相关列建议”对话框将列出与可预测列关联最密切的列,并按照与可预测属性的相互关系对属性进行排序。值大于 0.05 的列将被自动选中,以包括在模型中。

12.阅读建议,然后单击“取消”忽略建议并保留向导设置的原始值。 15. 选中以下各列旁边的“输入”复选框: StateProvinceName MiddleName CountryRegionName

16. 单击“下一步”。

17. 在“指定列的内容和数据类型”页上,单击“检测”以运行对数值数据进行取样并确定数值列是否包含连续或离散值的算法。例如,某列可包含薪金信息,用以作为连续的实际薪金值,也可包含整数,用以表示离散的编码薪金范围(例如 1 = < $25,000;2 = 从 $25,000 到 $50,000)。

18. 单击“检测”后,请查看“内容类型”和“数据类型”列中的各项;如有必要,请进行更改,以确保设置与下表所示一致。

通常,向导会检测数值,并分配相应的数值数据类型;但有些情况下,您可能想要将数值作为文本处理。

19. 单击“下一步”。

20. 在“完成向导”页上的“挖掘结构名称”中,键入Individual Customer。 21. 在“挖掘模型名称”中,键入 TM_Decision_Tree。 22. 选中“允许钻取”复选框。

23. 单击“完成”。

七、挖掘模型和挖掘结构如下图。

八、创建查询

8.1创建预测查询的第一步是选择挖掘模型和输入表。

1. 在数据挖掘设计器“挖掘模型预测”选项卡的“挖掘模型”框中,单击“选择模型”。

系统将打开“选择挖掘模型”对话框。

2. 在整个树中导航到“个人客户”结构,展开该结构并选择 TM_Decision_Tree,再单击“确定”。

3. 在“选择输入表”框中,单击“选择事例表”。 系统将打开“选择表”对话框。

4. 在“数据源”中,选择 Adventure Works 。

5. 在“表/视图名称”中,选择 Department(HumanResources)表,再单击“确定”。 选择输入表之后,预测查询生成器便会根据各列的名称在挖掘模型和输入表之间创建默认映射。

8.2生成预测查询

1. 在“挖掘模型预测”选项卡上的网格内的“源”列中,单击第一个空行中的单元格,然后选择 Department。

2. 在 Department 行的“字段”列中,选择 DepartmentID。

3.在“源”列中,单击下一个空行,然后选择 TM_Decision_Tree。 4.在 TM_Decision_Tree 行的“字段”列中,选择 First Name。 这将会输出 Microsoft 决策树模型中作为预测目标的列。

5.在“源”列下,单击下一个空行,然后选择“预测函数”。 6.在“预测函数”行的“字段”列中,选择 PredictProbability。 预测函数提供有关模型如何进行预测的信息。PredictProbability 函数提供有关正确预测的概率信息。您可以在“条件/参数”列中指定预测函数的参数。 7.在 PredictProbability 行的“条件/参数”列中,键入 [TM_Decision_Tree].[Bike Buyer]。 这将指定 PredictProbability 函数的目标列。有关函数的详细信息,请参阅数据挖掘扩展插件 (DMX) 函数参考。

8.3查看结果

1.通过单击“切换到查询设计视图/切换到查询结果视图”按钮(即工具栏上的第一个按钮)旁边的箭头并选择“查询”,可以运行查询。

2.通过点击“单独查询”,结果如下:

【总结】

通过本次实验,我对SQL Server有了更深的了解。知道SQL Server不等于SQL Server Management Studio,还有SQL Server Business Intelligence Development Studio和其他一些模块。在这次实验中,遇到了一些困难:1.SQL Server 2000和SQL Server 2005有一些不同,利用SQL Server 2000中的Analysis service做完实验二后发现实验三不知道怎么做了,左右通过查找一些资料才解决问题;2.在新建数据源时,在“连接管理器”页上,“测试连接”一直失败,不知道是什么原因,老师给的AdventureWorks sql server 2005示例数据库.msi也一直不知道该怎么用,经过不断尝试才发现原来在运行AdventureWorks sql server 2005示例数据库.msi后会产生一个数据库文件,我们应该利用SQL Server Management Studio把它附加进数据库文件夹下,而且在“连接到服务器”页时,应该注意“服务器类型”、“服务器名称”、“身份验证”等的选择,否则会出错。虽然本次实验中遇到了一些麻烦,耗费了一些时间,但是通过不断尝试、不断努力将问题解决,也是一种很大的收获。

第二篇:数据库实验

3.实验步骤

在学生选课数据库中实现其查询操作,写出T-SQL语句(注:学生选课数据库为前三次实验课所建立的数

据库)

一、简单查询实验

(1)查询选修了课程的学生学号。

(2)查询选修课程号为0101的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按

学号升序排列。

(3)查询选修课程号为0101的成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。

二、连接查询实验

(1)查询每个学生的情况以及他(她)所选修的课程。

(2)查询选修离散散学课程且成绩为90分以上的学生学号、姓名及成绩。

(3)查询每一门课的间接先行课(即先行课的先行课)

三、嵌套查询操作

(1)查询0101课程的成绩高于张林的学生学号和成绩。

(2)查询其他系中年龄小于计算机系年龄最大者的学生。

(3)查询同王洪敏“数据库原理”课程分数相同的学生的学号。

(4)查询选修了全部课程的学生的姓名。

(5)查询与学号为09001103的学生所选修的全部课程相同的学生学号和姓名。

(6)查询至少选修了学号为09001103的学生所选修的全部课程的学生学号和姓名。

四、组合查询和分组查询

(1)查找选修“计算机基础”课程的学生成绩比此课程的平均成绩大的学生学号、成绩。

(2)查询年龄大于女同学平均年龄的男同学姓名和年龄。

(3)列出各系学生的总人数,并按人数进行降序排列。

(5)查询选修计算机基础和离散数学的学生学号和平均成绩。

4、要求

请按题号依次作答,完成在word文档中,写明班级学号姓名,于周日之于周日之前发至xcf7@163.com,

独立完成,严禁抄

第三篇:数据库实验6

HUNAN UNIVERSITY

实验报告

题 目:

数据库实验六

学生姓名:

学生学号: 专业班级:

上课老师:

 实验目的

熟悉使用存储过程来进行数据库应用程序的设计。

 实验平台和实验工具

Windows

10、mysql  实验内容及要求

对学生课程数据库,编写存储过程,完成下面功能:

1)统计离散数学的成绩分布情况,即按照各分数段统计人数; 2)统计任意一门课的平均成绩。

3)将学生选课成绩从百分制改为等级制(即A、B、C、D、E);

步骤:

在实验之前已经建立了student、course、score三张表

1) 统计离散数学的成绩分布情况,即按照各分数段统计人数 i. 创建sc_rank表存放结果

ii. 创建存储过程

iii. 执行存储过程

iv. 执行结果

根据score可以看出操作成功。

删除存储过程 v.

2) 统计任意一门课的平均成绩 i. 创建存储结果的表score_avg:cname存储课程名,avg存储平均成绩

ii. 创建存储过程

iii.

执行存储过程

iv.

执行结果

由结果可以得出存储过程得以正确执行。

删除过程

3) 将学生选课成绩从百分制改为等级制(即A、B、C、D、E) i. 创建存储过程 v.

ii. 执行结果

从grade和newgrade的对比可以知道结果是正确的。

iii. 删除存储过程

 问题

在做第三小问的时候,出现了如下情况:

原因是:

我把不是游标范围内做的事情放到游标的范围里面去了,结果将列删除了,插入不成功,出现错误。

 实验心得

在做这个实验的时候上网查了好多资料,用的是mysql,有些语法与课本上有差异,很多都要自己琢磨,在一些语法上其他的数据库可能简单一些(如kingbase上支持record类型),有一些可能又会难一点,不过总体来说都差不多,主要还是懂,即使只是一点点的不同,不知道也是做不出来的。所以,这些东西还是需要花一些时间去查阅资料和花点时间来消化的。

以下为mysql存储过程的一些知识点:

MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...]) IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

OUT 输出参数:该值可在存储过程内部被改变,并可返回 INOUT 输入输出参数:调用时指定,并且可被改变和返回

第四篇:数据库实验报告

一、题目要求

某银行准备开发一个银行业务管理系统,通过调查,得到以下的主要需求:

银行有多个支行。各个支行位于某个城市,每个支行有唯一的名字。银行要监控每个支行的资产。 银行的客户通过其身份证号来标识。银行存储每个客户的姓名及其居住的街道和城市。客户可以有帐户,并且可以贷款。客户可能和某个银行员工发生联系,该员工是此客户的贷款负责人或银行帐户负责人。 银行员工也通过身份证号来标识。员工分为部门经理和普通员工,每个部门经理都负责领导其所在部门的员工,并且每个员工只允许在一个部门内工作。每个支行的管理机构存储每个员工的姓名、电话号码、 家庭地址及其经理的身份证号。银行还需知道每个员工开始工作的日期,由此日期可以推知员工的雇佣期。 银行提供两类帐户——储蓄帐户和支票帐户。帐户可以由2个或2个以上客户所共有,一个客户也可有两个或两个以上的帐户。每个帐户被赋以唯一的帐户号。银行记录每个帐户的余额 、开户的支行以及每个帐户所有者访问该帐户的最近日期。另外,每个储蓄帐户有其利率,且每个支票帐户有其透支额。 每笔贷款由某个分支机构发放,能被一个或多个客户所共有。每笔贷款用唯一的贷款号标识。银行需要知道每笔贷款所贷金额以及逐次支付的情况(银行将贷款分几次付给客户)。虽然贷款号不能唯一标识银行所有为贷款所付的款项,但可以唯一标识为某贷款所付的款项。对每次的付款需要记录日期和金额。

二、需求分析

这一部分主要是根据实验需求对银行系统需求中的实体、实体属性以及实体之间的关联进行确认,以便画出正确的概念模型。

2.1 实体确认

根据需求分析确认实体:银行员工、银行支行、客户、账户(其中:储蓄账户、支票账户是继承实体账户而来)、贷款、支付(弱实体)。

2.2 实体属性确认

银行员工:身份证号(pi)、姓名、电话号码、家庭地址、开始工作日期 银行支行:支行名、资产、城市

客户:身份证号、姓名、街道、所在城市 账户:账户号、余额、最近访问日期 支票账户:透支额 储蓄账户:利率 2.3 实体关系确认

账户和支行:N:1定义关系为Relationship_accout_bank 客户和贷款:M:N定义关系为Relationship_client_loan 客户和员工:M:1 定义关系为 Relation_client_staff 贷款和支行:1:N 定义关系为 Relationship_loan_bank 客户和账户:M:N 定义关系为 client__accout 贷款发放信息和贷款:N:1 定义关系为 Relationship_loan_pay 支行和员工:1:N 定义关系为Relationship_staff_bank

员工和员工:1:N 定义关系为 Relationship_lead

三、概念模型(CDM)

根据sybase power designer画出概念模型(CDM),如下图所示:

四、物理模型(PDM)

根据概念模型转化成物理模型(PDM),如下图所示:

第五篇:数据库实验报告

10包三 李雅 100910306

实验报告

一、 实验题目:

数据库基本操作实验

二、 实验目的:

掌握数据库的建立、表的设计基本方法,通过实际操作熟练掌握数据库的基本操作——数据的输入与导入,表的设计。

三、 实验内容:

建立课程管理数据库,要求:

1. 输入老师、开设课程、选课表、学生基本数据等,并输入一些学生不同课程的考试成绩。

2. 建立查询表,分别是成绩查询、学分查询、不及格学生查询。

3. 建立窗体,分别显示不及格学生的姓名、课程名称、成绩和班级ID。在成绩查询中显示学生姓名及各科成绩。在教师基本信息中显示编号、职称、工资、院系、等。同时建立开设课程表和学生基本信息的窗体查询。提供用户一个简单的应用程序界面,方便用户操作使用。

4. 制作报表。包括教师的授课报表,课程名称及课程类别。学生的总成绩报表,包括课程名称、成绩和学分。

注:课程及考试成绩可以任意输入。选课按照班级确定。

四、 实验过程:

1、 数据库表设计

在表格内填入教师基本信息、开始课程、课程基本信息、选课表、学生基本信息。

教师基本信息:

开设课程:

1 / 7

10包三 李雅 100910306

课程基本信息:

选课表:

2 / 7

10包三 李雅 100910306

学生基本信息:

2、 查询表: 成绩查询:

3 / 7

10包三 李雅 100910306

学分查询:

不及格学生查询:

4 / 7

10包三 李雅 100910306

3、 窗体设计: 不及格学生信息查询:

成绩查询:

教师基本信息查询:

开设课程信息查询:

5 / 7

10包三 李雅 100910306

学生基本信息查询:

4、 报表: 教师的授课报表:

6 / 7

10包三 李雅 100910306

学生的总成绩:

7 / 7

上一篇:审计报告社团范文下一篇:上海中学名录范文

本站热搜