数据库系统原理实验报告
实验一 SQL Server基本使用与数据定义
一.实验目的
1.掌握“服务管理器” 、“企业管理器”及“查询
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
器”基本使用方法;
2.熟悉数据库建模及E/R图的画法;
3.掌握SQL Server 中数据库、及数据表的建立与管理方法;
4.掌握数据的导入/导出及数据库备份/还原方法。
二.实验内容
一、SQL Server 基本使用
1.启动SQL SERVER。
2.注册服务器
3.企业管理器属性
4.查询分析器介绍
5.查看数据库及浏览表中记录
二、数据库的建立与管理
1.数据库建模
2.启动、并打开SQL Server
3.使用图形界面创建数据库和表
4.使用查询分析器创建表
5.数据库的备份与还原
实验二 SQL查询
一.实验目的:
1.掌握SQL语言中SELECT语句的多种查询方式。
2.掌握对表建立与删除索引的方法。
3.掌握聚焦函数的使用方法。
4.掌握集合查询方法。
二.实验内容:
1.建立与删除[索引]的方法。
在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。
CREATE INDEX 代理商No ON 代理商(代理商编号)
CREATE INDEX 客户No ON 客户(客户编号)
CREATEINDEX产品NoON产品(产品编号)
CREATEINDEX订单NoON订单(订单编号)
2.单表查询,
① 从产品表中查询现有产品的库存量。
SELECTCOUNT(*)
FROM产品
② 从客户表中查询“王五”的地址及代理商编号。
SELECT地址,代理商编号
FROM客户
WHERE姓名='王五'
③ 从代理商表中查询代理商“惠普”的提成金额。
SELECT提成金额
FROM代理商
WHERE姓名='惠普'
④ 从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。
SELECT产品编号,订购数量
FROM订货项目
WHERE订单编号='444'
⑤ 分别求代理商和客户的总数。
SELECTCOUNT(*)代理商数
FROM代理商
SELECTCOUNT(*)客户数
FROM客户
⑥ 从订货项目表中,查询编号为0033的产品定货总数量。
SELECTCOUNT(*)订货总数量
FROM订货项目
WHERE订单编号='0033'
3.多表查询
① 查询编号为300的客户通过的代理商的姓名和地址。
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*
FROMStudent
WHERESdeptIN(SELECTSdept
FROMStudent
WHERESname=”刘晨”)
② 查询选修了课程名为“操作系统”的学生。
SELECTSname
FROMStudent
WHERESnoIN(SELECTSno
FROMSC
WHERECnoIN(SELECTCno
FROMCourse
WHERECname=”操作系统”))
实验三、数据更新与视图
一.实验目的:
1.掌握向表中进行数据更新的方法。
2. 掌握视图的创建与删除方法。
3.掌握视图的查询与更新方法。
4. 掌握进行集合查询的方法。
二.实验内容:
1.插入数据。
使用INSERT语句完成各表中数据的插入。
仅以此条为例:
INSERT
INTO客户(客户编号,姓名,地址,邮政编码,收支差额,贷款限额,代理商编号)
VALUES (600,'李明','西环路号','100001','20.00','300.00',03)
2.修改数据。
①更新所有代理商的提成比例为20%。
UPDATE代理商
SET提成比例=20
②为产品表格增加一个新字段----缺货量。
ALTERTABLE产品ADD缺货量INT
③将编号为0011的产品单价更新为1000。
UPDATE产品
SET价格=1000
WHERE产品编号= 0011
④创建一个名为deptage 表,一列存放系名(sdept),另一列存放相应的学生平均年龄(avgage)。对student表按系分组求平均年龄,存入deptage中。
CREATETABLEdeptage
(sdeptCHAR(20),
avgageINT
)
INSERT
INTOdeptage(sdept,avgage)
SELECTsdept,AVG(Sage)
FROMstudent
GroupBYsdept
3.删除数据。
①删除编号为700的客户。
DELETE
FROM客户
WHERE客户编号=700
②删除编号为05的代理商。
DELETE
FROM代理商
WHERE代理商编号=05
③删除编号为订单编号为444的所有订货信息。
DELETE
FROM订单
WHERE订单编号=444
4.建立视图
①建立含有订单号及拥有该订单的客户编号和代理商号三个字段的视图。
CREATEVIEW订单客户代理商
AS
SELECT订单.订单编号,订单.客户编号,客户.代理商编号
FROM订单,客户
WHERE订单.客户编号=客户.客户编号
②建立一个含有客户编号、客户所订的产品、该产品的订购价及该产品的描述四个字段的视图。
CREATEVIEW客户产品价格
AS
SELECT订单.客户编号,产品.产品编号,产品.价格,产品.描述信息
FROM订单,产品,订货项目
WHERE订单.订单编号=订货项目.订单编号AND订货项目.产品编号=产品.产品编号
③建立一个含有产品编号、产品库存量及产品在订量三个字段的视图。
CREATEVIEW产品订货
AS
SELECT产品.产品编号,产品.库存量,订货项目.订购数量
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) 用户名:vadmin
b) 服务器角色:sysadmin
c) 数据库角色:无
d) 权限:无
2. 服务器登录安全管理员(1人):可设置和管理用户登录帐号,授权访问订单数据库。
a) 用户名:vsafemanager
b) 服务器角色:securityadmin
c) 数据库角色:无
d) 权限:无
3. 数据库维护人员(1人):可对订单数据库进行任何操作,没有登录管理操作权限。
a) 用户名:vmaintainer
b) 服务器角色:无
c) 数据库角色:db_owner
d) 权限:无
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)权限
实验五 数据库连接与访问
开放数据库互连(ODBC)是Microsoft引进的一种早期数据库接口技术。它实际上是我们要在本章后面加以讨论的ADO的前身。Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。换句话说,访问DBF文件或其他数据库以得到数据库中的数据时,无需懂得数据库程序设计语言。
一.实验目的
1. 掌握客户端访问数据库的方法。
2. 掌握常用数据感知元件的应用。
二.实验内容
要求:根据以上方法,创建一主窗体和两个子窗体,在主窗体中使用按钮控制连接两子窗体。在子窗体中分别连接访问订单表和订货项目表,并用DBNavigator控制记录浏览。
本
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
使用VB.Net完成
使用了DataSet、BindingSource、TableAdapter等数据库连接控件