文档库 最新最全的文档下载
当前位置:文档库 › 实验七 数据库的更新及视图的定义与维护

实验七 数据库的更新及视图的定义与维护

实验七 数据库的更新及视图的定义与维护
实验七 数据库的更新及视图的定义与维护

实验七数据的更新及视图的定义与维护

一.实验目的

1.掌握使用SQL语言向数据库中插入数据、修改数据和删除数据等更新操作

2.掌握视图的定义与维护操作

3. 加深对视图在关系数据库中的作用的理解

二.实验准备

1.装有SQL Server 2005的PC机。

2. 成功创建各数据库、数据库表、并已插入各种数据。

三.实验内容1

1.打开“SQL Server Management Studio”窗口

2.创建学生选课数据库“S_T”

3.在学生选课数据库中完成以下插入数据的操作:

(1)将一个新学生元组(学号:200215128;姓名:陈东;性别:男;年龄:18;所在系:IS)插入学生表中;

(2)插入一条选课记录(‘200215128’,1);

(3)对每一个系,求学生的平均年龄,并把结果存入数据库。

提示:首先在学生-选课数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄;然后对student表按系分组求平均年龄,再把系名和

平均年龄存入新表中。

4.在学生选课数据库中完成以下修改数据的操作:

(4)将学生200215121的年龄改为22岁;

(5)将所有学生的年龄增加一岁;

(6)将计算机科学系全体学生的成绩置零;

5.在学生选课数据库中完成以下删除数据的操作:

(7)删除学号为200215122的学生记录;

(8)删除所有的学生选课记录;

(9)删除计算机科学系所有学生的选课记录

四.实验内容2

1. 在学生选课数据库中完成以下创建视图的操作:

(1)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生;

(2)建立信息系选修了“1”号课程的学生视图;

(3)建立信息系选修了“1”号课程且成绩在90分以上的学生视图;

(4)定义一个反映学生出生年份的视图;

(5)将学生的学号及他的平均成绩定义为一个视图;

(6)将Student表中所有女生记录定义为一个视图;

2. 在学生选课数据库中完成以下删除视图的操作:

(7)选择一个您所建的视图进行删除;

3. 在学生选课数据库中完成以下查询视图的操作:

(8)在信息系学生的视图中找出年龄小于20岁的学生;

(9)查询选修了1号课程的信息系学生;

4. 在学生选课数据库中完成以下更新视图的操作:

(10)将信息系学生视图中学号为200215122的学生姓名改为“刘辰”;

(11)向信息系学生视图中插入一个新的学生记录,其中学号为200215129,姓名为赵新,年龄为20岁。

五.实验内容3

实验指导书P102-118,关于数据库jxsk中视图的操作练习。

六.实验任务

1.课本P127 习题3. 用SQL语句建立第二章习题5中的4个表,并用INSERT语句向表中添加数据(注意各表主码的建立)。

2.完成以下查询操作(要求使用更新完成):

(1)把全部红色零件的颜色改成蓝色;

(2)由S5供给J4的零件P6改为由S3供应,请作必要的修改;

(3)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;

(4)请将(S2,J6,P4,200)插入供应情况关系中。

3.根据上述1、2小题的内容,完成实验报告四。

实验七 数据库的更新及视图的定义与维护

实验七数据的更新及视图的定义与维护 一.实验目的 1.掌握使用SQL语言向数据库中插入数据、修改数据和删除数据等更新操作 2.掌握视图的定义与维护操作 3. 加深对视图在关系数据库中的作用的理解 二.实验准备 1.装有SQL Server 2005的PC机。 2. 成功创建各数据库、数据库表、并已插入各种数据。 三.实验内容1 1.打开“SQL Server Management Studio”窗口 2.创建学生选课数据库“S_T” 3.在学生选课数据库中完成以下插入数据的操作: (1)将一个新学生元组(学号:200215128;姓名:陈东;性别:男;年龄:18;所在系:IS)插入学生表中; (2)插入一条选课记录(‘200215128’,1); (3)对每一个系,求学生的平均年龄,并把结果存入数据库。 提示:首先在学生-选课数据库中建立一个新表,其中一列存放系名,另一列存放相应的学生平均年龄;然后对student表按系分组求平均年龄,再把系名和 平均年龄存入新表中。 4.在学生选课数据库中完成以下修改数据的操作: (4)将学生200215121的年龄改为22岁; (5)将所有学生的年龄增加一岁; (6)将计算机科学系全体学生的成绩置零; 5.在学生选课数据库中完成以下删除数据的操作: (7)删除学号为200215122的学生记录; (8)删除所有的学生选课记录; (9)删除计算机科学系所有学生的选课记录 四.实验内容2 1. 在学生选课数据库中完成以下创建视图的操作: (1)建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生; (2)建立信息系选修了“1”号课程的学生视图; (3)建立信息系选修了“1”号课程且成绩在90分以上的学生视图; (4)定义一个反映学生出生年份的视图; (5)将学生的学号及他的平均成绩定义为一个视图; (6)将Student表中所有女生记录定义为一个视图; 2. 在学生选课数据库中完成以下删除视图的操作: (7)选择一个您所建的视图进行删除; 3. 在学生选课数据库中完成以下查询视图的操作: (8)在信息系学生的视图中找出年龄小于20岁的学生; (9)查询选修了1号课程的信息系学生;

实验八 数据库的安全性

实验八数据库的安全 T9.1 数据库用户的管理 1、实验目的 (1)掌握Windows登录名的建立与删除方法。 (2)掌握SQL Server登录名的建立与删除方法。 (3)掌握数据库用户创建于管理的方法。 2、实验准备 (1)了解windows身份验证模式与SQL Server身份验证模式的原理。 (2)了解数据库用户的建立与删除方法。 3、实验步骤 (1)Windows登录名。 ①使用界面方式创建Windows身份模式的登录名。方法如下: 第一步以管理员身份登录到Windows,选择“开始”,打开“控制面板”中的“性能和维护”,选择其中的“管理工具”,双击“计算机管理”进入“计算机管理”窗口。 在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口,新建一个用户zheng。 第二步一管理员身份登录到SQL Server Management Studio,在对象资源管理器中选择“安全性”,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中单击“搜索”按钮添加Windows用户名zheng。选择“Windows身份验证模式”,单击“确定”按钮完成。 ②使用命令方式创建Windows身份模式的登录名,语句如下: 【思考与练习】 使用用户zheng登录Windows,然后启动SQL Server Management Studio,以Windows 身份验证模式连接。看看与以系统管理员身份登录时有什么不同。 (2)SQL Server登录名。 ①使用界面方式创建SQL Server登录名。方法为:在对象资源管理器的“安全性”中,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中输入要创建的登录名“yan”,并选择“SQL Server 身份验证模式”,输入密码,取消选择“用户在下次登录时必须更改密码”选项,单击“确认”按钮。 ②以命令方式创建SQL Server登录名,语句如下:

SQL-Serve实验5-索引和视图-

SQL-Serve实验5-索引和视图-

实验5 索引和视图 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引的方法。 (2)掌握使用SQL Server管理平台查看索引的方法。(3)掌握使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引的方法。 (4)掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 (5)了解索引和视图更名的系统存储过程sp_rename的用法。 (6)掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 (7)了解删除视图的Transact-SQL语句DROP VIEW的用法。 2.实验内容及步骤 (1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 使用SQL Server管理平台:

a. b. c. d.

e. 使用Transact-SQL语句: (2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 使用SQL Server管理平台: 使用SQL语句: use studentsdb go create index grade_index on grade (分数) (4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 create index grade_id_c_ind on grade (学号,课程编号)

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

数据库原理实验6数据更新操作

实验六数据更新操作 1 实验目的与要求 (1)掌握基本表的INSERT、UPDATE、DELETE操作。 (2)正确理解更新操作中涉及到的相关约束问题。 2 实验内容 根据BookDB中4张关系表,完成以下更新操作: (1) 分别给这4张表添加信息,要求图书分类表、图书表、读者表各插入5个元组,借阅表插入20个元组。 答:详细见BookDB.sql (2) 将联合股份有限公司的读者工作单位修改为联合立华股份有限公司。 update Reader48 set workunit48='联合立华股份有限公司' where workunit48='联合股份有限公司'

(3) 将入库数量最多的图书单价下调5%。 update Book48 set price48=price48*0.95 where shopNum48=(select max(shopNum48) from Book48) (4) 将“经济类”的图书单价提高10%。 update Book48 set price48=price48*1.1 where classNo48=(select distinct a.classNo48 from Book48 a, BookClass48 b where a.classNo48=b.classNo48 and b.className48='经济类') (5) 将借阅次数高于2次的图书数量增加50%。 update Book48 set shopNum48=shopNum48*1.5 where bookNo48 in( select bookNo48 from borrow48 group by bookNo48 having count(bookNo48)>=2 )

数据库安全性和完整性实验

实验9:数据库安全性实验 一、实验目的 加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。 二、实验内容 1.数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理 数据操作权限。 三、实验原理和步骤 1.设置SQL Server的安全认证模式,选择混合模式。 右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。 重启服务,生效。 2.账号: sa账号登录 3.登录帐号的管理

1)将Windows帐号添加到SQL Server 2005中 创建操作系统用户- 4.数据库用户的管理 1)dbo用户; 查看banking数据库的dbo用户,查看用户权限。 2)U1用户; 创建banking数据库的U1用户,查看用户权限。 5.权限管理 1)赋予所创建的U1用户db_datareader角色,查看用户权限 2)赋予所创建的U1用户db_datawriter角色,查看用户权限 3)赋予所创建的U1用户db_owner角色,查看用户权限 4)两种方法赋予所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 5)两种方法赋予所创建的U1用户对banking数据库表branch的select 和对branch_name修改的权限,验证并写出sql语句 6)把对loan表的update权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出sql语句 7)两种方法回收所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 8)两种方法回收所有用户对banking数据库表loan的update权限,验 证并写出sql语句 四、实验报告要求 要求写出如下设计报告: 1.用Transact-SQL写出实验操作的语句 2.实验步骤和实验结果。 3.实验中的问题和提高。 4.SQL Server中有的安全性功能。 五、注意事项 1.用户、角色和权限的职能,以及它们之间的关系。

实验5 索引和视图

数据库技术与应用 实验报告 实验名称:实验五:索引和视图 系(科):信息系电子信息工程 班级: 180932 学号: 18093207 姓名:陶赛年 完成时间: 2012-4-28 南京师范大学中北学院

一、实验目的 1.学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。 2.学会使用SQL Server管理平台查看索引。 3.学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引。 4.掌握使用SQL Server管理平台、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。 5. 掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。 6.掌握系统存储过程sp_rename的用法。 7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。 二、实验准备 1.了解聚集索引和非聚集索引的概念。 2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。 3.了解使用SQL Server管理平台创建索引的步骤。 4.了解Transact-SQL语句DROP INDEX删除索引的用法。 5.了解创建视图的Transact-SQL语句CREATE VIEW的语法格式及用法。 6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。 7.了解视图更名的系统存储过程sp_rename的用法。 8.了解删除视图的Transact-SQL语句DROP VIEW的用法。 三、实验内容 1.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的《学生表》和《课程表》创建主键索引。 (1) 使用SQL Server管理平台为studentsdb数据库的《学生表》和《课程表》创建主键索引。

福建农林大学数据库实验报告

福建农林大学计算机与信息学院 实验报告 课程名称:数据库原理及应用 姓 名: 系: 专业:计算机科学与技术 年级: 学号: 指导教师:李金铭 副教授 职 称: 2015年月日

实验目录:

福建农林大学计算机与信息学院实验报告 实验名称:数据库得定义实验 一、实验目得与要求 (1)要求学生熟练掌握与使用SQL、Transact-SQL、SQL Server企业管理器创建数据库、表、索引与修改表结构. (2)学会使用SQL Server查询分析器接收Transact-SQL语句与进行结果分析。 二、实验内容与原理 1、基本操作实验 (1)使用企业管理器按教材中得内容建立图书—读者数据库。 (2)在企业管理器中查瞧图书读者数据库得属性,并进行修改,使之符合要求. (3)通过企业管理器,在建好得图书借阅数据库中建立图书、读者与借阅3个表,其结构为; 图书(书号,类别,出版社,作者,书名,定价); 读者(编号,姓名,单位,性别,电话); 借阅(书号,读者编号,借阅日期) 要求为属性选择合适得数据类型,定义每个表得主码,就是否允许空值与默认值等列级数据约束。 (4)在企业管理器中建立图书、读者与借阅3个表得表级约束:每个表得主码约束;借阅表与图书表间、借阅表与读者表之间得外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表得书号与读者编号得惟一性约束:实现读者性别只能就是“男”或“女”得Check(检查)约束. 三、实验环境 硬件:计算机 软件:Windows 2000与SQL Server 2000 四、算法描述及实验步骤 l.通过企业管理器,建立图书借阅数据库 在数据库图标上右击,选择“新建数据库”,输入“图书_读者",单击“确定”按钮,关闭对话框。在企业管理器窗口中出现“图书-读者”数据库标志,这表明建库工作已经完成。2.在建好得图书借阅数据库中建立图书、读者与借阅3个表 (1)建立“图书”表。 选中图书_读者数据库中得表文件夹,单由鼠标右键,在弹出得菜单中选择“新建表”,如图2所示。 (2)输入结构 书号:char长度10,不允许空值。并设置为主键。 类别:char长度12,允许空值。 出版社:varchar 长度50,不允许空值。 作者:varchar长度50,允许空值。 名称:varchar 长度50,不允许空值。 定价:char长度10,允许空值。 建立表格如图3所示。 (3)建立“读者"表与“借阅"表。 与建立“图书"表得形式一致,如表2。

实验6 数据库的更新实验

实验6 数据库的更新实验 1.实验目的 本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。 2.实验时数2学时 [相关知识] SQL Server提供了很多方法更新表中数据。以插入记录为例,可以使用INSERT语句、V ALUES子句将特定值集合插入一行;可以使用数据库接口API(ADO、OLE DB、ODBC和DB-Library)中的函数进行数据插入等。本实验主要掌握INSERT、UPDATE 和DELETE语句的基本用法。 ●插入操作,其语句的一般格式为 INSERT INTO table_or_view [(colum_list)] V ALUES (date_values); 此语句是使date_values作为一行数据记录插入已命名的表或视图table_or_view中。 Column_list是由逗号分隔的table_or_view的列名列表,用来指定为其提供数据的列。 如果没有指定column_list,表或视图中的所有列都将接收数据。 如果column_list没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个NULL值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许NULL值或者指定的默认值。否则SQL Server将返回一个错误。 ●修改操作语句的一般格式为 UPDATE 表名 SET <列名>=<表达式>[,<列名>=<表达式>]…… [where <条件>]; 其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。 ●删除语句的一般格式为 DELETE FROM <表名> [WHERE <条件>]; 其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,则表示要删除表中的所有元组,但表的定义仍在字典中。 3.实验内容 通过企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。 要求记录不仅满足数据约束要求,还要有表间关联的记录。 具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。 例1 将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中。

实验3:数据库安全性

实验3:数据库安全性 第1个实验.安全性定义——第5章实验八 使用订单数据库完成下面的实验内容: (1) 分别创建登录账号user01、user02,其密码皆为p888888,并设置为订单数据库OrderDB的用户。 sp_addlogin'user01','p888888','orderdb' sp_addlogin'user02','p888888','orderdb' (2) 创建登录账号login03,并加入到OrderDB数据库中,其用户名为user03。 sp_adduser'user03','login03' (3) 将员工表的所有权限授予全部用户。 grant all privileges on customer to public (4) 授予user03用户对Product表的查询权限,对Employee表的编号、名称的查询和更新权限。 grant select on product to login03 grant select(employeeno,employeename),update(employeeno,employeename)on employee to login03 (5) 创建角色r3、r4,将订单明细表所有列的SELECT权限、UNIT_PRICE列的UPDA TE 权限授予r3。 sp_addrole'r3' sp_addrole'r4' grant select,update(price)on orderdetail to r3 (6) 收回全部用户对员工表的所有权限。 revoke all on employee from public (7) 将user01、user02两个用户赋予r3角色。 sp_addrolemember user01,r3 sp_addrolemember user02,r3 (8) 收回user02对订单明细表所有列的SELECT权限。 sp_addrole user02 revoke select on orderdetail from user02 (9) 在当前数据库中删除角色r4。 sp_droprole r4 (10) 授予user01建表和建视图的权限,user01用户分别建立一张表和一个视图(表和视图自定),然后将该表和视图的查询权限授予user02和user03。 由于数据库中存在user01而user01的密码未知user01用user04 代替 grant create view to user04

实验四 索引和视图参考答案

索引 --为表student中SName属性建立惟一索引 create unique index snameindex on student(SName) --为teacher中的tname属性建立惟一聚集索引。 由于sqlserver2005在主键和具有unique约束的属性上自动建立了索引,且在主键上自动建立了聚集索引,因此必须移除主键(或其它聚集索引),然后才能在tname上建立聚集索引create unique clustered index tnameindex on teacher(tname) 移除主键

然后还原Tno为teacher表的主键 --利用系统存储过程sp_helpindex查看表student上的所有索引。

exec sp_helpindex student --利用系统存储过程sp_rename将表student上的索引改名。 exec sp_helpindex student exec sp_rename 'student.snameindex','snameindex2' --删除表student中的惟一索引。(注意,sqlserver2005在主键和具有unique约束的属性上自动建立了索引,要删除这些索引,必须先取消这些属性的主键或unique性质(通过修改表),才能删除索引,不能直接删除索引) drop index student.snameindex2 --视图 --建立视图teacherview1(无check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview1 as select Tno, TName, DepID from teacher where TName like '张%' --建立视图teacherview2(带check option选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview2 as select Tno, TName, DepID from teacher where TName like '张%' with check option --建立视图teacherview3(带encryption选项),只显示教师表中姓张的教师的教师编号、教师姓名、所在系。 create view teacherview3 with encryption as select Tno, TName, DepID from teacher where TName like '张%' --分别向teacherview2、teacherview1中插入记录(’866’,’杨志’,3),体会with check option选项的作用。 insert into teacherview1 values('866','杨志',3) insert into teacherview2 values('867','王五',3)

数据库实验报告

数据库实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 数据库系统概论 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学生学号 实验课成绩

2013 — 2014 学年第二学期实验课程名称:数据库系统概论 实验项目名称SQL SEVER 2000的系 统工具及用户管理 实验 成绩 实验者专业班 级 组别 同组者实验 日期 2014年4 月24日

第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000工具创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 二、实验基本原理与设计(包括实验方案设计,实 验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (2)创建数据库和查看数据库属性。 (3)创建表、确定表的主码和约束条件。 (4)查看和修改表的结构。 (5)向数据库输入数据,观察违反列级约束时出现的情况。 (6)修改数据。 (7)删除数据,观察违反表级约束时出现的情况。 三、主要仪器设备及耗材 Windows XP SQL SERVER 2000

第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录, 实验现象记录,实验过程发现的问题等) 没有错误 错误:未能建立与WORKEPLACE\XUMENGXING的链接SQL Server 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

数据库的安全性实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验:数据库的安全性实验 课程:数据库原理及应用B 班级:网络1203 学号: 学生姓名: 任课教师:孟彩霞

一、实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法 (3)掌握混合认证模式下数据库用户的建立与取消方法 (4)掌握数据库用户权限的设置方法 (5)理解角色的概念,掌握管理角色技术 二、实验内容 (1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 (2)创建、管理数据库服务器的登录账号。 (3)创建、管理数据库用户。 (4)管理用户权限。 (5)创建、管理数据库角色。 三、实验环境 Windows7 SQL SERVER 2012 四、实验前准备 课本 上机使用代码 五、实验步骤 1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 2.创建、管理数据库服务器的登录账号。用T-SQL语句创建、查看、删除登录账号。 创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。 EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins 删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。 用T-SQL语句创建、查看、删除数据库用户。 为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser 删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。 使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。企业管理器: (1)允许用户李明对Orders表进行插入、删除操作。 GRANT INSERT ,DELETE ON Orders TO ‘李明’

实验三 索引和视图

实验三索引和视图 一、实验目的 1.掌握利用SSMS和T—SQL语句创建和删除索引的两种方法。 2.掌握利用SSMS和T—SQL语句创建、查询、更新及删除视图的方法。 ssex char(3)constraint ssex_ch check (ssex in('男','女')), sage int not null constraint sage_ch check (sage between 15 and 30), sdept char(10))

values('C02','数据结构','C05',2) insert into course values('C03','数据库','C02',2) insert into course

values('C04','DB_设计','C03',3) insert into course values('C05','C++',null,3) insert into course values('C06','网络原理','C07',3) create table sc(sno char(5)not null, cno char(5)not null, grade int constraint grade_ch check(grade between 0 and 100), primary key(sno,cno),

constraint fk_sno foreign key (sno)references student(sno), constraint fk_cno foreign key (cno)references course(cno)) insert into sc values('S01','C01',92) insert into sc values('S01','C03',84) insert into sc values('S02','C01',90) insert into sc values('S02','C02',94) insert into sc values('S02','C03',82) insert into sc values('S03','C01',72) insert into sc values('S03','C02',90) insert into sc values('S04','C03',75) 2.索引的建立、删除 ①用SSMS的方式为Student表按Sno(学号)升序建唯一索引

数据库原理实验报告册

实验名称课时实验报告成绩实验(一)——数据库基本操作 2 实验(二)——SQL语句 6 实验(三)——数据库完整性与 4 安全性实验 实验(四)——数据库编程 4 备注:

实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行 基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、 关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材) A.新建STU数据库

单击STU数据库,选择表,然后新建,依次用相同的步骤建立STU、COURSES 和SC表,见图B B.新建表 数据录入:

数据库更新操作命令实验

实验六更新操作命令 实验目的:掌握第三代高级语言(如C语言)中嵌入式SQL数据库数据操作方法,能 清晰地领略到SQL命令在第三代高级语言中操作数据库数据的方式和方法,这种方式和方法在今后各种数据应用系统开发中将被广泛的采用。 掌握嵌入了SQL语句的C语言程序的上机过程包括:编辑、预编译、连接、修改、调试与运行等内容。 实验内容: 步骤: 将VC98和esqlc两文件放入C盘根目录 启动“MS-DOS”窗口,执行如下命令,使当前盘为C,当前目录为esqlc C: 设置系统环境变量值,执行如下批处理命令: Setenv 执行如下批处理命令:run main 输入程序名 MAIN 回车 连接到数据库 创建教师表 修改,添加 修改:

添加: 代码: int create_teacher_table()

{ char yn[2]; EXEC SQL BEGIN DECLARE SECTION; char tname[21]="xxxxxxxxxxx"; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT name into :tname FROM sysobjects WHERE (xtype = 'U' and name='student'); if (SQLCODE == 0||strcmp(tname,"teacher")==0) { printf("The teacher table already exists,Do you want to delete it?\n",SQLCODE); printf("Delete the table?(y--yes,n--no):"); scanf("%s",&yn); if (yn[0]=='y' ||yn[0]=='Y'){ EXEC SQL drop table teacher; if (SQLCODE == 0) { printf("Drop table teacher successfully!%d\n\n",SQLCODE); } else { printf("ERROR: drop table teacher %d\n\n",SQLCODE); } } else return -1; } EXEC SQL CREATE TABLE teacher ( sno char(5) NOT null primary key, sname char(6) null , ssex char(2) null , sage int null , sdept char(2) null) ; if (SQLCODE == 0) { printf("Success to create table teacher!%d\n\n",SQLCODE); } else { printf("ERROR: create table teacher %d\n",SQLCODE); } EXEC SQL begin transaction insert into teacher values("T9501", "李斌", "男",26, "CS") insert into teacher values("T9502", "赵霞", "女",30, "IS") insert into teacher values("T9503", "周淘", "男",27, "CS")

视图与索引作业

视图与索引作业 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

第一部分 创建如下表:并向每张表中添加5条数据 学生表t_student(f_no,f_name,f_sex,f_department) 课程表(f_id,f_name) 成绩表(f_no,f_subjectid,f_score) 作业: 1、对成绩表的课程编号创建非簇索引 2、对学生表的姓名和年龄创建非簇索引 3、对学生表的学号创建唯一索引 4、创建视图统计成绩表中任何一门课程及没有及格的信息 5、创建视图查询男生的平均成绩 6、对课程表的课程编号和分数创建非簇索引 7、将上题中的非簇索引删除 8、创建视图查询C#课程不及格的女生信息 9、创建视图统计男女生的平均分信息 10、简述索引的作用和种类 11、简述视图的作用 第二部分 使用northwind数据库完成: 1)在northwind库中(products和suppliers表中)查找每个商品对应的供 应商名称建立视图my_view,并通过该视图查询数据。 2)在视图my_view中,将companyname为以tokyo开头的改为ToKyo.使 用修改表数据的UPDATE语句。 3)使用DROP VIEW语句将视图my_view删除。 4)使用Northwind数据库,在Suppliers表的Country列和city列上创建一 个名为Country_index的非聚集索引。 5)删除Country_index索引。 6)在Suppliers表的Country列和city列上创建一个名为Country_index的 非聚集索引。请确保索引页留有50%的空白空间,并且删除具有相同 名称的现有索引 7)使用CREATE VIEW语句,基于employees表创建一个名为EmpHierarchy 的视图。视图应包含有上级领导的雇员的雇员ID、名、姓及其上级的 姓

数据库原理实验报告实验四视图与索引

数据库原理实验报告实验 四视图与索引 The Standardization Office was revised on the afternoon of December 13, 2020

一、实验内容、步骤以及结果 1.在Student数据库中,利用图形用户界面,创建一个选修了“数据库原理”课程并且是1996年出生的学生的视图,视图中包括学号,性别,成绩三个信息。(5分) 2.用两种不同的SQL语句创建第五版教材第三章第9题中要求的视图(视图名:V_SPJ)(10分,每种方法5分)。 --第一种方法 CREATE VIEW V_SPJ AS SELECT sno,pno,qty FROM SPJ WHERE jno=( SELECT jno FROM J WHERE jname ='三建' ); GO --删除建好的视图 DROP VIEW V_SPJ; GO --第二种方法 CREATE VIEW V_SPJ AS

SELECT sno,pno,qty FROM SPJ,J WHERE=AND='三建'; 3.用SQL语句完成第五版教材第三章第11题中的视图查询(10分,每小题5分)。 11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、 零件代码(PNO)、供应数量(QTY)。 针对该视图VSP完成下列查询: (1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商S1的供应情况。

4.用SQL语句完成视图的数据更新。(15分,每题5分) (1)给视图V_SPJ中增加一条数据。 提示: -SPJ表中JNO允许为空时,数据可以插入基本表,此时JNO为NULL,由于JNO为NULL,所以视图中没有该条数据。 -SPJ表中JNO不能为空时,可以使用instead of触发器实现。 (2)修改视图V_SPJ中的任意一条数据的供应数量。

数据库实验报告册

合肥师范学院实验报告册 2014 / 2015 学年第1 学期 系别计算机学院 实验课程数据库原理 专业 班级 姓名 学号 指导教师李宜兵

实验一——数据库基本操作 一、实验目的 1.熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。 2.掌握界面操作方法完成用户数据库建立、备份和还原。 3.建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。 二、实验预习内容 在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、关闭。 2.使用SQL SERVER 2000 中的企业管理器完成以下任务。 数据库名称:STC 表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COURSE(cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int ); 说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。 1)建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)2)分析并建立各表的主码,用下划线在上面表结构中标出主码。 create table stu (sno char(9) primary key, sname varchar(50),ssex char(2),sage int,sdept char(2) ); select* from course create table course ( cno char(3) primary key,cname varchar(50),cpno char(3),credit int , foreign key (cpno) references course(cno) ); create table sc (sno char(9),cno char(3),grade int, primary key(sno,cno), foreign key (sno) references stu(sno), foreign key (cno) references course(cno) ); insert into stu values('95001','李勇','男','20','cs'); Stu表:

相关文档