当前位置:文档之家› 数据库实验报告

数据库实验报告

实验一 SQL Server基本使用与数据定义一.实验目的1.掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法;2.熟悉数据库建模及E/R图的画法;3.掌握SQL Server 中数据库、及数据表的建立与管理方法;4.掌握数据的导入/导出及数据库备份/还原方法。

二.实验内容一、SQL Server 基本使用1.启动SQL SERVER。

2.注册服务器3.企业管理器属性4.查询分析器介绍5.查看数据库及浏览表中记录二、数据库的建立与管理1.数据库建模2.启动、并打开SQL Server3.使用图形界面创建数据库和表4.使用查询分析器创建表5.数据库的备份与还原实验二 SQL查询一.实验目的:1.掌握SQL语言中SELECT语句的多种查询方式。

2.掌握对表建立与删除索引的方法。

3.掌握聚焦函数的使用方法。

4.掌握集合查询方法。

二.实验内容:1.建立与删除[索引]的方法。

在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。

CREATE INDEX 代理商No ON 代理商(代理商编号)CREATE INDEX 客户No ON 客户(客户编号)CREATEINDEX产品No ON产品(产品编号)CREATEINDEX订单No ON订单(订单编号)2.单表查询,①从产品表中查询现有产品的库存量。

SELECT COUNT(*)FROM产品②从客户表中查询“王五”的地址及代理商编号。

SELECT地址,代理商编号FROM客户WHERE姓名='王五'③从代理商表中查询代理商“惠普”的提成金额。

SELECT提成金额FROM代理商WHERE姓名='惠普'④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。

SELECT产品编号,订购数量FROM订货项目WHERE订单编号='444'⑤分别求代理商和客户的总数。

SELECT COUNT(*)代理商数FROM代理商SELECT COUNT(*)客户数FROM客户⑥从订货项目表中,查询编号为0033的产品定货总数量。

SELECT COUNT(*)订货总数量FROM订货项目WHERE订单编号='0033'3.多表查询①查询编号为300的客户通过的代理商的姓名和地址。

SELECT代理商.姓名,代理商.地址FROM代理商.客户WHERE代理商.代理商编号=客户.代理商编号 AND 客户编号=30②查询产品编号为0033、订货数量大于100的客户编号及其姓名。

SELECT客户编号,客户姓名FROM客户.订单项目,订单WHERE客户.客户编号=订单.客户编号AND订单.订单编号=订单项目.订单编号AND产品编号=0033 AND订购数量>100③查询每个客户的订单,显示客户编号、客户名、订单编号及订货日期。

SELECT客户.客户编号,客户.客户姓名,订单.订单编号,订单.订货日期FROM客户,订单WHERE客户.客户编号=订单.客户编号④查询所有2000年以后订货项目。

SELECT*FROM订单WHERE订货日期>2000-01-01⑤查询提成金额为100000以上(含100000)的代理商所对应的客户。

SELECT客户.姓名FROM客户.代理商编号=代理商.代理商编号AND代理商.提成金额>1000004、嵌套查询分别用带有IN谓词的子查询和带比较运算符的子查询实现以下操作①查询与“刘晨”在同一个系学习的学生。

SELECT*FROM StudentWHERE Sdept IN(SELECT SdeptFROM StudentWHERE Sname=”刘晨”)②查询选修了课程名为“操作系统”的学生。

SELECT SnameFROM StudentWHERE Sno IN(SELECT SnoFROM SCWHERE Cno IN(SELECT CnoFROM CourseWHERE Cname=”操作系统”))333实验三、数据更新与视图一.实验目的:1.掌握向表中进行数据更新的方法。

2. 掌握视图的创建与删除方法。

3.掌握视图的查询与更新方法。

4. 掌握进行集合查询的方法。

二.实验内容:1.插入数据。

使用INSERT语句完成各表中数据的插入。

仅以此条为例:INSERTINTO客户(客户编号,姓名,地址,邮政编码,收支差额,贷款限额,代理商编号)VALUES (600,'李明','西环路号','100001','20.00','300.00',03) 2.修改数据。

①更新所有代理商的提成比例为20%。

UPDATE代理商SET提成比例=20②为产品表格增加一个新字段----缺货量。

ALTERTABLE产品ADD缺货量INT③将编号为0011的产品单价更新为1000。

UPDATE产品SET价格=1000WHERE产品编号= 0011④创建一个名为deptage表,一列存放系名(sdept),另一列存放相应的学生平均年龄(avgage)。

对student表按系分组求平均年龄,存入deptage中。

CREATETABLE deptage(sdept CHAR(20),avgage INT)INSERTINTO deptage(sdept,avgage)SELECT sdept,AVG(Sage)FROM studentGroupBY sdept3.删除数据。

①删除编号为700的客户。

DELETEFROM客户WHERE客户编号=700②删除编号为05的代理商。

DELETEFROM代理商WHERE代理商编号=05③删除编号为订单编号为444的所有订货信息。

DELETEFROM订单WHERE订单编号=4444.建立视图①建立含有订单号及拥有该订单的客户编号和代理商号三个字段的视图。

CREATEVIEW订单客户代理商ASSELECT订单.订单编号,订单.客户编号,客户.代理商编号FROM订单,客户WHERE订单.客户编号=客户.客户编号②建立一个含有客户编号、客户所订的产品、该产品的订购价及该产品的描述四个字段的视图。

CREATEVIEW客户产品价格ASSELECT订单.客户编号,产品.产品编号,产品.价格,产品.描述信息FROM订单,产品,订货项目WHERE订单.订单编号=订货项目.订单编号AND订货项目.产品编号=产品.产品编号③建立一个含有产品编号、产品库存量及产品在订量三个字段的视图。

CREATEVIEW产品订货ASSELECT产品.产品编号,产品.库存量,订货项目.订购数量FROM产品,订货项目WHERE产品.产品编号=订货项目.产品编号④建立一个含计算机科学系的学生及年龄不大于19岁的学生的视图。

⑤建立一个选修了课程1或者选修了课程2的学生视图。

⑥建立一个既选修了课程1又选修了课程2的学生视图。

5.在视图基础上的查询①查询所有订单的客户和代理商。

SELECT*From订单客户代理商②查询编号为400的客户所订的产品以及该产品的单价。

SELECT产品编号,价格From客户产品价格WHERE客户编号=400实验四数据库的安全一.实验目的1.掌握SQL Server 中数据库安全性管理的策略与方法。

二.实验内容数据库的安全主要包括几个方面的内容:安全模式,SQL Server服务器安全, SQL Server登录帐号, 角色, SQL Server用户和许可等内容.安全模式包括如下内容:(1)安全规划:(2)选择安全的形式:指选择用户登录的登录认证方式.(3)配置安全角色实验完成规划实施某部门SQL Server安全策略具体要求如下:1.部门总监(1人):作为系统管理人员,允许任何操作。

a)用户名:vadminb)服务器角色:sysadminc)数据库角色:无d)权限:无2.服务器登录安全管理员(1人):可设置和管理用户登录帐号,授权访问订单数据库。

a)用户名:vsafemanagerb)服务器角色:securityadminc)数据库角色:无d)权限:无3.数据库维护人员(1人):可对订单数据库进行任何操作,没有登录管理操作权限。

a)用户名:vmaintainerb)服务器角色:无c)数据库角色:db_ownerd)权限:无4.数据录入人员(2人):可进行数据录入,不能创建与修改表结构及其它授权等操作。

a)用户名:vdata_in01,vdata_in02b)服务器角色:无c)数据库角色:db_datawriterd)权限:无5.订单管理人员(2人):能对订单数据库中的订单表和项目表进行更新,其它表仅能查询。

e)用户名:vorder01,vorder02f)服务器角色:无g)数据库角色:db_datareaderh)权限:对订单表和项目表设置插入(INSERT)、更新(UPDATE)权限6.客户管理人员(2人):能对订单数据库中的代理商表和客户表进行更新,其它表仅能查询。

i)用户名:vcustomer01, vcustomer02j)服务器角色:无k)数据库角色:db_datareaderl)权限:对代理商表和客户表设置更新(UPDATE)权限实验五数据库连接与访问开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。

它实际上是我们要在本章后面加以讨论的ADO的前身。

Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。

换句话说,访问DBF文件或其他数据库以得到数据库中的数据时,无需懂得数据库程序设计语言。

一.实验目的1.掌握客户端访问数据库的方法。

2.掌握常用数据感知元件的应用。

3、DELPHI程序的基本设计方法。

二.实验内容1.ADO简介ADO是Active Data Objects(活动的数据对象)的简称,是Microsoft用来访问数据库接口,也称OLE DB(对象链接和嵌入数据库)。

Delphi提供了一组ADO元件,可以通过ADO2在ADO中将ADOConnection拖入FORM1中,并单击设置ConnectionString→Build→提供者选择。

for SQL Server;连接选择:数据库、用户。

;高级设置:连接超时30秒。

测试并确定。

3.使用ADOTable来连接表同样设置ADOTable,Connection属性为以上设置的ADOConnection1,在TableName中选择连接的表名。

设置Active为true。

4.使用DBGrid显示表先Data Access中选择设置Data Source的DataSet属性为ADOTable1。

相关主题