第一篇:大学生数据库实验课实验四报告
《数据库技术及应用》
实验四、SQL语言数据定义语言DDL
学生姓名
学生班级
学生学号
指导老师
重庆邮电大学计算机学院 计算机专业实验中心 一. 实验内容
在 Navicat for MySQL 中使用 CREATE 命令完成对表、索引、视图、同义词 的创建,使用 DROP 命令完成对表、索引、视图、同义词的删除,使用 ALTER 命 令对表结构进行修改及完整性约束的增加、删除。
二. 实验步骤
1.启动 Navicat for MySQL,在 MySQL – 新建连接中完成连接参数配置。2.登录到本地数据库服务器后,连接到 test 数据库上。3.用 SQL 语句(如下),建立如下所示的表 student;
4.同理
5.同理
6.用 Drop Table 语句删除表 CourseAa。
7.用 Alter Table 语句更新表 ChooseBb,添加一个属性名 Bb4,类型 Varchar, 长度 20,完整性约束设为非空值,缺省值设为字符“系统测试值”。
8.用 Alter Table 语句更新表 ChooseBb,添加一个属性名 Bb5,类型 Varchar, 长度 10,完整性约束设为主码。完成后,表 ChooseBb 的设计如下所示。
9.用 Create View 语句建立一个视图 View_Choosebb,生成的视图属性名(View_bb1,View_bb2,view_bb3), 其中 View_bb1 对应于基表 ChooseBb 的 Bb1、View_bb2 对应于基表 ChooseBb 的 Bb4、view_bb3 对应于基表 ChooseBb 的 Bb5。完成后,视图 View_Choosebb 的设计如下所示。
10.用 Drop View 语句删除视图 View_Choosebb。
11.用 Create Index 语句对表 ChooseBb 的 Bb2 属性建立一个升序索引,索引名 Index_bb2。用 Create Index 语句对表 ChooseBb 的 Bb4 属性建立一个降序索引,索引名 Index_bb4。
12.用 Drop Index 语句删除索引 Index_bb2。
三. 心得体会
因为有理论课的基础,本次实验相对轻松,很快就完成了。不过中间出现了许多小错误,还好及时改正了。在实践中体会这些平时学理论未注意到的小细节才能更好的掌握知识。
第二篇:大学生数据库实验课实验六报告
《数据库技术及应用》
实验六、SQL数据查询语言 DQL
学生姓名 学生班级 学生学号 指导老师
重庆邮电大学计算机学院 计算机专业实验中心
一. 实验内容
本次实验用于了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
实验步骤:执行以下内容
1.启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。用Create Table建立Student表、Course表和Choose表:
(建表语句并非本次重点略)
2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:
1中的截图就是已经运行这些语句后截图的结果。
3.用SELECT语句,查询计算机学院学生的学号和姓名。
4.用between…and…表示查询条件,查询年龄在20~23岁的学生信息。
5.用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。
6.用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose表中C1课程的最高分、最低分、总分、平均分。
7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。
8.查询学生的学号、姓名、选修的课程名及成绩。
9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。
10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。
11.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号
12.用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。
二. 遇到的问题&解决
在步骤10的嵌套查询中因为多个表中存在同名列,而我的语句指代不明一直错误,在老师的帮助下发现了这个问题并解决。
三. 心得体会
查询语句是本课程最重要的项目,完成了课上的实验后我还得自行多加练习才行。因为这次相比前面几次,难度明显增大了(容易犯很多错误)。
第三篇:数据库实验四
山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库 同组者: 实验日期: 2018.5.22
实验四 数据库安全性和完整性
一.实验目的
1.加深对数据库安全性和完整性的理解 2.学会授权与回收
3.理解并体会数据库实体完整性、参照完整性、用户定义的完整性约束条件的作用
二.实验内容
用户 sa SQL语言:
select * from s;
select * from p;select * from j;select * from spj;
--1.设置用户a对SPJ表的查询权限。
create login a with password = 'aaaaaaaa';
create user a;
grant select on spj to a with grant option;
--2.设置用户b对S表、P表具有修改的权限,并要求b能够将该权限授予其它用户c,并验证用户c具有该权限。山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库 同组者: 实验日期: 2018.5.22 create login b with password = 'bbbbbbbb';create login c with password = 'cccccccc';create user b;create user c;
grant select,update on s to b with grant option;
grant select,update on p to b with grant option;
--3.收回用户a、b的权限,并验证用户c权限的情况。revoke select on spj from a cascade;
revoke select, update on s from b cascade;
revoke select, update on p from b cascade;
--4.对实验1中创建的表,用图形用户界面建立外键联系,并验证外键的作用。delete from s where sno='s1';山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库 同组者: 实验日期: 2018.5.22
--5.对实验1中创建的表,设置零件的颜色必须在红、橙、黄、绿、青、蓝、紫 七种颜色范围内,零件重量不能超过50的约束条件,并给这两种约束条件命名。alter table p add constraint c1 check(color in('红','橙','黄','绿','青','蓝','紫'));
alter table p add constraint c2 check(weight <= 50);
--6.设置SPJ表中供应零件的数量都不能超过1000 alter table spj add constraint c3 check(qit <= 1000);
--7.设置S表中的供应商号以字母‘S’开头 alter table s add constraint c4 check(sno like 'S%');山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库 同组者: 实验日期: 2018.5.22
--8.验证各个表的实体完整性。
--验证P表 insert into p values('P7','齿轮','黑',40);
insert into p values('P7','齿轮','黑',50);
insert into p values('P7','齿轮','黄',20);
--验证SPJ表 insert into spj(qit)values(2000);
insert into spj(qit)values(999);山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库 同组者: 实验日期: 2018.5.22
--验证S表
insert into s(sno)values('A1');
insert into s(sno)values('S6');
用户a SQL语言:
select * from spj;
select * from s;用户b SQL语言:
grant select,update
on s to c;
grant select,update on p to c;
update p set color='黄' where pno='p1';山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库 同组者: 实验日期: 2018.5.22
update s set status=10 where sno='s1';
select * from s;用户c SQL语言:
update p set color='黄' where pno='p1';
select * from p;
第四篇:数据库实验
实验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,独立完成,严禁抄