2015版《数据库原理实验》指导书(2)

2019-04-21 13:51

Salary Birth Postalcode Book表 字段名称 Book_id Book_name Author Price Class表 字段名称 Class_id Monitor Class_course表 字段名称 Class_id Course_id Department表 字段名称 Department_id Numeric Smalldatetime Numeric 数据类型 Char Varchar nvarchar Numeric 数据类型 Char Varchar 7.2 6,0 长度 13 30 50 8 5.2 长度 6 8 是 否 是 允许空 否 否 否 是 是 允许空 否 是 工资 出生日期 邮编 说明 书号 书名 出版社 作者 价格 说明 班级号 班主任姓名 Publish_company Varchar 数据类型 Char char 长度 6 10 允许空 否 否 说明 班级号 课程号 数据类型 Char 长度 6 20

允许空 否 否 说明 系编号 系名称 Department_name nvarchar 附录2:ISNULL函数

? 作用:使用指定的替换值替换 NULL

语法:ISNULL ( check_expression , replacement_value ) ? 参数:

1. check_expression 将被检查是否为 NULL 的表达式。 check_expression 可以为任何

类型。

2. replacement_value 当 check_expression 为 NULL 时要返回的表达式。

replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。 ? 返回类型:

返回与 check_expression 相同的类型。 如果文字 NULL 作为 check_expression 提供,则返回 replacement_value 的数据类型。 如果文字 NULL 作为 check_expression 提供并且未提供 replacement_value,则返回 int。

4

实验二 数据更新

课程名称: 实验名称

数据库原理 数据更新

实验类型: 学时

验证型 2学时

一.实验目的和要求:

掌握用SQL语句实现数据的插入、修改和删除。

二.实验内容:

1.将一个新学生记录(student_id:g9940305、student_name:张红、sex:女、birth:1985-02-08、class_id:g99403,department_id:Dep_01,home_addr:沈阳皇浦区34号)插入到student表中 2.对每一个班,求学生的平均年龄,并把结果存入数据库。(提示:先建立新表“age_avg”,其中一列存放班级,另一列存放相应的学生平均年龄,然后将所需数据存入age_avg) 3.将学号为g9940201的学生的姓名改为张宏,年龄改为18 4.student表中的所有系别(department_id)均改为“dep_03” 5.将班级号(class_id)为g99402的全体学生的笔试成绩加10分 6.删除所有选修了课程号(course_id)为dep04_b001的学生

三.实验报告:

1. 实验各项内容实现的过程。 2. 实验结果分析。

5

实验三 视图和索引

课程名称: 实验名称

数据库原理 视图和索引

实验类型: 学时

验证型 2学时

实验目的:

(1) 掌握视图的定义、查询和更新; (2) 掌握索引的定义;

(3) 掌握利用索引优化查询效率; 实验原理:

1.视图

? 定义视图

CREATE VIEW <视图名> [(<列名> [,<列名>]?)] AS <子查询>

[WITH CHECK OPTION]; ? 删除视图

DROP VIEW <视图名>

2.索引(注意:索引不能修改) ? 定义索引

CREATE [UNIQUE][CLUSTER] INDEX <索引名>

ON <表名> (<列名>[<次序>][,<列名>[<次序>]]?); ? 删除索引

DROP INDEX <索引名> 实验方法:

将查询需求用T-SQL语言表示;在SQL Server Query Analyzer的输入区中输入T-SQL查询语句;设置 Query Analyzer的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。 实验内容:

在实验1中用到的教务管理数据库jwgl中完成如下问题:

(1) 创建一个名为stud_query_viewl的视图,从数据库JWGL的student表中查询出性别为“男”的所有学生的资料;

(2) 创建一个名为stud_query_view2的视图,从数据库JWGL的student表中查询出性别为“男”的所有学生的学号,姓名,性别,班级,家庭住址,年龄;

(3) 创建一个名为“stud_query__view3”的视图,它是由表course、book及class_course创建的一个显示“g99402”班所开课程的课程名、所用教材的教材名、出版社及作者的视图;

(4) 创建一个从视图stud_query_viewl中查询出班级名为g99402的所有学生的信息; (5) 从视图stud_query_view2中查询出班级为“g99402”、姓名为“张华”的信息;

(6) 向视图stud_query_View2中插入一行数据。学号:g9940209,姓名:赵青,班级:g99402,性别:男,家庭住址:南京中山北路10号,年龄17岁;

(7) 修改视图stud_query_view2中的数据。将stud_query_view2中姓名为“林红”的家庭地址改为“扬州市南京路8号”;

(8) 从视图中stud_query_view2将姓名为“林红”的同学删除;

6

(9) 为表teacher创建一个索引名为teacher_index的惟一性非聚簇索引,索引关键字为teacher_id,升序;

(10) 为表class_course上创建一个名为class_course_index的非聚簇复合索引,索引关键字为class_id,course_id,升序

(11) 假设第(6)小题在插入赵青信息时,希望将赵青所在系“dep_03”也同时插入到数据表中,该如何处理。本题目留作思考题,可自行查找资料完成。

实验报告:

1. 实验各项内容实现的过程。 2. 实验结果分析。

7

实验四 数据库保护

课程名称: 实验名称

数据库原理 数据库保护

实验类型: 学时

设计型 4学时

实验目的:

(1) 使学生掌握E_R图的设计方法,并能将E_R图转换成关系模式; (2) 熟悉SQL DDL和DML语言,能够完成基本的表结构的定义、修改; (3) 掌握数据库完整性约束定义 (4) 掌握数据库安全授权 实验原理:

1. 将E_R图转换为关系的方法:

? 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码

就是关系的码

? 一个1:1联系可以转换为一个独立的关系模式,也可以与任意对应的关

系模式合并

? 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关

系模式合并

? 一个m:n联系转换为一个关系模式

? 三个或三个以上实体间的一个多元联系可以转换为一个关系模式 2. 定义库:

Create DATABASE <数据库名> 3. 表

? 定义表

CREATE TABLE <表名>(<列名><数据类型>[列级完整性约束] [,<列名><数据类型>[列级完整性约束]][,<表级完整性约束>]); ? 添加列

ALTER TABLE <表名> ADD <列名> <类型>[列级完整性约束] ? 修改列

ALTER TABLE <表名> ALTER COLUMN <列名> <类型>[列级完整性约束] ? 删除列

ALTER TABLE <表名> DROP COLUMN <列名> 4.安全授权 ? 创建登录名

CREATE LOGIN <登录名> WITH PASSWORD=<密码> ? 为当前数据库创建用户

CREATE USER <用户名> FOR LOGIN <登录名> ? 授权

GRANT< 权限>[,<权限>]? [ ON <对象名>]

TO <用户 >[,<用户>]?

8


2015版《数据库原理实验》指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(云发[2012]5号)中共云南省委 云南省人民政府关于推动工业跨越

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: