数据库原理及应用教程第三章作业
数据库原理及应用-第3章

1)建立索引的注意事项
– 索引的创建与维护应该由DBA和DBMS完成。
– 表的主键将自动建立一个无重复值的索引; – 应该在经常进行查询操作的表中创建索引;
– 数据量不大的表不易建立索引;
– 包含太多重复值的列不易建立索引; – 值很长的列不易建立索引; – 经常更新的列不易建立索引。
2)索引的分类
字段三:折扣(表:订单明细)
– 字段名称:折扣 – 数据类型:数字 – 字段大小:双精度型 – 必填字段:否 – 索引:无 – 默认值:0 – 有效性规则:<1 – ……
字段中重点概念
• 数据类型
• 字段大小 • 主键 • 索引 • 是否必填 • 默认值 • 有效性
2、数据类型
• 在数据库中,每个字段都拥有自己的数据类型。字段的数 据类型决定了该字段中可以存储哪一类的数据。例如, “年龄”字段如果设定为“数字型”,那么在向该字段内 输入数据时,只能输入一些数字,而不允许输入字母或汉 字。
• 在设计和创建索引时,应确保对性能的提高程度大于在存 储空间和处理资源方面的代价。
• 创建索引要耗费一定的系统性能,因此要考察对 某列创建索引的必要性。
定义有主关键字和 外部关键字的列 这些情 况要考虑 创建索引 需要按排序顺序快速 或频繁检索的列 在集合过程中需要快速 或频繁组合到一起的列
需在指定范围中快速 或频繁查询的列
一、数据表基础知识
• Access中,数据表是数据库存储数据的基本单元; • 数据表是一种实体的描述,是关于特定主题的数据集合, 同一类实体用一个数据表来描述; • Access作为一个关系数据库,每一个表就对应一个关系, 所以表也是二维结构,由行和列组成。
• 数据表中的一行称为记录,记录某一个具体事物的信息; 表中的一列称为元组(字段),记录实体的某种特征; • 数据库中表名必须唯一,建议以实体名称作为表名。 元组 记录
数据库原理与应用教程第三版课后答案

习题参考答案第1 章数据库概述2.与文件管理相比,数据库管理有哪些优点?答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
3.比较文件管理和数据库管理数据的主要区别。
答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。
而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。
4.数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。
因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不能。
7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性指的是数据的逻辑独立性和物理独立性。
逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。
数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序指以数据库数据为核心的应用程序。
9.在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?.k5.在数据库系统中,数据库的作用是什么?答:在数据库系统中,数据库是存放数据的场所。
数据库原理与应用第3章答案解析主编肖海蓉,任民宏

第3章数据库设计3.1数据库设计概述3.1.1数据库设计的基本任务和目标3.1.2数据库设计的特点与方法3.1.3数据库设计步骤3.2需求分析3.2.1需求分析的任务3.2.2用例建模3.2.3对象模型3.2.4需求分析案例3.3数据库概念结构设计3.3.1概念结构设计概述3.3.2概念结构设计的任务3.3.3概念结构设计案例3.3.4概念结构设计的其他问题3.4数据库逻辑结构设计3.4.1逻辑结构设计的任务3.4.2概念模型转换为关系模型的方法3.4.3关系模型优化3.4.4逻辑结构设计案例3.5数据库的物理结构设计3.5.1影响物理结构的主要因素3.5.2物理结构设计的任务3.5.3物理结构设计案例3.6数据库的实施3.7数据库的运行和维护本章小结习题3第3 章数据库设计课后习题参考答案1、选择题(1)~(5):D、A、B、D、B(6)~(10):C、A、B、C、D(11)~(15):D、C、D、D、C(16)~(20):B、C、D、C、C(21)~(25):A、B、D、B、D2、简答题(1)简述数据库设计的主要步骤和每一个阶段的具体任务?数据库设计划分的 6 个阶段。
①需求分析。
此阶段的任务准确了解与分析用户的需求,弄清系统要达到的目标和实现的功能。
面向对象方法是通过用例模型描述系统功能需求的。
为了满足用户功能需求,还需要获取关于问题域本质内容的对象、对象的特征以及对象之间存在哪些关系和操作,从而确定系统的对象模型。
②概念结构设计阶段。
概念结构设计的主要任务是根据系统分析建立的业务对象模型形成信息世界的实体、属性和实体标识符,确定实体之间的联系类型,即设计E-R 模型。
③数据库逻辑结构设计。
逻辑结构设计阶段的主要任务是将概念结构转换为某个DBMS 所支持的数据模型,对关系数据库来说,就是将E-R 模型转化为关系模型,最终生成表,并确定表中的列,并根据数据存取的性能要求优化关系模型。
④数据库物理结构设计。
数据库系统原理及应用教程第四版课后答案 第3章

7
使用概括法将“职工”的子类合并:职工是个实体集, 技术人员、干部也是实体集,但技术人员、干部均是 职工的子集,如图7所示。
8
3.9答:① 信息模型设计是将系统需求分析得到 的用户需求抽象的过程,信息模型能转化为机器 世界中的数据模型,并用DBMS实现这些需求。 ② 信息模型设计可分为两步:第一步是抽象数 据并设计局部视图;第二步是集成局部视图,得 到全局的概念结构。
习题3
3.1答:① 数据库的设计要经过需求分析、概念结构设计、逻 辑结构设计、物理结构设计、数据库实施、数据库运行和维护6 个阶段。 ② 需求分析和概念结构设计阶段独立于数据库管理系统。 ③逻辑结构设计、物理结构设计、数据库实施、数据库运行和 维护要依赖于数据库管理系统。
1
3.2答:① 需求分析阶段:准确了解并分析用户对系统的需要 和要求,弄清系统要达到的目标和实现的功能。 ② 概念结构设计阶段:对用户需求进行综合、归纳与抽象, 形成一个独立于具体DBMS的概念模型。 ③ 逻辑结构设计阶段:将信息结构转换为数据模型,并将其 性能进行优化。 ④ 数据库物理设计阶段:为逻辑数据模型选取一个最适合应 用环境的物理结构,包括数据存储结构和存取方法。 ⑤ 数据库实施阶段:运用DBMS提供的数据操作语言和宿主语 言,根据数据库的逻辑设计和物理设计的结果建立数据库、编 制与调试应用程序、组织数据入库,并进行系统试运行。 ⑥ 数据库运行和维护阶段:不断地对其结构性能进行评价、 调整和修改。
一个1:1联系可以转换为一个独立的关系,与该联系相连的各实体的码以及联系本身 的属性均转换为关系的属性,且每个实体的码均是该关系的候选码;也可以与任意一端实 体集所对应的关系合并,在被合并关系中,新增的属性为联系本身的属性和与联系相关的 另一个实体集的码。
数据库原理及应用(SQL Server 2008)第三章习题及实验答案

第三章习题及实验答案习题答案一、选择题1、A2、A3、C二、填空题1、程序2、MIN、SUM3、CONTINUE、BREAK三、简答题1、可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。
2、用户自定义函数可分为:标量函数和表值函数。
可使用CREATE FUNCTION语句创建函数,在调用用户自定义函数时,如果调用的是标量函数,则必须提供架构名。
如果调用的是表值函数,则可以不提供架构名。
用户可以将调用的函数用在赋值语句中,或作为表达式的操作数,或用在SQL命令中。
3、批处理是包含一个或多个Transaction-SQL语句的组,从应用程序一次性的发送到SQL Server执行。
批处理是使用GO语句将多条SQL语句进行分隔,其中每两个GO之间的SQL 语句就是一个批处理单元。
一个批处理中可以包含一条语句,也可以包含多条语句。
4、在SQL Server系统中,可以使用的流程控制语句有BEGIN…..END、IF…ELSE、CASE、WHILE…..CONTINUE….BREAK、GOTO、W AITFOR、RETURN等。
BEGIN…..END….: 在条件语句和循环语句等流程控制语句中,当符合特定条件需要执行两个或多个语句时,就应该使用BEGIN…END语句将这些语句组合在一起。
IF…..ELSE….: IF….ELSE语句是条件判断语句。
CASE:用于多重选择的条件判断语句,结果返回单个值。
在CASE中可根据表达式的值选择相应的结果。
WHILE…..CONTINUE….BREAK: SQL语言中的循环语句,用来重复执行SQL语句或语句块。
GOTO: SQL程序中的无条件跳转语句,可以使程序直接跳到指定的标识符位置处继续执行。
WAITFOR: SQL中起暂停正在执行的语句、语句块或者存储过程的调用,直到某时间、时间间隔到达后才继续执行。
《数据库技术与应用》第3章习题答案

第3章关系数据库1. 试述关系模型的三个组成部分。
解:关系模型的三个组成部分(1) 关系数据模型的数据结构(2) 关系数据模型的操纵与完整性约束(3) 关系数据模型的存储结构2. 解释下列术语的含义:①笛卡尔积;②主码;③候选码;④外码;⑤关系;⑥关系模式;⑦关系数据库解:①笛卡尔积:两个分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。
元组的前n列是关系R的一个元组,后m列是关系S的一个元组。
若R有k1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有k1×k2个元组。
记作:R×S={trts|tr∈R⋀ts∈S}②主码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。
若一个关系有多个候选码,则选定其中一个为主码。
③候选码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。
④外码:如果关系模式R中的某属性集是另一个关系模式S的主码,则该属性集为关系模式R的外码。
⑤关系:关系是集合论的一个概念,也是关系模型的数据结构,它只包含单一的数据结构——关系。
在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。
在用户看来,一个关系就是一张二维表,这种简单的数据结构能够表达丰富的语义。
⑥关系模式:关系的描述称为关系模式。
它可以形式化地表示为R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。
⑦关系数据库:在关系模型中,实体以及实体之间的联系都是通过关系来表示的。
因此,在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合就构成一个关系数据库。
3.关系数据库的三个完整性约束是什么?各是什么含义?解:关系模式中有3类完整性约束:实体完整性、参照完整性和用户自定义完整性。
实体完整性:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。
数据库第三章习题及答案

第3章关系数据库标准语言SQL一、选择题1、SQL语言是的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式答案:B2、SQL语言是语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C3、SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B4、SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。
A.S B.SC,C C.S,SC D.S,C,SC 答案:D6、若用如下的SQL语句创建一个student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2))可以插入到student表中的是。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B7、当两个子查询的结果时,可以执行并,交,差操作.A.结构完全不一致 B.结构完全一致C.结构部分一致D.主键一致答案:B第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
数据库第三章习题参考答案范文大全

数据库第三章习题参考答案范文大全第一篇:数据库第三章习题参考答案3-2 对于教务管理数据库的三个基本表S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE)C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达下列查询:⑴ 检索LIU老师所授课程的课程号和课程名。
⑵ 检索年龄大于23岁的男学生的学号和姓名。
⑶ 检索学号为200915146的学生所学课程的课程名和任课教师名。
⑷ 检索至少选修LIU老师所授课程中一门课程的女学生姓名。
⑸ 检索WANG同学不学的课程的课程号。
⑹ 检索至少选修两门课程的学生学号。
⑺ 检索全部学生都选修的课程的课程号与课程名。
⑻ 检索选修课程包含LIU老师所授课程的学生学号。
解:⑴ SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’; ⑵ SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=’M’; ⑶ SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=’200915146’ ⑷ SELECT SNAME (连接查询方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND TEACHER=’LIU’;或:SELECT SNAME (嵌套查询方式) FROM S WHERE SEX=’F’AND S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=’LIU’)) 或:SELECT SNAME (存在量词方式)SEX=’F’ AND FROM S WHERE SEX=’F’ AND EXISTS(SELECT* FROM SC WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C WHERE C.C#=SC.C# AND TEACHER=’LIU’)) ⑸ SELECT C# FROM C WHERE NOT EXISTS(SELECT * FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG)); ⑹ SELECT DISTINCT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#!=Y.C#; ⑺ SELECT C#.CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#)); ⑻ SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTIS (SELECT * FROM C WHERE TEACHER=’LIU’ AND NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#)); 3-3 试用SQL查询语句表达下列对3.2题中教务管理数据库的三个基本表S、SC、C查询:⑴ 统计有学生选修的课程门数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理及应用教程第三章作业
3,设计问题
1,有以下两个数据表,每个表的结果和字段名如下:
书(书)包括书名(BNo)、类型(BType)、书名(BName)、作者(BAuth)、单价(BPrice)、出版社(PNo)
出版社(publish)包括出版社编号(PNo)、出版社名称(PName)、城市(PCity)和使用SQL实现以下功能:
(1)在“高等教育出版社”出版的《操作系统》一书的作者姓名;
a:从图书中选择bauth,publish
where book。
pno =发布。
pno和bname = ‘操作系统’
和PName= ‘高等教育出版社’
(2)查找为作者“张欣”出版所有“小说”书籍的出版社的电话号码;答:从书中选择PTEL,出版
WHEREBOOK。
PNO = PUBLISH。
PNO和鲍思= ‘张欣’和BType = ‘小说’
(3)查询“电子工业出版社”出版的“计算机”书籍的价格,输入出版社的名称和类别。
a:选择bprice,pname,btype frombook,Publish WHEREBOOK。
PNO = PUBLISH。
PNO和PNAME = ‘电子工业出
版社’和BType=‘BType’
(4)查找与《人民邮电出版社》出版的《高等数学》同名但价格较低的书籍;答:从
中选择*其中bname =“高等数学”和bprice 其中PName= ‘人民邮电出版社’和BName= ‘高等数学’并发布。
书。
PNo) (5)找到书名和书名中有“计算机”一词的作者;a:选择bname,bauth from book
,其中像“% computer %”
(6)这样的bname正在“book”表中添加“发布时间”(BDate)项,其数据类型为日期类型;答:ALTER TABLE BOOK
ADD
BDATE DATETIME
(7)在“BOOK”表中用“author”建立索引答:创建唯一索引鲍思_图书(鲍思)
2。
假设有一家书店,书店的经理需要建立一个数据库来管理书店的经营,该数据库包括两个表:
本书(书号、书名、出版社、版本、出版日期、作者、购买价格、数量)销售额(日期、书号、数量、金额)请使用SQL来满足书店经理的以下要求:(1)建立一个图书存储表和一个销售表;a:创建table book(b point,bnamechar (10),publishchar (20),editionint,datedatetime,authchar (10),priceint,inpriceit。
Numberint)
创建表销售(
datedatetime,bnoin,number int,moneyint)
(2)掌握图书的库存并列出当前库存的所有图书标题、数量和余额(余额=采购数量,即库存占用的资金);
a:从帐簿(3)中选择bname,number,inprice * numberas’ balance(采购价格x数量)计算总销售额;
a:从销售中选择SUM(数字*货币)作为“总销售额”
(4)列出每日销售报告,包括标题、数量和总金额(每本书的总销售额);
A:选择BNAME,SALE。
数字,销售。
数字*图书销售中的“总金额”金额。
BNO =销售。
BNO
(5)分析畅销书,即列出当前时期(从当前日期起30天内)销售量大于100的书籍的书名和数量答:选择bname,sales.number
from book,sales
groupbybname,sales . number,Sales . date
having count(sales . number)> 100 and sales . date > = get date()-30 4,简短回答
1,SQL支持的三层逻辑结构的简要说明
A: 1。
SQL语言支持的关系数据库的三层逻辑结构由外层、概念层和内存组成
2。
在概念层,对应于概念模式的概念记录类型是基本表基本表是实际存在于自身中的表。
基本表是一种关系,它不是由其他表导出的表。
基本表是使用CREATETABLE语句创建的
3。
在外层,用户可以看到基本表、视图或基本表+视图。
视图是一个虚拟表。
它是从一个或几个基本表派生出来的表。
它不直接存在于物理存储的表中。
视图是使用CREATESQLVIEW语句创建的
3。
解释本章涉及的基本概念的定义:基本表、视图、索引、系统权限、对象权限、角色,并解释视图和角色的角色。
a:基本表:关系对应于基本表;一个或多个基本表对应于存储文件视图:视图是从一个或多个基本表派生的表,并且是虚拟表索引:记录的关键字和对应表
系统对其对应地址的许可:数据库用户在数据库系统
上执行特定操作的权利。