数据库系统工程师01绪论.docx
- 文档编号:11168956
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:15
- 大小:599.34KB
数据库系统工程师01绪论.docx
《数据库系统工程师01绪论.docx》由会员分享,可在线阅读,更多相关《数据库系统工程师01绪论.docx(15页珍藏版)》请在冰豆网上搜索。
数据库系统工程师01绪论
第一章绪论
1.1数据库系统概论
1.1.1区分数据、数据库、数据库管理系统、数据库系统
(1)数据(Data):
数据库中存储的基本对象。
数据的解释是指对数据含义的说明。
数据的含义称为数据的语义。
例:
(李明,男,21,1972,江苏,计算机系,1990)
(2)数据库(DataBase,DB):
长期存储在在计算机内的、有组织、可共享的数据集合。
(3)数据库管理系统(DataBaseManagementSystem,DBMS):
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
A、数据定义功能(DataDefinitionLanguage,DDL)。
CreateAlterDrop
B、数据操纵功能(DataManipulationLanguage,DML)。
SelectInsertUpdateDelete
C、数据库的运行管理:
统一管理,统一控制,以保证数据的安全性、完整性、多用户对沪剧的并发使用以及故障恢复。
D、数据库的建立和维护功能:
数据传输、转换功能、转存恢复功能。
性能监视、分析。
(4)数据库系统(DataBaseSystem,DBS):
在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统及开发工具、应用系统、数据管理员和用户构成。
一般把数据库系统简称为数据库。
数据库系统数据库系统在计算机系统中的地位
1.1.2数据管理技术的产生和发展
(1)人工管理阶段(50年代中期以前)
背景:
计算机主要用于科学计算(数据量小、结构简单,如高阶方程、曲线拟和等)。
外存只有磁带、卡片、纸带等,没有磁盘等直接存取设备。
没有操作系统,没有数据管理软件(用户用机器指令编码)。
特点:
用户负责数据的组织、存储结构、存取方法、输入输出等细节。
数据完全面向特定的应用程序,每个用户使用自己的数据,数据不保存,用完就撤走。
数据与程序没有独立性,程序中存取数据的子程序随着存储结构的改变而改变。
(画图示例)
(2)文件系统阶段(50年代后期---60年代中期)
背景:
计算机不但用于科学计算,还用于管理。
外存有了磁盘、磁鼓等直接存取设备。
有了专门管理数据的软件,一般称为文件系统,包括在操作系统中。
特点:
系统提供存取方法(索引文件、链接文件、直接存取文件、倒排文件等),支持对文件的基本操作(增、删、改、查等),用户程序不必考虑物理细节。
数据的存取基本上以记录为单位。
一个数据文件对应一个或几个用户程序,还是面向应用的。
数据与程序有一定的独立性,因为文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上。
(画图示例)
存在问题:
数据与程序的独立性差:
文件系统的出现并没有从根本上改变数据与程序紧密结合的状况。
文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储。
数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。
数据的逻辑结构改变则必须修改应用程序。
一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式。
数据的冗余度大:
数据仍然是面向应用的。
当不同应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据。
数据分散管理。
数据的不一致性:
由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性。
(3)数据库系统阶段(60年代后期开始)
背景:
计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)。
外存有了大容量磁盘,光盘。
软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低。
特点:
有了数据库管理系统。
面向全组织,面向现实世界。
独立性较强。
由DBMS统一存取,维护数据语义及结构
数据库观点:
数据不是依赖于处理过程的附属品,而是现实世界中独立存在的对象。
(画图示例)
1.1.3数据库系统VS文件系统
文件系统的弱点:
文件之间无联系,难于维护数据的完整性。
数据库系统的用武之地:
有查询,数据复杂
效率两面观:
运行效率,开发效率
1.1.4数据库系统的特点(与文件系统比较)
(1)面向全组织的复杂的数据结构:
支持全企业的应用而不是某一个应用。
数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。
这是数据库系统的主要特征之一,与文件系统的根本差别。
文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系。
(2)数据的冗余度小,易扩充:
数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小。
节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性。
每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性。
(3)具有较高的数据和程序的独立性:
数据与程序相对独立,把数据库的定义和描述从应用程序中分离出去。
描述又是分级的(全局逻辑、局部逻辑、存储),数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序。
A、数据独立性:
当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变。
B、数据的物理独立性:
当数据的存储结构改变时,通过数据的存储结构与逻辑结构之间的映象,数据的逻辑结构可以保持不变,从而应用程序也不必改变。
C、数据的逻辑独立性:
当数据的总体逻辑结构改变时,通过数据的总体逻辑结构与局部逻辑结构之间的映象,数据的局部逻辑结构可以保持不变,从而应用程序也不必改变。
数据独立性是由DBMS的二级映象功能来保证的。
(4)统一的数据控制功能,数据共享程度高
A、数据的安全性控制(Security):
保护数据以防止不合法的使用所造成的数据泄露和破坏。
措施:
用户标识与鉴定,存取控制。
B、数据的完整性控制(Integrity):
数据的正确性、有效性、相容性。
措施:
完整性约束条件定义和检查。
C、并发控制(Concurrency):
对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏。
措施:
封锁。
D、数据库恢复技术。
1.2数据抽象与数据库模式
数据模型是是一种模型,是现实世界数据特征的抽象。
1.2.1数据抽象
信息世界:
数据库系统是面向计算机的,而应用是面向现实世界的,两个世界存在着很大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世界作为现实世界通向计算机实现的桥梁。
一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界中去,在计算机系统上最终实现。
信息世界起到了承上启下的作用。
模型分为两大类:
1类是概念模型,2是数据模型。
概念化
1.2.2数据库系统模式
模式:
是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及到“型“,不涉及到具体的值,是相对稳定的。
型与值的区别:
型是指对某一类数据的结构和属性的说明,值是型的一个具体的赋值。
(举例)
元数据(meta-data)/数据字典:
描述数据的数据。
例:
身份证,文献索引。
1.2.3数据库模式
模式的分级:
为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的。
数据库系统三级模式结构:
CODASYL(ConferenceOnDataSystemLanguage,美国数据系统语言协商会)提出模式、外模式、存储模式三级模式的概念。
三级模式之间有两级映象。
模式(Schema):
也称逻辑模式。
所有用户的公共数据视图。
是数据库中全体数据的全局逻辑结构和特性的描述。
不涉及具体的物理存储细节和硬件环境,也与具体的应用程序无关。
一个数据库只有一个模式。
外模式(Sub-Schema)(用户模式,子模式):
用户的数据视图。
是数据的局部逻辑结构,模式的子集,有力的控制安全性。
内模式(StorageSchema):
又称存储模式。
数据的物理结构及存储方式。
(举例)
1.2.4数据库二级映象功能
外模式/模式映象:
定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中。
当模式改变时,修改此映象,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性。
模式/内模式映象:
定义数据逻辑结构与存储结构之间的对应关系。
存储结构改变时,修改此映象,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。
1.2.5ANSI/X3/SPARC(75,78)提出SPARC报告,其ANSI模型分为外部级、概念级、内部级。
1.3概念模型
1.3.2概念模型
概念数据模型:
按用户的观点来对数据和信息建模。
用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系。
这类模型强调其语义表达能力,概念简单、清晰,易于用户理解。
它是现实世界到信息世界的抽象,是用户与数据库设计人员之间进行交流的语言。
如E-R模型。
(1)实体(entity):
客观存在并且可以相互区别的事物。
(2)属性(attribute):
实体所具有的某一特性。
(3)(主)码(key):
唯一标识实体的属性集。
PrimaryKey(PK)
(4)域(Domain):
属性的取值范围称为该属性的域。
(5)实体型(entrytype):
用实体名及其属性名集合来抽象和刻画同类实体。
例:
学生(学号,姓名,性别,出生日期)
(6)实体集(entryset):
同型实体的集合称为实体集。
例:
全体学生。
(7)联系(Relationship):
组成实体的各属性之间的联系。
(8)元组:
表中的一行。
(9)分量:
元组中的某一个属性值。
(10)外码:
参考到其他表的属性列。
对应关系:
1:
11:
NN:
M
1.3.3概念模型表示方法
实体型:
用矩型表示,矩型内写名实体名。
属性:
用椭圆表示,并用无向边将其与相应的实体连接起来。
联系:
用菱型表示,菱形内写明联系名。
如果一个联系也具有属性,则这些属性也要用无向边联系。
例:
工厂物资管理E-R图。
图1-1至1-4
1.4数据模型
1.4.1数据模型定义
数据模型就是现实世界的模拟。
1.4.2数据模型
数据模型:
是数据库系统中用于提供信息表示和操作手段的形式构架。
1.4.3数据模型的三要素
(1)数据结构:
描述系统的静态特性,即组成数据库的对象类型。
包括:
数据本身:
类型、内容、性质。
如网状模型中的数据项、记录,关系模型中的域、属性,关系等。
数据之间的联系:
例如网状模型中的系型(SetType)
在数据库系统中一般按数据结构的类型来命名数据模型,如:
“层次结构、网状结构、关系结构。
(2)数据操纵:
描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则。
一般有检索、更新、插入、删除操作。
数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言。
(3)完整性约束:
数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容。
1.4.4常用数据模型
(1)层次模型:
用树结构表示实体之间联系的模型叫层次模型。
树由节点和连线组成,节点代表实体型,连线表示两实体型间的一对多联系。
树有以下特性:
有且仅有一个节点,无父节点,此节点称为树的根(Root)。
树中的其它节点都有且仅有一个父节点。
父节点,子节点,根节点
优点:
结构简单,易于实现。
缺点:
支持的联系种类太少,只支持二元一对多联系。
数据操纵不方便,子结点的存取只能通过父结点来进行。
代表产品:
IBM的IMS数据库,1969年研制成功。
(2)网状模型
是一个满足下列条件的有向图:
可以有一个以上的节点无父节点。
至少有一个节点有多于一个的父节点(排除树结构)。
特点:
表达的联系种类丰富。
结构复杂。
(3)关系模型
用二维表来表示实体及其相互联系
姓名
学号
年龄
系别
张三
101
男
计算机系
李四
201
男
数学系
王五
302
女
物理系
优点:
简单,表的概念直观,用户易理解。
非过程化的数据请求,数据请求可以不指明路径。
数据独立性,用户只需提出“做什么”,无须说明“怎么做”。
坚实的理论基础。
1.5数据库系统的构成
1.5.1几个相关概念
数据库:
数据的集合。
由DBMS统一管理,多用户共享。
数据库管理系统DBMS:
系统软件,对数据库进行统一管理和控制。
数据库系统:
带有数据库的整个计算机系统,包括硬件、软件、数据、人员。
1.5.2数据库系统的软硬件层次
1.5.3数据库系统的主要成分
硬件:
内存大,放得下OS,DBMS核心,系统缓冲区,用户工作区等;大容量、直接存取的外存设备;作数据备份的磁带。
软件:
OS,DBMS,高级语言编译系统及其与数据库的接口,应用开发工具,应用系统。
数据:
包括目标数据(数据本身)及描述数据(对数据的说明信息)。
用户:
最终用户:
通过应用系统的用户接口(菜单等)使用数据库。
应用程序员:
基于外模式来编写应用程序。
系统分析员:
负责应用系统的需求分析和规范定义,确定系统的软硬件配置,参与数据库模式设计。
数据库管理员DBA:
负责数据库的全面管理和控制。
1.5.4DBA的重要性:
重要资源,维护整个组织的信息资源。
共享资源,多用户共享,需要统一管理、协调、监控。
1.5.5DBA职责
建库方面:
确定模式、外模式、存储结构、存取策略、负责数据的整理和装入。
用库方面:
定义完整性约束条件,规定数据的保密级别、用户权限,监督和控制数据库的运行情况,制定后援和恢复策略,负责故障恢复。
改进方面:
(1)监督分析系统的性能(空间利用率,处理效率);
(2)数据库重组织,物理上重组织,以提高性能;(3)数据库重构造,设计上较大改动,模式和内模式修改。
1.5.5DBMS的层次结构
1.5.6DBMS的主要功能
(1)数据库定义功能:
提供DDL语言(DataDescriptionLanguage)描述外模式、模式、内模式(源模式)。
模式翻译程序把源模式翻译成目标模式,存入数据字典中。
(2)数据存取功能:
提供DML语言(Datamanipulationlanguage)对数据库进行检索、插入、修改、删除。
DML类型:
a、宿主型:
DML不独立使用,嵌入到高级语言(主语言)程序中使用。
B、自含型:
独立使用,交互式命令方式。
DBMS控制并执行DML语句:
a、宿主型:
有预编译和增强编译两种方式。
B、自含型:
解释执行。
(3)数据库运行管理:
并发控制、存取控制、完整性约束条件检查和执行,日志组织和管理,事务管理和自动恢复。
(4)数据组织、存储和管理:
用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间的联系的实现等。
(5)数据库的建立和维护功能:
数据的装入、转换、卸出,数据库的转储、恢复、性能监视和分析等。
1.6数据库新方向
1.6.1新的数据库管理系统
(1)面向对象数据库
(2)对象-关系数据库
(3)并行数据库
(4)分布式数据库
1.6.2新的数据库应用
(1)数据仓库
(2)数据挖掘
(3)OLAP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 工程师 01 绪论