首页 > 数据库 >实验三 数据库完整性、安全性实现

实验三 数据库完整性、安全性实现

时间:2023-05-23 11:25:37浏览次数:39  
标签:管理器 数据库 Server char 完整性 SQL 实验 安全性

一、实验目的: 使学生加深对数据库安全性和完整性的理解,并掌握 SQL Server 中有关用户、角 色及操作权限的管理方法,学会创建和使用规则、缺省和触发器以及存储过程。 二、实验要求: 通过实验对数据进行完整性控制、安全性维护。 三、实验步骤: 1、 开始→程序→Microsoft SQL Server→SQL Server Management Stdio。 2、 在“连接到服务器”对话框中,选择“Windows 身份验证”,点击“连接”,进入 SQL Server Management Stdio 操作界面。 3、数据库的安全性实验:设置 SQL Server 的安全认证模式,实现对 SQL Server 的用户 和角色管理,设置和管理数据操作权限。 4、数据库的完整性实验:使用 Transact-SQL 设计规则、缺省、约束和触发器,通过 SQL Server 管理器定义它们。 创建 students 数据库。利用如下 sql 语句在 students 数据库中创建表(具体含义见课 本 P33 页) CREATE TABLE Student ( Sno char ( 7 ) PRIMARY KEY, Sname char ( 10 ) NOT NULL, Ssex char (2), Sage tinyint , Sdept char (20) ) CREATE TABLE Course ( Cno char(10) NOT NULL, Cname char(20) NOT NULL, Ccredit tinyint , Semester tinyint, PRIMARY KEY(Cno) ) CREATE TABLE SC ( Sno char(7) NOT NULL, Cno char(10) NOT NULL, Grade tinyint, XKLB char(4) , PRIMARY KEY ( Sno, Cno ) ) 完成如下操作: (1)在 SQL Server 管理器中,创建一个新的 windows 登录名。 ( 2)在 SQL Server 管理器中为自己建立一个 SQL SERVER 服务器登录名(自己学号)。 ( 3)为所属的 SQL 服务器设置混合认证安全认证模式。 ( 4)用自己创建的登录名登录服务器。 ( 5)在 SQL Server 管理器中为自己建立一个 students 数据库用户(自己学号-user)和 角色(自己学号-role)。 ( 6)用管理器实现如下权限的分配: ① 将 student 表中“sname”、“ssex”、“sage”的修改权限赋予自己创建的数据库用 户。 ② 将 student 表、course 表、sc 表的查询权限授予自己创建的角色。 ③ 拒绝自己创建的角色拥有 sc 表中 grade 的修改权限。 ④ 将自己创建的数据库用户添加为自己创建的角色成员。 ( 7)用管理器创建触发器实现如下安全性和完整性: ①定义 course 表中 credit 属性为“3”的缺省。 ②建立 course 与 sc 表间来维护参照完整性而使用的一个级联删除触发器、一个级 联修改触发器和一个受限插入触发器。 ( 8)对“students 数据库”编写存储过程,完成下面功能: ① 统计成绩 60 分以下的人数; ② 统计给定 cno 的课程的平均成绩,并返回平均成绩;③将 sc 表中 grade 从百分制改为等级制( 5、4、3、2、1)。即 0-20 分为 1,21-40 为 2,4 1-60 为 3,61-80 为 4,81-100 为 5。 (9) 完成课本 P172 页的上机练习。 要求:仔细阅读每一步要求,分别用 SSMS 工具和 T-SQL 语句实现,请记录结果并分 析原因,在报告中写出 T-SQL 语句。 四、实验报告注意事项及要求: 1、 实验报告一律用“石家庄铁道大学实验报告纸”书写。 2、 实验报告中明确写明姓名、班级、学号、实验时间、实验名称等各项表头。 3、 实验报告各项完整:实验名称、实验内容、实验完成情况(包括实验设计思想、主 要技术问题的处理方法、实验过程等)、其他(说明、分析、建议、体会等)。

标签:管理器,数据库,Server,char,完整性,SQL,实验,安全性
From: https://www.cnblogs.com/yunbianshangdadun/p/17422764.html

相关文章

  • 实验三 数据库完整性、安全性实现(实验体会)
    在这个实验中,您将会学习如何创建数据库、表和触发器,并使用存储过程来实现一些数据查询和操作。此外,我们还将探讨如何授权用户和角色以保证数据库的安全性。在具体操作之前,请先下载并安装SQLServerManagementStudio(SSMS),然后按照以下步骤进行实验:打开SSMS,连接到本地数据库......
  • 实验三 数据库完整性、安全性实现(1)
    以下是可能的代码示例:创建数据库students、创建表Student、Course和SCCopyCodeCREATEDATABASEstudentsGOUSEstudentsGOCREATETABLEStudent(Snochar(7)PRIMARYKEY,Snamechar(10)NOTNULL,Ssexchar(2),Sagetinyint,Sdeptchar(20))G......
  • 实验一 数据库和表的建立、数据操作
    实验一数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。二、实验要求:建立一个数据库stumanage,建立三个关系表student,course,sc。向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。三、实验步骤:1、开始......
  • 实验一 数据库和表的建立、数据操作(1)
    建立数据库stumanage:SQLCopyCodeCREATEDATABASEstumanageON(NAME='stumanage_data',FILENAME='D:\stumanage\stumanage_data.mdf',SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=5MB)LOGON(NAME='stumanage_log',FILENAME=&......
  • 实验一 数据库和表的建立、数据操作(实验体会)
    我认为学习数据库和SQL语言对于今后从事计算机相关领域的工作和研究非常重要。通过这个实验,您深入了解了创建数据库和表、插入数据、数据修改和删除的方法,并学会了使用SQL语言进行数据操作。这将有助于您在未来的数据库设计和管理中获得更好的经验和技能。同时,也希望您能够不断......
  • redis专题六:redis 删除策略、淘汰策略、数据库与缓存数据一致性、事物、发布订阅
    文章目录一、删除策略二、淘汰策略三、数据库与缓存数据一致性四、redis事务五、redis发布订阅一、删除策略redis使用:惰性删除+定期删除1、定时删除–>以CPU内存换redis内存定时删除过期的缓存值2、惰性删除–>以redis内存换CPU内存查询到该key时如果过期,删除该过期的缓存值......
  • js 连接数据库 提示:ActiveXObject is not defined
    ActiveXObjectisnotdefined最近比较闲,上班瞎捣鼓一下,没想到报错了,提示ActiveXObjectisnotdefined大概是在js连接数据库时new对象使用的是ActiveXObject完事儿使用的浏览器是edge,但是在ie就没有问题,那么估计就是浏览器的设置问题点开edge的设置然后在默认浏览器的侧栏......
  • .net6中数据库查询报错:'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无
    错误语句:在数据库查询中使用skip()问题原因:数据库版本为SQLServer2008,不支持'Fetch'和'Next'语句SQLServer2012及后续版本才支持相关语句解决方法:1.引用包: System.Data.SqlClient和EntityFrameworkCore.UseRowNumberForPaging2.使用:在Program.cs中调整数据库连接bu......
  • 数据库设计三范式
    概述1NF是对属性的原子性约束,要求属性具有原子性,不可再分解反例: name-age非原子属性,违反1NF,应该拆解 2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性反例:订单表两个相同ID,不能确保唯一性,违反2NF。可以分开,插入中间表 3NF是对字段冗余性......
  • oracle_将一个数据库的某一张表复制到另一个数据库(表名与表结构结构相同,数据库不同)
    数据库:数据库A表名:student数据库A的库名:school_A数据库B表名:studentinsertintostudent--要把数据插入数据库B中的student表select*fromstudent@school_A--数据库A:school_A中的student表(注意1:school_A需要是登录状态注意2:输入@时,一般会有提示,也可根据......