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

2019-04-21 13:51

[WITH GRANT OPTION]; ? 回收权限

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

FROM <用户 >[,<用户>]? [CASCADE];

实验方法:

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

假设某公司的业务规则如下:

(1)公司下设几个部门,如技术部、财务部、市场部等。

(2)每个部门承担多个工程项目,每个工程项目属于一个部门。 (3)每个部门有多名职工,每一名职工只能属于一个部门。

(4)一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工,一个职工可以参与多个项目。根据职工在工程项目中完成的情况发放酬金。 (5)工程项目有工程号、工程名两个属性;部门有部门号、部门名称、办公电话和办公地点等属性;职工有职工号、姓名、性别属性,出生日期; 问题:

1.根据上述规则设计E-R模型;

2.将E-R模型转换成关系数据模型; 3.利用SQL语句定义上述关系,要求: (1)为每个关系定义主码和外码;

(2)职工姓名、部门名称不能取空值,并且部门名称是唯一的; (3)职工的性别只能取“男”和“女”,默认值为“男”;

(4)部门号具有类似“B01”的形式,即每个部门号的首字符为“B”,其余两个字符为数字。

(5)酬金不低于2000元。

4.修改部门号的约束,改为“B001”的形式,每个部门号的首字符为“B”,其余三个字符为数字。

5.在原有关系的基础上,增加一个新列,用于记录每名职工参加项目的起始时间。

6.数据库安全性实验

(1)在SQL Server Query Analyzer中建立登录用户u1,u2,u3,u4,并使其成为jwgl数据库的用户。

(2)把对student表的查询权限授予用户u1,并允许其将权限转授给其它用户。验证u1是否获得相应权限。

(3)用户u1将查询student表的权限授予用户u2。验证u2是否获得相应权限。

(4)将对course表的查询权限授予所有用户。

(5)建立用户u5,并验证u4和u5是否获得查询course表的权限。 (6)回收u4查询course表的权限,并验证。

9

实验五 T-SQL编程

课程名称: 实验名称

数据库原理实验 T_SQL编程

实验类型: 学时

综合型 4

实验目的和要求:

1. 掌握用户自定义类型的使用 2. 掌握变量的分类及其使用 3. 掌握各种运算符的使用 4. 掌握各种控制语句的使用

5. 掌握系统函数及用户自定义函数的使用。

实验内容:

1.定义一个函数check_id(),实现如下功能。对于1个给定的department_id之值,查询该值在department表中是否存在,若存在返回0,否则返回-1。

2. 写一段T—SQL脚本程序调用上述函数。当向student表插入1条记录时,首先调用函数check_id()检索该记录的department_id之值在表departments的

department_id字段中是否存在对应值,若存在,则将该记录插入student表中,否则打印错误提示信息。

3. 创建一个名为age()的用户自定义函数,用于根据给定的学生编号计算学生的年龄,然后在查询语句中调用该函数。

4.创建一个名为score()的函数,返回一每个学生的学号、姓名、笔试成绩、实验成绩和总成绩,然后在查询语句中调用该函数查询中成绩不及格的学生。 5.打印乘法口诀表,显示格式如下:

10

实验六 存储过程编程

课程名称: 实验名称

数据库原理实验 存储过程编程

实验类型: 学时

综合型 4

实验目的

掌握存储过程的创建及调用。

实验内容

1、请创建存储过程,查看“计算机基础”课程本次考试平均分以及未通过考试的学员名单。(笔试成绩满分80分,上机成绩满分20分,双科成绩均达到满分的80%以上为优秀,单科不足满分的60%为不合格,否则为合格)。(提示:用带有游标的存储过程)

2、修改上题:由于每次考试的难易程度不一样,每次笔试和机试的及格线可能随时变化(不再是满分的60%),这导致考试的评判结果也相应变化。(提示:使用带输入参数的存储过程) 3、修改上题:返回未通过考试的学员人数。(提示:使用带输出参数的存储过程) 4、编写存储过程,显示男生或女生的名单(性别要求通过参数输入)。格式为: 序号 学号 姓名 (提示:用带有游标的存储过程) 11

实验七 触发器编程

课程名称: 实验名称

数据库原理实验 触发器编程

实验类型: 学时

综合型 4

实验目的

理解触发器的工作原理,掌握如何使用inserted表和deleted表及如何创建:INSERT、UPDATE、DELETE触发器。 实验内容

建立银行业务数据库bankdb,其中,帐户信息表(bank)存放帐户的信息,交易信息表(transInfo)存放每次的交易信息。

1、当向交易信息表(transInfo)中插入一条交易信息时,自动更新对应帐户的余额。

2、当删除交易信息表时,要求自动备份被删除的数据到表backupTable中。

3、跟踪用户的交易,交易金额超过20000元,则取消交易,并给出错误提示。 实验报告

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

12

实验八 JDBC编程*

课程名称: 学时

数据库原理实验 4

实验类型:

综合型

实验目的:

熟悉使用JDBC来进行数据库应用程序的设计,熟悉通过JDBC接口编程访问数据库并对数据库进行操作。 实验要求:

配置环境变量。使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,数据库建议选用教务管理数据库,读者可以选择进行创建、插入、查询、删除和更新等操作。

要求:

(1) 以对学生表的操作为例,程序循环输出如下格式菜单,根据用户的选

择,完成对学生表的各类操作:

1=List ALL; 2=List(By Student_ID);3=Insert;4=Insert; 0=Exit (2)提交源程序并标识必要的注释。保证程序能正确编译和运行,认真填写实验报告。

13


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

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

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

马上注册会员

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