数据库和C++实验报告1

上传人:飞*** 文档编号:47499267 上传时间:2018-07-02 格式:PDF 页数:24 大小:986.71KB
返回 下载 相关 举报
数据库和C++实验报告1_第1页
第1页 / 共24页
数据库和C++实验报告1_第2页
第2页 / 共24页
数据库和C++实验报告1_第3页
第3页 / 共24页
数据库和C++实验报告1_第4页
第4页 / 共24页
数据库和C++实验报告1_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据库和C++实验报告1》由会员分享,可在线阅读,更多相关《数据库和C++实验报告1(24页珍藏版)》请在金锄头文库上搜索。

1、南京信息工程大学实验( 实习 )报告(一)实验 (实习 ) 名称 SQL查询实验实验 ( 实习 ) 得分指导老师姜青山系 计算机专业计算机科学与技术班级 1 姓名郑国秋学号 20122308032 一、 实验目的数据查询语句是SQL语句的重要组成部分,是编程人员与数据库管理人员必不可少的工具,通过实验达到以下目的:(1)掌握 SELECT 语句的基本语法,加深学生对查询语句基本概念的理解。(2)掌握简单的单表查询。(3)掌握连接查询。二、实验内容:实验数据:实验二所建的数据库及表,实验三录入表中的数据。1、 简单查询(1) 若干列或行的选择(2)*、distinc、 between ,and,

2、、 in 、 like等运算符的使用(3)计算列、常量或空值的查询(4)查询结果排序和分组2、连接查询(1)内连接和自身连接(2)外连接(3)复合条件连接(4)多表连接(5)对表和列使用别名三、实验环境SQL server 2000,pc 机一台四、程序源码与运行结果1. 查询所有学生的全部信息2. 查询全体学生的学号与姓名3 查询年龄在20 岁以下的学生姓名及其出生年份,并为出生年份加上标题4 查询选修了课程的学生学号,并消除重复行5 查询年龄在2023 岁的学生信息(用between, and , 表示查询条件)6 查询全体学生情况,查询结果按班级编号升序排列,同一班的学生按年龄降序排列7

3、 查询所有姓赵学生的姓名、学号和性别8 查询名字中第2 个字为“小”字的学生姓名9 查询电气信息工程学院(dx) 和计算机学院(jsj )的学生(要求:使用IN 关键字表示查询条件10 查询没有考试成绩的学生学号和课程号11 查询有 2 门以上课程是90 分以上的学生的学号及( 90 分以上的) 课程数(先用 group by 分组,再用Having 限定分组条件)12 查询学生总人数13 查询学号为20070101学生的平均成绩和总成绩,并为总成绩和平均成绩取别名。14 查询 c01 号课程的最高分数和最低分15 查询没有考试成绩的学生学号和课程号16 查询全体学生的姓名、选修的课程名及成绩

4、17 查询每个学生及其选修课程情况的所有信息(用* 表示字段18 查询某门课程考试成绩相同的学生学号和课程名,并为各个表取别名19 查询与“张三”在一个系学习的学生(IN)20 查询选修了“数据结构”的学生学号和姓名五、实验总结列名写错:修改列名:实验小结:通过本次实验,我学习SELECT 语句的基本语法,加深了对查询语句基本概念的理解,同时掌握简单的单表查询和连接查询。南京信息工程大学实验( 实习 ) 报告(二)实验 (实习 ) 名称 SQL更新实验实验 (实习 ) 得分指导老师姜青山系 计算机专业计算机科学与技术班级 1 姓名郑国秋学号 20122308032 一、实验目的(1)掌握向表中

5、插入一个或多个元组的方法。(2)掌握删除表中一个或多个元组的方法。(3)掌握修改表中一个或多个元组的方法。(4)掌握视图的创建、查询和更新操作。二实验环境装有 SQL server 2000的计算机三、实验内容与步骤1. 插入数据(1)插入一行数据例:将新商店(s05,沃尔玛,上海)插入到Shop表中。(2)插入多行数据例:创建与表Shop具有相同结构与相同数据的新表Shop1。2. 修改数据(1)修改一行数据例:将商店s02 的商店名改为红五星。(2)修改多行数据例:将所有商品的价格增加100 元。3. 删除数据(1)删除一行数据例:删除s05 商店的基本信息。(2)删除多行数据例:删除苏果

6、商店的所有销售记录。四、实验过程与分析1. 插入数据(1)插入一行数据例:将新商店(s05,沃尔玛,上海)插入到Shop表中。insert into shop(shopno,shopname,shopaddress) values(s05,沃尔玛 ,上海 ) (2)插入多行数据例:创建与表Shop具有相同结构与相同数据的新表Shop1。create table shop1 (shopno char(3),shopname char(10),shopaddress char(20); insert into shop1(shopno,shopname,shopaddress) select *

7、from shop 2. 修改数据(1)修改一行数据例:将商店s02 的商店名改为红五星update shop set shopname=红五星 where shopno=s02 (2)修改多行数据例:将所有商品的价格增加100 元。update product set proprice=proprice+100 3. 删除数据(1)删除一行数据例:删除s05 商店的基本信息。delete from shop where shopno=s05 (2)删除多行数据例:删除苏果商店的所有销售记录。delete from sale where shopno=S03 实验小结:通过本次试验,我掌握了向

8、表中插入一个或多个元组的方法和删除表中一个或多个元组的方法,同时也掌握修改表中一个或多个元组的方法和视图的创建、查询和更新操作。南京信息工程大学实验( 实习 ) 报告(三)实验 ( 实习 ) 名称: 数据库安全性实验实验 ( 实习 ) 得分:指导老师:姜青山系 计算机专业计算机科学与技术班级 1 姓名郑国秋学号 20122308032 一 实验目的1. 熟悉通过SQL语句对数据进行安全性控制;2. 针对具体应用要求,完成授权和收回权限的操作;二 实验工具SQL Server 2005 利用 SQL Server 2005 SSMS 及其 SQL查询编辑器。三 实验内容和要求使用 SQL对数据进

9、行安全性控制,包括: 授权和权力回收。操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力。根据以上要求认真填写实验报告,记录所有的实验用例。具体操作可以参照课件中的实例。具体操作内容:创建以下两个关系模式,并分别插入相应的数据。职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门号,名称,经理名,地址,电话号码)(1)请用 SQL的 Grant 和 Revoke 语句(加上视图机制)完成以下授权定义或存取控制功能,并进行相应的安全性测试;(a)用户祁风对两个表有select权力;(b)用户夏欣对两个表有insert和 de

10、lete权力;(c)每个职工只对自己的记录有select权力;(d)用户萧何对职工表有select权力,对工资字段具有更新权力;(e)用户周怡具有修改这两个表的结构的权力;(f )用户谢言具有对两个表所有权力(对,插,改,删数据),并具有给其他用户授权的权利;(g)用户陈欢具有从每个部门职工中select最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。(2)把上面( a)( g)的每一种情况,撤销各用户所授予的权力。四 实验报告4.1 实验环境:Windows XP Microsoft SQL server Management Studio 2005 4.2 实验内容与完成情况:

11、- 新建数据库create database work go use work - 创建以下两个关系模式,并分别插入相应的数据。-Worker (职工号,姓名,年龄,职务,工资,部门号)go create table Worker( 职工号 varchar(10), 姓名 char(10), 年龄 int, 职务 char(15), 工资 int, 部门号 char(50) ) -Section(部门号,名称,经理名,地址,电话号码)create table Section ( 职工号 char(10), 名称 char(10), 经理名 char(10), 地址 char(50), 电话 c

12、har(15) ); go - 插入部门信息insert into Section values(a001,市场部门 ,李永 ,白理工 ,13750000000); insert into Section values(a002,营销部门 ,李刚 ,白理工 ,13750000000); - 插入职工信息insert into Worker values(a001001,祁风 ,20,市场营销员 ,2000,a001); insert into Worker values(a001002,李村 ,29,市场营销员 ,2000,a001); insert into Worker values(a0

13、01003,李永 ,20,经理 ,5000,a001); insert into Worker values(a002001,罗杰 ,18,销售员 ,2000,a002); insert into Worker values(a002002,李红 ,24,销售员 ,2000,a002); insert into Worker values(a002003,李刚 ,32,经理 ,5000,a002); - 查询部门表和职工表的数据select *from Worker; select *from Section; go - 授权use work go - ( a)用户祁风对两个表有select权

14、力;create login 祁风 with password=N1234; create user 祁风 for login 祁风 ; grant select on Worker to 祁风 ; grant select on Section to 祁风 ; - 插入数据权限测试insert into Worker values(a002004,罗红 ,28,销售助理 ,4000,a002); - 查询数据权限测试select *from Worker; - ( b)用户夏欣对两个表有insert和 delete权力;use work go create login 夏欣 with pas

15、sword=N1234; create user 夏欣 for login 夏欣 ; grant insert,delete on Worker to 夏欣 ; grant insert,delete on Section to 夏欣 ; - 插入数据权限测试insert into Worker values(a002005,罗莉 ,52,销售助理 ,4000,a002); - 查询数据权限测试select *from Worker; - 删除权限测试delete Worker from where 职工号 =a002001; - ( c)每个职工只对自己的记录有select权力;use work go create view Myself as select * from Worker where 姓名 =user; grant select on Myself to public; - ( d)用户萧何对职工表有select权力,对工资字段具有更新权力;use work go create login 萧何 with password=N1234; create user 萧何 for login 萧何 ; grant select,update(工资 ) on Worker to 萧何 ; - 更新修改权限测试update Worker set 工资 =3500

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号