数据库第4章 SQL语言基础及数据定义功能
数据库原理及应用(第2版)--课后习题参考答案
9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层 数据模型应满足的要求的是 A A.能够描述并发数据 B.能够真实地模拟现实世界 C.容易被业务人员理解 D.能够方便地在计算机上实现 10.数据模型三要素是指 B
3
·4·
A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 11.下列关于实体联系模型中联系的说法,错误的是 A.一个联系可以只与一个实体有关 B.一个联系可以与两个实体有关 C.一个联系可以与多个实体有关 D.一个联系也可以不与任何实体有关 D
·1·
第 1 章 数据概述
一.选择题 1.下列关于数据库管理系统的说法,错误的是 C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是 D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数 据的效率 3.下列说法中,不属于数据库管理系统特征的是 C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是 A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指 D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作 系统之间,属于 A A.系统软件 B.工具软件 C.应用软件 D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是 A.数据库 B.操作系统 C.应用程序 D.数据库管理系统 B D
vf第四章关系数据库标准语言SQL
4.2.8 利用空值查询
SQL支持空值,当然也可以利用空值进 行查询。 假设在订购单关系中,一名职工正在准 备订购单,但尚未选定供应商,这样若把信 息存入数据库,则供应商号和订购日期两个 属性均为空值,在前面给出的订购单记录中 有3个这样的记录。
例4.23 找出尚未确定供应商的订购单。 SELE * FROM 订购单 WHER 供应商号IS NULL 结果是: E6 NUIL OR77 NULI E1 NULL OR80 NUIJL E3 NUIJL OR90 NUI„L 注意:查询空值时要使用IS NULL,而= NULL是无效的,因为空值不是一个确定的 值,所以不能用“=”这样的运算符进行比较。
例4.20 求在WH2仓库工作的职工的最高工资值。
SELECT MAX(工资) FROM 职工 WHERE 仓库号=”WH2”
4.2.7 分组与计算查询
利用GROUP BY子句进行分组计算查询。 GROUP BY短语的格式如下: Group by 字段名 having 条件 可以按一列或多列分组,还可以用HAVING 进一步限定分组的条件。 例4.21 求每个仓库的职工的平均工资。 SELECT 仓库号,AVG(工资) FROM 职工 GROUP BY 仓库号
可以看到,在这个命令中含有两个 SELECT—FROM—WHERE查询块,即内 层查询块和外层查询块,内层查询块检索 到的仓库号值是WHl和WH2,这样就可以 写出等价的命令: SELE 城市 FROM 仓库 WHERE 仓库号; IN(”WHl”,”WH2”) 这里IN相当于集合运算符∈。
例4.9查询所有职工的工资都多于1210元的仓 库的信息。 这个检索要求也可以描述为:没有一个职工的工 资少于或等于1210元的仓库的信息。 不在以下范围 这样可以有SQL命令: SELE * FROM 仓库 WHER 仓库号 NOT IN; (SELECT 仓库号 FROM 职工 WHERE ; 工资<=1210) 内层SELECT—FROM—WHERE查询块指出所 有职工的工资少于或等于1210元的仓库的仓库号值 的集合,然后从仓库关系中检索元组的仓库号属性 值不在该集合中的每个元组。
关系数据库标准语言SQL
(2)外调制光纤通信系统
该系统是在光源发出光之后,在光的输出通路上加调制 器(如电光晶体等)进行调制,又称为间接调制光纤通 信系统。
(3)外差光纤通信系统
该系统又称为相干光通信系统。在研制中。
SQL
视图1
视图2
外模式
基本表1
基本表2
存储文件1
基本表3
基本表4 模 式
存储文件2
内模式
4.2 网上书店数据库
为此定义网上书店数据库,其中包括5个表 用户表:USER1(ID,NAME,PASSWORD,ADDRESS,
POSTCODE,EMAIL,HOMEPHONE,CELLPHONE, OFFICEPHONE) 图书类型表:SORTKIND(ID,NAME) 图书表:PRODUCT(ID,NAME,DESCRIPTION, PRICE,IMG,ZUOZHE,SORTKIND_ID) 订单表:USER1_ORDER(ID,STATUS,COST,DATE, USER1_ID) 订单条目表:ORDER_ITERM(ID,AMOUNT, PRODUCT_ID,ORDER_ID) 关系的主码加下划线表示。
第4章 关系数据库标准语言SQL
本章主要内容
由于SQL语言的标准化,所以大多数关系型数据库系 统都支持SQL语言,它已经发展成为多种平台进行交 互操作的底层会话语言,成为数据库领域中一个主 流语言。这一章将详细介绍SQL的核心部分:数据定 义、数据查询、数据更新和嵌入式SQL。
本章学习目标
熟练掌握SQL语言的数据定义、数据查询、数据更新 功能
(完整版)数据库原理和应用(第2版)习题参考答案解析
第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
《数据库技术与应用》第4章 习题答案
第4章关系数据库标准语言SQL1. 试述关系数据库标准语言SQL的特点。
解:SQL语言是一种功能强大、通用性好又简单易学的语言,主要特点包括:●综合统一:SQL语言将数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能集于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。
●高度非过程化:用SQL语言进行数据操作只要提出“做什么”,而无需指明“怎么做”。
●面向集合操作:SQL采用集合操作方式。
不仅查询的结果可以是元组的集合,而且一次插入、更新、删除操作的对象也可以是元组的集合。
●支持关系数据库的三级模式结构:外模式对应于视图(View),模式对应于基本表,内模式对应于存储文件。
●简洁易学,灵活易用:SQL语言简洁,只有少量关键字,语法简单。
SQL的使用方式非常灵活,可以直接通过SQL实现人机交互,还可以将SQL语句嵌入到其他高级语言程序中来使用。
2. 概述SQL的基本功能。
解:SQL语言是一种综合的、通用的、功能强大的关系数据库语言,集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体。
数据定义功能。
主要用于定义、删除和修改关系数据库中的对象,数据库对象主要包括基本表、视图等。
数据查询功能。
运用SELECT语句来实现查询数据的功能。
数据操纵功能。
主要用于增加、删除和修改数据库中的数据。
数据控制功能。
主要用来控制用户对数据库的操作权限,包括数据库安全控制和事物管理两部分。
3. 什么是基本表?什么是视图?两者的区别和联系是什么?解:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
试图是从一个或几个基本表导出的表。
试图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据。
视图与表的区别:概念不同。
表是使用DBMS的DDL定义的,拥有真实数据的,以独立文件的形式存储在计算机外存上的具有固定模式结构和相应元组数据的实表。
初学者必读的SQL数据库基础教程
初学者必读的SQL数据库基础教程SQL数据库是一种常用的数据库管理系统,广泛应用于各种软件开发和数据管理领域。
对于初学者来说,掌握SQL数据库的基础知识是非常重要的。
本文将从数据定义语言、数据操作语言、数据查询语言和数据控制语言等方面,为初学者提供一份必读的SQL数据库基础教程。
第一章数据定义语言(DDL)数据定义语言(DDL)是SQL数据库中用来定义数据库结构的语言。
它包括创建、修改和删除数据库、表、列以及其他对象的操作。
在SQL中,创建数据库使用CREATE DATABASE语句,创建表使用CREATE TABLE语句,修改表结构使用ALTER TABLE语句,删除表使用DROP TABLE语句等。
初学者在学习时应该了解这些常用的DDL语句,并能够正确地使用它们。
第二章数据操作语言(DML)数据操作语言(DML)是SQL数据库中用来对数据库中的数据进行操作的语言。
它包括插入、更新和删除数据的操作。
在SQL中,插入数据使用INSERT INTO语句,更新数据使用UPDATE语句,删除数据使用DELETE FROM语句等。
初学者需要熟悉这些基本的DML语句,并能够通过它们来操作数据库中的数据。
第三章数据查询语言(DQL)数据查询语言(DQL)是SQL数据库中用来查询数据库中的数据的语言。
它包括SELECT语句和一些用于过滤、排序和聚合数据的函数。
初学者需要掌握SELECT语句的基本用法,了解如何使用WHERE子句进行条件过滤,如何使用ORDER BY子句进行排序,以及如何使用GROUP BY子句进行数据聚合。
第四章数据控制语言(DCL)数据控制语言(DCL)是SQL数据库中用来控制数据库访问权限和事务处理的语言。
它包括GRANT和REVOKE语句用于授权和撤销权限,以及BEGIN TRANSACTION、COMMIT和ROLLBACK语句用于管理事务。
初学者需要了解如何使用DCL语句来管理数据库的安全性和事务一致性。
第4章结构化查询语言SQL
第4章结构化查询语言SQL学习目标在本章中将学习:l SQL语言的特点及功能l SQL的数据查询功能l SQL的数据操作功能l SQL的数据定义功能4.1SQL语言概述SQL全称是“结构化查询语言(Structured Query Language)”,最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。
如今无论是Oracle,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual FoxPro,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
4.1.1 SQL语言的特点1.综合统一SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统开发提供了良好的环境。
在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一。
2.非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
所有SQL语句接受集合作为输入,返回集合作为输出。
SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法。
这种特性使用户更易集中精力于要得到的结果。
所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。
3.面向集合的操作方式SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
第4章 标准查询语言SQL
(2)<列名>:规定了该列(属性)的名称。一个表中不能有两列同名。 (3)<数据类型>:规定了该列的数据类型。各具体DBMS所提供的数据类型是不同的; 本书使用的是SQL Server 2005中规定的数据类型。 (4)完整性约束:完整性约束规则在该命令中较为复杂,为了学习方便,没有把命令 的全部内容一次写出来,这里主要用到下列三类子句:
SQL语言的主பைடு நூலகம்特点
(2)高度非过程化。 SQL语言与各种关系数据库DBMS中的语言一样是一 种高度非过程化语言。使用时,只要指明“做什么?” 不必像高级语言那样指明“怎样做?”,因此用户无 需了解文件与数据的存取路径,这种存取路径的SQL 语句的操作过程是由系统自动来完成。这不仅大大减 轻了编程人员的负担,还有利于提高数据的独立性。
定义数据库内基本表
实例说明: (1)“教师”表:T,由教师编号(TNO)、姓名(TN)、性别(SEX)、 年龄(AGE)、职称(ZC)和所在专业(DEPT)6个属性组成。可记为: T(TNO,TN,SEX,AGE,ZC,DEPT) (2)“课程”表:C,由课程号(CNO)、课程名(CN)、课程性质 (CX)和学分(CT)4个属性组成。可记为: C(CNO,CN,CX,CT) (3)“教师授课”表:TC,由教师编号(TNO)、课程号(CNO)、教 龄(YEAR)3个属性组成,这里的教龄是指教授这门课的教龄。可记为: TC(TNO,CNO,YEAR)
数据库课后习题参考答案与解析
第1章数据概述一.选择题1.下列关于数据库管理系统的说法,错误的是CA.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名2.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率3.下列说法中,不属于数据库管理系统特征的是CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失5.在数据库系统中,数据库管理系统和操作系统之间的关系是DA.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行6.数据库系统的物理独立性是指DA.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件8.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是B A.数据库B.操作系统C.应用程序D.数据库管理系统9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是DA.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件C.客户/服务器结构比文件服务器结构的网络开销小D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享数据库是相互关联的数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
国家开放大学《数据库应用技术》章节测试参考答案
国家开放大学《数据库应用技术》章节测试参考答案第一章 数据库系统概述1.下列不属于数据库管理数据特点的是()a. 应用程序与数据的物理存储紧密相关b. 最大限度的保证数据的正确性c. 数据可以共享并能保证数据的一致性d. 相互关联的数据集合2.使用数据库管理数据可以实现程序与数据的相互独立。
(√)3.数据库管理系统是一个系统软件,这个软件主要负责将磁盘上的数据库文件读入到内存中。
(×)4.下列属于数据动态特征的是()a. 数据的主键约束b. 数据的取值范围约束c. 数据所包含的属性d. 插入数据5.下列关于概念层数据模型的说法,正确的是a. 概念层数据模型要能够方便地在计算机上实现b. 概念层数据模型与具体的数据库管理系统相关c. 概念层数据模型是从计算机实现的角度进行建模d. 概念层数据模型要真实地模拟现实世界6.概念层数据模型描述的是数据的组织方式。
(×)7.在E/R图中,联系用()描述a. 矩形框b. 菱形框c. 圆角矩形d. 三角形8.一名教师可以教多门课程,一门课程可以被多个教师讲授,则教师与课程之间的联系是a. 一对一b. 多对多c. 多对一d. 一对多9.E-R图中的“E”表示的是实体。
(√)10.下列关于关系数据模型的说法,正确的是a. 关系数据模型采用的是导航式的数据访问方式b. 关系数据模型采用的是简单二维表结构c. 关系数据模型是一种概念层数据模型d. 关系数据模型只能表达实体,不能表达实体之间的联系11.关系数据模型允许一个属性包含更小的属性。
(×)12.下列关于数据库三级模式中“模式”的说法,错误的是a. 外模式的信息全部来自于模式b. 模式应该包含全体用户的数据需求c. 模式是对整个数据库的底层表示d. 关系数据库中的表对应三级模式中的模式13.下列用于描述数据的物理存储的是a. 内模式b. 外模式c. 模式d. 模式间的映像14.数据库三级模式中的模式是面向全体用户的数据需求设计的。
数据库原理及应用-第4章-SQL语言
建立学生表student,由学号、姓名、性别、年龄 、系别5个属性组成.
CREATE TABLE student
(Sno char(8) primary key, Sname char(20) not null ,
Ssex char(1) default ‘男’, Sage int check(Sage>=0 and Sage <=120),
Transact-SQL命令格式的约定
在Transact-SQL语言的命令格式中,
[ ]括起来的内容表示是可选的;
[,…n]表示重复前面的内容;
< >括起来表示在实际编写语句时,用相应的内容替代;
{ }括起来表示是必选的; 类似A|B的格式:表示A和B只能选择一个,不能同时都 选。
数据类型
系统数据类型 SQL Server预先定义好的,可以直接使用。
选择表中的若干行
1)消除重复的行:DISTINCT
1. 查询所有选修过课的学生的学号 SELECT Sno FROM SC
等价于:
SELECT ALL Sno FROM SC
结果中保留了重复的行
SELECT DISTINCT Sno FROM SC
结果中消除了重复的行
2)查询满足条件的元组
通过WHERE子句实现 常用的查询条件
约束 constraint
约束是SQL Server提供的自动保持数据库完整 性的一种方法 。
主键约束 primary key 主键能够唯一地确定表中的每一条记录,主键不能取空值。 主键约束可以保证实体的完整性。
唯一性约束 unique •唯一性约束用于指定一个或多个列的组合值具有唯一 性,以防止在列中输入重复的值。 •使用唯一性约束的字段允许为空值; •一个表中可以允许有多个唯一性约束; •可以把唯一性约束定义在多个字段上;
第4章 MySQL数据库及SQL语言简介
度,保存时在右侧填充空格以达到指定的长度,在访问该数据时再把空格去掉,因此CHAR类型的 数据末尾不能有空格,
VARCHAR指的是变长字符串,在定义时指定字符串的最大长度,保存时按存入字符串的实 际长度分配存储空间,在访问该数据时不会去掉尾部空格。
4.3 MySQL数据类型
4.3.1 数值型 MySQL中支持的数值型包括:整型TINYINT、SMALLINT、MEDIUMINT、
INT、BIGINT,浮点小数型FLOAT、DOUBLE,定点小数型DECIMAL。 整数类型 浮点小数类型和定点小数类型
4.3 MySQL数据类型
4.3.2 字符串型 1. 文本字符串:普通文本字符串和长文本字符串
4.2 SQL概述及功能
4.2.2 SQL的特点及命令动词 1. SQL语言的特点 支持三级数据模式 全体基本表构成了数据库的全局逻辑模式,视图和部分基本表(被用户直接操作)构成了数 据库的外模式,而数据库的存储文件和索引文件则构成了数据库的内模式。
4.2 SQL概述及功能
4.2.2 SQL的特点及命令动词 2. SQL语言的三大功能及命令动词 数据定义:create、alter和drop 数据操纵:select、insert、delete和update 数据控制:grant和revoke
4.3 MySQL数据类型
4.3.3 日期时间型 DATE类型仅存储日期而不存储时间,TIME类型仅存储时间,DATETIME和TIMESTAMP都 是既存储日期也存储时间,如果需要表示年月日时分秒,DATETIME和TIMESTAMP都是可以选 择的数据类型。 4.3.4 选择数据类型的原则
数据库原理及应用第二版习题答案课后习题
第1章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:数据是描述事物的符号记录,是数据库中存储的基本对象。
数据库是存放数据的仓库,是长期存储在计算机中的有组织的、可共享的大量数据的集合。
数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
数据库系统是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?答:数据管理技术的发展主要经历了文件管理和数据库管理两个阶段。
3.与文件管理相比,数据库管理有哪些优点?答:将相互关联的数据集成在一起,具有较少的数据冗余,程序与数据相互独立,保证数据的安全可靠,最大限度地保证数据的正确性,数据可以共享并能保证数据的一致性。
4.在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什么?答:不需要。
因为在数据库系统中,数据的存储位置以及存储结构保存在数据库管理系统中,从数据到物理存储位置的转换是由数据库管理系统自动完成的。
5.在数据库系统中,数据库的作用是什么?答:在数据库系统中,数据库是存放数据的场所。
6.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?答:不能。
7.数据独立性指的是什么?它能带来哪些好处?答:数据独立性指的是数据的逻辑独立性和物理独立性。
逻辑独立性带来的好处是当表达现实世界信息的逻辑结构发生变化时,可以不影响应用程序;物理独立性带来的好处是当数据的存储结构发生变化时,可以不影响数据的逻辑组织结构,从而也不影响应用程序。
8.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统由四个主要部分组成,即数据库、数据库管理系统、应用程序和系统管理员。
数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;系统管理员负责数据库的规划、设计、协调、维护和管理等工作;应用程序指以数据库数据为核心的应用程序。
第4章 T-SQL语言
Select select select select
cast('2008-05-08 12:35:29.1234567' as time(7)) cast('2008-05-08 12:35:29.1234567' as date) cast('2008-05-08 12:35:29.123' as smalldatetime) cast('2008-05-08 12:35:29.123' as datetime)
4.1 T-SQL特点
一体化 两种使用方式,交互和嵌入 非过程化语言 简洁
4.2 T-SQL数据类型
分为系统数据类型和用户自定义数据类型 系统数据类型
数字型:整数,小数,负数、分数等
整数int,bigint,smallint,tinyint 非整型decimal(p,s),float
货币:money,smallmoney 日期:datetime,datetime2,date,time, datetimeoffset,smalldatetime
4.2 T-SQL数据类型--例子
Select cast('2007-05-03 12:35:29' as smalldatetime), cast('2007-05-08 12:35:30' as smalldatetime), cast('2007-05-08 12:59:59.998' as smalldatetime)
应用程序----作为一个批处理; 存储过程或触发器-----作为一个批处理; 由EXECUTE命令语句执行的字符串构成一个批处理
Select * from 客户表 Select * from 工作人员表 go
数据库系统概论:第4章 关系数据库标准语言——SQL语言1
4)删除完整性约束
例:删除“Height”属性列上的CHECK约束。 ALTER TABLE Student DROP
CONSTRAINT Chk1;
27
5)删除属性列
例:删除Student表中新增加的“Height”属性列。 ALTER TABLE Student DROP COLUMN Height;
2
2、SQL语言应用情况
(1) Oracle、Sybase、Informix、Ingres、 DB2、SQL Server、Rdb等大型数据库管理系统 实现了SQL语言; (2) Dbase、Foxpro、Acess等PC机数据库管理 系统部分实现了SQL语言; (3)可以在HTML(Hypertext Markup Language, 超文本标记语言)中嵌入SQL语句,通过WWW访 问数据库; (4)在VC、VB、Delphi、PB也可嵌入SQL语句。
/*外键约束*/ Credit NUMBER);
21
例3:建立一个学生选课表SC,所有约束条件均为表
级完整性约束。
CREATE TABLE SC
( Sno CHAR(8),
Cno CHAR(8),
Grade NUMBER,
PRIMARY KEY(Sno,Cno),
/*主键约束*/
FOREIGN KEY(Sno) REFERENCES Student(Sno)
25
3)增加完整性约束
例:给Student表中“Height”属性列增加一 个CHECK约束,要求学生的身高要超过140厘 米才行。 ALTER TABLE Student ADD CONSTRAINT Chk1 CHECK(Height>140);
数据库课件 第四章 结构化查询语言
4.2.2 基本表的修改
【例4.4】向抢修工程计划表salvaging增加‚工程项目负 责人‛列,数据类型为字符型。
注意:不论基本表中原来是否已有数据,新增加的列一律为空值。
4.3 数据查询
执行过程:
(1)读取FROM子句中基本表、视图的数据,执行笛卡 儿积操作;
(2)选取满足WHERE子句中给出的条件表达式的元组; (3)按GROUP子句中指定列的值分组,同时提取满足 HAVING子句中组条件表达式的那些组;
(4)按SELECT子句中给出的列名或列表达式求值输出;
(5)ORDER子句对输出的目标表进行排序,可选择升序 或降序.
• 结果集
– 查询操作的对象是关系,结果还是一个关系, 是一个结果集,而且是一个动态数据集。
4.3 数据查询
我们以电力抢修工程数据库 为例说明SELECT语 句的各种用法.
(a) stock表
4.3 数据查询
(b) salvaging表
4.3 数据Βιβλιοθήκη 询(c) out_stock表
4.3.1 单表查询
4.2.1 基本表的定义
(3)配电物资领料出库表: out_stock(prj_num, mat_num, amount, get_date, department) 主码为(prj_num, mat_num) 各属性含义如下: 工程项目编号(prj_num) 物资编号(mat_num) 领取数量(amount) 领料日期(get_date) 领料部门(department)
4.2.1 基本表的定义
(完整版)数据库原理与应用习题参考答案
第1章数据库概述1.与文件管理相比,数据库管理有哪些优点?答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。
2.比较文件管理和数据库管理数据的主要区别。
答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。
而数据库管理系统可以很方便地提供这些功能。
3.在数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。
因为这些都由数据库管理系统来维护。
4.在数据库系统中,数据库的作用是什么?答:数据库是存储数据的仓库,其作用是存储数据。
5.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不可以。
6.数据独立性指的是什么?它能带来哪些好处?答:数据独立性包括逻辑独立性和物理独立性两部分。
物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。
7.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括3个主要部分:数据库、数据库管理系统和应用程序。
数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序8.在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?答:在文件服务器结构中,数据的处理是在客户端完成的,而在客户/服务器结构中,对数据的处理是在服务器端完成的,服务器返回给客户端的是处理后的结果。
第2章数据模型与数据库系统结构1.解释数据模型的概念,为什么要将数据模型分成两个层次?答:数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求:第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现。
数据库习题答案--何玉洁
第一部分基础理论第1章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
数据:描述事务的符号记录数据库:存储数据的仓库数据库管理系统:用于管理和维护数据的系统软件数据库系统:计算机中引入数据库后的系统,包括数据库,数据库管理系统,应用程序,数据库管理员2.数据管理技术的发展主要经历了哪几个阶段?两个阶段,文件管理和数据库管理3.数据独立性指的是什么?应用程序不因数据的物理表示方式和访问技术改变而改变,分为逻辑独立性和物理独立性。
物理独立性是指当数据的存储结构或存储位置发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
4.数据库系统由哪几部分组成?由数据库、数据库管理系统、应用程序、数据库管理员组成。
第2章数据模型与数据库系统的结构1.说明实体一联系模型中的实体、属性和联系的概念。
实体是具有公共性质的并可相互区分的现实世界对象的集合。
属性是实体所具有的特征或性质。
联系是实体之间的关联关系。
2.数据库系统包含哪三级模式?试分别说明每一级模式的作用。
外模式、模式和内模式。
外模式:是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求,保证数据安全。
模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。
内模式:是对整个数据库的底层表示,它描述了数据的存储结构。
3.数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能?两级映像是外模式/模式映像和模式/内模式映像。
外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而使用户的应用程序不需要修改,保证了程序与数据的逻辑独立性。
模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,保证了程序与数据的物理独立性。
两级印象保证了应用程序的稳定性。
第3章关系数据库1.试述关系模型的三个组成部分。
数据结构、关系操作集合、关系完整性约束2.解释下列术语的含义:(1)主码当一个关系有多个候选码时,选择一个作为主码(2)候选码当一个属性或属性集的值能够唯一标识一个关系的元组,而又不包含多余的元素,则称该属性或属性集为候选码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章SQL语言基础及数据定义功能用户使用数据库时需要对数据库进行各种各样的操作,如查询数据,添加、删除和修改数据,定义、修改数据模式等。
DBMS必须为用户提供相应的命令或语言,这就构成了用户和数据库的接口。
接口的好坏会直接影响用户对数据库的接受程度。
数据库所提供的语言一般局限于对数据库的操作,它不是完备的程序设计语言,也不能独立地用来编写应用程序。
SQL(Structured Query Language,结构化查询语言)是用户操作关系数据库的通用语言。
虽然叫结构化查询语言,而且查询操作确实是数据库中的主要操作,但并不是说SQL只支持查询操作,它实际上包含数据定义、数据查询、数据操作和数据控制等与数据库有关的全部功能。
SQL已经成为关系数据库的标准语言,所以现在所有的关系数据库管理系统都支持SQL。
本章将主要介绍SQL语言支持的数据类型以及定义基本表和索引的功能。
4.1 SQL语言概述SQL语言是操作关系数据库的标准语言,本节介绍SQL语言的发展过程、特点以及主要功能。
4.1.1 SQL语言的发展最早的SQL原型是IBM的研究人员在20世纪70年代开发的,该原型被命名为SEQUEL (Structured English QUEry Language)。
现在许多人仍将在这个原型之后推出的SQL语言发音为“sequel”,但根据ANSI SQL委员会的规定,其正式发音应该是“ess cue ell”。
随着SQL语言的颁布,各数据库厂商纷纷在其产品中引入并支持SQL语言,尽管绝大多数产品对SQL语言的支持大部分是相似的,但它们之间还是存在一定的差异,这些差异不利于初学者的学习。
因此,我们在本章介绍SQL时主要介绍标准的SQL语言,我们将其称为基本SQL。
从20世纪80年代以来,SQL就一直是关系数据库管理系统(RDBMS)的标准语言。
最早的SQL标准是1986年10月由美国ANSI(American National Standards Institute)颁布的。
随后,ISO(International Standards Organization)于1987年6月也正式采纳它为国际标准,并在此基础上进行了补充,到1989年4月,ISO提出了具有完整性特征的SQL,并称之为SQL-89。
SQL-89标准的颁布,对数据库技术的发展和数据库的应用都起了很大的推动作用。
尽管如此,SQL-89仍有许多不足或不能满足应用需求的地方。
为此,在SQL-89的基础上,经过3年多的研究和修改,ISO和ANSI共同于1992年8月颁布了SQL的新标准,即SQL-92(或称为SQL2)。
SQL-92标准也不是非常完备的,1999年又颁布了新的SQL标准,称为SQL-99或SQL3。
不同数据库厂商的数据库管理系统提供的SQL语言略有差别,本书主要介绍Microsoft SQL Server 使用的SQL语言(称为Transact-SQL,简称T-SQL)的功能,其他的数据库管理系统使用的SQL语言绝大部分是一样的。
4.1.2 SQL语言特点SQL之所以能够被用户和业界所接受并成为国际标准,是因为它是一个综合的、功能强大且又比较简捷易学的语言。
SQL语言集数据定义、数据查询、数据操作和数据控制功能于一身,其主要特点如下。
(1)一体化SQL语言风格统一,可以完成数据库活动中的全部工作,包括创建数据库、定义模式、更改和查询数据以及安全控制和维护数据库等。
这为数据库应用系统的开发提供了良好的环境。
用户在数据库系统投入使用之后,还可以根据需要随时修改模式结构,并且可以不影响数据库的运行,从而使系统具有良好的可扩展性。
(2)高度非过程化在使用SQL语言访问数据库时,用户没有必要告诉计算机“如何”一步步地实现操作,而只需要用SQL语言描述要“做什么”,然后由数据库管理系统自动完成全部工作。
(3)简洁虽然SQL语言功能很强,但它只有为数不多的几条命令,另外,SQL的语法也比较简单,接近自然语言(英语),因此容易学习和掌握。
(4)可以多种方式使用SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中使用。
现在很多数据库应用开发工具(比如C#、PowerBuilder、Delphi等)都将SQL语言直接融入到自身的语言当中,使用起来非常方便。
这些使用方式为用户提供了灵活的选择余地。
而且不管是哪种使用方式,SQL语言的语法都是一样的。
4.1.3 SQL语言功能概述SQL语言按其功能可分为4大部分:数据定义、数据查询、数据更改和数据控制。
表4-1列出了实现这4部分功能的动词。
表4-1 SQL语言的主要功能数据定义功能用于定义、删除和修改数据库中的对象,本章介绍的关系表、第6章介绍的视图、索引等都是数据库对象;数据查询功能用于实现查询数据的功能,数据查询是数据库中使用最多的操作;数据更改功能用于添加、删除和修改数据库数据。
数据更改功能在有些书中也被称为数据操纵功能,也可以将数据查询和数据更改统称为数据操作。
数据控制功能用于控制用户对数据的操作权限。
本章介绍数据定义功能中定义关系表的功能,同时介绍如何定义一些主要的完整性约束。
第5章介绍实现数据查询和数据更改功能的语句。
在介绍这些功能之前,我们先介绍SQL语言所支持的数据类型。
4.2 SQL语言支持的数据类型关系数据库的表结构由列组成,列指明了要存储的数据的含义,同时指明了要存储的数据的类型,因此,在定义表结构时,必然要指明每个列的数据类型。
每个数据库厂商提供的数据库管理系统所支持的数据类型并不完全相同,而且与标准的SQL也有差异,这里主要介绍Microsoft SQL Server支持的常用数据类型,同时也列出了对应的标准SQL数据类型,便于读者对比。
4.2.1 数值型1.准确型准确型数值是指在计算机中能够精确存储的数据,比如整型数、定点小数等都是准确型数据。
表4-2列出了SQL Server支持的准确型数据类型,同时列出了对应的ISO SQL支持的准确型数据类型。
表4-2 准确数值类型2.近似型近似型用于存储浮点型数据,表示在其数据类型范围内的所有数据在计算机中不一定都能精确地表示。
表4-3列出了SQL Server支持的近似数据类型,同时列出了对应的ISO SQL支持的近似数据类型。
表4-3 近似数据类型4.2.2 字符串类型字符串型数据由汉字、英文字母、数字和各种符号组成。
目前字符的编码方式有两种:一种是普通字符编码,另一种是统一字符编码(unicode)。
普通字符编码指的是不同国家或地区的编码长度不一样,比如:英文字母的编码是1个字节(8位),中文汉字的编码是2个字节(16位)。
统一字符编码是对所有语言中的字符均采用双字节(16位)编码。
表4-4列出了SQL Server支持的字符串型数据类型。
表4-4 字符串类型说明:(1)在SQL Server的未来版本中将删除ntext、text和image数据类型,因此在新的开发工作中应避免使用这些数据类型,而是使用新的nvarchar(max)、varchar(max)和varbinary(max)数据类型。
(2)SQL中的字符串常量要用单引号括起来,比如'计算机系'。
(3)定长字符类型表示不管实际字符需要多少空间,系统分配固定地字节数。
如果空间未被占满时,则系统自动用空格填充。
(4)可变长字符类型表示按实际字符需要的空间进行分配。
4.2.3 日期时间类型SQL Server 2008比之前的SQL Server版本增加了很多新的日期和时间数据类型,以便更好地与ISO兼容。
表4-5列出了SQL Server 2008支持的常用日期时间数据类型。
表4-5 常用日期时间类型说明:对于新的开发工作,应使用time、date、datetime2和 datetimeoffset 数据类型,因为这些类型符合ISO SQL标准,而且这三种类型提供了更高精度的秒数。
datetimeoffset 为全局部署的应用程序提供时区支持。
datetime用4个字节存储从1900年1月1日之前或之后的天数(以1990年1月1日为分界点,1900年1月1日之前的日期的天数小于0,1900年1月1日之前的日期的天数大于0),用另外4个字节存储从午夜(00:00:00)后代表每天时间的毫秒数。
Smalldatetime与datetime类似,它用2个字节存储从1900年1月1日之后的日期的天数,用另外2个字节存储从午夜(00:00:00)后代表每天时间的分钟数。
注意在使用日期时间类型的数据时也要用单引号括起来,比如:'2014-12-6'、'2014-12-6 12:03:32'。
4.3 数据定义功能我们在本书第2章介绍过,为方便用户访问和管理数据库,关系数据库管理系统将数据划分为三个层次,每个层次用一个模式来描述,这就是外模式、模式和内模式,并将此称为数据库的三级模式结构。
外模式和模式在关系数据库中分别对应视图和表,内模式对应索引等内容。
因此,SQL的数据定义功能包括表定义、视图定义、索引定义等。
除此之外,SQL 标准是通过对象(例如表)对SQL所基于的概念进行描述的,这些对象大部分是架构对象,即对象都属于一定的架构,因此,数据定义功能还包括架构的定义。
表4-6列出了SQL数据定义功能包括的主要内容。
本章介绍架构和表的定义,第5章介绍索引和视图的定义方法。
4.3.1 架构的定义与删除架构(schema,也称为模式)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象,它是一个数据库对象的容器。
如果将数据库比喻为一个操作系统,那么架构就相当于操作系统中的文件夹,而架构中的对象就相当于这个文件夹中的文件。
因此,通过将同名表放置在不同架构中,使得一个数据库中可以包含名字相同的关系表。
一个数据库可以包含一个或多个架构,由特定的授权用户名所拥有。
在同一个数据库中,架构的名字必须是唯一的。
属于一个架构的对象称为架构对象,即它们依赖于该架构。
架构对象的类型包括:基本表、视图、触发器等。
一个架构可以由零个或多个架构对象组成,架构名字可以是显式的,也可以是由DBMS 提供的默认名。
对数据库中对象的引用可以通过架构名前缀来限定。
不带任何架构限定的CREATE语句都指的是在当前架构中创建对象。
1.定义架构定义架构的SQL语句为CREATE SCHEMA,其语法格式如下:CREATE SCHEMA {<架构名>| AUTHORIZATION <所有者名>| <架构名> AUTHORIZATION <所有者名>}[ { 表定义语句 | 视图定义语句| 授权语句 | 收权语句 | 拒绝权限语句 }]执行创建架构语句的用户必须具有数据库管理员的权限,或者是获得了数据库管理员授予的CREATE SCHEMA的权限。