当前位置:首页 » 数据仓库 » mysql数据库武洪萍版课后习题答案
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysql数据库武洪萍版课后习题答案

发布时间: 2023-01-21 21:38:27

数据库原理与应用教程第4版课后习题答案(何玉洁)

第一题:

(1)mysql数据库武洪萍版课后习题答案扩展阅读

这部分内容主要考察的是数据库系统的知识点:

数据库系统为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。

数据库系统通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。

数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。

数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。

⑵ 哪位大侠可以提供一些mysql数据库的题库,一定要带答案的!将感激不尽!!

一、不定项选择题(共40题,每小题2.5分,总分100分)
1. 数据库管理系统的发展历经了如下那些模型阶段( ACDE )
A. 层次模型 B. 结构模型 C. 关系模型
D. 网状模型 E.对象模型
2. 关系型数据库的核心单元是( B )
A. 对象 B. 表
C. 行 D. 列
3. 对于关系型数据库来说,表之间存在下面那些关系( ABC )
A. 一对一关系 B. 一对多关系
C. 多对多关系 D. 继承关系
4. 在SQL中,下面对于数据定义语言(DDL)描述正确的是( D )。
A. DDL关心的是数据库中的数据 B. 完成数据的增、删、改、查操作
C. 控制对数据库的访问 D. 定义数据库的结构
5. MySQL是一种( C )数据库管理系统。
A. 层次型 B. 网络型 C. 关系型 D. 对象型
6. SQL中,下列操作有语法错误的是( B )
A. AGE IS NOT NULL B. NOT(AGE IS NULL)
C. SNAME=‘王五’ D. SNAME=‘王%’
7. SQL中,下列关于创建、管理数据库的操作语句不正确的是( CDE )
A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant
D. Connection Instant E. Delete DATEBASE Instant
8. 在MySQL中,不存在的数据类型是( F )。
A. INT B. TEXT C. DECIMAL
D. VARCHAR E. DATETIME F. VARCHAR2
9. 在MySQL中,下列关于创建数据库表的描述正确的是( C )。
A. 在创建表时必须设定列的约束
B. 在删除表的时候通过外键约束连接在一起的表会被一同删除
C. 在创建表时必须设置列类型
D. 通过CREATE TABLE new_t SELECT * FROM old_t复制表的同时,表的约束能够一起被复制到新表中
10. 根据数据完整性实施的方法,可以将其分为( ACDF )
A. 实体完整性 B. 表完整性 C.域完整性
D. 引用完整性 E. 记录完整性 F.用户自定义完整性
11. 下面关于域完整性的方法,不正确的是( A )。
A. 主键约束 B. 外键约束 C.检查约束
D. 非空约束 E. 默认值
12. 下面关于创建和管理索引正确的描述是( C )。
A. 创建索引是为了便于全表扫描
B. 索引会加快DELETE、UPDATE和INSERT语句的执行速度
C. 索引被用于快速找到想要的记录
D. 大量使用索引可以提高数据库的整体性能
13. SQL中,“AGE IN(20,22)”的语义是( D )。
A. AGE<=22 AND AGE >=20 B. AGE <22 AND AGE >20
C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22
14. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )
A. 实体完整性约束 B. 参照完整性约束
C. 用户自定义完整性约束 D. 关键字完整性约束
15. 下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:( B )
Select stu_id,subId,count(*) as x
From t_exam
Where ex_date=’2008-08-08’
Group stu_id,subId
Having count(*)>1
Order by x desc
A. 找出’2008-08-08’这天某科考试2次及以上的学生记录
B. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面
C. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面
D. 根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面
16. EMP表如下所示,下面哪些SQL语句的返回值为3:( BD )
EMP
雇员号 雇员名 部门号 工资
001 张山 022000
010 王宏达01 1200
056 马林生02 1000
101 赵敏 04
A. select count(*) from emp
B. select count(distinct 部门号) from emp
C. select count(*) from emp group by 雇员号
D. select count(工资) from emp
17. 下面那一项不是SELECT语句对数据的操作:( D )
A. 投影 B. 联接 C. 并 D. 级联
18. 下面关于SQL数据查询操作描述正确的有:( ABD )
A. 投影操作是选择对表中的哪些列进行查询操作
B. 使用DISTINCT关键字可以过滤查询中重复的记录
C. 在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符
D. 在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数
19. 在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A )。
A. 包括20岁和30岁 B. 不包括20岁和30岁
C. 包括20岁,不包括30岁 D. 不包括20岁,包括30岁
20. SQL语言中,删除EMP表中全部数据的命令正确的是( C )。
A. delete * from emp B. drop table emp
C. truncate table emp D. 没有正确答案
21. 有关索引的说法错误的是( AD )
A. 索引的目的是为增加数据操作的速度
B. 索引是数据库内部使用的对象
C. 索引建立得太多,会降低数据增加删除修改速度
D. 只能为一个字段建立索引
22. 下列哪个关键字在Select语句中表示所有列( A )
A. * B. ALL C. DESC D. DISTINCT
23. 在表中设置外键实现的是哪一类数据完整性( B )
A. 实体完整性 B. 引用完整性
C. 用户定义的完整性 D. 实体完整性、引用完整性和用户定义的完整性
24. 下面正确表示Employees表中有多少非NULL的Region列的SQL语句是( B )
A. SELECT count(* ) from Employees
B. SELECT count(ALL Region) from Employees
C. SELECT count(Distinct Region) from Employees
D. SELECT sum(ALL Region) from Employees
25. 下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是( C )
A. WHERE子句 B. GROUP BY子句
C. HAVING 子句 D. ORDER BY子句
26. t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是( A )
A. select avg(nvl(socre,0)) from score group by stu_id
B. select stu_id,avg(sorce) from score
C. select stu_id,avg(score) from score
D. select stu_id,sum(score)/count(score) from score
27. 若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的( B )
A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′
B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′
C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′
D. 全部
28. 若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是( B )
A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*)> 3
B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*)> 3)
C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*)> 3
D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)>= 3
29. 对下面的查询语句描述正确的是( D )
Select StudentID,Name,
(select count(*) from StudentExam
where StudentExam.StudentID = Student.StudentID) as ExamsTaken
from Student
order by ExamsTaken desc
A. 从Student表中查找StudentID和Name,并按照升序排列
B. 从Student表中查找StudentID和Name,并按照降序排列
C. 从Student表中查找StudentID、Name和考试次数
D. 从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列

30. 下面题基于学生-课程数据库中的三个基本表:
学生信息表:s(sno, sname, sex, age, dept) 主键为sno
课程信息表:c(cno, cname, teacher) 主键为cno
学生选课信息表:sc(sno, cno, grade) 主键为(sno, cno)
“从学生选课信息表中找出无成绩的学生信息”的SQL语句是( C d )

A.

SELECT * FROM sc WHERE grade=NULL

B.

SELECT * FROM sc WHERE grade IS ‘ ’

C.

SELECT * FROM sc WHERE grade IS NULL

D.

SELECT * FROM sc WHERE grade =‘ ’

31. 当子查询返回多行时,可以采用的解决办法是( C )。
A. 使用聚合函数 B. Where条件判断
C. 使用IN运算符 D. 使用Group by进行分组
32. 下面关于在子查询中使用运算符描述不正确的是( D )。
A. 使用IN运算符用于查找字段值属于某一组值的行
B. 使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真
C. 使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件
D. 使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件
33. 下面关于组合查询描述不正确的是( D )。
A. 从一个表中获取的数据必须和其它表中的数据具有相同的列数
B. 两个表中相对应的列必须具有相同的数据类型
C. UNION的结果集列名与第一个SELECT语句的结果集中的列名相同
D. UNION的结果集列名与第二个SELECT语句的结果集中的列名相同
E. UNION ALL运算符返回每个数据集的所有成员
34. 下面关于联接的描述正确的是( A )。
A. 内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行
B. 左外联接结果集包含从右边的表返回的所有行
C. 右外联接结果集包含从左边的表返回的所有行
D. 全外联接返回左表和右表中的所有匹配的行
35. 下面关于数据库设计过程正确的顺序描述是( C )。
A. 需求收集和分析、逻辑设计、物理设计、概念设计
B. 概念设计、需求收集和分析、逻辑设计、物理设计
C. 需求收集和分析、概念设计、逻辑设计、物理设计
D. 需求收集和分析、概念设计、物理设计、逻辑设计
36. ER图属于下面哪一种数据库设计模型( B )。
A. 物理数据模型
B. 概念数据模型
C. 逻辑数据模型
D. 需求模型
37. 非主键必须完全依赖于主键列,这属于下列范式的内容( BC )
A. 1NF B. 2NF C. 3NF D. 都没有的
38. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( B )。
A. PK(主键) B. FK(外键) C. UK(唯一键) D. 复合主键
39. 根据三个范式的定义,下面哪个选项的设计是正确的( C )
职工编号 姓名 工种 车间 车间主任
1001 李宁 车工 一车间 周杰
1002 王海 铣工 一车间 周杰
1003 赵亮 钳工 二车间 吴明
1001 李宁 钳工 二车间 吴明
A. 员工表、工种表、车间表
B. 员工表、工种表、车间表、车间主任表
C. 员工表、工种表、车间表、员工工种表、员工车间表
D. 以上设计均不正确

40. 下列说法中,哪些是正确的( BD )
A. RDBMS是数据库管理系统的简称
B. 各行记录都不能重复,是第二范式要求的
C. 在数据库设计中一定要满足第三范式
D. 索引越多,查询越快,数据更新越慢

⑶ 麻烦请教各位高手一些MYSQL数据库的问题

create table Student
(
sno varchar(10) not null primary key,
sname varchar(10),
ssex varchar(2),
sage int(5),
sdept varchar(10)
);

alter table Student add Scome Date();

insert into sc values('08111','203',80);

update Student set sdept='经济系' where sno='李阳';//多写了一个from

select Sno,Grade from SC where Cno='103' order by Grade desc;

select max(grade),arg(grade) from SC group by Cno having Cno = '103';

delete from SC where Sno='05019';
delete from Student where Sno='05019';

select * from SC where Grade between 60 and 80;

select * from Student where sdept='计算机系' or ssex='女';

select count(sno) from Student group by sdept having sdept='计算机';

⑷ 这两种题型mysql数据库结构应该怎么设计,B形题和A3A4题

一、不定项选择题(共40题,每小题2.5分,总分100分)1.数据库管理系统的发展历经了如下那些模型阶段(ACDE)A.层次模型B.结构模型C.关系模型D.网状模型E.对象模型2.关系型数据库的核心单元是(B)A.对象B.表C.行D.列3.对于关系型数据库来说,表之间存在下面那些关系(ABC)A.一对一关系B.一对多关系C.多对多关系D.继承关系4.在SQL中,下面对于数据定义语言(DDL)描述正确的是(D)。A.DDL关心的是数据库中的数据B.完成数据的增、删、改、查操作C.控制对数据库的访问D.定义数据库的结构5.MySQL是一种(C)数据库管理系统。A.层次型B.网络型C.关系型D.对象型6.SQL中,下列操作有语法错误的是(B)A.AGEISNOTNULLB.NOT(AGEISNULL)C.SNAME=‘王五’D.SNAME=‘王%’7.SQL中,下列关于创建、管理数据库的操作语句不正确的是(CDE)A.CREATEDATABASEInstantB.USEInstantC.NEWDATABASEInstantD.ConnectionInstantE.DeleteDATEBASEInstant8.在MySQL中,不存在的数据类型是(F)。A.INTB.TEXTC.DECIMALD.VARCHARE.DATETIMEF.VARCHAR29.在MySQL中,下列关于创建数据库表的描述正确的是(C)。A.在创建表时必须设定列的约束B.在删除表的时候通过外键约束连接在一起的表会被一同删除C.在创建表时必须设置列类型D.通过CREATETABLEnew_tSELECT*FROMold_t复制表的同时,表的约束能够一起被复制到新表中10.根据数据完整性实施的方法,可以将其分为(ACDF)A.实体完整性B.表完整性C.域完整性D.引用完整性E.记录完整性F.用户自定义完整性11.下面关于域完整性的方法,不正确的是(A)。A.主键约束B.外键约束C.检查约束D.非空约束E.默认值12.下面关于创建和管理索引正确的描述是(C)。A.创建索引是为了便于全表扫描B.索引会加快DELETE、UPDATE和INSERT语句的执行速度C.索引被用于快速找到想要的记录D.大量使用索引可以提高数据库的整体性能13.SQL中,“AGEIN(20,22)”的语义是(D)。A.AGE=20B.AGE20C.AGE=20ANDAGE=22D.AGE=20ORAGE=2214.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于(C)A.实体完整性约束B.参照完整性约束C.用户自定义完整性约束D.关键字完整性约束15.下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:(B)Selectstu_id,subId,count(*)asxFromt_examWhereex_date=’2008-08-08’Groupstu_id,subIdHavingcount(*)>1OrderbyxdescA.找出’2008-08-08’这天某科考试2次及以上的学生记录B.找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面C.找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面D.根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面16.EMP表如下所示,下面哪些SQL语句的返回值为3:(BD)EMP雇员号雇员名部门号工资001张山022000010王宏达011200056马林生021000101赵敏04A.selectcount(*)fromempB.selectcount(distinct部门号)fromempC.selectcount(*)fromempgroupby雇员号D.selectcount(工资)fromemp17.下面那一项不是SELECT语句对数据的操作:(D)A.投影B.联接C.并D.级联18.下面关于SQL数据查询操作描述正确的有:(ABD)A.投影操作是选择对表中的哪些列进行查询操作B.使用DISTINCT关键字可以过滤查询中重复的记录C.在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符D.在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数19.在SQL语言中,条件“BETWEEN20AND30”表示年龄在20到30之间,且(A)。A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁,不包括30岁D.不包括20岁,包括30岁20.SQL语言中,删除EMP表中全部数据的命令正确的是(C)。A.delete*fromempB.droptableempC.truncatetableempD.没有正确答案21.有关索引的说法错误的是(AD)A.索引的目的是为增加数据操作的速度B.索引是数据库内部使用的对象C.索引建立得太多,会降低数据增加删除修改速度D.只能为一个字段建立索引22.下列哪个关键字在Select语句中表示所有列(A)A.*B.ALLC.DESCD.DISTINCT23.在表中设置外键实现的是哪一类数据完整性(B)A.实体完整性B.引用完整性C.用户定义的完整性D.实体完整性、引用完整性和用户定义的完整性24.下面正确表示Employees表中有多少非NULL的Region列的SQL语句是(B)A.SELECTcount(*)fromEmployeesB.SELECTcount(ALLRegion)fromEmployeesC.SELECTcount(DistinctRegion)fromEmployeesD.SELECTsum(ALLRegion)fromEmployees25.下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是(C)A.WHERE子句B.GROUPBY子句C.HAVING子句D.ORDERBY子句26.t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是(A)A.selectavg(nvl(socre,0))fromscoregroupbystu_idB.selectstu_id,avg(sorce)fromscoreC.selectstu_id,avg(score)fromscoreD.selectstu_id,sum(score)/count(score)fromscore27.若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的(B)A.SELECTSno,SNAMEFROMSWHERESNAME=′王%′B.SELECTSno,SNAMEFROMSWHERESNAMELIKE′王%′C.SELECTSno,SNAMEFROMSWHERESNAMELIKE′王_′D.全部28.若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是(B)A.(*)>3B.(COUNT(*)>3)C.(*)>3D.(*)>=329.对下面的查询语句描述正确的是(D)SelectStudentID,Name,(selectcount(*).StudentID=Student.StudentID).从Student表中查找StudentID和Name,并按照升序排列B.从Student表中查找StudentID和Name,并按照降序排列C.从Student表中查找StudentID、Name和考试次数D.从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列30.下面题基于学生-课程数据库中的三个基本表:学生信息表:s(sno,sname,sex,age,dept)主键为sno课程信息表:c(cno,cname,teacher)主键为cno学生选课信息表:sc(sno,cno,grade)主键为(sno,cno)“从学生选课信息表中找出无成绩的学生信息”的SQL语句是(Cd)A.SELECT*FROMscWHEREgrade=NULLB.SELECT*FROMscWHEREgradeIS‘’C.SELECT*FROMscWHEREgradeISNULLD.SELECT*FROMscWHEREgrade=‘’31.当子查询返回多行时,可以采用的解决法是(C)。A.使用聚合函数B.Where条件判断C.使用IN运算符D.使用Groupby进行分组32.下面关于在子查询中使用运算符描述不正确的是(D)。A.使用IN运算符用于查找字段值属于某一组值的行B.使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真C.使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件D.使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件33.下面关于组合查询描述不正确的是(D)。A.从一个表中获取的数据必须和其它表中的数据具有相同的列数B.两个表中相对应的列必须具有相同的数据类型C.UNION的结果集列名与第一个SELECT语句的结果集中的列名相同D.UNION的结果集列名与第二个SELECT语句的结果集中的列名相同E.UNIONALL运算符返回每个数据集的所有成员34.下面关于联接的描述正确的是(A)。A.内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行B.左外联接结果集包含从右边的表返回的所有行C.右外联接结果集包含从左边的表返回的所有行D.全外联接返回左表和右表中的所有匹配的行35.下面关于数据库设计过程正确的顺序描述是(C)。A.需求收集和分析、逻辑设计、物理设计、概念设计B.概念设计、需求收集和分析、逻辑设计、物理设计C.需求收集和分析、概念设计、逻辑设计、物理设计D.需求收集和分析、概念设计、物理设计、逻辑设计36.ER图属于下面哪一种数据库设计模型(B)。A.物理数据模型B.概念数据模型C.逻辑数据模型D.需求模型37.非主键必须完全依赖于主键列,这属于下列范式的内容(BC)A.1NFB.2NFC.3NFD.都没有的38.如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立(B)。A.PK(主键)B.FK(外键)C.UK(唯一键)D.复合主键39.根据三个范式的定义,下面哪个选项的设计是正确的(C)职工编号姓名工种车间车间主任1001李宁车工一车间周杰1002王海铣工一车间周杰1003赵亮钳工二车间吴明1001李宁钳工二车间吴明A.员工表、工种表、车间表B.员工表、工种表、车间表、车间主任表C.员工表、工种表、车间表、员工工种表、员工车间表D.以上设计均不正确40.下列说法中,哪些是正确的(BD)A.RDBMS是数据库管理系统的简称B.各行记录都不能重复,是第二范式要求的C.在数据库设计中一定要满足第三范式D.索引越多,查询越快,数据更新越慢

⑸ 求MYSQL数据库答案

1、先用NavicatforMySQL创建名字为shopping的数据库,如下图所示:2、创建的shopping数据库上运行已有的.sql文件,要注意上面创建的数据库名字shopping最好和原先.sql文件中的名字一样,也可以不一样,如果不一样的话会自动生成原来.sql文件中SQL语句中所命名的数据库。此时,可以把上面创建的shopping数据库删除了就可以,直接用自动生成的就行。运行.sql步骤如下:右键你刚才创建的shopping数据库——>运行sql文件——>选择.sql文件位置——执行即可。创建好的数据库如下所示:

⑹ mysql数据库原理及应用第三版答案在哪里找

mysql数据库原理及应用 数据库原理与应用(第3版)答案《数据库原理与应用》(第三版)习题参考答案 第 1 章 数据库概述 1. 试说明数据、数据库、数据库管理系统和数据库系统的概念。答:数据是描述事物的符号记录。数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。2. 数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。3. 与文件管理相比,数据库管理有哪些优点? 答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。4. 在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么? 答:不需要。因为数据库管理系统提供了逻辑独立性和物理独立性。5. 在数据库系统中,数据库的作用是什么? 答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。6. 在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗? 答:不能7. 数据独立性指的是什么?它能带来哪些好处? 答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。8. 数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么? 答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。
第2章 数据模型与数据库结构 1. 解释数据模型的概念,为什么要将数据模型分成两个层次? 答:答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数据模型要能够比较真实地模拟现实世界;第二是数据模型要容易被人们理解;第三是数据模型要能够很方便地在计算机上实现。由于用一种模型来同时很好地满足这三方面的要求在目前是比较困难的,因此在数据库系统中就可以针对不同的使用对象和应用目的,采用不同的数据模型。根据模型应用的不同目的,将这些模型分为两大类:概念层数据模型和组织层数据模型,以方便对信息的描述。2. 概念层数据模型和组织层数据模型分别是针对什么进行的抽象? 答:概念层数据模型是对现实世界的抽象,形成信息世界模型,组织层数据模型是对信息世界进行抽象和转换,形成具体的DBMS支持的数据组织模型。3. 实体之间的联系有哪几种?请为每一种联系举出一个例子。答:实体之间的联系有一对一、一对多和多对多三种。例如:系和正系主任是一对一联系(假设一个系只有一个正系主任),系和教师是一对多联系(假设一个教师只在一个系工作),教师和课程是多对多联系(假设一个教师可以讲授多门课程,一门课程可由多个教师讲授)。4. 说明实体-联系模型中的实体、属性和联系的概念。5.指明下列实体间联系的种类:(1)教研室和教师(设一个教师只属于一个教研室,一个教研室可有多名教师)。(2)商品和顾客。(3)国家和首都(假设一个国家的首都可以变化)。(4)飞机和乘客。(5)银行和账户。(6)图书和借阅者。(设一个借阅者可同时借阅多本书,可在不同时间对同一本书借阅多次) 6.数据库系统包含哪三级模式?试分别说明每一级模式的作用? 答:数据库系统包含的三级模式为:内模式、模式和外模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式是对整个数据库的底层表示,它描述了数据的存储结构。
7. 数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能? 答:数据库系统的两级映象是模式与内描述间的映象和外模式与模式间的映象。模式/内模式的映象带来了物理独立性,即如果数据库的存储结构改变了,可通过调整模式/内模式的映象,使模式能够保持不变。外模式/概念模式间的映象带来了逻辑独立性,当概念模式的结构可发生改变时,也可通过调整外模式/模式间的映象关系,使外模式可以保持不变。8.数据库三级模式划分的优点是什么?它能带来哪些数据独立性? 答:数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据库进行了划分,使彼此之间的相互干扰减到最少。这三个模式的划分实际上带来了两个数据独立性:物理独立性和逻辑独立性。这使得底层的修改和变化尽量不影响到上层。第3章 关系数据库 1. 试述关系模型的三个组成部分。答:关系数据结构、关系操作集合和关系完整性约束。2. 解释下列术语的含义:(1) 笛卡尔积:设D1,D2,…,Dn为任意集合,定义笛卡尔积D1,D2,…,Dn为:D1×D2× …×Dn ={(d1,d2,…,dn) | di ∈Di,i=1,2,…,n }(2) 主键:也称主码为或主关键字,是表中的属性或属性组,用于惟一地确定一个元组。(3) 候选键:如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。(4) 外键:设F是关系R的一个或一组属性,如果F与关系S的主键相对应,则称F是关系R的外键。(5) 关系:关系就是简单二维表。(6) 关系模式:二维表的结构称为关系模式。(7) 关系数据库:对应于一个关系模型的所有关系的集合称为关系数据库。3. 关系数据库的三个完整性约束是什么?各是什么含义? 答:实体完整性、参照完整性和用户定义的完整性。实体完整性是保证关系中的每个元组都是可识别的和惟一的。参照完整性也称为引用完整性,用于表达现实世界中的实体之间的关联关系。
用户定义的完整性也称为域完整性或语义完整性,用于保证数据库中存储的值与现实世界相符。4. 连接运算有哪些?等值连接和自然连接的区别是什么? 答:连接运算中最重要也是最常用的连接有两个,一个是等值连接,一个是自然连接。自然连接与等值连接的差别为:l 自然连接要求相等的分量必须有共同的属性名,等值连接则不要求;l 自然连接要求把重复的属性名去掉,等值连接却不这样做。5. 对参与并、交、差运算的两个关系R、S有什么要求? 答:必须结构相同,且相应的属性值取自同一个值域。6. 对参与除运算的两个关系(R÷S)有什么要求?除运算的结果关系中包含哪些属性? 答:R中必须包含S的全部或部分属性,除运算的结果包含的属性是只属于R不属于S的属性。7. 对参与自然连接和等值连接操作的两个关系R、S有什么要求?答:有语义相同的属性。8. 投影操作的结果关系中是否有可能存在重复的记录?为什么? 答:不可能,因为投影运算会自动去掉投影后重复的记录。9.利用表3-10至3-12所示的三个关系,写出实现如下查询要求的关系代数表达式。(1)查询“信息系”学生的选课情况,列出学号、姓名、课程号和成绩。∏Sno, Sname, Cno, Grade(σSdept=‘信息系’(SCStudent)) 或:∏Sno, Sname, Cno, Grade(SC σSdept=‘信息系’(Student))(2) 查询“VB”课程的考试情况,列出学生姓名、所在系和考试成绩。∏Sname, Sdept, Grade(σCname=‘VB’(CoureSCStudent)) 或:∏Sname, Sdept, Grade(σCname=‘VB’(Coure) SCStudent)(3) 查询考试成绩高于90分的学生的姓名、课程名和成绩。∏Sname, Cname, Grade(σGrade>90(CoureSCStudent)) 或:∏Sname, Cname, Grade(Coure
σGrade>90(SC)Student)(4) 查询至少选修了0512号学生所选的全部课程的学生的姓名和所在系。∏Sname, Sdept(Student (SC ÷ ∏Cno(σsno=’0512’(SC))))(5) 查询至少选了“C01”和“C02”两门课程的学生的姓名、所在系和所选的课程号。∏Sname, Sdept, Cno(Student (SC ÷ ∏Sno(σcno=’C01’ V Cno=’C02’(SC))))(6) 查询没有选修第1学期开设的全部课程的学生的学号、姓名和所选的课程号。∏Sno, Sname, Cno(Student SC (∏sno(SC) - ∏sno(σsemester=1(Course)SC)))(7) 查询计算机系和信息系选了VB课程的学生姓名。∏Sname(σsdept=’计算机系’V sdept=’信息系’)∧ cname=’vb’(StudentSC Course)) 或:∏Sname(σsdept=’计算机系’V sdept=’信息系’(Student)SC σcname=’vb’(Course)) 第4章 SQL Server 20__基础 1. 安装SQL Server 20__对硬盘及内存的要求分别是什么? 答:SQL Server 20__实际硬盘空间需求取决于系统配置和您决定安装的功能,一般应确保系统驱动器中是否有至少 6.0 GB 的可用磁盘空间。内存:E_press 版本:最少512 MB;其他版本:最少1 GB。2. SQL Server实例的含义是什么?实例名的作用是什么? 答:一个实例代表一个独立的数据库管理系统。实例名是实例的标识,用户通过“计算机名/实例名”的方式可访问指定的命令实例。3. SQL Server 20__的核心引擎是什么? 答:SQL Server(MSSQLSERVER)4. SQL Server 20__提供的设置服务启动方式的工具是哪个? 答:配置管理器
5. 在SQL Server 20__中,每个数据库至少包含几个文件? 答:2个文件,一个数据文件,一个日志文件 6. SQL Server 20__数据库文件分为几类?每个文件有哪些属性? 答:主要数据文件和次要数据文件,属性有:物理文件名及其位置、逻辑文件名、初始大小、增长方式、最大大小。第 5 章 数据类型及关系表创建 1. Tinyint数据类型定义的数据的取值范围是多少? 答:0-2552. SmallDatatime类型精确到哪个时间单位? 答:分钟3. 定点小数类型numeric中的p和q的含义分别是什么? 答:p代表整数位数+小数位数的和值,q代表小数位数。4. Char(n)、nchar(n)的区别是什么?它们各能存放多少个字符? 答:Char(n)中的n代表能存放n个字节的字符,如果是字母可以存放n个,如果是汉字可存放n/2个。Nchar(n)中的n代表能存放的字符个数。5. Char(n)和varchar(n)的区别是什么?答:Char(n)是定长存储,一定占n个字节的空间。Varchar(n)代表最多占n个字节的空间。6. 数据完整性约束的作用对象有哪些? 答:表和列7. CHECK约束的作用是什么? 答:限制列的取值范围。8. UNIQUE约束的作用是什么? 答:限制列取值不重。9. DEFAULT约束的作用是什么? 答:提供列的默认值。上机练习 1. 在第4章创建的Students数据库中,写出创建如下三张表的SQL语句,要求在定义表的同时定义数据的完整性约束:(1)“图书”表结构如下:书号:统一字符

⑺ 数据库原理答案及应用(SQL Server版)课后习题答案 主编武洪萍 马桂婷

把题目发出来吧,这里高手很多。

⑻ mysql数据库技术答案在哪看

直接网络搜索。数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。

1)人工管理阶段

这个时期数据管理的特点是:

数据由计算或处理它的程序自行携带,数据和应用程序一一对应,应用程序依赖于

数据的物理组织,因此数据的独立性差,数据不能被长期保存,数据的冗余度大等给数

据的维护带来许多问题。

2)文件系统阶段

在此阶段,数据以文件的形式进行组织,并能长期保留在外存储器上,用户能对

数据文件进行查询、修改、插入和删除等操作。程序与数据有了一定的独立性,程序和

数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。

3)数据库系统阶段

数据库系统的特点如下:

(1)数据结构化

(2)较高的数据共享性

(3)较高的数据独立性



(4)数据由DBMS 统一管理和控制

2.简述数据、数据库、数据库管理系统、数据库应用系统的概念。

答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。

数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动

进行查询和修改的数据集合。

数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。

它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户

或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。

数据库应用系统:凡使用数据库技术管理其数据的系统都称为数据库应用系统。

3.简述数据库管理系统的功能。

⑼ 数据库系统原理及应用教程(第3版)课后习题答案!

习题5第5题p148

create database 职工_社团

use 职工_社团

create table 职工(

职工号 char(10) primary key,

姓名 char(8),

年龄 smallint default 20,

性别 char(20),

constraint C1 check (性别 in ('男','女')));

create table 社会团体(

编号 char(10) primary key,

名称 char(8),

负责人 char(10),

活动地点 char(20),

constraint C2 foreign key (负责人) references 职工 (职工号));

create table 参加(

职工号 char(10),

编号 char(10),

参加日期 smalldatetime,

constraint C3 primary key (职工号,编号),

constraint C4 foreign key (职工号) references 职工 (职工号),

constraint C5 foreign key (编号) references 社会团体 (编号));

(2)

create view 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)

as select 社会团体.编号,社会团体.名称,社会团体.负责人, 职工.职工号,职工.性别

from 职工,社会团体,参加

where 社会团体.编号=参加.编号 and 职工.职工号=参加.职工号

create view 参加人情况(职工号,姓名,社团编号,社团名称,参加日期)

as select 参加.职工号,姓名,社会团体.编号,名称,参加日期

from 职工,社会团体,参加

where 职工.职工号=参加.职工号 and 参加.编号=社会团体.编号

(3)

select distinct 职工.职工号,姓名

from 职工,社会团体,参加

where 职工.职工号=参加.职工号 and 参加.编号=社会团体.编号

and 社会团体.名称 in('歌唱队','篮球队');

(4)

select *

from 职工

where not exists (select *

from 参加

where 参加.职工号=职工.职工号);

(5)

select * from 职工

where not exists

(select *

from 社会团体

where not exists

(select *

from 参加

where 参加.职工号=职工.职工号 and 参加.编号=社会团体.编号));

(6)

select 职工号

from 职工

where not exists (select *

from 参加 参加1

where 参加1.职工号='001'and not exists

(select *

from 参加 参加2

where 参加2.编号=参加1.编号 and 参加2.职工号=职工.职工号))

(7)

select 编号,count(职工号) as 参加人数

from 参加

group by 编号;

(8)

select TOP 1 名称,count(*) 参加人数

from 参加,社会团体

where 参加.编号=社会团体.编号

group by 名称

order by 参加人数 desc

(9)

select distinct 社会团体.名称,职工.姓名 as 负责人

from 职工,社会团体,参加

where 社会团体.编号=参加.编号

and 社会团体.负责人=职工.职工号

and 参加.编号 in(select 参加.编号

from 参加

group by 参加.编号 having count(参加.编号)>100)

(10)

grant select,insert,delete on 社会团体 to 李平

with grant option;

grant select,insert,delete on 参加 to 李平

with grant option;

习题6第9题p212

create database 学生选课

use 学生选课

create table 学生(

学号 char(10) primary key,

姓名 char(10),

性别 char(10),

constraint C1 check (性别 in ('男','女')),

年龄 smallint default 20,

所在系 char(20));

create table 课程(

课程号 char(10) primary key,

课程名 char(20),

先行课 char(20));

create table 选课(

学号 char(10),

课程号 char(10),

成绩 smallint,

constraint D1 primary key (学号,课程号),

constraint D2 foreign key (学号) references 学生(学号),

constraint D3 foreign key (课程号) references 课程(课程号))

create index student_ind on 学生(学号)

create index class_ind on 课程(课程号)

create index select_ind on 选课(学号,课程号)

create rule value_rule as @value in ('男','女')

go

exec sp_bindrule 'value_rule','学生.性别'

go

create default 性别缺省 as '男'

go

exec sp_bindefault '性别缺省','学生.性别'

go

create trigger 选课插入更新 on 选课

for insert,update

as if (select count(*)

from 学生,inserted,课程

where 学生.学号=inserted.学号 and 课程.课程号=inserted.课程号)=0

rollback transaction

go

create trigger delete_all on 学生

for delete

as delete 选课

from 选课,deleted

where 选课.学号=deleted.学号

go

select 所在系,count(学号)as 学生人数

from 学生

group by 所在系

order by 所在系

compute count(所在系),sum(count(学号))

select *

from 学生 inner join 选课 on 学生.学号=选课.学号

go

select *

from 学生 left outer join 选课 on 学生.学号=选课.学号

go

select *

from 学生 right outer join 选课 on 学生.学号=选课.学号

go

select 选课.学号,学生.姓名,

学习情况=case

when avg(成绩)>=85 then '好'

when avg(成绩)>=75 and avg(成绩)<85 then '较好'

when avg(成绩)>=60 and avg(成绩)<75 then '一般'

when avg(成绩)<60 then '较差'

end

from 学生,选课

where 学生.学号=选课.学号

group by 选课.学号,姓名

go

只有这些,不知道用得到吗