第一篇:数据库实验3-4
数据库实验3-4 任选两种方式之一建立实验2中的各数据库表(一运行给定的 “perfectPets.sql” script 文件二将各表数据用Excel表的方式导入数据库);然后编写 SQL programs 完成以下练习;最后完成实验报告。
1.列出所有宠物的名称和类型。
2.找到在2001年已经注册的每一个宠物的名称和类型
3.找出不是经理但拿最高薪水的工作人员的名字
4.列出每一个工资高于公司平均工资的员工名字
5.找出给宠物治疗的平均天数.6.对每一个诊所,列出诊所号码,所在城市, 所在州和养殖场数及状态
7.列出位于城市“Brea”的管理诊所的所有员工的第一个和最后一个名字
8.列出每个拥有“吉娃娃”宠物主人的名字(第一个和最后一个)
9.列出每一个业主的名字:拥有一个宠物并,参观了位于城市“Fullerton”的诊所
10.11.12.13.14.15.16.17.列出宠物治疗已经超过2天,治疗花费了超过100美元的宠物名称和类型 列出为经理但不管理任何诊所员工的名和姓(如。,职位是经理)。
列出为他/她的宠物预约但没有送来任何诊所的)宠物主人的名字(如。,没有检查或治疗的记录)找出接受最昂贵的治疗的宠物的名称和类型, 找到迄今为止最繁忙的宠物登记月。
列出每个宠物的名称和类型,以及主人的姓氏。如果宠物没有一个所有者,显示“丢失的宠物”
找到治疗每个类型的宠物的平均成本
列出拥有一个以上的宠物的宠物主人的(第一个和最后一个)名字
18.19.20.21.列出每一个需要再定购药物的名称及其当前的库存。当商品库存数量小于再订货的数量水平药物需要再定购。对库存数量排序。
找到药房库存药品价值最少的的诊所(如价值。一种药物计算价值,在其药房药品库存数量*价格)给每个宠物主人列出在哪个城市治疗过宠物花费多少。
列出在其诊所 有所有品种可用药物的 诊所号码,电话号码,和所在的城市。
第二篇:数据库实验
实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 实验内容:
(1)使用SSMS(SQL Server Management Studio)加入实验数据库。(2)使用SSMS可视化建立、修改和删除数据库、表。(3)使用SSMS对数据库进行备份和恢复。
(4)使用SSMS对表进行查询、插入、修改、删除。实验步骤:
(1)加入School数据库。(2)建立Test数据库。
(3)在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。
(4)用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。(5)备份Test数据库。(6)删除表PERSON。(7)恢复Test数据库。(8)删除Test数据库。
第三篇:数据库实验
3.实验步骤
在学生选课数据库中实现其查询操作,写出T-SQL语句(注:学生选课数据库为前三次实验课所建立的数
据库)
一、简单查询实验
(1)查询选修了课程的学生学号。
(2)查询选修课程号为0101的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按
学号升序排列。
(3)查询选修课程号为0101的成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
二、连接查询实验
(1)查询每个学生的情况以及他(她)所选修的课程。
(2)查询选修离散散学课程且成绩为90分以上的学生学号、姓名及成绩。
(3)查询每一门课的间接先行课(即先行课的先行课)
三、嵌套查询操作
(1)查询0101课程的成绩高于张林的学生学号和成绩。
(2)查询其他系中年龄小于计算机系年龄最大者的学生。
(3)查询同王洪敏“数据库原理”课程分数相同的学生的学号。
(4)查询选修了全部课程的学生的姓名。
(5)查询与学号为09001103的学生所选修的全部课程相同的学生学号和姓名。
(6)查询至少选修了学号为09001103的学生所选修的全部课程的学生学号和姓名。
四、组合查询和分组查询
(1)查找选修“计算机基础”课程的学生成绩比此课程的平均成绩大的学生学号、成绩。
(2)查询年龄大于女同学平均年龄的男同学姓名和年龄。
(3)列出各系学生的总人数,并按人数进行降序排列。
(5)查询选修计算机基础和离散数学的学生学号和平均成绩。
4、要求
请按题号依次作答,完成在word文档中,写明班级学号姓名,于周日之于周日之前发至xcf7@163.com,独立完成,严禁抄
第四篇:数据库第三次实验
南昌航空大学实验报告
2018年5月30日
课程名称:
数据库原理
实验名称: 数据库安全性 学号: 16206127 指导教师评定:
姓名: 周良 签名:
一,实验目的
1熟悉不同数据库中的保护措施——安全性控制,重点实践○
SQL SEVER的安全性机制,掌握SQL Sever中有关用户、角色及操作权限等的管理方法。
二,实验内容
1,SQL Server的安全模式
(1)利用T-SQL添加SQL Sever账号。
(2)利用T-SQL修改SQL Sever登陆账号属性。
(3)利用T-SQL删除SQL Sever登陆账号。
2,管理数据库用户
(1)利用T-SQL添加SQL Sever用户。
(2)利用T-SQL删除SQL Sever用户。
3,管理数据库角色
(1)利用T-SQL删除用户自定义角色,可以使用系统存储过程sp_droprole删除用户自定义角色。
4,权限管理
(1)利用T-SQL管理权限
1语句授权。○2对象授权。○3收回授权。○三,实验步骤
exec sp_addlogin 'qh','qh','jxgl','english'
四,exec sp_password 'qh','qhqxzsly','qh' 五,六,alter login qh with password='123456' 七,八,exec sp_droplogin qh 九,十,drop login qh 十一,十二,use jxgl 十三,exec sp_grantdbaccess 'DESKTOP-7M8SQ9T','qh' 十四,exec sp_revokedbaccess qh 十五,十六,use jxgl;
十七,exec sp_addrole 'newrole'
十八,exec sp_addrolemember 'newrole','qh' 十九,二十,exec sp_droprole 'newrole' 二十一,二十二,use master
二十三,grant create database to qh 二十四,二十五,二十六,grant create table,create view to qh 二十七,二十八,grant select on s to qh,qxz,sly 二十九,三十,grant insert,delete on s to shen 三十一,三十二,grant update on s(age,dept)to shen 三十三,三十四,grant execute on sp_ins_s to shen 三十五,三十六,revoke create table,create view form sly 三十七,三十八,revoke select on s from qxz ,sly 四,实验心得
通过此次实验我了解了SQL Sever中有关用户、角色及操作权限等的管理方法,同时也更加注重数据库安全性方面的问题,我们创建的每一个数据库都应该考虑安全性问题,应该为数据库创建一些必要的角色,同时也要管理数据库的权限方面,防止数据向外流失,或者被黑客盗用。
第五篇:数据库实验6
HUNAN UNIVERSITY
实验报告
题 目:
数据库实验六
学生姓名:
学生学号: 专业班级:
上课老师:
实验目的
熟悉使用存储过程来进行数据库应用程序的设计。
实验平台和实验工具
Windows10、mysql 实验内容及要求
对学生课程数据库,编写存储过程,完成下面功能:
1)统计离散数学的成绩分布情况,即按照各分数段统计人数; 2)统计任意一门课的平均成绩。
3)将学生选课成绩从百分制改为等级制(即A、B、C、D、E);
步骤:
在实验之前已经建立了student、course、score三张表
1)统计离散数学的成绩分布情况,即按照各分数段统计人数 i.创建sc_rank表存放结果
ii.创建存储过程
iii.执行存储过程
iv.执行结果
根据score可以看出操作成功。
删除存储过程 v.2)统计任意一门课的平均成绩 i.创建存储结果的表score_avg:cname存储课程名,avg存储平均成绩
ii.创建存储过程
iii.执行存储过程
iv.执行结果
由结果可以得出存储过程得以正确执行。
删除过程
3)将学生选课成绩从百分制改为等级制(即A、B、C、D、E)i.创建存储过程 v.ii.执行结果
从grade和newgrade的对比可以知道结果是正确的。
iii.删除存储过程
问题
在做第三小问的时候,出现了如下情况:
原因是:
我把不是游标范围内做的事情放到游标的范围里面去了,结果将列删除了,插入不成功,出现错误。
实验心得
在做这个实验的时候上网查了好多资料,用的是mysql,有些语法与课本上有差异,很多都要自己琢磨,在一些语法上其他的数据库可能简单一些(如kingbase上支持record类型),有一些可能又会难一点,不过总体来说都差不多,主要还是懂,即使只是一点点的不同,不知道也是做不出来的。所以,这些东西还是需要花一些时间去查阅资料和花点时间来消化的。
以下为mysql存储过程的一些知识点:
MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])IN 输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
OUT 输出参数:该值可在存储过程内部被改变,并可返回 INOUT 输入输出参数:调用时指定,并且可被改变和返回