数据库应用技术课后习题答案(网上找的还行)(2)

2019-01-07 18:02

确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。

5、如果创建一个数据库其SQL语句是什么? 参考答案:

CREATE DATABASE 数据库名称

6、存储过程的含义是什么?创建存储过程的SQL语句是什么? 参考答案:

存储过程(Stored Procedure)是一组预先编译好的,以一种可执行的形式永久地存储在数据中的SQL代码,在master数据库中存储了一些SQL Server事先定义好的系统存储过程,通常以sp_xxxx做为存储过程的名字。当用户创建数据库时,也会自动生成一些事先定义好的存储过程,通常以dt_xxxx做为名字。

创建存储过程的SQL语句是: (1)语句格式:

CREATE PROC[EDURE] <存储过程名> AS (2)语句功能:

创建一个存储过程,多数是指利用SQL Server的Transact-SQL编写的程序。 7、什么是事务?举例说明事务处理的作用是什么? 参考答案:

事务(Transaction)是并发控制的基本单位,它反映了现实世界中需要以一个完整的单位提交的一项工作。SQL Server通过事务机制,将逻辑相关的一组操作捆绑在一起,以便服务器保持数据的完整性。它是SQL复杂程序设计必不可少的内容。

事务需要用户根据实际业务规则定义,有一定的难度,但其原理比较简单。举例说,如果我们正在使用UPDATE语句同时对学生表、成绩表中的学号”20030001”改为”20040001”。这个任务需要两条UPDATE语句组成,即:

UPDATE 学生表 SET 学号=?20040001? WHERE 学号=?20030001? UPDATE 成绩表 SET 学号=?20040001? WHERE 学号=?20030001?

如果在执行完第一个语句后,计算机突然断电,而第二条语句还没来得急执行,数据出现了不一致怎么办?这时候就需要用到SQL的事务控制功能了。

如果使用了SQL Server的事务控制机制,以上两个问题均可获得很了的解决。在使用事务的情况下,SQL Server可以保证,要么所有的记录要么全部处理,要么一行也不处理。如果修改了全部记录的一半时服务器出错了,SQL Server会返回到以前未执行UPDATE操作前的位置,清除它已经修改过的数据,这就是事务处理的作用。

8、SQL Server有哪些数据类型,它们的主要用途是什么? 参考答案:

SQL Server提供了数值型、字符型、日期型、二进制型、位型、双字节型等6大类数据类型。 数据类型是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。

9、假设某教学管理数据库有以下三张表,请写出下列问题的SQL语句: 学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 成绩(学号,课程号,成绩)

(1)如何在SQL Server上创建这三张表; 参考答案: 学生表:

create table 学生表 ( 学号 char (8) primary Key, 姓名 char(8), 年龄 int, 性别 bit) 课程表:

create table 课程表 ( 课程号 char (7) primary Key, 课程名 char(20), 任课教师 char (8)) 成绩表:

create table 成绩表 ( 学号 char (8), 课程号 char (7), 成绩 Numeric (4,2))

(2)查询刘峰教师所授课程号,课程名; 参考答案:

Select课程号, 课程名 from课程表 where任课教师=? 刘峰? (3)查询年龄大于20岁的所有男同学的学号、姓名; 参考答案:

Select 学号, 姓名 from 学生表 where 性别=1 and 年龄>20 (4)查询至少选修了两门课程(含两门)的学生学号; 参考答案:

select 学号 from 成绩 group by 学号 having count(学号)>=2

(5)查询王文芳同学选修的所有课程的课程号; 参考答案:

Select 课程号 from 成绩表, 学生表

Where学生表.姓名=? 王文芳? and 学生表.学号=成绩表.学号 (6)查询王文芳同学不学的课程的课程号; 参考答案:

select 课程号 from 成绩表

where 课程号 not in (select 课程号 from 学生表,成绩表 where 学生表.姓名='王文芳' and 学生表.学号=成绩表.学号) (7)查询所有上刘峰老师课程的学生学号; 参考答案:

Select 学号 from 成绩表,课程表,学生表

Where 课程表.任课教师='刘世峰' and 课程表.课程号=成绩表.课程号 and 课程表.学号=成绩表.学号

(8)查询所有选修“数据库原理”的学生的学号; 参考答案:

Select 学号 from 成绩表,课程表

where 课程表.课程名='数据库技术' and 课程表.课程号=成绩表.课程号

(9)向学生表中插入一条记录(?2003001?,?吴红?,21,?女?);(1表示女,0表示男) 参考答案:

insert into 学生表 values ('2003001','吴红','21',1) (10)删除三张表中所有学号为20020001的学生信息; 参考答案:

Delete from学生表 where 学号=? >20020001?

Delete from学生表 where 学号=? 20020001? (11)把学号为20030002的学生的年龄改为22岁; 参考答案:

Update 学生表 set 年龄=?22? where学号=?20030002?

第三章 思考与练习题 一、选择题

1.设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合( A )。 A、第一范式 B、第二范式 C、第三范式 D、BNC范式

2.在第一个关系中出现,在第二个关系中不出现的记录组成的关系称为两个关系的( C )。 A、交 B、并 C、差 D、笛卡儿积 二、简答题

1.设关系模式R有N个属性,在模式R上可能成立的函数依赖有多少个? 参考答案:

函数依赖有N×(N-1)个

2.设有关系模式R(职工号,职工名,项目号,项目名,工资),假设一个职工可参加多个项目,在每个项目中各领一份工资。那么请回答以下问题:

(1)请写出这个关系模式的函数依赖和主关键字;

函数依赖包括:职工号→职工名,项目号→项目名,(职工号,项目号)→工资 主键为(职工号,项目号)

(2)这个关系符合第几范式,为什么?

这个关系符合第一范式,因为它的每个属性都不可再分。 (3)请举例说明,这个关系存在哪些问题;

这个关系没有达到第二范式,可能出现数据冗余和操作异常。

例如,某个职工参与了多个项目的工作,他的职工号、职工名会重复多次存储。同样,如果一个项目有多名职工参加,项目号和项目名也会重复我次存储。另外,如果现在增加了一个新的项目,但暂时还没有安排职工参加,那么由于主键是(职工号,项目号),这个项目的信息可能无法插入。

(4)请把这个关系模式分解成3NF,并说明理由。 修改后的各个关系如下: 职工关系=(职工号,职工名) 项目关系=(项目号,项目名)

职工选择项目关系=(职工号,项目号,工资)

(注:此处的工资是指职工参加某个项目得到的劳动报酬) 3.关系完整性的主要内容是什么?为什么要保证关系的完整性? 参考答案:

关系完整性就是关系模型中数据的正确性、一致性和有效性。关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。

只有保证了关系的完整性,才能使数据库中的数据正确、一致和有效。 4.SQL Server中进行关系完整性的主要方法是什么,请写出相应的SQL语句。 参考答案:

1)SQL Server通过约束机制来实现数据库完整性保护。主要包括:Primary Key约束、Foreign Key约束、Default约束、Unique约束、Check约束等。

Primary Key约束: 学号 char (8) NOT NULL PRIMARY KEY(学号) Foreign Key约束: 学号 char (8) NOT NULL REFERENCES 学生表(学号) Default约束:

成绩 numeric(9,2) DEFAULT 0.00 Unique约束:

学号 char (8) NOT NULL UNIOQUE(学号) Check约束:

年龄 int CHECK (年龄)17 and 年龄<25)


数据库应用技术课后习题答案(网上找的还行)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:7《陈情表》教案(最新)

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

马上注册会员

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