实验四-数据库安全性2020

合集下载

数据库系统实验报告4(简单图书馆管理数据库的实现)

数据库系统实验报告4(简单图书馆管理数据库的实现)

6
图书信息表:
2.还书后: 借阅信息表:
图书信息表:
备注: 1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少 页。 2、本课程包含多次实验,请每次实验项目填写一份。
7
2
利用 sf_borrow,sf_return 进行借、还操作,并注意数据库中三个表的数据变化情况。 三、实验结果及分析 (一)创建数据库和数据表: 选择用企业管理器创建数据库、数据表
3
(二)数据相关操作: 1.查询:
2.删除:
4
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作: 1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 CREATE TRIGGER Insert_borrow ON dbo.借阅信息表 FOR INSERT AS begin update 图书信息表 set 状态=0 from Inserted i,图书信息表 t where t.书号=i.书号 end 2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。
作者 sql c++ ms java c# net
状态 1 1 1 1 1 1
借书证号 1 2 3
姓名 张三 李四 王五
住址 学三 学四 学五
并对这两个表进行删除、更新、和查询等操作 三、创建触发器、和存储过程进行借、还书操作 1) 针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 2) 针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。 3) 创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证 号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。 4) 创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号 作为参数。

北邮大三数据库实验四数据库接口实验

北邮大三数据库实验四数据库接口实验

北邮大三数据库实验四数据库接口实验在北邮大三的学习进程中,数据库实验四——数据库接口实验,成为了我们深入探索数据库世界的重要一步。

这一实验不仅考验着我们对数据库理论知识的掌握,更要求我们具备将理论应用于实际操作的能力。

数据库接口实验的目的在于让我们理解和掌握如何通过编程实现与数据库的交互。

这意味着我们要学会使用特定的编程语言和数据库连接技术,来执行诸如数据的插入、查询、更新和删除等操作。

对于计算机专业的学生来说,这是一项至关重要的技能,因为在实际的软件开发中,几乎所有的应用都需要与数据库进行有效的沟通和数据管理。

在开始实验之前,我们首先需要明确实验所使用的数据库管理系统。

常见的有 MySQL、Oracle、SQL Server 等。

不同的数据库管理系统在语法和功能上可能会有一些细微的差异,但基本的操作原理是相通的。

以 MySQL 为例,我们需要安装 MySQL 服务器,并在本地创建数据库和表结构。

接下来,选择合适的编程语言来实现数据库接口。

Java 是一种广泛使用的编程语言,具有强大的数据库连接和操作能力。

通过使用 Java的 JDBC(Java Database Connectivity)库,我们可以建立与数据库的连接,并执行各种 SQL 语句。

在编写代码时,第一步是加载数据库驱动程序。

这就像是为通往数据库的道路铺上了基石。

然后,通过指定数据库的 URL、用户名和密码,建立与数据库的连接。

一旦连接成功,我们就可以创建 Statement 对象来执行 SQL 语句。

例如,要向数据库中插入一条数据,我们可以编写如下代码:```javaString sql ="INSERT INTO students (name, age) VALUES ('张三', 20)";Statement statement = connectioncreateStatement();statementexecuteUpdate(sql);```查询数据则通常使用`SELECT` 语句,如下所示:```javaString sql ="SELECT FROM students WHERE age > 18";ResultSet resultSet = statementexecuteQuery(sql);while (resultSetnext()){String name = resultSetgetString("name");int age = resultSetgetInt("age");Systemoutprintln("姓名:"+ name +",年龄:"+ age);}```更新和删除数据的操作与插入类似,只是使用的 SQL 语句不同。

实验一(开放大学试题)

实验一(开放大学试题)

实验一实验目的熟悉MySQL环境的使用,掌握在MySQL中创建数据库和表的方法,理解MySQL 支持的数据类型、数据完整性在MySQL下的表现形式,练习MySQL数据库服务器的使用,练习CREATE TABLE,SHOW TABLES,DESCRIBE TABLE,ALTER TABLE,DROP TABLE语句的操作方法。

实验内容:【实验1-1】MySQL的安装与配置。

参见4.1节内容,完成MySQL数据库的安装与配置。

【实验1-2】创建“汽车用品网上商城系统”数据库。

用CREATE DATABASE语句创建Shopping数据库,或者通过MySQL Workbench图形化工具创建Shopping数据库。

【实验1-3】在Shopping数据库下,参见3.5节,创建表3-4~表3-11的八个表。

可以使用CREATE TABLE语句,也可以用MySQL Workbench创建表。

【实验1-4】使用SHOW、DESCRIBE语句查看表。

【实验1-5】使用ALTER TABLE、RENAME TABLE语句管理表。

【实验1-6】使用DROP TABLE语句删除表,也可以使用MySQL Workbench删除表。

(注意:删除前最好对已经创建的表进行复制。

)【实验1-7】连接、断开MySQL服务器,启动、停止MySQL服务器。

【实验1-8】使用SHOW DATABASE、USE DATABASE、DROP DATABASE语句管理“网上商城系统” Shopping数据库。

实验要求:1.配合第1章第3章的理论讲解,理解数据库系统。

2.掌握MySQL工具的使用,通过MySQL Workbench图形化工具完成。

3.每执行一种创建、删除或修改语句后,均要求通过MySQL Workbench查看执行结果。

4.将操作过程以屏幕抓图的方式复制,形成实验文档。

实验二请到电脑端查看实验目的熟悉MySQL环境的使用,掌握在MySQL中创建数据库和表的方法,理解MySQL 支持的数据类型、数据完整性在MySQL下的表现形式,练习MySQL数据库服务器的使用,练习CREATE TABLE,SHOW TABLES,DESCRIBE TABLE,ALTER TABLE,DROP TABLE语句的操作方法。

数据库实验报告

数据库实验报告

数据库实验报告实验报告1实验项目:实验一熟悉FireBird 环境初步姓名:学号:班级实验地点:实验课程名称:数据库系统指导教师:日期:成绩:一、实验目的:学习安装Firebird数据库管理系统;学习安装管理Firebird数据库的软件FlameRobin;学习创建学生student数据库。

二、实验内容:1、安装Firebird;2、安装FlameRobin;3、创建学生student数据库。

三、实验步骤:1、安装Firebird;开始→程序→ Firebird2.1(Win32)→ Firebird;2、安装FlameRobin开始→程序→ FlameRobin → FlameRobin;3、创建学生student数据库打开Firebird→打开FlameRobi n→右击localhost→选择Create new database →命名为Student ;即可。

四、收获或心得体会:学会了如何安装Firebird 、FlameRobin以及如何建立新的数据库,可以独立完成有关数据库的新建等任务。

初步了解了有关数据库的知识,更生刻地认识到了学会并熟练掌握数据库的应用是非常有用的,学好了数据库更有利于自己以后的发展。

实验报告2实验项目:实验二SQL语言(一)SQL定义语言姓名:学号:班级实验地点:实验课程名称:数据库系统指导教师:日期:成绩:一、实验目的:学习使用SQL语言的数据定义语言DDL创建表,索引。

二、实验内容:1、创建学生表:student;2、创建课程表:course;3、创建成绩表:sc。

三、实验步骤:1、创建学生表:studentGREATE TABLE STUDENT(SNO CHAR (10) PRIMARY KEY,SNAME CHAR (20) UNIQUE,SSEX CHAR (10),SAGE SMALLINT,SDEPT CHAR(10));2、创建课程表:courseCREATE TABLE COURSE (CNO CHAR(10) PRIMARY KEY,CNAME CHAR(20),CPNO CHAR(10),CCREDIT SMALLINT,FORKEY (CNO) REFERENCES COURSE(CNO));3、创建成绩表:scCREATE TABLE SC(SNO CHAR(10),CNO CHAR(10),GRADE SMALLINT,PRIMARY KEY (SNO,CNO),FOREIGN KEY (SNO)REFERENCES STUDENT(SNO), FOREIGN KEY (CNO)REFERENCES COURSE (CNO));四、收获或心得体会:学会了如何运用SQL语言在数据库中新建表格,进一步了解了有关数据库的使用方法。

数据库实验四

数据库实验四

数据库实验四在学习数据库的过程中,实验是帮助我们深入理解和掌握相关知识的重要环节。

本次数据库实验四主要围绕着数据库的查询、更新以及数据完整性等方面展开。

实验的目的是让我们通过实际操作,更加熟练地运用 SQL 语句来处理数据库中的数据,同时加深对数据库原理和概念的理解。

在实验开始之前,我们首先需要准备好相关的数据库环境。

这包括安装数据库管理系统,如 MySQL 或 SQL Server 等,并创建好实验所需的数据库和数据表。

本次实验中,我们创建了一个名为“students”的数据库表,用于存储学生的基本信息,如学号、姓名、年龄、性别和所在班级等。

同时,还创建了一个名为“courses”的表,用于存储课程的信息,包括课程编号、课程名称和授课教师等。

接下来,就是实验的核心部分——数据查询操作。

通过使用 SQL 的 SELECT 语句,我们可以从数据库中获取所需的数据。

例如,要查询所有年龄大于 20 岁的学生信息,可以使用以下语句:```sqlSELECT FROM students WHERE age > 20;```除了简单的条件查询,我们还学习了如何进行多表连接查询。

比如,要获取同时选修了“数据库原理”和“操作系统”两门课程的学生信息,就需要将“students”表、“courses”表以及选课关系表进行连接查询。

数据更新操作也是实验中的重要内容。

通过使用 UPDATE 语句,我们可以对数据库中的数据进行修改。

但在进行数据更新时,一定要谨慎操作,确保更新的结果符合预期,避免造成数据的错误或丢失。

例如,如果要将某个学生的年龄增加一岁,可以使用以下语句:```sqlUPDATE students SET age = age + 1 WHERE student_id ='_____';```在实验过程中,数据完整性的维护也是至关重要的。

我们通过设置主键、外键以及各种约束条件,来确保数据的准确性和一致性。

数据库实验4 索引、数据完整性与安全性

数据库实验4 索引、数据完整性与安全性

实验四索引、数据完整性与安全性一、实验目的(1) 掌握利用SQL Server Management Studio和SQL语言建立、删除索引的方法;(2) 掌握利用SQL Server Management Studio和SQL语言实现数据完整性的方法;(3) 掌握在SQL Server Management Studio中实现数据安全性管理的方法。

二、实验原理1.索引在关系型数据库中,索引是一种可以加快数据检索的数据库结构。

SQL Server系统中主要有两种类型的索引,即聚集索引、非聚集索引。

(1)聚集索引聚集索引定义了数据在表中存储的物理顺序。

一个表只能定义一个聚集索引。

(2)非聚集索引非聚集索引并不存储表数据本身。

相反,非聚集索引只存储指向表数据的指针,该指针作为索引键的一部分,因此,在一个表中同时可以存在多个非聚集索引。

(3)利用SQL命令建立索引简化语法格式:CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]INDEX index_name ON {table|view}(column|ASC|DESC][,…n])其中:UNIQUE。

可选。

该选项用于通知SQL Server索引中列出的列的值是每行唯一的。

如果试图插入重复的行,则该选项会强制SQL Server返回一个错误信息。

CLUSTERED或NONCLUSTERED。

可选。

如果这两个选项都没有被明确列出,则默认将索引创建为NONCLUSTERED(非聚集索引)。

(4)通过SQL命令删除索引语法格式:DROP INDEX ‘table.index|view.index’[,…n]2.表主键和UNIQUE约束表主键通过表数据中一个列或者多个列组合的数据来唯一标识表中的每一行数据。

即表主键就是用来约束数据表中不能存在相同的两行数据。

在SQL Server系统中,定义表的主键可以在创建表的同时定义,也可以给已有的表添加主键。

广工数据库实验报告-数据库安全性

广工数据库实验报告-数据库安全性

广工数据库实验报告-数据库安全性实验四数据库安全性一实验目的1.加深对数据安全性的理解。

2.研究具体DBMS提供的安全性技术并实践。

二实验平台操作系统:Windows 7 -64位数据库软件:SQL Server 2008三实验准备研究具体DBMS所支持的安全性技术。

并综述下列内容:1.数据库安全性概念数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2.具体DBMS的数据库安全性措施数据库的安全一直是广大用户密切关注的一个问题,现有数据库安全主要通过九个措施来实现:包括用户标识和鉴定、存取控制问题、定义视图、数据加密、多级保护体制、限界、对象重用、审计和日志、攻击检测等四实验内容及要求实践具体DBMS所支持的安全性技术1.用户、权限和角色机制实践当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中,这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。

在Microsoft SQLServer 2008系统中,通过身份验证模式和主体解决这个问题。

(1)身份验证模式Microsoft SQL Server 2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。

Windows身份验证模式:在该模式中,用户通过Windows用户账户连接SQL Server时,使用Windows操作系统中的账户名和密码。

混合模式:在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL Server身份验证。

(2)主体主体是可以请求系统资源的个体或组合过程。

SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。

位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。

Windows 级别的主体, Windows 域登录名, Windows 本地登录名SQL Server 级的主体, SQL Server 登录名数据库级的主体, 数据库用户, 数据库角色, 应用程序角色SQL Server sa 登录名SQL Server sa 登录名是服务器级的主体。

《数据库与信息系统》实验4指导解析_1-3

《数据库与信息系统》实验4指导解析_1-3
“起始位置”指定从哪一条记录开始;记录数表示显示记录的条数。
⚫ 格式 2:LIMIT 记录数 表示从第一条记录开始显示“记录数”的记录。如果“记录数”小于或者等于查询结果的记录
总数,那么将从第一条记录开始,显示指定条数的记录。如果“记录数”大于查询结果的记录总数, 数据库会直接显示查询出来的所有记录。
2
图 4.4 2009 年以后出版的少儿类图书(部分结果)
解析:Where 子句可以使用 year()函数从出版日期(PublishDate)字段中取得年份数据,其值为整型。 如果直接使用日期型的常量做比较,日期型常量要按照'年-月-日'完整结构来写,并且使用单引号括 起来,例如'2009-01-01 '。 参考语句:
要注意数据表名 Order 与关键字 Order 相同,在查询语句中可以使用完整的数据表名:
3
bookstore.`order`或者将数据库 bookstore 设置为当前数据库,然后在查询语句中使用单引号将 order 括起来。 参考语句: Select OrderCode, OrderTime, OrderStatus From bookstore.`orders` LIMIT 3; 或: USE bookstore; Select OrderCode, OrderTime, OrderStatus From `orders` LIMIT 3; (7)查询 TotalPrice 在 100~200 元之间的订单信息,部分结果如图 4.7 所示。
From Book;
(2)进行图书的价格汇总分析,分别显示图书的最高价、最低价、平均价、最高价与最低价的 差值,结果如图 4.11 所示。
图 4.11 图书的价格汇总分析

计算机基础实验报告

计算机基础实验报告

计算机基础实验报告计算机基础实验报告引言:计算机科学作为一门重要的学科,为我们的现代社会带来了巨大的变革和进步。

而计算机基础实验则是我们学习计算机科学的重要环节之一。

本实验报告将介绍我在计算机基础实验中所学到的知识和经验,并总结实验的结果和收获。

实验一:计算机硬件组装与调试在这个实验中,我们学习了计算机硬件的基本组成和组装方法。

通过实际操作,我了解了主板、CPU、内存、硬盘等硬件设备的功能和相互连接方式。

同时,我们还学习了如何调试计算机硬件故障,提高了我们的问题解决能力。

实验二:操作系统安装与配置在这个实验中,我们学习了操作系统的安装和配置。

通过实际操作,我掌握了Windows和Linux操作系统的安装方法和步骤,并学会了对操作系统进行基本的配置和优化。

这不仅提高了我对操作系统的理解,还为我以后的计算机使用提供了便利。

实验三:计算机网络配置与管理在这个实验中,我们学习了计算机网络的基本概念和配置方法。

通过实际操作,我了解了网络的组成和工作原理,并学会了对局域网进行基本的配置和管理。

这对于我们理解互联网的工作原理和提高网络安全意识都具有重要意义。

实验四:数据库设计与管理在这个实验中,我们学习了数据库的设计和管理。

通过实际操作,我了解了数据库的基本概念和常用的数据库管理系统,如MySQL和Oracle。

同时,我们还学习了如何设计和优化数据库结构,提高数据库的性能和安全性。

实验五:程序设计与开发在这个实验中,我们学习了程序设计和开发的基本原理和方法。

通过实际操作,我学会了使用编程语言进行程序设计,并学习了常用的开发工具和技术,如IDE和版本控制系统。

这为我以后的软件开发工作奠定了基础。

实验六:计算机安全与防护在这个实验中,我们学习了计算机安全和防护的基本知识和方法。

通过实际操作,我了解了计算机系统的安全威胁和攻击方式,并学会了如何使用防火墙和杀毒软件等工具进行计算机安全防护。

这对于保护个人隐私和防止计算机病毒的侵害具有重要意义。

数据库实验报告

数据库实验报告

数据库实验报告《数据库系统概论》实验指导书2012-8-30⽬录实验⼀数据库服务器的连接及数据库的建⽴ (1)实验⼆简单SQL查询及数据库多表查询 (12)实验三视图、索引、存储过程和触发器的使⽤ .. 22实验四 E-R模型与关系模型的转换 (30)实验五维护数据的完整性(选做)错误!未定义书签。

实验六事务管理(课后选做)错误!未定义书签。

实验七数据库的备份与恢复(课后选做)错误!未定义书签。

实验⼀数据库服务器的连接及数据库的建⽴⼀、实验⽬的:了解连接数据库服务器的⾝份验证模式,熟悉样例数据库。

掌握DBMS中利⽤界⾯进⾏建库建表操作。

⼆、实验准备:数据模型由三个要素组成:数据结构、数据操作和完整性约束。

1、数据结构数据结构⽤于描述系统的静态特性,是所研究的对象类型的集合。

数据模型按其数据结构分为层次模型、⽹状模型和关系模型。

2、数据操作数据操作⽤于描述系统的动态特性,是指对数据库中各种对象的实例允许执⾏的操作的集合,包括操作及有关的操作集合。

3、数据的约束条件数据的约束条件是⼀组完整性规则的集合。

完整性规则是给定的数据及其联系所具有的制约和存储规则,⽤以限定符合数据库状态以及状态的变化,以保证数据的正确、有效和相容。

数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。

1、外模式。

外模式也称⼦模式或⽤户模式,它是数据库⽤户(包括应⽤程序员和最终⽤户)看见和使⽤的局部数据的逻辑结构和特征的描述,是数据库⽤户的数据视图,是与某⼀应⽤有关的数据的逻辑表⽰。

⼀个数据库可以有多个外模式。

2、模式。

模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有⽤户的公⽤数据视图。

⼀个数据库只有⼀个模式。

3、内模式。

内模式也称存储模式,它是数据物理和存储结构的描述,是数据在数据库内部的表⽰⽅式。

⼀个数据库只有⼀个内模式。

DBMS的功能1、数据定义数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件(例如,为保证数据库中数据具有正确语义⽽定义的完整性规则,为保证数据库安全⽽定义的⽤户⼝令和存取权限等)。

实 验 四 数据库完整性与安全性

实 验 四 数据库完整性与安全性

实验四数据库完整性与安全性一.实验目的:理解并掌握利用SQL Server 2000进行完整性和安全性控制的基本操作和命令。

并熟悉触发器的使用。

二.实验属性:设计性。

三.实验仪器设备及器材:装有SQL Server 2000的电脑。

四.实验要求1. 预习SQL Server 2000中触发器的概念和使用方法,以及利用create trigger语句定义触发器的方法。

2. 预习SQL Server 2000中安全性架构,以及创建安全性账户和数据库角色等的方法。

2. 实验前仔细阅读实验指导书,理解实验要求。

3. 实验中要求完成如下工作(其中涉及的表是实验一中建立的表):五.实验内容1.触发器的使用1.1创建一个insert触发器,当在Student表中插入一条新记录时,给出‘你已经插入了一条新记录!!!’的提示信息。

1.2 创建一个insert触发器,当在SC表中插入一条新记录时,Sno和Cno必须是student和Course中存在的学号和课程号,且Grade应该在0----100之间。

1.3 创建一个after触发器,在Student表中删除某学生的记录时,删除其相应的选课记录。

1.4 创建一个instead of 触发器,当在Course表中删除记录时,不允许删除Course 表中的数据。

2. 数据库安全性2.1 在企业管理器中创建数据库用户U1、U2、U3和数据库角色R1、R2、R3,并对其操作权限进行设置。

2.2 使用SQL语言对数据库用户和角色的权限的授予。

(1)把查询Student表的权限授给用户U1:(2)把对Student表和Course表的全部操作权限授予用户U2和U3(3)把对Student表的Insert操作权限授予用户U2,并允许将此权限再授予其它用户。

2.3 使用SQL语言进行数据库对用户和角色权限的收回。

2.3.1把用户U2对Student表的Insert的权限收回。

2.3.2 收回所有用户对表student的查询权限2.3.3 通过角色来实现将一组权限授予一个用户。

数据库实验四

数据库实验四

《数据库管理系统》实验报告2011/2012学年第2学期实验项目:数据库班级:学生:(学号********* )地点:经管院A 实验室机器号:指导教师:时间:2012 年 6 月 3 日经济管理学院信息管理教研室实验四:数据库综合实验一、实验目的1.了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,掌握查询条件表达式和使用方法;2.掌握Windows NT认证模式下数据库用户帐号的建立与取消方法;3.掌握混合模式下数据库用户帐号的建立与取消方法;4.掌握数据库用户权限的设置方法;5.熟悉数据库数据库用户帐号的权限分配、回收等方法;6.了解数据库角色的分类、作用及使用方法。

7.掌握主键约束、外键约束及及check约束的用法;8.掌握默认值约束的应用;9.了解规则、触发器的使用。

10.熟悉数据库备份及恢复机制;11.了解SQL Server的数据备份和恢复机制;12.掌握SQL-Server中数据库备份和恢复的方法。

二、实验环境已安装SQL Server 2005的计算机;具有局域网网络环境,有ip地址;三、实验要求1.学会用DDL语言进行对表、索引、视图的增加、删除和改动;2.了解SQL Server 2005系统安全;3.熟悉数据库用户、服务器角色及数据库角色的用法;4.熟悉数据库完整性相关概念及约束;5.了解约束、默认值及规则;6.了解创建备份设备和进行数据库完全备份操作的方法;7.了解进行数据库恢复的步骤;8.完成实验报告;四、实验内容及步骤(一)用T-SQL语句操作索引、视图1.建立计算机科学系学生的视图2.由学生、课程和选修课三个表,定义一个计算机科学系的学生成绩视图,其属性包括学号、姓名、课程名和成绩3.将学生的学号、总成绩、平均成绩定义成一个视图4.对student表按学号降序建唯一索引,索引名stunods。

5.删除索引stunods。

(二)数据库的安全性以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现以下操作,并独立写出部分题目的程序代码;1.在当前计算机中增加一个用户zhang和cheng,密码为secret。

实验四 数据的完整性安全性

实验四 数据的完整性安全性

徐龙琴、刘双印设计制作实验四数据完整性安全性数据的完整性、安全性实验四实验目的一、掌握数据安全性和完整性的概念,以及如何保证数据库中数据安全及完整性。

1.SQL Server中有关用户、角色及操作权限的管理方法.掌握2.学会创建和使用规则、缺省。

3.二、实验内容1 数据库的安全性实验,通过SSMS设置SQL Server的安全认证模式.实现对SQL Server的用户和角色管理,设置和管理数据操作权限.2数据库的完整性实验。

使用Transact-SQL设计规则、缺省、约束和触发器。

三、实验要求.数据的完整性实⑴用SQL语句创建一学生成绩数据库(XSCJ),包括学生(XSQK)、课程(KC)和成绩表(XS_KC):学生情况表(XSQK)列名数据类型长度是否允许为空值N 6 Char 学号N 8 Char 姓名N 性别 Bit1smalldatetime 出生日期 2Char 10 专业名Char 10 所在系Y11char联系电话create database xscjuse xscjcreate table xsqk(学号char(6)not null,姓名char(8)not null,性别bit not null,出生日期smalldatetime,专业名char(10),所在系char( 10),null))11(char联系电话徐龙琴、刘双印设计制作实验四数据完整性安全性课程表(KC)列名数据类型长度是否允许为空值N Char 课程号 3N Char 课程名 2010 Char 教师开课学期 1 TinyintTinyint 1 学时NTinyint学分 1create table kc(课程号char(3)not null,课程cha2nonull,教师char(10),开课学期tinyint,学时tinyint,学分tinyint not null)成绩表(XS_KC)数据类型长度是否允许为空值列名Char N 学号 6Char 课程号N 3Smallint成绩2create table xs_kc(学号char(6)not null, 课程号char(3)not null,)smallint成绩实验四数据完整性安全性徐龙琴、刘双印设计制作⑵数据的实体完整性实验①用SSMS分别将学生情况表(XSQK)的学号字段、课程表(KC)的课程号字段设置为主健②用T-SQL语句将成绩表(XS_KC)的学号、课程号字段设置为主健alter table xs_kcadd primary key(学号,课程号)实验四数据完整性安全性徐龙琴、刘双印设计制作⑶数据的参照完整性实验①用SSMS为成绩表(XS_KC)创建外键FK_ XSQK_ID,外键FK_ XSQK_ID参照学生情况表(XSQK)表的学号②用T-SQL语句成绩表(XS_KC)创建外键FK_ KC_ID,外键FK_ KC _ID参照课程表(KC)表的课程号alter table xs_kcadd constraint FK_KC_ID foreign key (课程号)references kc(课)程号.实验四数据完整性安全性徐龙琴、刘双印设计制作⑷数据的用户定义完整性实验①用T-SQL语句为学生情况表(XSQK)的姓名列创建一个唯一约束alter table xsqkadd constraint ch_xsqk_unique unique(姓名))的性别列创建一个检查约束,使得性别的值为男或女XSQK为学生情况表(SSMS②用.实验四数据完整性安全性徐龙琴、刘双印设计制作③用T-SQL语句为成绩表(XS_KC)的成绩列创建一个检查约束,使得成绩的值在(0~100)之间alter table xs_kcadd constraint ch_grade check(成绩between 0 and 100)60)的学时列创建一个缺省约束,缺省值为KC语句课程表(SSMS④用.实验四数据完整性安全性徐龙琴、刘双印设计制作⑤用T-SQL语句课程表(KC)的学分列创建一个缺省约束,缺省值为2alter table kcadd constraint default_kc_credit default 2 for学分的格式,并分别将其导入数据库的各个表中:Excel2.将如下数据分别转换成文本数据或.徐龙琴、刘双印设计制作数据完整性安全性实验四):学生情况表(XSQK学号姓名性别出生日期专业所在系联系电话88297147 020101 杨颖 1980-7-20 0 计算机应用计算机88297147 计算机计算机应用 1981-1-15 020102 方露露088297151 1980-2-20 俞奇军 1 信息管理020103 计算机 88297151 胡国强1 1980-11-7 020104 计算机信息管理88297152 020105 1980-7-29 薛冰1 水利工程水利系 88297161 电子商务经济系1981-3-10 020201 0 秦盈飞88297062 电子商务经济系 1980-9-25 0 020202 董含静88297171 电子商务经济系1980-8-7 1 020203 陈伟 88297171房建1980-7-20020204陈新江1水利系实验四数据完整性安全性徐龙琴、刘双印设计制作实验四数据完整性安全性徐龙琴、刘双印设计制作:)KC课程表(.徐龙琴、刘双印设计制作实验四数据完整性安全性课程号课程名教师开课学期学时学分3 计算机原理2 45 101 陈红3 3 102 王颐计算方法 454 60 2 103 操作系统徐格5 3 数据库原理及应用应对刚104 753 网络基础吴江江4 105 456 高等数学孙中文 1 90 1066 英语陈刚107 1 90 5VB赵红韦3108程序设计 70实验四数据完整性安全性徐龙琴、刘双印设计制作实验四数据完整性安全性徐龙琴、刘双印设计制作:)XS_KC成绩表(.徐龙琴、刘双印设计制作数据完整性安全性实验四学号课程号成绩85 020101 10187 020101 102 88 107 020101 58 101 02010263 020102 10276 020104 10755 020202 103 80 108 020202 57 103 02020371020204103实验四数据完整性安全性徐龙琴、刘双印设计制作3. 理解默认值的概念和作用①用语句创建名为Xi_default,值为“计算机系”的默认值create default Xi_default as'计算机系'实验四数据完整性安全性徐龙琴、刘双印设计制作②将默认值Xi_default绑定到学生表中的所在系的属性列上sp_bindefault Xi_default,'xsqk.所在系'③解除学生表所在系的属性列上的默认值sp_unbindefault'xsqk.所在系'④删除默认值Xi_defaultdrop default Xi_default注:创建默认值的格式: create default 默认值名 as ‘默认值'默认值绑定的格式:sp_bindefault 默认值名, <'表名.列名'︱自定义数据类型名称>解除默认值绑定格式:sp_unbindefault <'表名.列名'︱自定义数据类型名称>删除默认值格式:Drop default 默认值名4.理解规则的概念和作用①用语句创建规则“rule_kkxq”,用以限制插入该规则所绑定的列中的值只能取1、2、3、4、5、6create rule rule_kkxq as@ss in(1,2,3,4,5,6)②将“rule_ kkxq”规则绑定到课程表的开课学期属性上,并执行以下语句,看看能否正常执行,为什么:Insert into 课程表Values(109,'C语言','李方',8,64,4)sp_bindrule rule_kkxq,'kc.开课学期'不能正常执行因为数值8不在规则rule_kkxq所绑定的数据范围内③若不解除规则,能否将规则rule_ kkxq直接删除?不能,需先解除规则才能删除规则rule_ kkxq :sp_unbindrule'kc.开课学期'drop rule rule_kkxq注:创建规则的格式: create rule 规则名 as @列名约束条件规则绑定的格式: sp_bindrule 规则名, <'表名.列名'︱自定义数据类型名称>解除规则绑定格式:sp_unbindrule <'表名.列名'︱自定义数据类型名称>删除规则格式:Drop rule 规则名5.数据的安全性实验:(1)设置身份验证模式①写出查看当前SQL Server身份验证模式的过程,即查看当前SQL Server系统到底是采用Windows身份验证还是混合身份验证模式。

太原理工大学数据库实验报告

太原理工大学数据库实验报告
Sname char(10) unique, --唯一约束
Sumc int check(sumc=0), --用户自定义约束,初值为0
Sdept char(2) not null) --非空约束
Create table sc
(sno char(6),
Cno char(3) not null, --非空约束
例如,像student表加一个入学时间列:
alter table Student add S_entrance datetime
alter table Student alter column Sage int
alter table Course add unique(Cname)
3.删除基本表
例如,删除已经建立的学生表:
Where sno = ‘200215129’
实验三数据库完整性
一、实验目的
(1)了解SQL Serer数据库系统中数据完整性控制的基本方法
(2)了解使用SSMS设置约束
(3)熟练掌握常用CREATE或ALTER在创建或修改表时设置约束
(4)了解触发器的机制和使用
(5)验证数据库系统数据完整性控制
二、实验平台
打开SQL SERVER配置管理器工具,单击“SQL SERVER2005服务”
节点,其中的“SQL SERVER”服务就是我们所说的数据库引擎。与SQL
SERVER 2000一样,可以通过这个配置管理器来启动、停止所安装的服
务,如“SQLSERVER(MSSQLSERVER)”。
3.了解RDBMS系统的体系结构。
where
Sname='刘晨');
查询选修了课程名为“信息系统”的学生学号和姓名.

实验四数据库 数据控制(安全性和完整性)

实验四数据库 数据控制(安全性和完整性)

数据库原理及应用实验报告实验四数据控制(安全性和完整性)实验报告实验类型__综合设计__实验室_软件实验室一__数据控制(安全性和完整性)1.实验项目的目的和任务:理解SQL Server的用户与权限管理机制,通过企业管理器创建用户,并给定的用户分配权限,并掌握数据库完整性概念,实现实体、参照和自定义约束。

2.程序代码(部分)sp_addlogin 'pei' ,'147' //服务器级别的建立登录名sp_droplogin 'pei' //.删除sp_grantdbaccess 'pei', 'pp' //数据库级别的安全性sp_addrole 'peipp' //SQL Server服务器角色sp_addrolemember 'peipp','pp'grant select on dbo.spt_values to pp with grant option//数据库对象级别的安全性用户权限继承角色的权限grant create table to pprevoke select on dbo.spt_values to pp cascadesp_revokedbaccess 'pp' //删除3运行结果如图所示4实验总结通过具体的上机实践操作,理解SQL Server的用户与权限管理机制。

(1)数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。

(2)用户标识和鉴定、用户存取权限控制、定义视图、数据加密和审计等安全措施。

(3)第一层安全性是服务器级别的安全性,这一级别的安全性建立在控制服务器登录账号和密码的基础上,即必须具有正确的登录账号和密码才能连接到SQL SERVER服务器。

第二层安全性是数据库级别的安全性,用户提供正确的服务器登录账号和密码通过第一层的sql server服务器的安全性检查之后,将接受第二层的安全性检查,即是否具有访问某个数据库的权利。

数据库实验(实验四实体完整性约束)实验报告答案

数据库实验(实验四实体完整性约束)实验报告答案

实验4 实体完整性约束【实验内容】4.1 实体完整性约束实体完整性约束1、为现有表T在TNO列上创建PRIMARY KEY约束。

约束。

2、创建数据库表TEST_C,并以列约束形式创建PRIMARY KEY约束,TEST_C表的结构定义如下:表的结构定义如下: 表名:TEST_C。

包含的列如下:包含的列如下:课程号:CNO CHAR(2);课程名:CN CHAR(10);课时:CT TINYINT;主键:CNO主键约束名:PK_TEST_C。

3、创建数据库表TEST_TC,并以表约束形式创建PRIMARY KEY约束,TEST_TC表的结构定义如下:表的结构定义如下: 表名:TEST_TC。

包含的列如下:包含的列如下:教师号:TNO CHAR(2);课程号:CNO CHAR(2);主键:(TNO, CNO);主键约束名:PK_TEST_TC。

4、为表C中的CN列创建“UNIQUE”约束UNIQUE_C。

5、为表TEST_TC增加新列ID_TC,并创建此列属性为IDENTITY。

6、删除表C中CN列的UNIQUE约束UNIQUE_C。

4.2 域完整性约束域完整性约束1、为表S创建CHECK约束。

约束。

要求本科生的年龄限制在14 14 —— 40岁之间,此约束对表S 中已有数据做检查。

中已有数据做检查。

2、创建数据库表TEST_S ,包含DEFAULT 和CHECK 约束,表TEST_S 的结构定义如表4-1所示。

所示。

表4-1 表TEST_S 的结构定义的结构定义 列名列名数据类型和长度数据类型和长度 DEFAULT是否可NULLCHECK 表达式约束名 SNO char(2) 否 SN char(8) 否SEX char(2) ‘男’ 是 ‘男’OR‘女’ DEFAULT_SEX CHECK_SEX AGE int 18 是 >= 14 AND <= 40 DEFAULT_AGE CHECK_AGE3、删除表TEST_S 中列SEX 的DEFAULT 约束及列AGE 的CHECK 约束。

数据库实验四(含答案)

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表一. 实验目的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。

2、掌握使用SQL 语句创建和删除数据库。

3、学会使用T-SQL语句创建表。

二. 实验准备1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。

2.了解用SQL语句创建和删除数据库的基本语法。

3.是用查询分析器,完成用SQL语句创建和删除基本表。

三. 实验要求1、熟练使用查询分析器进行数据库的创建和删除操作。

2、用查询分析器,完成用SQL语句创建和删除基本表。

3、完成实验报告。

四. 实验内容一、数据库1.以下是创建数据库userdb1的SQL语句,create database userdb1on(name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在size=5,--数据初始长度为5Mmaxsize=10,--最大长度为10Mfilegrowth=1)--数据文件每次增长1Mlog on( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)运行上诉语句建立数据库userdb12.根据步骤1的sql语句,写出创建实验二中“学生信息”数据库的sql语句,并建立“学生信息”数据库.(.mdf的名字可以修改)3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。

alter database 数据库名 add file()注括号内格式同下:( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)4.修改文件alter database数据库名modify file()注括号内表示修改后的属性信息,格式同下:( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)5.删除文件mrkj(alter database数据库名remove file+文件名)6.用SQL语句删除步骤一建立的数据库userdb1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四数据库安全性实验
一、实验目的
熟悉通过SQL对数据进行安全性控制。

二、实验内容和要求
1、熟练grant,revoke语句进行DAC控制
2、通过创建角色以及授权实验,了解并掌握SQL Server权限控制过程。

三、实验主要仪器设备和材料
1.计算机及操作系统:PC机,Windows 2000/xp;
2.数据库管理系统:SQL sever 2000/2005;
四、实验方法、步骤及结果测试
实验题目:
题目1、通过management studio 新建登录用户名sqluser,使用SQL Server身份认证,
果更改登录用户sqluser的属性,默认数据库改为student,登录过程中有何问题,给出相
建视图操作,该如何设置(试着创建一个s上的反应s表中所有信息视图ss,看操作是否能
写,不能创建视图,该如何设置。

修改之后以sqluser身份登录,创建反映c表上的所有信息的视图。

会有什么提示?
给出相应设置过程及相应截图:
名rose,用户名rose(默认数据库为student,暂不设置任何角色成员)
创建角色R1拥有s表的select,update权限,写出sql语句。

相关文档
最新文档