《数据库系统原理》实验指导书16.docx
- 文档编号:2459779
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:21
- 大小:257.21KB
《数据库系统原理》实验指导书16.docx
《《数据库系统原理》实验指导书16.docx》由会员分享,可在线阅读,更多相关《《数据库系统原理》实验指导书16.docx(21页珍藏版)》请在冰点文库上搜索。
《数据库系统原理》实验指导书16
实验一SQLServer基本使用与数据定义
一.实验目的
1.掌握“对象资源管理器”及查询的定义方法使用方法;
2.熟悉数据库建模及E/R图的画法;
3.掌握SQLServer中数据库、及数据表的建立与管理方法;
4.掌握数据的导入/导出及数据库备份/还原方法。
二.实验内容
一、SQLServer基本使用
1.启动SQLSERVER。
从SQLServer2005程序组中启动“SQLServer”,弹出如下对话框。
按提示执行以下三项操作:
●选择服务器
●选择身份验证模式(SQLServer身份验证,指定登录名和密码)
在“服务器”列表框中,选择服务器类型,选择输入相应的服务器名称,选择身份验证模式。
如图1-1:
点击连接。
图1-1
2.对象资源管理器
连接完成后,进入对象资源管理器界面,如图1-2
图1-2
3、在对象资源管理器的使用
点开服务器名称,打开树状结构,可以看见服务器上的数据库对象和其他对象。
4.创建查询
SQLServer提供了许多工具,可以用于管理服务器和客户机、开发数据库和应用程序。
查询它可以通过图形界面执行SQL语句。
创建查询后在其中可以交互式地输入和执行各种SQL语句,并且可以在一个窗口中同时查看SQL语句和其结果集;可以在同时执行多个SQL语句,也可以执行脚本文件中的部分语句;
打开方法:
创建SQL查询分。
如下图1-3所示,可在工具栏中选择要操作的数据库(如master),并在查询窗口中输入相应的SQL语句(select*fromsysfiles),点击工具条的绿色小三角运行你输入的SQL语句。
此时在查询窗口的下部会显示执行结果。
图1-3
查询结果的显示方式,可通过查询菜单设置:
文本显示结果、以表格显示结果或结果保存为文件。
5.查看数据库及浏览表中记录
查看已建立的数据库
在对象资源管理器中,单击服务器左侧的+号,选择“数据库”选项,可以看到在数据库服务器中已建立的数据库。
浏览表中记录
⑴ 选择某数据库并选择数据库中的“表”选项。
⑵ 选择要浏览的表,按右键并选择:
打开表/返回所有行,即可浏览表中记录。
二、数据库的建立与管理
1.数据库建模
依据数据库设计总体需求及原始数据,在实验前完成数据库的建模工作(写出预习报告)。
具体要求如下:
(1).设计订单作为联系的E/R图。
(2).设计订单作为实体的E/R图。
(3).标出E/R图中各实体的键码。
(4).将订单作为实体的E/R图转换为关系模型。
3.使用图形界面创建数据库和表
使用图形界面(对象资源管理器)并依据内容1中的关系模型创建数据库和表。
创建数据库
右击“数据库”选项,点击“新建数据库”,在弹出对话框中输入你要创建的数据库名(例如mybatabase)后直接按确定键。
这时系统就会创建一个名为mydatabse的数据库。
创建表
⑴在数据库中。
右击“表”选项。
⑵选择“新建表”,输入:
列名、数据类型、长度等,并存盘。
4.使用查询分析创建表
⑴.点击创建查询;
⑵.在出现的“查询窗口”中选择你要操作的数据库,然后就可以在下面的编辑框中输入SQL语句建立相关表。
⑶.点击工具条的绿色小三角(或按F5)就可以运行你输入的SQL语句。
5.数据库的备份与还原
数据库的备份:
⑴运行企业管理器,右击你所要备份的数据库,选择“任务”中的“备份数据库”。
⑵输入备份数据库的名称,点击“添加”后输入备份数据库存放的目录和文件名。
⑶ 按确定按钮,备份完成。
数据库的还原:
一旦数据库遭到破坏,可用备份的数据库进行恢复。
⑴运行企业管理器,右击“数据库”,在“任务”中选“还原数据库”。
⑶在“常规”页中输入恢复的数据库名,选择“从设备”还原,点击“选择设备”后,再点击“添加”按钮选择你所要恢复的数据库备份文件名。
⑷ 点击确定按钮完成恢复。
如果原有数据库被删除,恢复异常。
则可先建立一个同名数据库,再在数据库上进行强制还原即可。
实验二、数据更新与简单查询
一.实验目的:
1.掌握向表中进行数据更新的方法。
2.掌握视图的创建与删除方法。
3.掌握视图的查询与更新方法。
二.实验内容:
1.插入数据。
①在产品表格中插入一种新产品。
0077、瓷器,单位(件)、8000、3、1002、10000.00
②在订单表中插入新订单。
666、2003-06-06、300
③在代理商表中插入新代理商。
05、海信、中山路9号、541000、200000.00、60
2.修改数据。
①更新所有代理商的提成比例为20%。
②为产品表格增加一个新字段----缺货量。
③将编号为0011的产品单价更新为1000。
3.删除数据。
①删除编号为700的客户。
②删除编号为05的代理商。
③删除编号为订单编号为444的所有订货信息。
4.建立与删除[索引]的方法。
在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。
5.单表查询,
①从产品表中查询现有产品的库存量。
②从客户表中查询“王五”的地址及代理商编号。
③从代理商表中查询代理商“惠普”的提成金额。
④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。
⑤分别求代理商和客户的总数。
⑥从订货项目表中,查询编号为0033的产品定货总数量。
实验三SQL复杂查询与视图
一.实验目的:
1.掌握SQL语言中SELECT语句的多种查询方式。
2.掌握对表建立与删除索引的方法。
3.掌握聚焦函数的使用方法。
4.掌握集合查询方法。
二.实验内容:
1.多表查询
①查询编号为300的客户通过的代理商的姓名和地址。
②查询产品编号为0033、订货数量大于100的客户编号及其姓名。
③查询每个客户的订单,显示客户编号、客户名、订单编号及订货日期。
④查询所有2000年以后订货项目。
⑤查询提成金额为100000以上(含100000)的代理商所对应的客户。
2、嵌套查询
分别用带有IN谓词的子查询和带比较运算符的子查询实现以下操作
①查询与“刘晨”在同一个系学习的学生。
②查询选修了课程名为“操作系统”的学生。
3.建立视图
①建立含有订单号及拥有该订单的客户编号和代理商号三个字段的视图。
②建立一个含有产品编号、产品库存量及产品在订量三个字段的视图。
③建立一个含有客户编号、客户所订的产品、该产品的订购价及该产品的描述四个字段的视图。
④建立一个含计算机科学系的学生及年龄不大于19岁的学生的视图。
⑤建立一个既选修了课程1又选修了课程2的学生视图。
4.在视图基础上的查询
①查询所有订单的客户和代理商。
②查询编号为400的客户所订的产品以及该产品的单价。
③查询选修课程1的所有学生。
实验四数据库的安全
一.实验目的
1.掌握SQLServer中数据库安全性管理的策略与方法。
二.实验内容
数据库的安全主要包括几个方面的内容:
安全模式,SQLServer服务器安全,SQLServer登录帐号,角色,SQLServer用户和许可等内容.
安全模式包括如下内容:
(1)安全规划:
(2)选择安全的形式:
指选择用户登录的登录认证方式.
1.认证模式
认证是指当用户访问数据库系统时,系统对该用户的帐户和口令的确认过程。
SQLServer可以识别两种类型的登录认证机制。
●SQLServer认证机制
●WindowsNT认证机制
当使用SQLServer认证机制时,SQLServer系统管理员定义SQLServer的登录帐户和口令。
当用户连接SQLServer时,必须提供登录帐户和口令。
当使用WindowsNT认证机制时,由WindowsNT帐户控制用户对SQLServer系统的访问。
这时用户不必提供SQLServer的登录帐户和口令就能连接到系统上,但是,在该用户连接之前,SQLServer系统管理员必须将WindowsNT帐户定义为SQLServer的有效登录帐户(请参考WindowsNT帐户管理方法)。
用户可以使用SQLServer企业管理器来设置服务器的认证模式。
设置方法参见实验一。
2.登录管理
登录帐户是基于SQLServer服务器使用的用户名,可控制用户对数据库服务器的访问。
在SQLServer中有一个特殊的登录帐户:
sa,是系统管理员的简称,它在SQLServer系统和所有数据库中有全部的权限,不能被删除。
设置sa帐号密码:
单击相应服务器属下的“Login”;右单击右窗格的用户名,选择“属性”.
增加登录帐户的两种方法:
一是:
从WindowsNT组和用户中创建登录帐户和创建新的SQLServer登录帐户(参考WindowsNT帐户管理方法)。
二是:
使用SQLServer对象资源管理器创建登录帐户,方法如下:
在SQLServer对象资源管理器选择一服务器,选择“安全性”文件夹,在“安全性”文件夹中,右击“登录”,选择“新建登录”,则出现如下窗口:
在常规选项卡中输入登录名和口令;在服务器角色选项卡中选择相应服务器角色复选框;在数据库访问选项卡中选择要访问的数据库及指定该帐户所属的数据库角色。
最后按[确定]即可。
用刚建立的登录帐户登录服务器:
先右击服务器,选择断开,再右击服务器,选择连接。
按提示输入帐户名和口令即可登录。
如果选择连接时不提示输入帐户/口令,可选择强制用户登录时验证帐户和口令(参见5.)
(3)配置安全角色
角色:
SQLServer2000服务器操作和数据库访问许可的管理单位,角色可以把各个用户汇集成一个单元,以便进行许可管理。
SQLServer提供了用于通常管理工作的预定义服务器角色、和数据库角色,以简化对某一个用户授予一些管理许可的工作。
可在建立登录帐户时设置。
系统管理员给适当用户分配相应的角色是SQLServer服务器和数据库安全的关键之一.
SQLServer2005服务器系统管理员或数据库所有者在设置数据库访问许可时,应先创建新的角色并将访问许可集中授予角色,然后再将需要拥有这一许可权限的用户加入到角色中,加入到角色中的所有用户自动具有角色所拥有的访问许可权限.
常用固定服务器角色如下(通过“服务器角色”设置)
服务器角色
含义(许可)
Bulkadmin
可以运行BULKINSERT语句
Dbcreator
创建、更改、删除和还原任何数据库
Diskadmin
管理磁盘文件
Processadmin
可以终止在数据库引擎 实例中运行的进程
Securityadmin
可以管理登录名及其属性。
具有GRANT、DENY和REVOKE服务器和数据库级别的权限。
此外,还可以重置SQLServer登录名的密码
Serveradmin
可以更改服务器范围的配置选项和关闭服务器
Setupadmin
可以添加和删除链接服务器,并可以执行某些系统存储过程(如sp_serveroption)
Sysadmin
在SQLServer中进行任何活动。
该角色的权限跨越所有其他固定服务器角色。
默认情况下,WindowsBUILTIN\Administrators组(本地管理员组)的所有成员都是sysadmin固定服务器角色的成员
固定的数据库角色及许可(通过“用户映射-指定数据库-数据库角色成员”)
数据库角色
含义(许可)
Public
维护全部默认的许可
db_owner
可以执行数据库中技术所有动作的用户
db_accessadmin
可以添加、删除用户的用户
db_datareader
可以查看所有数据库中用户表内数据的用户
db_datawriter
可以添加、修改或删除所有数据库中用户表内数据的用户
db_ddladmin
可以在数据库中执行所有DDL操作的用户
db_securityadmin
可以管理数据库中与安全权限有关所有动作的用户
db_backoperator
可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)
db_denydatareader
不能看到数据库中任何数据的用户
db_denydatawriter
不能改变数据库中任何数据的用户
创建角色方法:
用户只能创建数据库角色,只在其所在的数据库中有效,对其他数据库无效.右单击“角色”
授权:
授予用户,用户组以及角色某种或某些许可权限,权限:
一种对数据库对象的操作权力。
用户登录到SQL Server服务器后,其所充当的角色和用户的许可,就决定了它们对数据库对象所能执行的操作。
添加角色到固有角色,角色就具有相应固有角色所具有的授权。
方法:
右键单击需将角色添加到其属下的固有角色。
“属性”---按“添加”.
创建SQLServer用户方法:
右键单击需将创建角色的数据库属下的的“用户”.SQLServer用户只能用于访问数据库,不能用于登录
4.许可管理
许可的种类:
对象许可,数据库许可和固有角色的隐含许可
在SQLSERVER系统中,把权利定义为许可,通过实行许可管理,维护数据的有序流动。
可在用户权限中设定。
设置对象许可的方法:
右键单击需设置许可的对象(以数据表为例)
-----“属性”---单击相关项目
设置语句许可的方法:
右键单击需设置语句许可的数据库名
-----“属性”---单击相关项目
授权
实验完成规划实施某部门SQLServer安全策略
具体要求如下:
1.部门总监(1人):
作为系统管理人员,允许任何操作。
名称:
服务器角色:
数据库角色:
权限:
2.服务器登录安全管理员(1人):
可设置和管理用户登录帐号,授权访问订单数据库。
3.数据库维护人员(1人):
可对订单数据库进行任何操作。
4.数据录入人员(2人):
可进行数据录入,不能创建与修改表结构及其它授权等操作。
5.订单管理人员(2人):
能对订单数据库中的订单表和项目表进行更新,其它表仅能查询。
6.客户管理人员(2人):
能对订单数据库中的代理商表和客户表进行更新,其它表
注意:
以上人员的登录帐号和密码统一规划设置。
实验五数据连接与访问
开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。
它实际上是我们要在本章后面加以讨论的ADO的前身。
Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。
换句话说,访问DBF文件或其他数据库以得到数据库中的数据时,无需懂得数据库程序设计语言。
一.实验目的
1.掌握客户端访问数据库的方法。
2.掌握常用数据感知元件的应用。
3、DELPHI程序的基本设计方法。
二.实验内容
1.ADO简介
ADO是ActiveDataObjects(活动的数据对象)的简称,是Microsoft用来访问数据库接口,也称OLEDB(对象链接和嵌入数据库)。
Delphi提供了一组ADO元件,可以通过ADO技术来访问数据库。
然后用现有的数据感知控件(如DBGrid)即可显示ADO数据。
ADO元件
用途
TADOConnection
用于连接一个ADO数据库。
多个ADO元件可以共享这个连接来执行命令、检索数据和对数据库对象进行操作。
TADODataSet
代表一个ADO数据集,可以从一个或多个表中检索数据。
TADOTable
代表一个表,可以从单人表中检索数据
TADOQuery
用SQL语句查询数据集;
2.使用ADOConnection来连接数据库
在ADO中将ADOConnection拖入FORM1中,并单击设置ConnectionStringBuild提供者选择。
。
。
。
。
forSQLServer;连接选择:
数据库、用户。
。
。
。
。
;高级设置:
连接超时30秒。
测试并确定。
3.使用ADOTable来连接表
同样设置ADOTable,Connection属性为以上设置的ADOConnection1,在TableName中选择连接的表名。
设置Active为true。
4.使用DBGrid显示表
先DataAccess中选择设置DataSource的DataSet属性为ADOTable1。
然后再
在DataControls中,选择设置DBGrid(方法同上)DataSource属性为DataSource1。
5.使用数据库导航器(DBNavigator)
在DataControls中,选择设置DBNavigator的DataSource属性为DataSource1。
6.实现在同一窗体中显示多表内容,并能用数据库导航器进行增加、删除等操作。
7、主界面的制作
缺省状态下,工程中创建并保存的第一个窗体将成为工程的主窗体,若要改变工程的主窗体,操作如下:
1)选择Project/Options,然后选中Forms页面。
2)在MainForm组合框中,选取想以其作为工程主窗体的窗体,然后选择OK。
此时运行应用程序时,就会显示新选择的主窗体。
8、界面的连接
若将其它窗体加到工程中,可选取File/NewForm
9、主菜单的使用
在编写引用新窗体的程序代码之前,需要在引用该窗体的单元文件中加入窗体引用,称之为窗体链接。
操作如下:
3)选取需要引用另一个窗体的窗体
4)选择File/UseUnit.
5)为被引用窗体选取窗体单元名。
6)选择OK
若两个窗体互相引用(递归引用),编译程序会出错,解决方法如下:
●将两个uses子句和单元标识符放在独立单元文件的implementation部分(如:
File/UseUnit.)。
●将一个uses子句放在interface部分,而另一个uses子句放在implementation部分。
要求:
根据以上方法,创建一主窗体和两个子窗体,在主窗体中使用按钮控制连接两子窗体。
在子窗体中分别连接访问订单表和订货项目表,并用DBNavigator控制记录浏览。
实验六数据库综合设计
一、设计目的
结合数据库原理的基本理论,选用一种现代关系数据库系统(如:
SQLSERVER),设计一个具体的信息管理系统。
通过本课程的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;掌握数据库开发工具的使用以及综合编程调试的能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。
二、设计要求
结合一个具体任务(见附件一:
课程设计参考题目),完成一个基于C/S模式的数据库系统的设计与开发,主要应包括如下内容:
1.完成课题任务的需求分析、完成系统总体结构设计方案。
(主控功能模块、数据处理模块、统计报表模块等)
2.数据库结构的设计与实现。
3.数据库安全的设计
4.客户端数据库应用程序的开发。
5.综合调试方法的掌握。
三、客户端数据库应用程序的开发内容
完成信息管理系统的主界面设计;数据输入与修改的设计;数据查询的设计;统计与报表输出的设计。
要求功能完整,数据处理正确。
四、设计完成形式
1.能够进行操作演示的自己设计的管理软件一套。
2.综合设计报告一份。
五、参考文献
赵建明《手把手教你学用数据库》清华大学2001.6
刘前进《Delphi数据库编程技术》人民邮电出版社1999.10
段来盛《Delphi实战演练》人民邮电出版社2000.1
肖永顺《Delphi程序设计》人民邮电出版社2000.5
六、参考网站
Delphi技术网站:
附件一:
综合设计参考题目(也可另选其它题目)
1.人事档案管理信息系统
2.工资管理信息系统
3.学生成绩管理系统
4.商品进货管理系统
5.商品销售管理系统
6.商品库存管理系统
7.图书管理信息系统
8.设备管理系统
附件二:
开发应用程序用户界面(仅供参考)
2.使用主窗体
缺省状态下,工程中创建并保存的第一个窗体将成为工程的主窗体,若要改变工程的主窗体,操作如下:
1)选择Project/Options,然后选中Forms页面。
2)在MainForm组合框中,选取想以其作为工程主窗体的窗体,然后选择OK。
此时运行应用程序时,就会显示新选择的主窗体。
3.加入其它窗体
若将其它窗体加到工程中,可选取File/NewForm
4.链接窗体
在编写引用新窗体的程序代码之前,需要在引用该窗体的单元文件中加入窗体引用,称之为窗体链接。
操作如下:
1)选取需要引用另一个窗体的窗体
2)选择File/UseUnit.
3)为被引用窗体选取窗体单元名。
4)选择OK
若两个窗体互相引用(递归引用),编译程序会出错,解决方法如下:
●将两个uses子句和单元标识符放在独立单元文件的implementation部分(如:
File/UseUnit.)。
●将一个uses子句放在interface部分,而另一个uses子句放在implementation部分。
不要把两个uses子句都放在独立单元文件的interface部分,这会产生“递归引用”。
5.显示和释放窗体
显示FORM1:
FORM1.SHOWMODAL;
关闭FORM1:
FORM1.CLOSE;
释放FORM1:
FORM1.FREE;
6.记录的移动
应用程序可以用来移动到不同记录的方法:
First移动到第一条记录
Last移动到最后一条记录
Nex向下移动一条记录
Prior向上移动一条记录
如将当前打开表TABLE1当前记录指针移动到最后一条记录:
TABLE1.Last;
7.修改数据
可以使用下列的数据集方法来新增、更新和删除数据;
Edit编辑修改
Append在数据集末尾插入一条记录
Insert在当前记录之前插入一条新记录
Post把新增或更新的数据写回数据库
Cancel取消当前操作
Delete删除当前记录
方法:
在Table1(组件名)所连接的数据表中插入新记录方法如下:
Table1.Insert;
注意:
在新增或更新数据前,应将组件和数据集
●ReadOnly属性设置为False
●CanModify属性设置为True
8.使用查询
客户端应用程序使用ADOQuery组件的属性和方法来操作SQL语句及其参数、执行查询等。
在设计期使用ADOquery组件:
方法和ADOTable组件相同。
并可在其SQL属性中指定查询语句、设置Active属性为True。
在执行时期直接定义SQL属性方法如下:
1)调用Close方法关闭查询。
2)如果正在更换整个SQL语句,请调用SQL属性的Clear方法来清除当前的SQL语句。
3)创建或加入一行SQL语句,可调用SQL属性的ADD方法。
4)调用Open或ExecSQL方法执行查询。
构造整个SQL语句的程序代码如下:
(参考)
withQuery1dobegin
close;{关闭查询}
withSQLdobegi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统原理 数据库 系统 原理 实验 指导书 16