精华内容
下载资源
问答
  • 数据库实验五

    2018-05-05 22:22:38
    这是关于数据库实验五的实验报告(SQL语言),里面的各种操作有代码也有截图,步骤详细。
  • 数据库实验五 数据库 实验五 数据库实验五 数据库 实验五 数据库实验五 数据库 实验五 数据库实验五 数据库 实验五 数据库实验五 数据库 实验五
  • 这个是哈尔滨工业大学计科专业数据库实验五的源码。实验要求对查询树进行逻辑优化并且画出逻辑树。在使用前请先参考我的博客,里面有使用说明。
  • 数据库实验五.doc

    2019-05-16 10:47:02
    南京晓庄学院数据库实验报告实验五--嵌套子查询设计实验
  • 作业七 索引 /视图 /同义词 /序列 一实验目的 掌握索引和视图的管理掌握同义词和序列的应用 二实验内容 创建使用和管理索引视图同义词序列 三实验步骤 1索引 创建表 employee并插入记录 create table employee( id ...
  • SQL数据库实验五答案复杂查询,包含:代码、程序截图、比较全面,适用于sql的数据库课程的实验。
  • 山东大学数据库实验五答案

    千次阅读 2015-04-28 15:12:52
    山东大学数据库实验五答案

    这个实验比着实验指导书上一步步做就可以得到结果啦,不过需要注意一下,如果实验过程中关掉客户端再重新打开的话可能会出现错误哦,具体原因尚不清楚,可能是因为没保存对数据库所做的更改吧。

    参考结果如下:

    create table test5_10 (
    test varchar(20),
    age numeric(3))
    insert into test5_10 values('结果1',88)
    insert into test5_10 values('结果2',90)
    insert into test5_10 values('结果3',90)
    insert into test5_10 values('结果4',86)
    insert into test5_10 values('结果5',90)
    insert into test5_10 values('结果6',90)
    insert into test5_10 values('结果7',86)
    insert into test5_10 values('结果8',86)
    insert into test5_10 values('结果9',76)
    insert into test5_10 values('结果10',86)

    补充:1.一个数据库事务起始于一个SQL语句,中止于以下4种事件之一:
                       COMMIT或ROLLBACK语句
                       DDL/DCL隐式提交
                       用户退出时自动提交
                      系统强行关闭时取消事务

    2.COMMIT 结束当前事务,并将所有数据变更

    3. ROLLBACK指令结束当前事务,并取消所有数据变更提交数据库生效

    4.数据在COMMIT/ROLLBACK前的状态:
    事务中所有数据变更都会被临时存放在数据库的缓冲池中,直到事务被提交或者回退。因而事务中早先的状态是可以被恢复的。
    用户可以通过SELECT语句查询自己发起事务的数据变更,即使事务未被提交。但不能看到他人发起事务中未被提交的数据。
    用户发起事务中的变更数据将被数据库系统锁定。除该用户外,其他用户不能对锁定的数据进行变更操作,直到锁定的数据被提交或回退。
    数据在COMMIT后的状态:
    数据变更在数据库中正式生效
    数据不可被还原
    所有用户可以看到变更数据
    数据锁将被释放,一度被锁定的数据重新可以被所有用户修改
    所有的保存点(savepoint)都被清除
    数据在ROLLBACK后的状态:
    所有数据变更都取消,数据状态恢复到事务开始前
    数据锁将被释放,一度被锁定的数据重新可以被所有用户修改
    回退到一个保存点.-----------------------------------------------------------------------------------摘自linux公社(http://www.linuxidc.com/Linux/2012-07/66711.htm)



    展开全文
  • 文章目录实验五 数据库的安全性一、实验目的二、实验内容和要求三、实验过程四、实验总结(遇到的问题及解决方法) 实验五 数据库的安全性 一、实验目的 掌握自主存取控制权限的定义和维护方法。 二、实验内容和要求 ...

    实验五 数据库的安全性

    一、实验目的

    掌握自主存取控制权限的定义和维护方法。

    二、实验内容和要求

    1.创建、删除用户
    2.授予权限
    3.回收权限
    4.使用角色
    要求:定义用户、角色、分配权限给用户、角色,回收权限,以相应的用户名登录数据库验证权限分配是否正确。

    三、实验过程

    实验过程中部分sql语句截图

    1.准备实验数据
    创建数据库s_t,创建学生表student、课程表course、选修表sc,向表中添加适量数据。
    2.在s_t数据库中,完成以下操作
    (1)创建用户zhangsan和wangwu

    create user zhangsan identified by123456;
    CREATE USER wangwu IDENTIFIED BY '123456';
    

    (2)授予用户zhangsan拥有学生表的所有权限,并可以给其他用户授权。

    grant all 
    on s_t.student 
    to zhangsan
    with grant option;
    

    (3)授予用户zhangsan在s_t数据库中创建视图的权限(create view)。

    grant create view
    on s_t.*
    to zhangsan;
    

    (4)授予用户wangwu对学生表具有查看权限,对姓名具有更新权限。

    GRANT SELECT,UPDATE(Sname)
    ON TABLE student
    TO wangwu;
    

    (5)使用用户zhangsan登录数据库,并将学生表的删除权限授予用户wangwu。
    grant delete on shujuku.student to wangwu;
    在这里插入图片描述
    (6)用户zhangsan创建视图student_info,视图包含信息系学生的学号、姓名和年龄。
    在这里插入图片描述
    (7)将视图student_info的查询权限授予用户wangwu。
    在这里插入图片描述
    网上查1142(42000)错误,发现是权限不够
    (8)分别使用用户zhangsan和wangwu登录数据库,设计SQL语句验证其是否具有相应权限。
    show grants for zhangsan;
    在这里插入图片描述
    show grants for wangwu;
    在这里插入图片描述

    (9)收回授予zhangsan和wangwu的所有权限

    REVOKE ALL
    ON shujuku.*
    FROM zhangsan;
    REVOKE ALL
    ON shujuku.student
    FROM zhangsan;
    
    REVOKE ALL
    ON shujuku.student
    FROM zhangsan;
    

    (10)为教务管理创建管理人员角色manager和教师角色teacher,通过对角色授权,使得管理人员拥有学生表和课程表的所有权限,对选课表可以进行查询、删除操作,并可以添加选课记录(不含成绩);使得教师能够查询所有表,并可以修改选课表中的成绩。

    CREATE role manager;
    CREATE role teacher;
    
    GRANT ALL
    ON shujuku.student
    TO manager;
    
    GRANT ALL
    ON shujuku.course
    TO manager;
    
    GRANT INSERT(Sno,Cno),SELECT,DELETE
    ON shujuku.sc
    to manager;
    
    GRANT SELECT
    ON shujuku.*
    TO teacher;
    
    GRANT ALL
    ON shujuku.sc
    TO teacher;
    
    grant insert(sno,cno)
    On sc
    To manager;
    

    (11)将角色manager授予管理员zhangsan,角色teacher授予教师wangwu。

    GRANT manager
    TO zhangsan;
    
    GRANT teacher
    TO wangwu;
    

    (12)使用用户zhangsan、wangwu分别登陆数据库,设计SQL语句验证其是否获得相应权限。

    select current_role();
    set role manager;
    

    (13)删除角色teacher和用户wangwu。

    DROP role teacher;
    DROP role manager;
    

    四、实验总结(遇到的问题及解决方法)

    使用grant和revoke语句向用户授予或收回对数据的操作权限。
    Mysql创建用户,例:create user zhangsan identified by ‘123456’;
    在使用mysql可视化工具Navicat for mysql,这些功能不好验证,没有找到使用用户登录数据库的方法,于是在创建好用户对用户功能进行验证时大多使用的命令行,在命令行输入相关语句。
    查看用户权限
    在命令行使用语句show grants for zhangsan;可查看用户张三的权限
    也可在可视化工具中查看图形化的用户权限界面。

    展开全文
  • 数据库实验五/SQL的数据查询

    千次阅读 2018-11-11 10:11:23
    数据库实验五 本学期数据库实验 SQL的数据查询 一、实验目的 1. 熟练使用SQL语言select 命令进行数据库数据的各类查询:单表查询、多表连接查询、分组统计查询及嵌套查询等。 2.会使用带有子查询的数据更新...

    数据库实验五

    本学期数据库实验,之前又看到别人写的,但是有一部分有点小错,于是还是自己上机实验的代码比较靠谱,这里贴出来供大家参考
    /

    /

    如果有错误 还望指出

    ///

    SQL的数据查询

    一、实验目的

    1. 熟练使用SQL语言select 命令进行数据库数据的各类查询:单表查询、多表连接查询、分组统计查询及嵌套查询等。

    2.会使用带有子查询的数据更新命令insert、update、delete。

    二、实验准备及任务

    1.复习教材上SQL语言中select 命令和带有子查询的insert、update、delete

    命令。

    2.使用教师已经录入相关数据的附录二的“xsglsjk”数据库,完成以下查询,预先写好相应的命令。

    (1)查询姓名中第二个字为“勇”的男学生的姓名和班级。

    (2)查询成绩为68、78、88和98的选修记录。

    (3)查询选修了“4”号课程没有成绩的学生学号。

    (4)查询“00311”班所有女生的学号、姓名和出生年份。

    (5)查询“李勇敏”同学的班长姓名。

    (6)查询“2001102”同学的选课门数。

    (7)统计学生表中的班级数。

    (8)查询“00311”班每位同学的课程平均分。

    (9)查询哪些学生最低分大于70,最高分小于90,输出他们的学号。

    (10)计算Student×Cj×Course的结果。

    (11)以clno升序、Sage降序列出Student表的学生信息。

    (12)列出成绩高于学号为“2000101”、课程号为“3”的成绩的所有选课记录。

    (13)查询和“张婷婷”同学在同一班级的学生信息。

    (14)查询不及格课程在三门及以上的同学。

    (15)*查询选修了目前Course中所有课程的同学。

    1. 完成带有子查询的insert、update、delete的任务,预先写好相应的命令。

    (16)对每位同学,求平均成绩,并把结果存入新建立的表中。

    (17)将班级号为“01312”班级的所有女学生的成绩加5分。

    (18)删除“01311”班级的所有学生的成绩记录。

    我只贴上几个我认为还不错的,太简单的就不放代码了

    select sname
    from student
    where sno in  
    	(select monitor
    	 from class
    	 where clno in
    	 (
    		select clno
    		from student
    		where sname = '李勇敏'
    	 )
    	);
    
    select COUNT(distinct cno)
    from cj 
    where sno = '2001102'
    //
    
    select  distinct sno 
    from cj
    where cj.grade > 70 and cj.grade <90;
    
    
    select sno,avg(grade)
    from cj
    where sno in 
    			(select sno
    			 from student
    			 where clno = '00311'
    			)
    group by sno
    
    //
    select sno,clno,sage
    from student
    order by  sage desc,clno asc;
    
    //
    
    	
    select grade,cno,sno
    from cj
    where grade > 
    			(
    			select grade
    			from cj
    			where sno = '2000101' and cno = 3
    			)
    
    select  sno ,count(cno) 不及格科目数
    from cj
    where grade < 60 
    group by (sno)
    having COUNT(cno) >= 3
     
    
    select  sno ,AVG(grade) 平均成绩
    from cj
    group by (sno)
     
     
    
    展开全文
  • 作业七 索引 / 视图 / 同义词 /序列 一实验目的 掌握索引和视图的管理掌握同义词和序列的应用 二实验内容 创建使用和管理索引视图同义词序列 三实验步骤 1索引 创建表 employee并插入记录 create table employee( id...
  • 西北工业大学,软件学院,数据库实验实验五,附ER图和说明 Create the complete ER schema for your E-Commerce database from the E-Commerce Project Description in the Appendix.
  • 视图的创建与使用 (1)理解视图的概念。 (2)掌握创建视图、测试、加密视图的方法。 (3)掌握更改视图的方法。 (4)掌握用视图管理数据的方法。
  • –在选修数据库中,以Student(sno,sname,ssex,sage,sdept),Course(cno,cname,cpno,credit),SC(sno,cno,grade)表为基础完成下列完整性约束。 –(1)为数据库表Course创建check约束:当插入或修改一个记录时,确保...

    –1、创建、删除约束
    –在选修数据库中,以Student(sno,sname,ssex,sage,sdept),Course(cno,cname,cpno,credit),SC(sno,cno,grade)表为基础完成下列完整性约束。
    –(1)为数据库表Course创建check约束:当插入或修改一个记录时,确保学分为1-8之间。

    alter table course add constraint c1 check(credit between 1 and 8 );
    

    –(2)为数据库表Student创建check约束:当插入或修改一个记录时,确保女学生年龄<30,确保男学生年龄<40。

    alter table student add constraint s1 check((ssex='男' and sage<40) or (ssex='女' and sage<30) );
    

    –(3)为数据库表SC创建check约束:当插入或修改一个记录时,确保成绩为0-100之间。

    alter table sc add constraint sc1 check(grade between 0 and 100);
    

    –(4)为数据库表SC中sno,cno创建外键约束。

    alter table sc add constraint fk_sc_sno foreign key(sno) references student (sno) ;
    alter table sc add constraint fk_sc_cno foreign key(cno) references course (cno) ;
    

    –2、创建、删除触发器
    –在选修数据库中,以Student(sno,sname,ssex,sage,sdept),Course(cno,cname,cpno,credit),SC(sno,cno,grade)表为基础完成下列触发器。
    –(1)为数据库表SC创建一个触发器:当插入或修改一个记录时,确保此记录的成绩为0-100之间。

    create trigger tr_sc1   on sc for insert,update as
    	declare @sc_grade tinyint 
    	select @sc_grade=grade FROM inserted
    	IF @sc_grade not between 0 and 100
    	BEGIN
    		PRINT '成绩超出0~100!请重新输入。'
    		Rollback Transaction
    	END
    

    –(2)为数据库表Student创建一个触发器:当插入或修改一个记录时,确保女学生年龄<30,确保男学生年龄<40。

    create trigger tr_s   on student for insert,update as
    	declare @s_age int ,@s_sex char 
    	select @s_age=sage FROM inserted
    	select @s_sex=ssex FROM inserted
    	IF  (@s_sex='女' and @s_age<30) or (@s_sex='男' and @s_age<40)
    	commit
    	else
    	BEGIN
    		PRINT '数据不合法.'
    		rollback transaction
    	END
    

    –(3)为数据库表Student、SC、Course创建参照完整性,级联删除和级联修改触发器。

    //级联删除

    create trigger DC_SC
    on course for delete
    as 
    declare @cno_del char
    select @cno_del=cno from deleted
    delete from sc where cno=@cno_del 
    
    create trigger DS_SC
    on student for delete
    as 
    declare @sno_del char
    select @sno_del=sno from deleted
    delete from sc where sno=@sno_del 
    

    //级联更新

    create trigger UC_SC
    on course for update 
    as
    declare @cno_old char,@cno_new char
    select @cno_old=cno from deleted
    select @cno_new=cno from inserted
    update sc set cno=@cno_new where cno=@cno_old
    
    create trigger US_SC
    on student for update 
    as
    declare @sno_old char,@sno_new char
    select @sno_old=sno from deleted
    select @sno_new=sno from inserted
    update sc set sno=@sno_new where sno=@sno_old
    

    有大佬发现错误可以指点指点我

    展开全文
  • 实验五 备份与恢复一.实验目的二.实验内容三. 实验过程1.对orcl数据库进行一次完全冷备份。2.对orcl数据库的所有表空间进行热备份。3.在数据库中创建一张表t1,表结构自定。在表中插入若干数据。破坏表t1所在的...
  • 数据库实验五 完整性

    千次阅读 2018-07-06 16:26:56
    一、实验目的:1、掌握数据库约束的概念;2、熟悉SQL SERVER 的完整性约束技术。3、了解SQL SERVER 的违反完整性处理措施。二、实验环境: Windows下的SQL三、实验内容:1.在前几次实验所使用的数据库中新建一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,196
精华内容 478
关键字:

数据库实验五