数据库原理(第三版)张红娟 参考答案
数据库原理与应用(第3版)答案
《数据库原理与应用》(第三版)习题参考答案第 1 章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:数据是描述事物的符号记录。
数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。
数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?答:文件管理和数据库管理。
3.与文件管理相比,数据库管理有哪些优点?答:与文件系统管理数据相比,数据库系统管理数据带来了如下好处:将相互关联的数据集成在一起,较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答:不需要。
因为数据库管理系统提供了逻辑独立性和物理独立性。
5.在数据库系统中,数据库的作用是什么?答:数据库是数据的汇集,它以一定的组织形式保存在存储介质上。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答:不能7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性是指应用程序不会因数据的物理表示方式和访问技术的改变而改变,即应用程序不依赖于任何特定的物理表示方式和访问技术,它包含两个方面:逻辑独立性和物理独立性。
物理独立性是指当数据的存储位置或存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括数据库、数据库管理系统(及相应的实用工具)、应用程序和数据库管理员四个部分。
数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序,数据库管理员负责整个数据库系统的正常运行。
数据库原理及应用(第3版)---全部习题new
数据库原理及应用(第三版)钱雪忠等主编北京邮电大学出版社2010.05第第11章章 绪绪论论一、选择题1、A2、A3、A4、A5、B6、C7、C8、A9、A10、C1、( )是位于用户与操作系统之间的一层数据管理软件。
数据库在建立、使用和维护时由其统一管理、统一控制。
A .DBMSB .DBC .DBSD .DBA2、文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是( )A .DATAB .DBSC .DBD .其他3、目前( )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。
A .关系B .面向对象C .分布D .对象-关系4、( )是刻画一个数据模型性质最重要的方面。
因此在数据库系统中,人们通常按它的类型来命名数据模型。
A .数据结构B .数据操纵C .完整性约束D .数据联系5、( )属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。
A .数据模型B .概念模型C .非关系模型D .关系模型6、当数据库的( )改变了,由数据库管理员对( )映象作相应改变,可以使( )保持不变,从而保证了数据的物理独立性。
(1)模式 (2) 存储结构 (3)外模式/模式 (4)用户模式 (5)模式/内模式A .(1)和(3)和(4)B .(1)和(5)和(3)C .(2)和(5)和(1)D .(1)和(2)和(4)7、数据库的三级体系结构即子模式、模式与内模式是对( )的三个抽象级别。
A .信息世界B .数据库系统C .数据D .数据库管理系统8、英文缩写DBA 代表( )A .数据库管理员B .数据库管理系统C .数据定义语言D .数据操纵语言9、模式和内模式( )。
A .只能各有一个B .最多只能有一个C .至少两个D .可以有多个10、在数据库中存储的是( )。
A.数据 B.信息 C.数据和数据之间的联系 D.数据模型的定义二、填空题1、数据库就是长期储存在计算机内_有组织的__、_可共享__的数据集合。
数据库原理与应用教程第三版课后答案
习题参考答案第1 章数据库概述2.与文件管理相比,数据库管理有哪些优点?答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
3.比较文件管理和数据库管理数据的主要区别。
答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。
而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。
4.数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。
因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不能。
7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性指的是数据的逻辑独立性和物理独立性。
逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。
数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序指以数据库数据为核心的应用程序。
9.在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?.k5.在数据库系统中,数据库的作用是什么?答:在数据库系统中,数据库是存放数据的场所。
数据库第三版课后习题答案
数据库第三版课后习题答案数据库第三版课后习题答案在学习数据库的过程中,课后习题是巩固知识的重要方式。
本文将为大家提供数据库第三版课后习题的答案,希望对大家的学习有所帮助。
第一章:数据库基础1. 数据库是什么?答:数据库是一个存储、管理和操作数据的集合。
它可以用来存储和检索大量数据,并提供数据的安全性和完整性。
2. 数据库管理系统(DBMS)的作用是什么?答:DBMS是一种软件,用于管理数据库。
它提供了对数据库的访问和操作,包括数据的增删改查、数据安全性和完整性的控制、数据备份和恢复等功能。
3. 数据库系统的组成部分有哪些?答:数据库系统由数据库、数据库管理系统和应用程序组成。
数据库是存储数据的仓库,数据库管理系统用于管理和操作数据库,应用程序用于访问和处理数据库中的数据。
4. 什么是关系型数据库?答:关系型数据库是一种基于关系模型的数据库。
它使用表格(称为关系)来组织和存储数据,每个表格包含行和列,行表示记录,列表示属性。
第二章:SQL基础1. SQL是什么?答:SQL(Structured Query Language)是一种用于管理关系型数据库的语言。
它可以用来创建、修改和查询数据库中的数据。
2. SQL语句分为哪几类?答:SQL语句分为数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)四类。
3. 什么是DDL语句?举例说明。
答:DDL语句用于定义数据库的结构和模式,包括创建表格、修改表格结构、删除表格等。
例如,创建表格的语句如下:CREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT);4. 什么是DML语句?举例说明。
答:DML语句用于操作数据库中的数据,包括插入、更新和删除数据。
例如,插入数据的语句如下:INSERT INTO student (id, name, age) VALUES (1, 'Tom', 20);第三章:关系数据库设计1. 什么是关系数据库设计?答:关系数据库设计是指根据实际需求,设计数据库的结构和模式。
数据库原理与应用示范系统(第三版)习题与答案
习题一1. 试回答下列问题(1)什么是数据库?(2)什么是数据库管理系统?(3)什么是数据库系统?答:(1)数据库是被长期存放在计算机内,有组织的,统一管理的相关数据的集合。
(2)数据库管理系统(Data Base Management System, 简称DBMS),是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
(3) 数据库系统(DBS)通常是指带有数据库的计算机应用系统。
DBS是一个实际可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,它是数据库、硬件、软件和数据库管理员(DBA)的集合体。
2. 计算机数据管理经历了哪几个阶段?答:数据管理技术的发展经历了三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
3. 试述文件系统的缺点。
答:(1)数据共享性差,冗余度大。
(2)数据不一致性。
(3)数据联系弱。
4. 试述数据库系统的特点。
答:(1)采用复杂的数据模型表示数据结构。
(2)有较高的数据独立性。
(3)数据的共享性高,冗余度低,易扩充。
(4)数据由DBMS统一控制和管理。
5. 试述概念模型的作用。
答:概念模型是独立于计算机系统的数据模型,它完全不涉及信息在计算机系统中的表示,只是用来描述某个特定组织所关系的信息结构。
概念模型用于建立信息世界的数据模型,强调其语义表达能力,概念应该简单、清晰、易于用户理解,它是现实世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。
这一模型中最著名的是“实体联系模型”。
6. 解释下列概念:内模式、模式、外模式、DDL、DML答:内模式也称存储模式(Storage Schema)。
它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
一个数据库只有一个内模式。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
数据库原理(第三版)(张红娟)ppt3
(3) 数据控制语言(Data Control Language,简称DCL): 用来授予和撤销用户对数据的操作权限,主要由动词Grant 和Revoke组成。
下面将介绍Microsoft SQL Server环境下的SQL基本语句 的语法构成。各厂商RDBMS实际使用的SQL语言,为保持其 竞争力,与标准SQL语言都有所差异及扩充。因此,具体使 用时,应参阅实际系统的有关手册。
(3) 高度非过程化。非关系数据模型的数据操作语言是 面向过程的语言,用过程化语言完成某项请求,必须指定存 取路径。而用SQL进行数据操作,用户只需提出“做什么” ,无须告诉“怎么做”,因此操作过程中的存取路径对用户 是透明的,从而简化了用户对数据操作的实现。
(4) 两种使用方式,统一的语法结构。DML有两类:宿 主型和自主型。宿主型DML本身不能独立使用,只能嵌入特 定的计算机高级语言(如COBOL、C等)。COBOL、C等高级 语言称为主语言。自主型又称自含型,可以独立使用。因此 ,SQL既是自含式语言(用户使用),又是嵌入式语言(程序员 使用)。
第3章 SQL语言初步
3.1 SQL简介 3.2 基本的数据定义 3.3 基本的数据操作 3.4 数据查询——SELECT 3.5 含有子查询的数据更新 3.6 视图 3.7 小结
3.1 SQL 简 介
SQL语言是1974年由Boyce和Chamberlin提出的一种介于 关系代数与关系演算之间的结构化查询语言,是一个通用的 、功能极强的关系性数据库语言。SQL在最早RDBMS之一的 IBM公司San Jose研究室的System R项目上得到了实现。它功 能丰富,不仅具有数据定义、数据控制功能,还有着强大的 查询功能,而且语言简洁,集数据定义、数据操纵、数据控 制功能于一体,且完成核心功能只用了9个动词,易学易用 ,因此,被众多数据库厂商采用。
数据库系统教程(第三版课后答案)免费下载
第1章数据库概论1.1 基本内容分析1.1.1 本章的重要概念(1)DB、DBMS和DBS的定义(2)数据管理技术的发展阶段人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点。
(3)数据描述概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。
(4)数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。
(5)DB的体系结构三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。
(6)DBMSDBMS的工作模式、主要功能和模块组成。
(7)DBSDBS的组成,DBA,DBS的全局结构,DBS结构的分类。
1.1.2本章的重点篇幅(1)教材P23的图1.24(四种逻辑数据模型的比较)。
(2)教材P25的图1.27(DB的体系结构)。
(3)教材P28的图1.29(DBMS的工作模式)。
(4)教材P33的图1.31(DBS的全局结构)。
1.2 教材中习题1的解答1.1 名词解释·逻辑数据:指程序员或用户用以操作的数据形式。
·物理数据:指存储设备上存储的数据。
·联系的元数:与一个联系有关的实体集个数,称为联系的元数。
·1:1联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么E1和E2的联系称为“1:1联系”。
·1:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中一个实体有联系,那么E1和E2的联系是“1:N联系”。
·M:N联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1和E2的联系称为“M:N联系”。
·数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。
数据库原理及应用教程第三版课后答案
数据库原理及应用教程第三版课后答案1. 数据库原理概述。
数据库是指按照数据结构来组织、存储和管理数据的仓库,它是存储数据的集合,是数据按照一定的数据模型组织、描述和存储的仓库。
数据库原理是指数据库的基本概念、基本理论和基本方法。
数据库原理主要包括数据库的基本概念、数据库的基本结构、数据库的基本操作、数据库的基本设计和数据库的完整性、安全性等方面的内容。
2. 数据库应用教程第三版课后答案。
2.1 数据库原理基础知识。
数据库原理是数据库领域的基础理论,它主要包括数据模型、数据库结构、数据库设计、数据库语言和数据库管理系统等内容。
数据库原理是数据库应用的基础,它的学习对于理解数据库的工作原理和实际应用具有重要意义。
2.2 数据库原理及应用教程第三版课后答案。
1) 数据库的基本概念包括数据、数据库、数据库管理系统、数据库系统和数据库技术等内容。
2) 数据库的基本结构包括数据模型、数据结构、数据操作和数据完整性等内容。
3) 数据库的基本操作包括数据的插入、删除、修改和查询等内容。
4) 数据库的基本设计包括数据库的逻辑设计和物理设计等内容。
5) 数据库的完整性和安全性包括数据的完整性约束和安全性约束等内容。
2.3 数据库应用教程第三版课后答案。
数据库应用教程第三版的课后答案主要包括数据库的基本概念、数据库的基本结构、数据库的基本操作、数据库的基本设计和数据库的完整性、安全性等方面的内容。
通过学习这些课后答案,可以加深对数据库原理及应用的理解,提高对数据库的应用能力。
3. 数据库原理及应用教程第三版课后答案的重要性。
数据库原理及应用教程第三版课后答案是数据库课程的重要组成部分,它可以帮助学生巩固课堂上所学到的知识,加深对数据库原理及应用的理解。
通过做课后习题,可以检验学生对数据库知识的掌握程度,帮助他们发现和解决学习中存在的问题。
同时,课后答案还可以为教师提供教学参考,指导教学工作。
4. 结语。
数据库原理及应用教程第三版课后答案是数据库课程的重要组成部分,它对于学生巩固知识、提高应用能力具有重要意义。
数据库系统概论(第三版)课后习题答案
第1章绪论习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。
(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
2.使用数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
3.试述文件系统与数据库系统的区别和联系。
(8、9、10页)答:1)数据结构化是数据库与文件系统的根本区别。
在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。
数据库系统实现整体数据的结构化,是数据库的主要特征之一。
2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。
而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。
3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。
而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。
5.试述数据库系统的特点。
(9、10、11页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。
6.数据库管理系统的主要功能有哪些? (4页)答:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。
(14、15页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。
数据库原理第三版张红娟
■
■
■
■
Select name, Diff_salary(Salary)From employee;自定义函数也可以是C语言程序,在此不作介绍。3.用户自定义操作符在Illustra系统中,用Create
Operator命令来登记操作符,形
式如下:
支持复杂对象复杂对象是由多种基本的或用户定义的类型构成的对象。在 ORDBMS中创建复杂对象的构件有:组合、集合、引用、数组、列表、堆栈等,其中最基本的是前面三种。
方法,包含职工号。这个过
类和实例在组织信息时,人们总是将具有相似特性的对象归为一类。 类中的每个对象称为类的一个实 例(Instance)。一个类中的所有对象其特性必须相同,即具有相同
的消息、使用
的属性、响应相同相同的方法。
类的继承
■
一个类中往往会包含某些具有附加特性的对象,而这些特性并不和类的所有成员相关,这些具有附加特性的对象称为子类。如果类D是类C的子类,则 称类C是类D的超类,子类可继 承其超类的所有特性(包括属性、方法和信息),同时,又可具有
Relationship set<item> joinsInverse item::joinby;String Departname( ) raises(nodepartFound)
■
set<employee>)raise(noitemin);
Otheritem(in item,out
第一个方法是Departname,该函数将产生一字符串型的返回值,假设(因为ODL定义中没有 函数代码,所以只能假设)该方法的功能是返回应用该方法的对象所在的部门名,如果应用该方
■
定义一组合photo_t,由国 家号(country_num)、地区号 (area_num)和电话号码(tele_num)组成:
数据库原理及应用教程第3版课后题答案
数据库原理及应用教程第3版课后题答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第一章习题参考答案一、选择题1. C2. B3. D4. C5. D6. A7. A8. B9. D 10. B11. C 12. D 13. A 14. D 15. B16. C 17. D 18. A 19. D 20. A二、填空题1. 数据库系统阶段2. 关系3. 物理独立性4. 操作系统5. 数据库管理系统(DBMS)6. 一对多7. 独立性8. 完整性控制9. 逻辑独立性10. 关系模型11. 概念结构(逻辑)12. 树有向图二维表嵌套和递归13. 宿主语言(或主语言)14. 数据字典15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构第2章习题参考答案一、选择题1. A2. C3. C4. B5. B6. C7. B8. D9. C 10. A11. B 12. A 13. A 14. D 15. D二、填空题1. 选择(选取)2. 交3. 相容(或是同类关系)4. 并差笛卡尔积选择投影5. 并差交笛卡尔积6. 选择投影连接7. σf(R)28. 关系代数关系演算9. 属性10. 同质11. 参照完整性12. 系编号,系名称,电话办公地点13. 元组关系域关系14. 主键外部关系键15. R和S没有公共的属性第3章习题参考答案一、选择题1. B2. A3. C4. B5. C6. C7. B8. D9. A 10. D二、填空题结构化查询语言(Structured Query Language)数据查询、数据定义、数据操纵、数据控制外模式、模式、内模式数据库、事务日志NULL/NOT NULL、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY 约束、CHECK约束聚集索引、非聚集索引连接字段行数定义系统权限、对象权限基本表、视图12.(1)INSERT INTO S VALUES('990010','李国栋','男',19)(2)INSERT INTO S(No,Name) VALUES('990011', '王大友')(3)UPDATE S SET Name='陈平' WHERE No='990009'(4)DELETE FROM S WHERE No='990008'(5)DELETE FROM S WHERE Name LIKE '陈%'13.CHAR(8) NOT NULL14.=15.ALTER TABLE StudentADDSGrade CHAR(10)第4章习题参考答案一、选择题31. B2. B3. D4. B5. C6. D7. B8. D9. C 10. A二、填空题1. 超键(或超码)2. 正确完备3. 属性集X的闭包X + 函数依赖集F的闭包F +4. 平凡的函数依赖自反性5. {AD→C} φ6. 2NF 3NF BCNF7. 无损连接保持函数依赖8. AB BC BD9. B→φ B→B B→C B→BC10. B→C A→D D→C11. AB 1NF12. AD 3NF第5章习题参考答案一、选择题1. B2. B3. C4. A5. C6. D7. A8. C9. D 10. D11. B 12. B 13. A 14. D 15. A二、填空题1、安全性控制、完整性控制、并发性控制、数据库恢复2、数据对象、操作类型3、授权粒度、授权表中允许的登记项的范围4、原始数据(或明文)、不可直接识别的格式(或密文)、密文5、事务、原子性、一致性、隔离性、持久性6、丢失更新、污读、不可重读7、封锁、排它型封锁、共享封锁8、利用数据的冗余9、登记日志文件、数据转储10、事务故障、系统故障、介质故障11、完整性12、登录账号、用户账号13、public14、服务器、数据库第6章习题参考答案4一、选择题1. B2. C3. C4. A5. C6. B7. C8. B9. D 10. C11. D 12. B 13. B 14. D二、填空题1、数据库的结构设计、数据库的行为设计2、新奥尔良法3、分析和设计阶段、实现和运行阶段4、需求分析5、概念结构设计6、自顶向下、自底向上7、属性冲突、命名冲突、结构冲突8、逻辑结构设计9、确定物理结构、评价物理结构10、数据库加载11、运行和维护12、物理13、数据字典14、需求分析15、载入第7章习题参考答案一、选择题1. B二、填空题1.局部变量、全局变量-、/*……*/、流程控制触发器、INSTEAD OF 触发器6.插入表、删除表7.数据库备份、事务日志备份、差异备份、文件和文件组备份8.简单还原、完全还原、批日志还原9.硬盘、磁带、管道5。
数据库第三版课后习题答案
数据库第三版课后习题答案第1章绪论习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。
(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于⽤户与操作系统之间的⼀层数据管理软件; 数据库系统是指在计算机系统中引⼊数据库后的系统,⼀般由数据库、数据库管理系统(及其开发⼯具)、应⽤系统、数据库管理员和⽤户构成。
2.使⽤数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加⼯数据的程序为中⼼转向围绕共享的数据库为中⼼的阶段,这样既便于数据的集中管理,⼜有利于应⽤程序的研制和维护,提⾼了数据的利⽤率和相容性,提⾼了决策的可靠性。
3.试述⽂件系统与数据库系统的区别和联系。
(8、9、10页)答:1)数据结构化是数据库与⽂件系统的根本区别。
在⽂件系统中,相互独⽴的⽂件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。
数据库系统实现整体数据的结构化,是数据库的主要特征之⼀。
2)在⽂件系统中,数据的最⼩存取单位是记录,粒度不能细到数据项。
⽽在数据库系统中,存取数据的⽅式也很灵活,可以存取数据库中的某⼀个数据项、⼀组数据项⼀个记录或或⼀组记录。
3)⽂件系统中的⽂件是为某⼀特定应⽤服务的,⽂件的逻辑结构对该应⽤程序来说是优化的,因此要想对现有的数据再增加⼀些新的应⽤会很困难,系统不容易扩充。
⽽在数据库系统中数据不再针对某⼀应⽤,⽽是⾯向全组织,具有整体的结构化。
5.试述数据库系统的特点。
(9、10、11页)答:数据结构化;数据的共享性⾼、冗余度低、易扩充;数据独⽴性⾼;数据由DBMS统⼀管理和控制。
6.数据库管理系统的主要功能有哪些? (4页)答:数据定义功能、数据操纵功能、数据库的运⾏管理、数据库的建⽴和维护功能。
7.试述数据模型的概念(13页)、数据模型的作⽤、数据模型的三个要素。
(14、15页)答:数据模型(Data Model)也是⼀种模型,它是现实世界数据特征的抽象。
杭电数据库张红娟编第2章习题参考答案
17.现有关于班级、学生、课程的信息如下:描述班级的属性有:班级号、班级所在专业、入校年份、班级人数、班长的学号;描述学生的属性有:学号、姓名、性别、年龄;描述课程的属性有:课程号、课程名、学分。
假设每个班有若干学生,每个学生只能属于一个班,学生可以选修多门课程,每个学生选修的每门课程有一个成绩记载。
根据语义,画出它们的实体-联系模型E-R模型。
18.若在上题中再加入实体集教师和学会,其中:描述教师的属性有:教师号、姓名、职称、专业;描述学会的属性有:学会名称、成立时间、负责人姓名、会费。
假设每门课程可由多位教师讲授,每位教师可讲授多门课程;每个学生可加入多个学会,学生进入学会有一个入会年份。
请根据语义,画出班级、学生、课程、教师和学会间的E-R 模型。
19.将第17题得到的E-R模型转换为关系模式。
注意:图中,为了便于查看,将属性省略未画完整。
请考试时勿学此省略。
转换成关系模式:班级(班级号,班级所在专业,入校年份,班级人数,班长的学号)学生(学号,姓名,性别,年龄,班级号)课程(课程号,课程名,学分)选修(学号,课程号,成绩)学会(学会名称,成立时间,负责人姓名,会费)参加(学号,学会名称,入会年份)教师(教师号,姓名,职称,专业)讲授(课程号,教师号)22.工厂(包括厂名和厂长名)需要建立数据库,用来管理存储以下信息:♦一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话;♦一个车间内有多个工人,每个工人有职工号、姓名、年龄、性别和工种;♦一个车间生产多种产品,产品有产品号和价格;♦一个车间生产多种零件,一个零件也可能由多个车间制造。
零件有零件号、重量和价格;♦一个产品由多种零件组成,一种零件也可装配在多种产品内;♦产品与零件均存入仓库中,厂内有多个仓库,仓库有仓库号、仓库保管员姓名和电话。
根据以上信息,试完成:(1)画出该系统的E-R模型;(2)给出相应的关系数据模型;转换成关系模式:工厂(厂名,厂长名)车间(车间号,车间主任姓名,地址,电话,厂名)工人(职工号,姓名,年龄,性别,工种,车间号)仓库(仓库号,仓库保管员姓名,电话,厂名)产品(产品号,价格,车间号)存放1(仓库号,产品号)零件(零件号,重量,价格)组成(产品号,零件号)生产(车间号,零件号)存放2(仓库号,零件号)。
数据库原理(第三版)张红娟 参考答案
第一章20、供应商(供应商代号,供应商名称,联系电话)项目(项目代号,项目名称,项目负责人)零件(零件号,零件名,价格)供应商-项目(项目代号,供应商代号)项目-零件(项目代号,零件号,零件数)供应商-零件(供应商代号,零件号,零件数)第三章10、设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade),其结构如表3-4所示,数据如表3-5所示。
试用SQL语句创建四个表。
表3-4 成绩管理数据库的表结构表一Student表二Course表三Class表二Course表四Grade答:CREATE TABLE Student(Sno Char(7) NOT NULL UNIQUE,Sname VarChar(20) NOT NULL,Ssex Char(2) NOT NULL,Sage Smallint,Clno Char(5) NOT NULL);CREATE TABLE Course(Cno Char(1) NOT NULL UNIQUE, Cname VarChar(20) NOT NULL,Credit Smallint);CREATE TABLE C lass(Clno Char(5) NOT NULL UNIQUE,SpecialityVarChar(20) NOT NULL,Inyear Char(4) NOT NULL,Number Integer,Monitor Char(7));CREATE TABLE Grade(Sno Char(7) NOT NULL,Cno Char(1) NOT NULL,Gmark Numeric(4,1));INSERT INTO StudentV ALUE(‘2000101’,’李勇’,’男’,20,’00311’);INSERT INTO StudentV ALUE(‘2000102’,’刘诗晨’,’女’,19,’00311’);INSERT INTO StudentV ALUE(‘2000103’,’王一鸣’,’男’,20,’00312’);INSERT INTO StudentV ALUE(‘2000104’,’张婷婷’,’女’,21,’00312’);INSERT INTO StudentV ALUE(‘2001101’,’李勇敏’,’女’,19,’01311’);INSERT INTO StudentV ALUE(‘2001102’,’贾向东’,’男’,22,’01311’);INSERT INTO StudentV ALUE(‘2001103’,’陈宝玉’,’男’,20,’01311’);INSERT INTO StudentV ALUE(‘2001104’,’张逸凡’,’男’,21,’01311’);INSERT INTO CourseV ALUE(‘1’,’数据库’,4);INSERT INTO CourseV ALUE(‘2’,’离散数学’,3);INSERT INTO CourseV ALUE(‘3’,’管理信息系统’,2);INSERT INTO CourseV ALUE(‘4’,’操作系统’,4);INSERT INTO CourseV ALUE(‘5’,’数据结构’,4);INSERT INTO CourseV ALUE(‘6’,’数据处理’,2);INSERT INTO CourseV ALUE(‘7’,’c语言’,4);INSERT INTO ClassV ALUE(‘00311’,’计算机软件’,’2000’,120,’2000101’);INSERT INTO ClassV ALUE(‘00312’,’计算机应用’,’2000’,140,’2000103’);INSERT INTO ClassV ALUE(‘01311’,’计算机软件’,’2001’,220,’2001103’);INSERT INTO GradeV ALUE(‘2000101’,’1’,92);INSERT INTO GradeV ALUE(‘2000101’,’3’,88);INSERT INTO GradeV ALUE(‘2000101’,’5’,86);INSERT INTO GradeV ALUE(‘2000102’,’1’,78);INSERT INTO GradeV ALUE(‘2000102’,’6’,55);INSERT INTO GradeV ALUE(‘2000103’,’3’,65);INSERT INTO GradeV ALUE(‘2000103’,’6’,78);INSERT INTO GradeV ALUE(‘2000103’,’5’,66);INSERT INTO GradeV ALUE(‘2000104’,’1’,54);INSERT INTO GradeV ALUE(‘2000104’,’6’,83);INSERT INTO GradeV ALUE(‘2001101’,’2’,70);INSERT INTO GradeV ALUE(‘2001101’,’4’,83);INSERT INTO GradeV ALUE(‘2001102’,’2’,80);INSERT INTO GradeV ALUE(‘2001102’,’4’,90);INSERT INTO GradeV ALUE(‘2000103’,’1’,83);INSERT INTO GradeV ALUE(‘2000103’,’2’,76);INSERT INTO GradeV ALUE(‘2000103’,’4’,56);INSERT INTO GradeV ALUE(‘2000103’,’7’,88);11、针对T10的四个表,用SQL语言完成以下各项操作:(1)给学生表增加一属性Nation(民族),数据类型为VarChar(20);ALTER TABLE StudentALTER COLUMN Nation VarChar(20);(2)删除学生表中新增的属性Nation;ALTER TABLE StudentDROP COLUMN Nation;(3)向成绩表中插入记录(“2001110”,“3”,80);INSERT INTO GradeV ALUE(‘2001110’,’3’,80);(4)将学号为“200110”的学生的成绩修改为70分;UPDATE GradeSET Gmark = 70WHERE Sno = ‘2001110’;(5)删除学号为“2001110”的学生的成绩记录;DELETE FROM GradeWHERE Sno = ‘2001110’;(6)在学生表的Clno属性上创建一个名为IX_Class的索引,以班级号的升序排序;CREATE INDEX IX_ClassON Student(Clno);(7)删除IX_Class索引DROP INDEX Student.IX_Class;12、针对T10的四个表,用SQL语言完成以下各项操作:(1)找出所有被学生选修了的课程号;SELECT DISTINCT Cno 课程号FROM Grade(2)找出01312班女生的个人信息;SELECT *FROM StudentWHERE Clno='01311' and Ssex='女'(3)找出01311班和01312班的学生姓名性别出生年份;SELECT sname 学生姓名,ssex 性别,2011-sage 出生年份FROM StudentWHERE Clno='01311' or Clno='01312'(4)找出所有姓李的学生的个人信息;SELECT *FROM StudentWHERE Sname like '李%'(5)找出李勇所在班级的学生人数;SELECT COUNT(*)FROM StudentWHERE Clno in(SELECT ClnoFROM StudentWHERE Sname='李勇')(6)找出课程名为操作系统的平均成绩最高分最低分;SELECT A VG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分FROM GradeWHERE Cno in(SELECT CnoFROM CourseWHERE Cname='操作系统')(7)选修了课程的学生人数;SELECT COUNT(DISTINCT sno) 学生人数FROM Grade(8)选修了操作系统的学生人数;SELECT COUNT(DISTINCT sno) 学生人数FROM GradeWHERE Cno in(SELECT CnoFROM CourseWHERE Cname='操作系统')(9)找出2000级计算机软件班的成绩为空的学生姓名。
数据库原理(第三版)(张红娟)ppt3资料
其中,不同列的内容之间用西文逗号隔开。
(3) <列名>:规定了该列(属性)的名称。一个表中不能 有两列同名。
(4) <数据类型>:规定了该列的数据类型。各具体 DBMS所提供的数据类型是不同的,但对下面的数据类型几 乎都是支持的(方括号中间的内容为选择项):
(5) <默认值>:DEFAULT 常量表达式,表示该列上某 值未被赋值时的默认值。
(6) <标识列设置>:IDENTITY(初始值、步长值),当向 表中添加新行时,Microsoft SQL Server将为该标识列提供一 个唯一的、递增的值。
(7) <该列的完整性约束>:该列上数据必须符合的条件 。最常见的有:
(5) 语言简洁,易学易用。SQL语言功能丰富,集数据定 义、数据操纵、数据控制功能于一体,而且语言简洁,完成
核心功能只用了9个动词,易学易用。
2.SQL语句的分类 SQL命令核心功能主要有以下几类。 (1) 数据定义语言(Data Definition Language,简称DDL) :负责创建、修改、删除表、索引和视图等对象,由动词 Create、Alter、Drop组成。 (2) 数据操作语言(Data Manipulation Language,简称 DML):负责数据库中数据的插入、修改、查询和删除操作 ,由动词Insert、Update、Select和Delete组成。
第3章 SQL语言初步
3.1 SQL简介 3.2 基本的数据定义 3.3 基本的数据操作 3.4 数据查询——SELECT 3.5 含有子查询的数据更新 3.6 视图 3.7 小结
数据库原理(第三版)(张红娟)ppt6
第6章 关系数据模型及其运算基础
6.3.1 基于传统集合运算的关系运算
与传统的集合运算相同,基于传统集合运算的关系运算
都是二目运算,但对参加并、差和交运算的关系是有一些规 定的。设关系R和S的目都是n(都有n个属性),且相应属性取 自同一域。 (1) 关系R和S的并(Union)为
R∪S ={t | t∈R∨t∈S}
“职工×项目”的基数为3×3=9。对应二维表也有9个元组
。 2.关系(Relation) 笛卡尔积D1×D2×…×Dn的任意一个子集称为D1,D2 ,…,Dn上的一个n元关系,简称关系,又称为表(必须指出 的是,笛卡尔积中元组的分量是有序的,因此,其子集也是 有序的,但在这里,我们去掉了有序这一特性)。每个关系都
关系模式常简记为
R(U) 或 R(A1,A2,…,An) 其中:R为关系名;Ai(i=1, 2, …, n)为属性名。域名及属 性向域的映像一般即为定义中属性的类型和长度。
第6章 关系数据模型及其运算基础 一个应用范围内,所有关系的集合就形成了一个关系数 据库。对关系数据库的描述称为关系数据库模式,也称为关 系数据库的型。 一个关系数据库模式包括:全部域的定义及在这些域上 定义的全部关系模式。全部关系模式在某一时刻的值的集合( 全部关系的集合)为关系数据库的值,简称为关系数据库。
的笛卡尔积为
D1×D2×…×Dn ={(d1,d2,…,dn)|di∈Di , i=1, 2, …, n} 其中每一个元素(d1,d2,…,dn)叫做一个n元组(n-tuple),简 称元组(Tuple)。一个元组在集合Di上的值di称为该元组在Di 上的分量(Component)。
第6章 关系数据模型及其运算基础 一个元组是组成该元组的各分量的有序集合,而决不仅 仅是各分量的集合。 若Di的基数(Cardinal Number)为mi,则D1×D2×…×Dn
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章20、供应商(供应商代号,供应商名称,联系电话)项目(项目代号,项目名称,项目负责人)零件(零件号,零件名,价格)供应商-项目(项目代号,供应商代号)项目-零件(项目代号,零件号,零件数)供应商-零件(供应商代号,零件号,零件数)第三章10、设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade),其结构如表3-4所示,数据如表3-5所示。
试用SQL语句创建四个表。
表3-4 成绩管理数据库的表结构表一Student表二Course表三Class表二Course表四Grade答:CREATE TABLE Student(Sno Char(7) NOT NULL UNIQUE,Sname VarChar(20) NOT NULL,Ssex Char(2) NOT NULL,Sage Smallint,Clno Char(5) NOT NULL);CREATE TABLE Course(Cno Char(1) NOT NULL UNIQUE, Cname VarChar(20) NOT NULL,Credit Smallint);CREATE TABLE C lass(Clno Char(5) NOT NULL UNIQUE,SpecialityVarChar(20) NOT NULL,Inyear Char(4) NOT NULL,Number Integer,Monitor Char(7));CREATE TABLE Grade(Sno Char(7) NOT NULL,Cno Char(1) NOT NULL,Gmark Numeric(4,1));INSERT INTO StudentV ALUE(‘2000101’,’李勇’,’男’,20,’00311’);INSERT INTO StudentV ALUE(‘2000102’,’刘诗晨’,’女’,19,’00311’);INSERT INTO StudentV ALUE(‘2000103’,’王一鸣’,’男’,20,’00312’);INSERT INTO StudentV ALUE(‘2000104’,’张婷婷’,’女’,21,’00312’);INSERT INTO StudentV ALUE(‘2001101’,’李勇敏’,’女’,19,’01311’);INSERT INTO StudentV ALUE(‘2001102’,’贾向东’,’男’,22,’01311’);INSERT INTO StudentV ALUE(‘2001103’,’陈宝玉’,’男’,20,’01311’);INSERT INTO StudentV ALUE(‘2001104’,’张逸凡’,’男’,21,’01311’);INSERT INTO CourseV ALUE(‘1’,’数据库’,4);INSERT INTO CourseV ALUE(‘2’,’离散数学’,3);INSERT INTO CourseV ALUE(‘3’,’管理信息系统’,2);INSERT INTO CourseV ALUE(‘4’,’操作系统’,4);INSERT INTO CourseV ALUE(‘5’,’数据结构’,4);INSERT INTO CourseV ALUE(‘6’,’数据处理’,2);INSERT INTO CourseV ALUE(‘7’,’c语言’,4);INSERT INTO ClassV ALUE(‘00311’,’计算机软件’,’2000’,120,’2000101’);INSERT INTO ClassV ALUE(‘00312’,’计算机应用’,’2000’,140,’2000103’);INSERT INTO ClassV ALUE(‘01311’,’计算机软件’,’2001’,220,’2001103’);INSERT INTO GradeV ALUE(‘2000101’,’1’,92);INSERT INTO GradeV ALUE(‘2000101’,’3’,88);INSERT INTO GradeV ALUE(‘2000101’,’5’,86);INSERT INTO GradeV ALUE(‘2000102’,’1’,78);INSERT INTO GradeV ALUE(‘2000102’,’6’,55);INSERT INTO GradeV ALUE(‘2000103’,’3’,65);INSERT INTO GradeV ALUE(‘2000103’,’6’,78);INSERT INTO GradeV ALUE(‘2000103’,’5’,66);INSERT INTO GradeV ALUE(‘2000104’,’1’,54);INSERT INTO GradeV ALUE(‘2000104’,’6’,83);INSERT INTO GradeV ALUE(‘2001101’,’2’,70);INSERT INTO GradeV ALUE(‘2001101’,’4’,83);INSERT INTO GradeV ALUE(‘2001102’,’2’,80);INSERT INTO GradeV ALUE(‘2001102’,’4’,90);INSERT INTO GradeV ALUE(‘2000103’,’1’,83);INSERT INTO GradeV ALUE(‘2000103’,’2’,76);INSERT INTO GradeV ALUE(‘2000103’,’4’,56);INSERT INTO GradeV ALUE(‘2000103’,’7’,88);11、针对T10的四个表,用SQL语言完成以下各项操作:(1)给学生表增加一属性Nation(民族),数据类型为VarChar(20);ALTER TABLE StudentALTER COLUMN Nation VarChar(20);(2)删除学生表中新增的属性Nation;ALTER TABLE StudentDROP COLUMN Nation;(3)向成绩表中插入记录(“2001110”,“3”,80);INSERT INTO GradeV ALUE(‘2001110’,’3’,80);(4)将学号为“200110”的学生的成绩修改为70分;UPDATE GradeSET Gmark = 70WHERE Sno = ‘2001110’;(5)删除学号为“2001110”的学生的成绩记录;DELETE FROM GradeWHERE Sno = ‘2001110’;(6)在学生表的Clno属性上创建一个名为IX_Class的索引,以班级号的升序排序;CREATE INDEX IX_ClassON Student(Clno);(7)删除IX_Class索引DROP INDEX Student.IX_Class;12、针对T10的四个表,用SQL语言完成以下各项操作:(1)找出所有被学生选修了的课程号;SELECT DISTINCT Cno 课程号FROM Grade(2)找出01312班女生的个人信息;SELECT *FROM StudentWHERE Clno='01311' and Ssex='女'(3)找出01311班和01312班的学生姓名性别出生年份;SELECT sname 学生姓名,ssex 性别,2011-sage 出生年份FROM StudentWHERE Clno='01311' or Clno='01312'(4)找出所有姓李的学生的个人信息;SELECT *FROM StudentWHERE Sname like '李%'(5)找出李勇所在班级的学生人数;SELECT COUNT(*)FROM StudentWHERE Clno in(SELECT ClnoFROM StudentWHERE Sname='李勇')(6)找出课程名为操作系统的平均成绩最高分最低分;SELECT A VG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分FROM GradeWHERE Cno in(SELECT CnoFROM CourseWHERE Cname='操作系统')(7)选修了课程的学生人数;SELECT COUNT(DISTINCT sno) 学生人数FROM Grade(8)选修了操作系统的学生人数;SELECT COUNT(DISTINCT sno) 学生人数FROM GradeWHERE Cno in(SELECT CnoFROM CourseWHERE Cname='操作系统')(9)找出2000级计算机软件班的成绩为空的学生姓名。
SELECT Sname 学生姓名FROM(SELECT *FROM StudentWHERE Clno in(SELECT ClnoFROM ClassWHERE Speciality='计算机软件' AND Inyear='2000') ) ruanjianWHERE ruanjian.Sno not in(SELECT DISTINCT Sno FROMGrade)with ruanjian as(SELECT Sno,SnameFROM Student join Classon Student.Clno=Class.ClnoWHERE Class.Speciality='计算机软件' and Class.Inyear='2000')SELECT Sname 学生姓名FROM ruanjianWHERE not exists(SELECT *FROM GradeWHERE ruanjian.Sno=Grade.Sno)13、针对T10的四个表,用SELECT的嵌套查询完成以下各项查询:(1)找出和李勇在同一个班级的学生信息;SELECT *FROM StudentWHERE Sname<>'李勇' and Clno in(SELECT ClnoFROM StudentWHERE Sname='李勇')(2)找出所有与学生李勇有相同选修课程的学生信息;SELECT *FROMS tudentWHERE Sname<>'李勇' and exists(SELECT *FROM GradeWHERE Student.Sno=Grade.Sno and o in(SELECT CnoFROMG radeWHERE Sno in(SELECT SnoFROM StudentWHERE Sname='李勇')))(3)找出年龄介于学生李勇和25岁之间的学生信息;SELECT * FROMStudentWHERE Sage < 25 and Sage >(SELECT Sage FROMStudent WHERE Sname='李勇')(4)找出选修了课程是操作系统的学生学号和姓名;SELECT Sno 学号,Sname 姓名FROM StudentWHERE exists(SELECT *FROM GradeWHERE Cno in(SELECT CnoFROM CourseWHERE Cname='操作系统')and Student.Sno=Grade.Sno)(5)找出没有选修1号课程的所有学生姓名;SELECT Sname 姓名FROM StudentWHERE not exists(SELECT *FROM GradeWHERE Student.Sno=Grade.Sno and Cno=1)(6)找出选修了全部课程的学生姓名。