数据库基础理论知识复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库基础理论知识复习资料
数据:数据是记录下来的可以鉴别的符号。
数据模型:数据模型就是一种对客观事物抽象化的表现形式。
分为(层次模型,关系模型,网络模型)
数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库系统:指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。
数据库优点:数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,并能为多个用户所共享。
为什么要使用数据库?(1)数据结构化:数据结构化是数据库与文件系统的根本区别。
在文件系统中独立的文件的记录内部是有结构的。
传统文件的最简单形式是等长同格式的记录集合。
在数据库系统中,实现了整体资料的结构化,把文件系统中简单的记录结构变成了记录和记录之间的联系所构成的结构化资料。
在描述资料的时候,不仅要描述资料本身,还要描述资料之间的联系,把相关的资料有机地组织在一起。
(2)资料共享性好,冗余度低,易扩充。
(3)数据独立性好:数据库系统有三层结构:用户(局部)资料的逻辑结构、整体资料的逻辑结构和资料的物理结构。
在这三层结构之间数据库系统提供了两层映象功能。
首先是用户资料逻辑结构和整体资料逻辑结构之间的映象,这一映象保证了资料的逻辑独立性;当数据库的整体逻辑结构发生变化时,通过修改这层映象可使局部的逻辑结构不受影响,因此不必修改应用程序。
另外一层映象是整体资料逻辑结构和资料物理结构之间的映象,它保证了资料的物理独立性:当资料的存储结构发生变化时,通过修改这层映象可使资料的逻辑结构不受影响,因此应用程序同样不必修改。
(4)资料存取粒度小:文件系统中,资料存取的最小单位是记录;而在数据库系统中,资料存取的粒度可以小到记录中的一个数据项。
因此数据库中资料存取的方式非常灵活,便于对资料的管理。
(5)数据库管理系统(DBMS)对数据进行统一的管理和控制:DBMS不仅要有基本的数据管理功能,还要有如下的控制功能:①资料的完整
性:保证资料的正确性,要求资料在一定的取值范围内或相互之间满足一定的关系。
②资料的安全性:让每个用户只能按指定的权限访问资料,防止不合法地使用资料,造成资料的破坏和丢失。
比如学生对于课程的成绩只能进行查询,不能修改。
③并发控制:对多用户的并发操作加以协调和控制,防止多个进程同时存取、修改数据库中的资料时发生冲突、造成错误。
④数据库的恢复:当数据库系统出现硬件软件的故障或者遇上误操作时,DBMS应该有能力把数据库恢复到最近某个时刻的正确状态上来。
(6)为用户提供了友好的接口:用户可以使用交互式的命令语言。
第 2 章关系数据库
一、关系模型的组成:关系模型是关系数据库系统的基础模型。
关系模型:由关系数据结构、关系操作集合和关系完整性约束三部分组成。
关系模型:资料以关系的形式表示,也就是以二维表的形式表示,其数据模型就是所谓的关系模型。
在关系模型中,无论是从客观事物中抽象出来的实体,还是实体之间的联系,都是单一的结构类型——关系来表示。
数据模型:首先,要真实地反映现实世界.否则就没有实际意义了;其次,要易于理解,和人们对外部事物的认识相一致,最后,要便于实现,因为最终是要由计算机来处理。
关系数据结构:关系模型的数据结构其逻辑形式是一张二维表。
这种二维表的结构可描述现实世界的实体以及实体间的各种联系,且结构单一。
关系操作:关系操作采用集合操作方式,即操作的对象和结果都是集合。
常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增、删、改操作两大部分。
完整性约束:关系模型定义了三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束,由关系数据库系统强制执行。
主码:若关系中的某一属性组的值能唯一地标识一个元组,而其真子集不行,则该属性组为候选码,若一个关系有多个候选码,则选定其中一个为主码。
二、关系的性质:①同一列中的分量是同一类型的数据。
不同列可以取相同的数据类型。
②关系中的列又称为属性,并赋予属性名。
不同列的属性名不同。
③列的次序可以任意交换。
④行的次序可以任意交换。
⑤任意两个元组的候选码不能完全相同。
⑥列具有原子性,即每一列值是不可分的数据项。
第4章关系数据库设计理论
数据依赖:是一个关系内部属性与属性之间的一种约束关系。
这种约束关系是通过属性间值的相等与否体现出来的数据间相关联系。
函数依赖与属性之间的关系:设R(U)是属性集U上的关系模式。
X,Y 是U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y,记X→Y.
关系的规范化:数据库一般的设计原则是:1数据的冗余度尽量低。
2不出现插入、删除等操作异常;
3能尽量如实反映现实世界的实际情况,而且又易懂。
这些原则要求关系数据库中的关系应满足一定的要求。
我们把满足不同要求的关系称为范式。
又按照要求条件的宽严的不同逐级分为第一范式(满足最低要求)、第二范式(满足第一范式中进一步的要求)、第三范式等,并用1NF、2NF、3NF表示。
进行关系的规范化:规范化:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合的过程。
第5章数据安全
数据库的恢复:数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。
事务:事务是用户定义的一个数据库操作序列,这些操作要么全做要么不做,是一个不可分割的工作单位。
特性:原子性、一致性、隔离性、持续性。
恢复的技术:数据转存储和日志文件。
日志文件:用来记录事务对数据库更新操作的文件。
日志文件作用:1)事务故障恢复和系统故障恢复必须用日志文件。
2)在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库。
3)在静态转储方式中,也可以建立日志文件。
故障种类:事务内部故障,系统故障,介质故障,计算机病毒。
并发操作带来的数据不一致性包括三类:1丢失修改;2不可重复读;3读“脏”数据。
保证事务的隔离性和一致性。
第六章数据库设计
数据库设计的步骤:1)需求分析阶段:了解分析用户需求包括数据与处理;2)概念结构设计阶段:对用户需求进行综合。
归纳与抽象,形成一个独立于具体DBMS的概念模型。
3)逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4)物理设计阶段:为逻辑数据模型选取一个最合适应用环境的物理结构。
5)数据
库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,试运行。
6)数据库运行和维护阶段:数据库系统运行过程中必须不断地对其评价、调整与修改。
如何从E-R图导出数据库的结构:
1)一个实体型转换为一个关系模式。
实体的属性就是关系的属性。
实体的码就是关系的码。
2)一个m:n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。
而关系的码为各实体码的组合。
3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
4)一个1:1联系可转换为一个独立的关系模式,也可与任一端对应的关系模式合并。
1、标识符:是程序中用来代表变量、标号、函数、菜单、控件、对象等名称的符号。
2、数据类型:标准数据类型、枚举类型、系统对象数据类型。
3、全局变量:可以在整个应用程序内访问并存储在应用程序对象
中.。
4、实例变量:实例变量是在一个对象中(应用程序、窗口、用户对
象或菜单)内定义,可以在该对象的任何地方访问。
5、共享变
量:在对象中定义与对象的类关联,当对象消失后,共享变量的值依然保留直至应用程序关闭。
6、局部变量:局部变量就是在脚本层定义的变量,作用域在脚本内
部。
7、对一个变量的搜索次序:局部变量;共享变量;全局变量;实
例变量
8、视图:视图是一种特殊的虚拟表,可以象表一样地访问地访问和
使用。
但视图并不是真正的表,它没有自己的数据,在数据库中并不存在数据结构,它的数据来自一个或多个数据库中的表和视图。
9、在PB的数据库画板上操作数据库步骤:1、创建物理数据库;
2、定义ODBC数据源;;2、定义DB Profile,仅在PB开发环境
中操纵数据库需要,运行时不需要。
3、连接数据库。
10、创建数据库步骤:1.打开数据库画板;2选择ODBC下的——utilities 下的——create asa database;3、建好新库,系统会自动给新建的数据库创建数据源以及DB profile;4创建表、定义表结构,在数据库的table选项中选择new table,创建表;5、创建主键、索引和外键。
11、利用应用对象可以为应用程序设置下述属性:缺省的字体属性
(包括字体、风格、大小、颜色);应用程序的库搜索路径;应
用程序的图标;缺省的全局对象的类型。
12、Open事件处理程序中完成工作:1.完成初始化工作;2.利用
INI文件设置某些属性,或初始化一个事务对象;3.连接要访问
的数据库;4.打开应用程序的第一个窗口。
13、Close(关闭)事件:1.删除应用程序运行过程中创建的对象
(例如额外的事务对象等)往INI文件中保存状态信息,以便下
次运行程序时恢复状态;2.关闭应用程序中尚未关闭的文件;
3.断开与数据库的连接。
14、窗口:由属性、事件、函数、控件组成。
属性:定义窗口的外观及行为(例如,窗口是否有标题条,窗口的颜色、大小、显示位置、边框形状等);事件:发生在窗口上的事情,通过编写事件处理程序控制对用户操作如何响应;函数:用于操作窗口;控件:放置在窗口中的图形对象,用于请求、显示信息或操作。
15、窗口实例:在窗口画笔中设计好窗口后,在某个事件处理程序
中通过Open()函数打开窗口,此后运行程序时窗口才出现在屏幕
上。
16、自定义窗口函数使用:1.静态调用:是系统省缺的调用函数的方式,是系统在编译代码时就对函数进行彻底的编译,对返回值及入口参数进行检查和匹配,出现问题立即报告错误。
例如:int value=w_1.addfunc();2、动态调用:在程序执行时才会去查找和调用响应的函数,而在程序编译时可以没有该函数。
优点是程序的开发具有极大的灵活性,缺点降低了程序运行的速度。
Int value=w_1.dynamic addfunc()
16、自定义窗口函数步骤:1、进入函数定义区。
2、函数定义区。
3、编写函数代码。
4、函数使用。
17、数据窗口包括两方面的内容:数据窗口对象和数据窗口控件。
数据窗口对象:用于展示数据并允许用户增删改数据,数据窗口
控件则把数据窗口对象放置到窗口上并呈现在用户面前。
首先要考虑两方面的内容:数据源和显示风格。
数据窗口对象中的数据来源于数据源,数据源决定了数据窗对象从什么地方得到数据。
显示风格决定了数据窗口以何种方式展示、表现数据。
18、数据窗口对象的主要功能:1主要用于操作数据库中的数据;2数据窗口不仅能够图形化地增加、删除、修改、更新、查询数据库中的数据,而且还可以指定数据的输入格式、输出格式、以及数据的显示风
格,同时,开发人员还可以在数据窗口对象中增加多种对象(包括按钮、静态文本框、图片等)。
3、没有的功能:不能完成数据库中数据定义(包括定义表和视图、修改表与视图定义、删除表与视图)。
19、数据窗口对象与数据窗口控件的关系:1、数据窗口对象一个独立的对象,它通过数据窗口画笔来创建,并保存到应用库中。
2、数据窗口控件是放在窗口上,与其他的窗口控件相同,用于显示与其相连的数据窗口对象中的内容。
3、通过数据窗口对象与数据窗口的配合使用,可以非常方便地完成数据的显示、增加、删除、修改等操作。
20、运用数据窗口的一般步骤:1、使用数据窗口画笔创建数据窗口对象;2、在窗口上放置数据窗口控件;3、通过属性设置或编码将数据窗口控件与数据窗口对象联系起来;dw_1.dataobject=”d_student”4、设置数据窗口控件的属性,以控制它的外观和行为;5、将数据窗口控件与事务对象联系起来(使用数据窗口控件的对象函数SetTransObject ( )或SetTrans ( ));即将数据窗口和数据库连接起来。
6、从数据库中读数据:使用数据窗口控件的对象函数Retrieve ()把数据库中的数据装入数据窗口中;7、编写某些数据窗口控件事件的事件处理程序,响应用户的操作;8、保存数据:需要时使用数据窗口控件的对象函数Update ()保存用户对数据的修改。
21、创建数据窗口对象的一般步骤:1、单击工具栏按钮new,弹出new 对话框,选择datawindow选项;2、datawindow选项页中列出了11种数据窗口的样式。
每一种样式代表一种独特的显示风格,
单击OK弹出选择数据源窗口;3、PB提供5种类型的数据源,选择quick select ,单击Next按钮,弹出quick select数据源对话框;4、在quick select 对话框中,选择表和表中的字段,单击”ok”按钮,弹出定义边框和颜色的对话
框”select color and border setting”;5、在”select color and border setting”对话框中,设置数据窗口的背景颜色、字段标签颜色等,单击“next “按钮,弹出”ready to create freeform datawindow”;6、在”ready to create freeform datawindow”对话框中,显示了新建数据窗口的列表,设计者可以检查审定数据窗口,如不满意可以返回上一步操作重新选择和设定;如果满意,可以单击finish完成数据窗口的创建。
7、单击菜单“file”下
的“save”选项,将数据窗口保存起来。
22、五种数据源:1、快速选择(Quick Select)能够创建简单的SQL Select语句,主要用于从一个表或由外键连接的多个表中选择数据列,但不能生成计算列;2、SQL选择(SQL Select)以可视化的方式建立SQL Select语句,SQL Select语句的所有细节均能通过该界面创建,主要用于从一个或多个表中建立复杂的SQL Select语句,并且可以生成各种各样的计算列;3查询(Qurey)数据源将以前创建的Qurey对象作为数
据窗口的数据来源;4、外部(External)数据源用于让数据窗口访问数据库之外的数据,比如文本文件等;
5、存储过程(Stored Procedure)。
23、DATAWINDOW的四个缓冲区:1、主缓冲区:存放填充窗口中DataWindow控件中数据的,调用DataWindow的Retrieve()函数和InsertRow()函数可以将数据填入这个缓冲区中。
当使用有关DataWindow 删除和过滤函数时,相应记录将从这一缓冲区中删除。
而在执行DataWindow的Update()函数时,PowerBuilder将查看这一缓冲区中的记录,以形成SQL INSERT和UPDATE语句。
2、删除缓冲区:保存的是从主缓冲区中删除的记录,执行Update()函数时,系统根据这一缓冲区的记录形成DELETE语句。
3、过滤缓冲区:存储的是不满足
过滤条件的数据。
4.原始缓冲区:DataWindow从数据库中读到的(执行retrieve()函数时得到的)全部记录。
名词解释
1.事务:事务是用户定义的一个数据库操作序列,这些操作要么全做要么不做,是一个不可分割的工作单位。
特性:原子性、一致性、隔离性、持续性。
2.事件:是可能发生在对象上的事情。
3.实体:客观存在并可相互区别的事物称为实体
4.嵌入式SQL语句:可以直接嵌入到用户的powerscript中,使用户能在
命令的各个区域含变量,使得能够灵活操纵数据库的语句。
5.主关键字:若关系中的某一属性组的值能唯一地标识一个元组,而其
真子集不行,则该属性组为候选码,若一个关系有多个候选码,则选定其中一个为主码。
简答题:
1.怎么运用数据窗口:
答:1)使用数据窗口画笔创建数据窗口对象。
2)在窗口上放置数据窗口控件。
3)通过属性设置或编码将数据窗口对象联系起来4)设置数据窗口控件的属性,以控制它的外观和行为。
5)将数据窗口控件与事务对象联系起来6)从数据库中读数据7)编写某些数据窗口控件事件的事件处理程序,响应用户的操作。
8)保存数据。
2.窗口的部分组成和作用:
1)属性:定义窗口的外观及行为2):事件:发生在窗口上的事情,通
过编写事件处理程序控制对用户操作如何响应。
3)函数:用于操作窗口4):控件:放置在窗口中的图形对象,用于请求,显示信息或操作。
3.数据窗口的四个缓冲区及其功能:
1)主缓冲区,这个缓冲区是存放填充窗口中的data window控件
中的数据,可以调用函数将数据填入这个缓冲区中
2)删除缓冲区:这个缓冲区保存的是从主缓存区中删除的记录。
3)过滤缓冲区:存储不满足过滤条件的数据
4)原始缓冲区:存储data window从数据库中读到的全部记录。
4.数据窗口对象与数据窗口控件之间的联系:数据窗口控件是在应用程序中展示数据窗口对象的唯一途径。
数据窗口控件与数据窗口对象的结合构成了应用程序访问和操作数据库的主要手段。
5.数据库一般的设计原则是:数据冗余度尽量低;不出现插入、删除、等操作异常;能尽量如实反映现实世界的实际情况,而且又易懂。
6.范式的定义记忆前三个范式的主要内容:范式是符合某一种级别关系模式的集合。
第一范式:所有属性都是不可再分的数据项。
第二范式:关系模式符合第一范式,并且每一个非主属性都完全函数依赖于码。
第三范式:在关系模式R中不存在候选码X,属性组Y以及非主属性Z,使得X→Y,Y→Z和Y不完全函数依赖X成立,则符合第三范式。
7.关系模型:资料以关系的形式表示,也就是以二维表的形式表示,其数据模型就是所谓的关系模型。
在关系模型中,无论是从客观事物中抽象出来的实体,还是实体之间的联系,都是单一的结构类型——关系来表示。
8.关系操作:关系操作采用集合操作方式,即操作的对象和结果都是结合。
常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增、删、改操作两大部分。
9.关系的性质:1)列是同质的,每列的分量是同一类型的数据,来自同一个域。
2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给与不同的属性名。
3)列的次序可以任意交换。
4)任意两个元组不能完全相同。
5)行的次序可以任意交换。
6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
10.1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,
它与基本关系S的主码K S相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:
或者取空值(F中的每个属性值均为空值)或者等于S中某个元组的主码值。
3)用户定义的完整性:用户定义的完整性就是针对某一具体关系数
据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
11. SQL的概念及特点:结构化查询语言是一种介于关系代数与关系演算
之间的语言,其功能包括查询、操纵、定义和控制4个方面,是一种通用的、功能极强的关系数据库语言。
12.进行关系模式规范化原因:关系模式定义的好坏直接影响到数据库的
性能,关系模式定义的好,数据库的性能就好;关系模式定义的差,数据库的性能就差,因此需要对关系模式进行规范化。
13.一般应用对象的open,close事件要做什么工作,应用对象是什么?应用对象:是powerbuiler开发应用程序的入口点。
Open事件中:完成初始化工作;利用INI文件设置某些属性,或初始化一个事务对象;连接要访问的数据库;打开应用程序的第一个窗口。
Close事件中:删除应用程序运行过程中创建的对象;往INI文件中保存状态信息,以便下次运行程序时恢复状态;关闭应用程序没有关闭的窗口;断开与数据库的连接。
15.索引的作用:加快表的查询速度。
16.数据控制的内容:事务管理功能和数据保护功能。
事务管理功能包括
数据库的恢复、并发控制;数据保护功能包括数据安全性和完整
性控制。
选择:
1.数据:数据是记录下来的可以鉴别的符号
2. 数据管理技术的发展阶段:1.人工管理阶段 2.文件系统阶段
3.数
据库系统阶段
3. 数据库及其优点:所谓数据库就是长期存储在计算机内、有组织
的、可共享的数据集合。
优点:数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,并能为多个用户所共享。
4 .数据库系统及组成:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
5. DBMS及其基本功能:是数据库系统的核心,是为数据库的建立、使
用和维护而配置的软件。
数据库系统基本功能:1)数据定义2)数据操纵 3)数据库运行管理 4)数据组织、存储和管理5)数据库的建立和维护6)数据通信接口。
6. 数据模型:数据模型就是一种对客观事物抽象化的表现形式。
分为(层次模型,关系模型,网络模型)。
7. 数据模型的组成:数据结构、数据操作、完整性约束三个要素组成。
8. 概念模型:是现实世界到信息世界的第一层抽象,是用户和数据库
设计人员之间进行交流的语言。
9. 关系数据库系统:就是以关系模型为基础的数据库系统。
10.关系模型的组成:关系数据结构、关系操作集合、完整性约束三部分组成。
13.关系数据结构:一张简单的二维表,但关系模型的这种简单的数据结构能表达丰富的语义,描述现实世界的实体以及实体之间的各种关系。
14.关系的完整性:关系模型的完整性规则是对关系的某种约束条件。