用户定义的完整性
- 格式:pdf
- 大小:846.63 KB
- 文档页数:20
数据库原理与技术课程习题答案第1章一、选择题1.下列关于用文件管理数据的说法,错误的是DA.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率2.下列说法中,不属于数据库管理系统特征的是 CA.提供了应用程序和数据的独立性B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合C.用户访问数据时,需要知道存储数据的文件的物理信息D.能保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失3.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于AA.系统软件B.工具软件C.应用软件D.数据软件4.数据库系统是由若干部分组成的。
下列不属于数据库系统组成部分的是BA.数据库B.操作系统C.应用程序D.数据库管理系统5.下列关于数据库技术的描述,错误的是DA.数据库中不但需要保存数据,而且还需要保存数据之间的关联关系B.数据库中的数据具有较小的数据冗余C.数据库中数据存储结构的变化不会影响到应用程序D.由于数据库是存储在磁盘上的,因此用户在访问数据库时需要知道其存储位置二、简答题1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
答: 数据是描述事物的符号记录。
描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后保存在计算机中。
数据库是长期存储在计算机中的有组织的、可共享的大量数据的集合。
数据库管理系统是一个专门用于实现对数据进行管理和维护的系统软件。
数据库系统一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。
2.数据管理技术的发展主要经历了哪几个阶段?答: 数据管理技术的发展因此也就经历了文件管理和数据库管理两个阶段。
2022年湖南科技大学数据科学与大数据技术专业《数据库系统原理》科目期末试卷A(有答案)一、填空题1、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。
2、完整性约束条件作用的对象有属性、______和______三种。
3、数据库内的数据是______的,只要有业务发生,数据就会更新,而数据仓库则是______的历史数据,只能定期添加和刷新。
4、有两种基本类型的锁,它们是______和______。
5、某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。
6、数据库恢复是将数据库从______状态恢复到______的功能。
7、在数据库系统封锁协议中,一级协议:“事务在修改数据A前必须先对其加X锁,直到事务结束才释放X锁”,该协议可以防止______;二级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁”,该协议可以防止______;三级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,直到事务结束后才释放S锁”,该协议可以防止______。
8、视图是一个虚表,它是从______导出的表。
在数据库中,只存放视图的______,不存放视图对应的______。
9、数据库系统是利用存储在外存上其他地方的______来重建被破坏的数据库。
方法主要有两种:______和______。
10、数据仓库创建后,首先从______中抽取所需要的数据到数据准备区,在数据准备区中经过净化处理______,再加载到数据仓库中,最后根据用户的需求将数据发布到______。
二、判断题11、可串行化的调度一定遵守两段锁协议。
()12、在关系模式中,主码和候选码可以有多个。
()13、在数据库恢复中,对已完成的事务进行撤销处理。
()14、在CREATEINDEX语句中,使CLUSTERED来建立簇索引。
关系模型【数据库概论】(⼀) 关系模型知识引⼊开局⼀张图,知识全靠爆~DBMS 采⽤某种数据模型进⾏建模,提供了在计算机中表⽰数据的⽅式,其包括,数据结构、数据操作、数据完整性三部分。
在关系模型中,通过关系表⽰实体与实体之间的联系,然后基于关系数据集合进⾏数据的查询、更新以及控制等操作同时对数据的更新操作进⾏实体完整性、参照完整性、⽤户⾃定义完整性约束。
⽽在前期,通过关系代数和逻辑⽅式(关系演算)表⽰对关系操作的能⼒,⽽后出现了 SQL 语⾔,其吸纳了关系代数的概念,和关系演算的逻辑思想虽然进⾏了⼀定的解释,但是光看图上的这些名词,还是很懵,没关系,下⾯我们就按照图⽚上的标号,针对关系数据模型进⾏讲解多说⼀句:关系模型⾮常重要,是现在主流的⼀种数据模型,同样 SQL 也⾮常流⾏,现在⼤部分数据库都是⽀持 SQL 的,这也正是我们要针对此部分重点学⼀下的原因(⼆) 关系的数据结构(1) 关系的相关概念A:关系的数学描述关系概念是对事物间数据依赖的⼀种描述,同时集合论提供了关系概念:集合论中的关系本⾝也是⼀个集合,以具有某种联系的对象组合——“序组”为其成员。
关系不是通过描述其内涵来刻画事物间联系的,⽽是通过列举其外延(具有这种联系的对象组合全体)来描述这种联系B:笛卡尔积关系的概念是建⽴在笛卡尔积概念的基础上的,笛卡尔积是定义在给定⼀组域上的有序对的集合,⽽域则是⼀组具有相同数据类型的值的集合,例如⾃然数整数实数,长度⼩于若⼲字节的字符串集合等都可以是域给定⼀组域D1,D2,…,Dn,这n个域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n }每⼀个元素(d1,d2,…,dn)叫作⼀个n元组(n-tuple),或简称为元组(Tuple)元素中的每⼀个di值叫作⼀个分量(Component)若Di (i=1,2,…,n)为有限集,其基数为mi (i=1,2,…,n),则D1×D2×…×Dn的基数M为:nM= ∏ mii=1定义可能有⼀些抽象,引⼊⼀个例⼦看⼀下,会直观⼀些【例】设:D1为学⽣集合= {张⼭,李斯,王武};D2为性别集合= {男,⼥};D3为年龄集合= {19,20}⽤⼆维表的形式表⽰D1×D2×D3,则为下表格,则有12个元组姓名性别年龄张⼭男19张⼭⼥19张⼭男20张⼭⼥20李斯男19李斯⼥19李斯男20李斯⼥20王武男19王武⼥19王武男20王武⼥20姓名性别年龄C:关系的定义根据上⾯的铺垫可以得出:满⾜⼀定语义的D1×D2×…×Dn的⼦集叫作在域D1、D2、…、Dn上的关系定义:R(D1, D2, …, Dn)R:关系的名字n:关系的⽬或度(Degree)(2) 关系模型的相关概念关系的描述称为关系模式:R(U, D, Dom, F)R:关系名U:组成该关系的属性集合D:属性组U中属性所来⾃的域Dom:属性向域的映像的集合F:属性间数据的依赖关系集合A:属性(U)若关系对应⼀个实体,关系的属性就是所要描述的实体对象的属性,即实体所对应的事物对象的特征,例如姓名,性别,年龄在同⼀关系中,属性名不能相同,但不同的属性可以有相同的域。
信息系统分析考题及答案--1.什么是SDLC,SDLC分为那几个阶段?答:SDLC叫系统开发生命周期,是软件工程中的一个通用性名词,它说明了软件产品开发的过程性和方法学。
SDLC分为以下几个阶段(1)项目计划阶段:是SDLC的最初阶段,其目标是确定项目要解决的问题并对项目做出有关计划;(2)分析阶段:目标是了解并理解信息系统的需求以及定义需求,也就是构造新系统的逻辑模型;(3)设计阶段:目标是从实现角度设计系统的解决方案,也就是构造新系统的物理模型;(4)实施阶段:目标是构造一个可靠的可工作的新系统;(5)支持阶段:目标是保证系统的长期有效运行。
2.数据和信息的概念及其关系与区别?答:数据是用来记录客观事物的可识别的物理符号序列。
信息是加工处理之后的数据,是有一定含义的数据,是对决策有价值的数据。
数据时信息的载体,是信息的表现形式,而信息则是数据的加工、提炼和浓缩,是对数据含义的理解。
但并非所有的数据都可以表示成信息,而信息不随载荷它的物理介质变化而变化,而数据则不然,即承载数据的载体不同,它的表现形式也可以不同。
3.如何认识信息系统不仅是一个技术系统同时又是一个社会系统?(书上没有,自己归纳)4.信息系统的概念,列举几种常用的信息系统?答:信息系统是一系列相互关联的可以收集(输入)、操作和存储(处理)、传播(输出)数据和信息并提供反馈机制以实现其目标的元素或组成部分的集合。
在信息系统中,输入时获取和收集原始数据的活动。
在信息系统中,反馈是一种用来改变输入或处理的输出。
反馈回来的误差或问题可以用来修正输入数据,或者改变某过程。
,信息系统既可以是手工的,也可以是计算机化的。
例如一些投资分析家手工绘制图表和趋势图,以帮助他们做出投资决定。
根据过去几个月或几年的股票价格数据,这些分析家根据图示信息分析股票形势,利用这些分析来帮助他们确定哪些股票的价格会在几天或几周内有变化,再比如现在已经开发出了大量的用来分析股票指数,进行市场预测,同时建议什么时候买卖股票的软件系统。
关系模型特点一、关系模型的基本概念关系模型是一种基于关系(表)的数据模型,它将数据组织成二维表格的形式,每一行代表一个元组(记录),每一列代表一个属性(字段)。
二、关系模型的特点(一)数据结构简单清晰1. 二维表格表示关系模型以简单直观的二维表来存储数据,这种结构易于理解和使用。
例如,一个存储学生信息的表,每行表示一个学生的记录,包括学号、姓名、年龄、性别等属性列。
无论是数据库管理员还是普通用户,都能很容易地对这种表格结构的数据进行操作和理解。
2. 逻辑独立性强关系模型中,数据的物理存储结构与逻辑结构是分离的。
这意味着当数据库的物理存储方式(如存储在磁盘上的文件结构、索引方式等)发生改变时,只要逻辑结构不变,应用程序就不需要进行大量修改。
例如,数据库从一种磁盘存储格式转换为另一种格式时,如果关系表的逻辑结构(表结构、列名、数据类型等)没有变化,那么基于该关系表的查询、插入、删除等操作的应用程序仍然可以正常运行。
(二)数据操作方便统一1. 关系代数操作关系模型提供了一套统一的关系代数操作,如选择(从表中选择满足特定条件的行)、投影(从表中选择特定的列)、连接(将多个表按照一定条件组合在一起)等。
例如,要查询成绩表中成绩大于80分的学生记录,可以使用选择操作;要查询学生表中的姓名和年龄两列,可以使用投影操作;要查询学生的选课信息(涉及学生表和选课表),可以使用连接操作。
2. SQL语言支持基于关系模型的数据库大多支持SQL(结构化查询语言)。
SQL是一种功能强大、简洁易用的数据库操作语言。
它可以用于定义关系表的结构(如创建表、修改表结构等),进行数据的查询、插入、更新和删除操作,还可以进行数据库的管理(如用户权限管理等)。
例如,“CREATE TABLE student (id INT, name VARCHAR(20), age INT);”用于创建一个名为student的表,“SELECT FROM student WHERE age > 18;”用于查询年龄大于18岁的学生记录。
数据库复习数据库复习一.数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)的概念。
数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
数据库系统( DataBase System ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
二.数据库系统的特点?数据库系统的主要特点有:( l )数据结构化。
( 2 )数据的共享性高,冗余度低,易扩充。
( 3 )数据独立性高。
( 4 )数据由 DBMS 统一管理和控制。
三.数据库管理系统的主要功能?( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理;( 4 )数据库的建立和维护功能。
四.数据库系统的数据独立性(逻辑独立性、物理独立性)?怎样实现数据独立性(三级模式结构、二级映像)?答:1)物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
2)逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
3)为了在内部能实现这三个抽象层次的联系和转换,DBMS在这三级模式之间提供了二级映象:外模式/模式映象、模式/内模式映象。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和数据独立性。
5.概念设计(E—R图)、逻辑设计(关系模式,指明主码、外码)关系的描述称为关系模式(Relation Schema)它可以形式化地表示为:R (U,D,dom,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。
第一章:绪论1、数据库系统相关概念1、数据:描述事物的符号记录,包括数据的表现形式和数据解释两个部分。
如数字、音频、图形、文本、图像、语言、视频等多种表现形式。
经过数字化处理后存入计算机。
数据是信息的符号表示或载体。
信息是数据的内涵是对数据的语义解释。
2、数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
3、数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
4、数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
2、数据模型概念,作用及其3要素模型:对现实世界中某个对象特征的模拟和抽象。
数据模型:是数据库中用来对现实世界数据特征的抽象的工具,是数据库中用于提供信息表示和操作手段的形式架构。
三要素:(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:对数据库中各种对象(型)的实例(值)所允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:是完整性规则的集合。
完整性规则是给订的数据库模型中数据及其联系所具有的制约和依存规则,用一限定符合数据模型的数据库状态及其变化,以保证数据库的正确、有效、相容。
3、概念模型的作用?概念模型实际上是显示世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流所试用的语言。
Database System
数据库系统概论Introduction to Database Systems
主讲人:吴岩河南理工大学
第四章 数据库的完整性 知
识
点
实体完整性规则
1 参照完整性规则
2 用户定义的完整性规则
3
4.3 用户定义的完整性规则
唯一值约束
非空值约束
默认值约束
取值范围约束
4.3.1 唯一值约束
唯一值约束-含义 唯一值约束用
UNIQUE 短语
来实现 唯一值约束用于限制一个列的取值不重复,或
者是多个列的组合取值不重复。
在一个表中可以定义多个UNIQUE 约束 可以在一个列或多个列上定义UNIQUE 约束
4.3.1 唯一值约束
创建表时定义唯一值约束-语法格式
CREATE TABLE <表名>
(…
<列名> <数据类型> UNIQUE ,…
) CREATE TABLE <表名>
( <列名> <数据类型> ,
…
[CONSTRAINT 约束名] UNIQUE(<列名>[,…n]), )
4.3.1 唯一值约束
创建表时定义唯一值约束-示例
将读者类型表中的‚类型名称‛列设置唯一值约束。
CREATE TABLE 读者类型
(…
类型名称 Varchar(16) UNIQUE,
…
) CREATE TABLE 读者类型(…
类型名称 Varchar(16),
…
UNIQUE(类型名称)
)
4.3.1 唯一值约束
向已建立的表中添加唯一值约束-语法格式
ALTER TABLE <表名>
ADD [CONSTRAINT 约束名] UNIQUE (<列名>[,…n])
4.3.1 唯一值约束
向已建立的表中添加唯一值约束-示例
向已经创建的读者类型表中添加名称为UN_LXMC的唯一值约束。
ALTER TABLE 读者类型
ADD CONSTRAINT UN_LXMC UNIQUE(类型名称)
4.3.2 非空值约束
非空值约束-含义 非空值约束用NOT NULL
短语实现 非空值约束用于限制一个列的取值不能为空值 在一个表中可以定义多个非空值约束
4.3.2 非空值约束
创建表时定义非空值约束-语法格式
CREATE TABLE <表名>
(…
<列名> <数据类型> NOT NULL ,
…
)
4.3.3 默认值约束
默认值约束-含义 默认值约束用
DEFAULT 短语来实现 默认值约束用于提供列的默认取值。
当在表中插
入数据时,如果没有为有该约束的列提供值,则
系统自动使用约束定义的默认值。
只在向表中插入数据时才检查DEFAULT 约束
每个列只能有一个默认值约束
4.3.3 默认值约束
创建表时定义默认值约束-语法格式
CREATE TABLE <表名>
(…
<列名> <数据类型> DEFAULT 常量表达式,…
)
4.3.3 默认值约束
创建表时定义默认值约束-示例
在读者表中,如果某个读者没有读者类型,则默认取值‚本科生‛。
CREATE TABLE 读者
(…
类型名称 Varchar (16) DEFAULT‘本科生’,
…
)
4.3.3 默认值约束
向已建立的表中添加默认值约束-语法格式
ALTER TABLE <表名>
ADD [CONSTRAINT约束名] DEFAULT 常量表达式 FOR 列名
4.3.3 默认值约束
向已建立的表中添加默认值约束-示例
向已经创建的读者表中添加名称为DF_DZLX的默认值约束,读者类型默认取值‚本科生‛。
ALTER TABLE 读者
ADD CONSTRAINT DF_DZLX DEFAULT ‘本科生’ For 类型名称
4.3.4 取值范围约束
取值范围约束-含义 取值范围约
束用CHECK
短语实现 取值范围约束用于限制列的取值在指定范围内,使列的取值符合应用语义。
可以限制一个列的取值范围,也可以限制同一表中多个列之间的取值约束关系 在执行Insert 语句和Update 语句时系统自动检查CHECK 约束
4.3.4 取值范围约束
创建表时定义CHECK约束-语法格式
CREATE TABLE <表名>
(…
<列名> <数据类型> CHECK (逻辑表达式),…
)
4.3.4 取值范围约束
创建表时定义CHECK约束-示例
在成绩表中,定义学生成绩取值范围为0-100之间。
CREATE TABLE 成绩
(…
成绩 int CHECK(成绩>=0 and 成绩<=100),
…
)
4.3.4 取值范围约束
向已建立的表中添加CHECK约束-语法格式
ALTER TABLE <表名>
ADD [CONSTRAINT 约束名] CHECK(逻辑表达式)
●用户定义的完整性规则体现应用系统的业务规则。
●当执行插入或更新操作时,DBMS根据已经定义的完整性规则自动进行检查并进行违约处理。