桂林电子科技大学数据库系统原理实验报告

更新时间:2024-04-22 02:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

桂林电子科技大学计算机科学与工程学院

数据库系统原理实验报告

实验一 SQL Server基本使用与数据定义

一.实验目的

1.掌握“服务管理器” 、“企业管理器”及“查询分析器”基本使用方法; 2.熟悉数据库建模及E/R图的画法;

3.掌握SQL Server 中数据库、及数据表的建立与管理方法; 4.掌握数据的导入/导出及数据库备份/还原方法。

二.实验内容

一、SQL Server 基本使用

1.启动SQL SERVER。 2.注册服务器 3.企业管理器属性 4.查询分析器介绍

5.查看数据库及浏览表中记录

二、数据库的建立与管理

1.数据库建模

2.启动、并打开SQL Server 3.使用图形界面创建数据库和表 4.使用查询分析器创建表 5.数据库的备份与还原

1

桂林电子科技大学计算机科学与工程学院

实验二 SQL查询

一.实验目的:

1.掌握SQL语言中SELECT语句的多种查询方式。 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'

3.多表查询

① 查询编号为300的客户通过的代理商的姓名和地址。

2

桂林电子科技大学计算机科学与工程学院

SELECT 代理商.姓名,代理商.地址 FROM 代理商.客户

WHERE 代理商.代理商编号=客户.代理商编号 SELECT 客户编号,客户姓名 FROM客户.订单项目 ,订单

WHERE 客户.客户编号=订单.客户编号AND 订单.订单编号=订单项目.订单编号AND 产品编号=0033 AND 订购数量>100

② 查询产品编号为0033、订货数量大于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=”操作系统”))

3

桂林电子科技大学计算机科学与工程学院

实验三、数据更新与视图

一.实验目的:

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 FROM 客户

4

桂林电子科技大学计算机科学与工程学院

WHERE 客户编号=700 DELETE FROM 代理商

WHERE 代理商编号=05 DELETE FROM 订单

WHERE 订单编号=444

②删除编号为05的代理商。

③删除编号为订单编号为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 订单客户代理商 SELECT 产品编号,价格 From 客户产品价格

WHERE 客户编号=400

5

②查询编号为400的客户所订的产品以及该产品的单价。

桂林电子科技大学计算机科学与工程学院

实验四 数据库的安全

一.实验目的

1.掌握SQL Server 中数据库安全性管理的策略与方法。

二.实验内容

数据库的安全主要包括几个方面的内容:安全模式,SQL Server服务器安全, SQL Server登录帐号, 角色, SQL Server用户和许可等内容. 安全模式包括如下内容: (1) 安全规划:

(2) 选择安全的形式:指选择用户登录的登录认证方式.

(3) 配置安全角色实验完成规划实施某部门SQL Server安全策略 具体要求如下: 1. 部门总监(1人):作为系统管理人员,允许任何操作。

a) 用户名:vadmin b) 服务器角色:sysadmin c) 数据库角色:无 d) 权限:无

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

a) 用户名:vsafemanager b) 服务器角色:securityadmin c) 数据库角色:无 d) 权限:无

3. 数据库维护人员(1人):可对订单数据库进行任何操作,没有登录管理操作权限。

a) 用户名:vmaintainer b) 服务器角色:无 c) 数据库角色:db_owner d) 权限:无

6

桂林电子科技大学计算机科学与工程学院

4. 数据录入人员(2人):可进行数据录入,不能创建与修改表结构及其它授权等操作。

a) 用户名:vdata_in01,vdata_in02 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)权限

7

桂林电子科技大学计算机科学与工程学院

实验五 数据库连接与访问

开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。它实际上是我们要在本章后面加以讨论的ADO的前身。Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问DBF文件或其他数据库以得到数据库中的数据时,无需懂得数据库程序设计语言。

一.实验目的

1. 掌握客户端访问数据库的方法。 2. 掌握常用数据感知元件的应用。

二.实验内容

要求:根据以上方法,创建一主窗体和两个子窗体,在主窗体中使用按钮控制连接两子窗体。在子窗体中分别连接访问订单表和订货项目表,并用DBNavigator控制记录浏览。 本题使用VB.Net完成

使用了DataSet、BindingSource、TableAdapter等数据库连接控件

8

本文来源:https://www.bwwdw.com/article/ipop.html

Top