目录
2.4 数据库系统通过DBMS进行数据安全性和完整性的控制:
第一章 数据系统概述:
1.数据库系统基本概念:
1.1 信息和数据:
信息(Information):信息反映客观世界,是事实、思想和知识。信息能够在空间和时间上进行传递。信息需要一定的形式表示。
数据(data):使用来承载信息的物理符号。
- 数据有”型“和”值“之分。”型“是指数据的结构,数据的结构是指数据的内部构成和对外联系;”值“指的是数据具体取值。
- 数据受数据类型和取值范围的约束。数据类型是针对不同的应用场景设计的数据约束。不同的数据类型,数据的表现形式、存储方式以及操作运算各不相同。
- 数据的取值范围称为数据的值域。值域保证了数据的有效性、避免数据的输入或者修改时出现错误。
- 数据有定性和定量表示之分。定性表示:带有模糊因素的粗略表示方式;定量表示:描述事物的精确表示方式。
- 数据应具有载体和多种表现形式。数据是客体(信息,客观事物体和概念)属性的记录,它必须有一定的物理载体。数据有多种表现形式,图表、声音、符号等。
数据不等于信息:数据只是信息表达方式的一种,正确的数据可表达信息,而虚假、错误的数据是谬误,不是信息!
1.2 数据管理与数据库:
数据管理是数据处理的基础工作,数据库是数据管理的技术和手段。数据库中的数据具有整体性和共享性。
1.2.1 数据处理&分类:
数据处理(Data Precessing),围绕着数据所做的工作。对数据的管理、加工、存储和传播等工作。
- 数据管理:收集信息,将信息用数据表示并按照类别组织保存。数据管理的目的是为各种数据处理快速、正确的提供必要数据。
- 数据加工:对数据进行变换、抽取、运算。通过数据加工,可以得到更有用的数据,以指导或控制人的行为或事物变化趋势。
- 数据传播:信息在时间或空间上以各种形式传播。数据传播过程中,数据的结构、性质、内容不会发生改变。数据传播使得更多的人得到信息并且更加理解信息的意义,充分发挥信息的作用价值。
1.2.2 数据管理&内容:
数据管理(Data Management)是数据处理(Data Processing)最基本工作。数据管理(Data Management)是其它数据处理(Data Processing)的核心和基础。
- 组织和保存数据:数据管理工作是将收集的数据合理的分类组织,将其存储到物理磁盘上,使得数据能够长期保存。
- 进行数据的维护:数据管理工作要根据需要随时插入新的数据、修改原有数据、删除已经存在的数据的操作。
- 提供数据查询和数据统计功能:便于快速得到所需要的且正确的数据,满足需求。
1.2.3 数据管理&内容:
数据库(Database,DB):数据库是数据管理的一种手段和技术。通过使用数据库管理系统,可以保证数据的共享性、安全性和完整性。数据库是一个按照数据结构来存储和管理数据的计算机软件系统。
- 数据库是一个实体,它是能够合理管理数据的”仓库“,用户在这个”仓库“中存放要管理的数据,”数据“和”库“两个概念结合成为”数据库“。
- 数据库是数据管理的方法和技术,合理有效、方便的维护数据、严密的控制数据、有效的利用数据。
数据库技术优势:
- 数据库中的数据具有数据整体性。
数据库技术和文件系统区别:
- 数据库技术:
数据库中的数据保持了自身完整的数据结构,该数据结构是从全局观点出发建立。从设计系统思想方法讲:数据库方法是面向对象的方法。数据库要保持数据(事物)自身结构的完整,强调站在全组织的角度设计数据结构,并以数据库为基础及逆行功能设计
- 文件系统:
文件中的数据一般是不完整的,其数据结构是根据某个局部要求或功能需要而建立。从设计系统思想方法讲:文件系统方法是面向过程的方法。文件系统(用文件方法建立的数据管理系统)则是要站在具体要实现功能的角度上考虑数据结构,按照各个具体功能需要分别组织数据,数据完全依附于功能的需要。
- 数据库中的数据具有数据共享性。
书 P4
1.3 数据库管理系统和数据库应用系统:
1.3.1 数据库管理系统的功能&作用:
数据库管理系统(Database Management System,DBMS):用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询、统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
- 数据定义:对数据库中的数据根据实际情况而进行建立数据库结构的操作,建立起数据库的框架。
- 数据库建立:将大批数据录入到数据库的操作。
- 数据库维护:对数据的插入修改和删除操作。
- 数据查询和统计功能:对数据库及进行访问,为实际应用提供需要的数据。
数据完整性、安全性进行控制:
- 数据完整控制:
保证数据库中数据的正确、有效、相容,以防止不和语义的错误数据被输入或输出。
- 数据安全控制:
保证数据的数据安全可靠,防止不合法的使用造成数据泄漏和破环,避免数据被盗取、篡改或破坏。
数据库系统 = 计算机硬件 + 数据库 + 数据库管理系统 + 数据库应用系统 + 数据库管理员
1.3.2 数据库应用系统:
数据库应用系统(Database Application System):使用数据库技术管理数据(信息)的系统。
2.数据库系统法发展:
2.1 手工管理数据阶段:
- 不能保存大量数据
- 没有软件系统对数据进行管理
- 基本没有"文件"概念
- 一组数据对应一个程序
2.2 文件管理数据阶段:
2.2.1 文件管理阶段的数据管理特点:
- 数据以文件的形式长久保存在计算机的外存中。
- 有专门的数据管理软件提供有关数据存取、查询、维护功能
- 数据文件具有多样化
- 数据存取是以记录为单位
2.2.2 文件管理阶段的数据管理缺点:
- 数据冗余度大
- 缺乏数据和程序间的独立性
文件系统缺点:
- 文件系统中的数据文件是为某一个特定的应用服务,数据文件的可重复利用率非常低,因此,要对现有的数据文件增加新的应用,是非常困难的。要增加应用就需要相应增加数据。
- 当数据的逻辑结构改变时,必须修改它的应用程序,同时也要修改文件结构的定义。
- 应用程序的改变,如应用程序所使用的高级语言变化等,也将影响到文件数据结构的改变。
2.3 数据库管理数据阶段:
2.3.1 数据库系统管理数据的特点:
- 数据库系统以数据模型为基础
数据库设计的基础是数据模型!
系统设计时应先设计数据库,再设计功能程序!
- 数据库系统的数据冗余度小、数据共享度高
书 P11
- 数据库系统的数据和程序之间具有较高的独立性
数据库中数据独立性分级:
- 数据的物理独立性:
书 P12
- 数据的逻辑独立性:
2.4 数据库系统通过DBMS进行数据安全性和完整性的控制:
书 P12
2.5 数据库中数据的最小存取单位是数据项:
文件系统中,数据的最小存取单位是记录。
数据库系统中,数据的最小存取单位是数据项,即使用时可以按照数据项或数据项组存取数据,也可以按记录或记录组存取数据。
3.数据库系统的结构:
数据库系统 = 计算机硬件 + 数据库 + 数据库管理系统 + 数据库应用系统 + 数据库管理员
数据库系统 = 计算机硬件设备 + 数据库及相关计算机软件 + 开发管理数据系统人员
3.1 数据库系统对硬件要求:
- 计算机内存要尽量大
- 计算机外层要尽量大
- 计算机数据传输速度要快
3.2 数据库系统的软件组成:
- 操作系统
- 数据库管理系统和主语言系统
- 数据库应用开发工具软件
- 数据库应用系统及数据库
3.3 数据库管理员(DBA)职责:
- 数据库管理员应参与到数据库和应用系统设计
- 数据库管理员应参与与决定数据的存储结构和存取策略的工作
- 数据库管理员要负责定义数据的安全性要求和完整性条件
- 数据库管理员负责监视和控制数据库系统的运行,负责系统的维护和数据恢复
- 数据库管理员负责数据库的改进和重组
4.数据库管理系统的功能结构:
4.1 数据定义功能:
数据定义语言(Data Description Language,DDL),提供相应的建库机制。使用DDL建立数据库,还可以通过DDL描述系统的数据及结构情况。
4.2 数据操纵功能:
实现数据的插入、修改、删除、查询、统计等数据存取操作的功能,数据库管理系统通过提供数据操纵语言(Data Description Language,DML)实现数据操纵功能。
4.2.1 宿主型DML:
宿主型DML只能嵌入到其它高级语言中使用,不能单独使用。
4.2.1 自主型DML:
既可以嵌入到主语言使用,也可以单独使用的DML。
4.3 数据库建立和维护功能:
书 P16
4.4 数据库的运行管理功能:
书 P16
5.数据库系统的三级数据模式结构:
数据模型用数据描述语言给出的精确描述称为数据模式。
数据模式是数据库的框架。
数据库的数据模式由外模式、模式、内模式,三级模式构成。
5.1 数据库的三级模式结构:
数据库的三级模式:外模式、逻辑模式、内模式
5.1.1 逻辑模式&概念数据库:
逻辑模式(Logical Schema)也称模式(Schema),它是对数据库中数据的整体逻辑结构和特征的描述。
逻辑模式是系统为了减少数据冗余、实现数据共享的目标并对所有用户的数据进行综合抽象而得到的统一的全局数据视图。一个数据系统只能有一个逻辑模式,以逻辑模式为框架的数据库为概念数据库。
5.1.2 外模式&用户数据库:
外模式(External Schema)也称子模式(Subschema),它是对各个用户或者程序所设计的数据的逻辑结构和数据特征的描述。外模式使用子模式(外模式)DDL(Subschema DDL)进行定义,该定义主要涉及对子模式的数据结构、数据域、数据构造规则以及数据的安全性和完整性等属性的描述。子模式可以在数据组成(数据项的个数及内容)、数据间的联系、数据项的型(数据类型和数据宽度)、数据名称上与逻辑模式不同,也可以再数据的安全性和完整性方面与逻辑模式不同。
子模式是完全按用户自己对数据的需求、站在局部的角度及进行设计。由于一个数据库系统有多个用户,所以就可能有多个数据子模式。由于子模式是面向用户或者程序设计的,所以他被称为用户数据视图。从逻辑关系上看,子模式是模式的一个逻辑子集,从一个模式可以推导出多个不同的子模式。以子模式为框架的数据库为用户数据库。
某个用户数据库是概念数据库的部分抽取。
使用子模式优点:
- 由于使用子模式,用户不必考虑那些与自己无关的数据,也无需了解数据的存储结构,简化用户使用数据库的工作和程序设计的工作。
- 由于用户使用的是子模式,使得用户只能对自己需要的数据进行操作,数据库的其他数据与用户是隔离的,这样有利于数据的安全和保密。
- 由于用户使用子模式,而同一模式又可派生出多个子模式,所以有利于数据的独立性和共享性。
5.1.3 内模式&物理数据库:
内模式(Internal Schema)也叫做存储模式(Access Schema)或者物理模式(Physcial Schema)。内模式是对数据库的内部表示或者底层描述。内模式使用内模式DDL(Internal Schema DDL)定义。内模式DDL不仅能够定义数据的数据项、记录、数据集、索引和存取路劲在内的一切物理组织方式等属性,同时还要规定数据的优化性能、响应时间和存储空间需求,规定数据的记录位置、块大小与数据的性能指标。
以物理模式为框架的数据库称为物理数据库。在数据库系统中,只有物理数据库才是真正存在的,它是存放在外存的实际数据文件;而概念数据库和用户数据库在计算机外存上是不存在的。
用户数据库、概念数据库、物理数据库三者关系:
- 概念数据库是物理数据库的逻辑抽象形式
- 物理数据库是概念数据库的具体实现
- 用户数据库是概念数据库的子集,也是物理数据库子集的逻辑描述
5.2 数据库系统的二级映像技术及作用
数据库系统的二级映像技术是指外模式与模式之间的映像、模式与内模式之间的映像技术,二级映像技术不仅在三级数据模式之间建立了联系,同时也保证了数据的独立性。
5.2.1 外模式/模式的映像及作用:
外模式/模式之间的映像,定义并保证了外模式与数据模式之间的对应关系。外模式/模式的映像定义通常保存在外模式中。当模式发生变化时,DBA可以通过修改映像的方法使外模式不变;由于应用程序是根据外模式进行设计的,只要外模式不改变,应用程序就不需要修改。显然,数据库系统中的外模式与模式之间的映像技术不仅建立了用户数据库与逻辑数据库之间的对应关系,使得用户能够按子模式进行程序设计,同时也保证了数据的逻辑独立性。
5.2.2 模式/内模式的映像及作用:
模式/内模式之间的映像,定义并保证了数据的逻辑模式与内模式之间的对应关系。它说明数据的记录、数据项在计算机北部是如何组织和表示的。当数据库的存储结构改变时,DBA可以通过修改模式/没模式之间的映像使数据模式不变化。由于用户或者程序是按数据的逻辑模式使用数据的,所以只要数据模式不变,用户仍然可以按原来的方式使用数据,程序也不需要修改。模式/内模式的映像技术不仅使用户或者程序能够按数据的逻辑结构使用数据,还提供了内模式变化而程序不变的方法,从而保证了数据的物理独立性。
第二章 数据模型与概念模型:
1.概念模型及表示:
1.1 信息的三种世界及描述:
信息的三种世界:现实世界、信息世界、计算机世界(数据世界)。
数据库是模拟现实世界中某些事物活动的信息结合,数据库中所存储的数据,来源于现实世界的信息流。信息流用来描述现实世界中一些书屋的某些方面的特征及事物之间的联系。处理信息流之前,必须先对其进行分析,并加以方法描述,然后将描述转换为计算机能够接收的数据形式。
1.1.1 信息的现实世界:
现实世界泛指存在于人脑之外的客观世界。信息的现实世界是指我们要管理的客观存在的各种事物、事物之间的相互联系及事物的发生、变化过程。通过对现实世界的了解和认识,使得我们对要管理的对象、过程和方法有个该奶奶模型。认识信息的现实世界并用概念模型加以描述的过程称为系统分析。信息的现实世界通过实体、特征、实体集及联系进行划分和认识。
- 实体:
现实世界中存在的可以相互区分的事物或概念称为实体(Entity)。实体可以分为事物实体和概念实体,例如一个学生等就是事物实体,一门课等抽象事物为概念实体。
- 实体特征:
每个实体都有自己的特征(Characteristic),利用实体的特征可以区别不同的实体。
- 实体集&实体集之间的联系:
具有相同特征或能够使用同样特征描述的实体的集合称为实体集(Entity Set)。实体集不是孤立存在的,实体集之间有着各种各样的联系。
1.1.2 信息世界:
当事物用信息来描述时,即进入信息世界。在信息世界中:实体的特征在头脑中形成的知识称为属性;实体通过其属性表示称为实例;同类实例的集合称为对象,对象即是实体集中的实体用属性表示得出的信息集合。实体与实例不同!实例仅仅对需要的特征通过属性进行了描述。在信息世界中,实体集之间的联系用对象联系表示。
信息世界通过概念模型(信息模型)、过程模型、状态模型反映现实世界。概念模型通过E-R图中的对象、属性和联系对现实世界的事物及关系给出静态描述。过程模型通过信息流程图和数据字典描述书屋的处理方法和信息加工过程。状态模型通过事物状态转换图对事物给出动态描述。
数据库主要根据概念模型设计,数据处理方法主要根据过程模型设计。
1.1.3 信息的计算世界: