桂林电子科技大学计算机科学与工程学院
数据库系统原理实验报告
实验一 SQL Server基本使用与数据定义
一.实验目的
1掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法; 2 .熟悉数据库建模及E/R图的画法;
3. 掌握SQL Server中数据库、及数据表的建立与管理方法; 4. 掌握数据的导入/导出及数据库备份/还原方法。
二.实验内容
一、 SQL Server基本使用
1. 启动 SQL SERVER 2. 3. 4. 5.
注册服务器 企业管理器属性 查询分析器介绍
查看数据库及浏览表中记录
二、 数据库的建立与管理
1. 2. 3. 4. 5.
数据库建模
启动、并打开SQL Server 使用图形界面创建数据库和表 使用查询分析器创建表 数据库的备份与还原
1
桂林电子科技大学计算机科学与工程学院
实验二 SQL查询
.实验目的:
1. 掌握SQL语言中SELECTS句的多种查询方式。 2. 掌握对表建立与删除索引的方法。 3. 掌握聚焦函数的使用方法。 4. 掌握集合查询方法。
.实验内容:
1. 建立与删除[索引]的方法。
在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。
CREATE INDEX 代理商No ON 代理商(代理商编号) CREATE INDEX 客户No ON 客户(客户编号) CREATE INDEX 产品No ON产品(产品编号) CREATE INDEX 订单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'
2
桂林电子科技大学计算机科学与工程学院
3. 多表查询
① 查询编号为300的客户通过的代理商的姓名和地址。
3
桂林电子科技大学计算机科学与工程学院
SELECT代理商.姓名,代理商.地址 FROM代理商.客户
WHERE代理商.代理商编号=客户.代理商编号
② 查询产品编号为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
代理商.提成金额>100000
4、嵌套查询
分别用带有IN谓词的子查询和带比较运算符的子查询实现以下操作 ①查询与“刘晨”在同一个系学习的学生。
SELECT * FROM Student WHERE Sdept
IN ( SELECT Sdept
FROM Student
WHERE Sname = ”刘晨”)
② 查询选修了课程名为“操作系统”的学生。
SELECT Sname FROM Student
WHERE Sno IN (SELECT Sno
FROM SC WHERE Cno IN(
SELECT Cno FROM Course
WHERE Cname = ”操作系统”))
4
桂林电子科技大学计算机科学与工程学院
实验三、数据更新与视图
一. 实验目的:
1 .掌握向表中进行数据更新的方法。 2. 掌握视图的创建与删除方法。 3. 掌握视图的查询与更新方法。 4. 掌握进行集合查询的方法。
二. 实验内容:
1. 插入数据。
使用INSERT语句完成各表中数据的插入。
仅以此条为例:
INSERT
INTO客户(客户编号,姓名,地址,邮政编码,收支差额,贷款限额,代理商编号) VALUES ( 600 ,'李明’,‘西环路号’,‘100001'
, '20.00'
, '300.00'
, 03 )
2. 修改数据。
① 更新所有代理商的提成比例为 20%
UPDATE代理商 SET提成比例=20
② 为产品表格增加一个新字段----缺货量。
ALTER TABLE 产品 ADD 缺货量 INT
③ 将编号为0011的产品单价更新为1000。
UPDATE产品 SET 价格=1000 WHERE产品编号=0011
④ 创建一个名为deptage表,一列存放系名(sdept),另一列存放相应的学平均年龄(avgage)。对student表按系分组求平均年龄,存入 deptage中。
CREATE TABLE deptage (sdept CHAR( 20 ), avgage INT ) INSERT
INTO deptage (sdept , avgage )
SELECT sdept , AVG( Sage ) FROM student Group BY sdept
3. 删除数据。
① 删除编号为700的客户。
DELETE
5
生
桂林电子科技大学计算机科学与工程学院
FROM客户
WHERE客户编号=700
② 删除编号为05的代理商。
DELETE FROM代理商
WHERE代理商编号=05
③ 删除编号为订单编号为444的所有订货信息。
DELETE FROM订单
WHERE订单编号=444
4. 建立视图
① 建立含有订单号及拥有该订单的客户编号和代理商号三个字段的视图。CREATE VIEW订单客户代理商 AS
SELECT订单.订单编号,订单.客户编号,客户.代理商编号 FROM订单,客户
WHERE订单.客户编号=客户.客户编号
② 建立一个含有客户编号、客户所订的产品、该产品的订购价及该产品的述四个字段的视图。
CREATE VIEW客户产品价格 AS
SELECT订单.客户编号,产品.产品编号,产品.价格,产品.描述信息 FROM订单,产品,订货项目
WHERE订单.订单编号=订货项目.订单编号 AND订货项目.产品编号=产品.产品编 号
③ 建立一个含有产品编号、产品库存量及产品在订量三个字段的视图。
CREATE VIEW 产品订货 AS
SELECT产品.产品编号,产品.库存量,订货项目.订购数量 FROM产品,订货项目 WHERE产品.产品编号=订货项目.产品编号
④ 建立一个含计算机科学系的学生及年龄不大于 19岁的学生的视图。 ⑤ 建立一个选修了课程1或者选修了课程2的学生视图。 ⑥ 建立一个既选修了课程1又选修了课程2的学生视图。 5. 在视图基础上的查询
① 查询所有订单的客户和代理商。
SELECT *
From订单客户代理商
6
描
桂林电子科技大学计算机科学与工程学院
② 查询编号为400的客户所订的产品以及该产品的单价。
SELECT产品编号,价格 From客户产品价格 WHERE客户编号=400
实验四数据库的安全
一.实验目的
1掌握SQL Server中数据库安全性管理的策略与方法。
二.实验内容
数据库的安全主要包括几个方面的内容: 安全模式,SQL Server服务器安全, SQL Server登录帐号,角色,SQL Server用户和许可等内容. 安全模式包括如下内容: (1)安全规划:
⑵选择安全的形式:指选择用户登录的登录认证方式•
⑶配置安全角色实验完成规划实施某部门 SQL Server安全策略 具体要求如下:
1. 部门总监(1人):作为系统管理人员,允许任何操作。
a) 用户名:vadm in b) 服务器角色:sysadmi n c) 数据库角色:无 d) 权限:无
2. 服务器登录安全管理员(1人):可设置和管理用户登录帐号,授权访问订 单
数据库。
a) 用户名:vsafema nager b) 服务器角色: securityadmi n c) 数据库角色:无 d) 权限:无
3. 数据库维护人员(1人):可对订单数据库进行任何操作,没有登录管理操 作
权限。
a) 用户名:vma intainer
7
桂林电子科技大学计算机科学与工程学院
b) 服务器角色:无 c) 数据库角色:db_ow ner d)权限:无
4. 数据录入人员(2人):可进行数据录入,不能创建与修改表结构及其它授
权等操作。
a) 用户名:vdata_i nO1,vdata_i n02 b) 服务器角色:无
c) 数据库角色:db_datawriter d) 权限:无
e) 订单管理人员(2人):能对订单数据库中的订单表和项目表进行更新,
其它表仅能查询。
f) 用户名:vorder01,vorder02 g) 服务器角色:无
h) 数据库角色:db_datareader
i) 权限:对订单表和项目表设置插入(INSERT )、更新(UPDATE )权限
5. 客户管理人员(2人):能对订单数据库中的代理商表和客户表进行更新,
其它表仅能查询。
a) 用户名: vcustomer01, vcustomer02 b) 服务器角色:无
c) 数据库角色:db_datareader
d) 权限:对代理商表和客户表设置更新(
UPDATE、权限
8
桂林电子科技大学计算机科学与工程学院
实验五数据库连接与访问
开放数据库互连(ODBC是Microsoft引进的一种早期数据库接口技术。它实际上是我 们要在本章后面加以讨论的
ADO的前身。Microsoft引进这种技术的一个主要原因是,以非
DBF文
语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问 件或其他数据库以得到数据库中的数据时,无需懂得数据库程序设计语言。
一.实验目的
1. 掌握客户端访问数据库的方法。 2. 掌握常用数据感知元件的应用。
二.实验内容
要求:根据以上方法,创建一主窗体和两个子窗体,在主窗体中使用按钮控制连 接两子窗体。在子窗体中分别连接访问订单表和订货项目表,并用 DBNavigator 控制记录浏览。
本题使用VB.Net完成
ViiwJil Sturfia
E) SLfflW 珅旳漏应 D]
=A J
王擔
ftQoK i^ar
OQWH
使用了 DataSet、BindingSource、TableAdapter 等数据库连接控件
9
因篇幅问题不能全部显示,请点此查看更多更全内容