配色: 字号:
第01章 数据库原理与应用绪论
2022-12-24 | 阅:  转:  |  分享 
  
数据库原理与应用第一章 绪 论课程学习的目的1. 对关系型数据库技术及其应用系统有一个较全面的认识。2. 掌握关系型数据库系统的基
本概念、原理和方法。3. 掌握一种常见的关系型数据库系统(如SQL Server2012、MySQL等)的使用方法。4. 学会运用
规范化的分析方法,从应用实例出发,完成数据库设计,并在某种关系型数据库管理系统上,实现对数据的管理和应用。5. 能通过某种语言(如
JAVA、C#),设计实用的应用系统。6. 了解关系型数据库系统局限性;了解NoSQL技术及其发展。课程背景1. 随着结构化数据的
广泛应用,关系型数据库已成为现代计算环境的重要基础与核心技术。企事业单位办公应用:从小型事务处理到大型信息系统,从联机事务处理到联
机分析系统等。互联网动态网页应用,社交网络等。移动端的数据管理等。 2. 对半结构化、非结构化数据的管理需要。 半结构化数据、非结
构化数据有着和结构化数据不一样的特点。课程背景3. 数据库等相关技术将为基于“互联网+”和大数据智能等领域的创新应用提供基础,并推
动新一轮的信息技术革命。在2015天猫“双11 ” 活动期间,仅用12分钟28秒,天猫交易额冲破100亿元,其中无线交易额占比74
.83%。这其中,离不开高效的数据管理技术。伴随着《中共中央关于制定国民经济和社会发展第十三个五年规划的建议》中国家大数据战略的实
施,数据库管理技术必将发挥更大的作用。课程背景4. 该课程不仅是计算机、软件工程等专业的核心课程,而且也是非计算机专业学生必修的信
息技术课程。当前互联网+与大数据,一切都建立在数据库之上,以数据说话,首先需要聚集数据、需要分析和管理数据。数据库技术已成为各种计
算系统的核心技术,数据库相关知识也已成为每个人必须掌握的知识。课程难点1. 怎样完成对现实数据的建模、采集、处理?怎样理解数据的本
质并抽取出有用的信息?需要建立什么样的数据模型?怎样采集和处理海量大数据?2. 如何设计实用的数据库管理系统?如何定义数据表的结构
及其联系?如何完成对数据的各种操作?3. 关系型数据库管理系统是怎样实现数据管理、安全控制、并发控制的?设计数据库管理系统的目的:
在数据、用户和计算机间架起一座桥梁,实现对数据的有效表示、存储、管理。课程涉及到的知识点1. 关系数据库理论与应用。2. 数据表结
构的设计与实现。3. 根据实际需求,选用适宜的数据库管理系统。4. 完成对数据的多方面管理:数据操作数据空间配置日志管理数据安全
配置相关研究领域的国际学术会议学习本课程的目的旨在使学生充分掌握数据库系统的基本概念和基本原理,熟练掌握关系型数据库系统语言、数据
库抽象与建模方法和数据库应用程序设计方法,培养学生在信息管理和信息系统方面的抽象、设计、开发、应用和管理能力。同时,数据存储、数据
库查询实现、查询优化、事务处理等技术也是计算学科学生在专业方面必须掌握的操纵数据库的能力。课程特点1. 是一门以理论性为基础、应用
性为目标、理论应用相结合的计算机类主干课程;2. 通过大量具体示例来阐释数据库相关的抽象概念和原理;3. 课程包含数据建模和数据库
设计相关的内容,重要的是知识的运用。和其他课程的关系第一章 要点1. 数据管理技术的产生和发展2. 数据库基本概念3. 数据模型数
据模型的组成要素数据建模4. 数据库系统结构5. 数据库管理系统的功能、组成、工作方式6. 数据库产品及传统的关系型数据库系统面临
的挑战数据库原理与应用第一章——§1.1 数据管理技术的产生和发展1.1 数据管理技术的产生和发展数据管理技术的发展过程分为:人工
管理数据阶段文件管理数据阶段数据库管理阶段大数据阶段1.1.1 人工管理数据阶段1. 时 间: 20世纪50年代中
期以前2. 应用背景:科学计算等领域3. 硬件背景:无直接存取存储设备4. 软件背景:无操作系统1. 数据一般不保存。2. 没有专
用的软件对数据进行统一管理。应用程序不仅要规定数据的逻辑结构,而且要设计特定的物理结构。3. 数据无法共享。不同应用间的数据无法相
互利用和参照。数据冗余。4. 数据不具有独立性。人工管理数据的特点1.1.2 文件管理数据阶段1. 时 间: (2
0世纪50年代后期——60年代中后期)2. 应用背景:科学计算、数据管理等3. 硬件背景:出现直接存取存储设备(磁盘磁鼓等),便于
高效读写文件。4. 软件背景:出现高级语言、操作系统等,便于高效管理文件。文件管理数据的特点1. 数据可长期保存。2. 由文件系统
对数据进行管理。把数据组织成相互独立的文件,可利用“按名访问、按记录存取”的方法对文件进行操作。程序员不必了解数据的物理存储结构。
3. 文件可多样化组织顺序文件、索引文件、哈希文件等。 4. 程序与数据间有一定的独立性。 传统的文件管理存在的问题即使不同应用程
序所需要的数据部分相同,也必须建立各自的文件,且不能共享数据,存在的问题有:数据冗余度较大,数据一致性往往难以保证。相同数据重复存
储,独立管理,易造成数据的不一致性。文件一般是为某个特定应用服务的,难以扩充。数据的独立性较差。缺乏对数据的统一管理。 1.1.3
数据库管理阶段1. 时 间: (20世纪60年代后——今)。2. 应用背景:大规模数据管理。3. 硬件背景:内存
、大容量磁盘等的价格在下降。4. 软件背景:出现专门的数据库管理系统如RDBMS5. 数据处理方式:联机实时处理、分布式处理。6.
发展历程:层次数据库系统、网状数据库系统关系型数据库系统、面向对象的数据库管理系统NoSQL(注:NoSQL不是要替换传统的关系
型数据库管理系统,而是作为其必要的补充)数据库管理方式与 传统文件管理数据方式之间的区别1. 文件管理数据阶段:功能设计处于主导地
位,数据一般要服从于功能设计。往往无法保证数据的完整性和一致性。单纯依赖文件系统也难以保证对数据的并发、安全性等方面的需求。2.
数据库管理阶段:由专门软件完成对数据的管理;核心是数据结构的设计和对数据的有效管理方式。应用程序与数据库管理系统的关系IMS196
8年,IBM公司开发出基于层次数据模型的信息管理系统IMS。IMS是IBM的两种代表性数据库产品之一(注:另一种是关系数据库代表如
DB2)。各用户所需数据逻辑结构称为外模式,每个外模式是一组逻辑数据库记录型集合,用户按照外模式操纵数据。系统部分设计理念对后期关
系型数据库设计产生了影响。DBTG与网状数据库系统Charles W. Bachman等提出了网状数据模型的概念。1969年,美国
的CODASYL组织提出了一份“DBTG报告”,根据DBTG报告实现的系统称为DBTG系统。它是典型的三级结构体系:子模式、模式、
存储模式。部分设计理念对后期关系型数据库设计产生了一定影响。 Charles W. Bachman是数据库观念的奠基人。主持开发了
最早的网状数据库系统IDS关系数据模型1970年,Edgar Frank Codd等提出了关系数据模型,由此奠定了关系数据库管理系
统的理论基础。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。Ingres1970年代前期,Michael Sto
nebraker主持开发了关系数据库IngresIngres是早期关系数据库之一。引入了用于完整性约束与视图的查询重写,在关系数据
库的查询语言设计、查询处理、存取方法、并发控制等技术上有贡献。Postgres1980年代,Michael Stonebraker
开发的Postgres项目提出关系——对象模型,有效地将数据库与抽象数据类型相结合,使数据库实现独立于编程语言。他提出的列式存储、
在线事务处理、流处理等,对当今数据库理论与应用都产生了一定的影响。Stonebraker获得了2014年图灵奖。从数据库界诞生的图
灵奖得主1. Charles William Bachman:1973年获得图灵奖主持设计了最早的网状数据库管理系统IDS,终结了
有文无库的年代。在美国数据系统语言委员会CODASYL下属的数据库任务组DBTG提出了网状数据库模型以及数据定义(DDL)和数据操
纵语言(DML)规范说明,于1971年推出了第一个正式报告——DBTG报告。从数据库界诞生的图灵奖得主2. Edgar Frank
Codd:1981年获得图灵奖根据关系模式概念、关系代数5种基本运算和若干派生算法及相应运算规律,建立了关系数据库模型。在此基础
上,Stonebraker开发了Ingres;埃利森实现了第一个商用关系型数据库管理系统Oracle。 相关的System R、D
B2、SQL等关系数据库产品成为业界主流产品。3. James Gray:1998年获得图灵奖在并发控制、事务处理技术上提出一些有
创造性的思想,完成了开拓性的工作,包括ACID性质、封锁的粒度和层次、共享锁、调度的可串行化等。从数据库界诞生的图灵奖得主4. M
ichael Stonebraker:2014年获得图灵奖在Ingres方面,引入用于完整性约束与视图的查询重写。在Postgre
s方面提出对象关系模型,既有效地将数据库与抽象数据类型相结合,又使数据库实现独立于编程。提出列存储、科学数据库、在线事务处理、流处
理概念。他与Gerald Held 和 Eugene Wong因对Ingres发展做出的开创性贡献获得软件系统奖;同时他也是首届S
IGMOD创新奖、约翰·冯诺依曼奖获得者。2015年10月,参加了在合肥举办的中国计算机大会并做主题演讲。从数据库界诞生的图灵奖得
主总结:数据库系统管理数据的特点1.数据结构化行:存储某条记录数据;列:存储数据某属性信息任何一列数据不可再分;每列数据具有相同的
属性结构整体数据结构化(记录间可有某种联系)描述数据时,不仅要描述数据本身还要描述数据间联系。下面给出几个数据结构化的例子 数据整
体结构化例:学生人事记录数据库系统:文件系统:数据库系统中对数据的描述不仅要描述数据本身,还要描述各数据记录之间的联系。数据整体结
构化2.数据共享性高、冗余少3.数据独立性较高物理独立性:用户的应用程序与存储在数据库中的数据是相互独立的,数据在数据库中怎样存储
是由数据库系统完成的,应用程序一般无需了解细节。逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。优点:把数据的定义从应
用程序中分离出去;简化了应用程序设计;减少了应用程序维护和修改的工作量。总结:数据库系统管理数据的特点4. 有统一的数据控制功能安
全性控制基于授权规则、自主管理的自主访问控制技术(DAC)基于安全级集中管理的强制访问控制技术(MAC)基于角色的访问控制技术(R
BAC)基于任务的访问控制技术(TBAC)基于密码的访问控制等完整性控制:确保数据的正确性、有效性和相容性并发控制:对多用户的并发
操作加以控制和协调数据恢复:从错误状态恢复到某一已知的正确状态总结:数据库系统管理数据的特点1.1.4 大数据阶段大数据指从客观
存在的全量超大规模、多源异构、实时变化的微观数据中,利用自然语言处理、信息检索、机器学习、数据挖掘、模式识别等技术抽取知识并转化为
智慧的方法学。其主要特点:数据量巨大,数据的价值密度减小。数据多样化。实时数据处理。数据库系统多种多样截至2016年1月按数据库模
型分布的应用占比数据库原理与应用第一章——§1.2 数据库基本概念1. 数据(信息)数据(信息)是数据库中存储的基本对象。是关于现
实世界事物的存在方式或运动状态反应的描述。是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。可以是符号、文字、数字、
语音、图像、视频等。数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵。数据本身没有意义,数据只有对实体行为产生影响时才成
为信息。四个基本概念2. 数据库数据库:长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合。数据库中数据的特点:尽可能不
重复;以最优方式为某个特定组织的多种应用服务;数据结构独立于使用它的应用程序;对数据的增、删、改和检索由统一软件进行管理和控制。数
据库中的数据按一定数据结构有序组织;具有较小的冗余度、较高的数据独立性,可以为不同的应用所共享。四个基本概念四个基本概念3. 数据
库管理系统对数据库信息进行管理的软件。主要功能包括数据定义、操纵、组织、管理、数据库建立、维护。4. 数据库系统及其组成数据库本身
软件系统,包含数据库管理系统等、操作系统和应用系统等、用户(终端用户、应用程序、DBA)。数据库系统组成数据库原理与应用第一章——
§1.3 数据模型数据模型概述1. 数据模型是对现实世界的模拟,好的数据模型应满足如下要求:能比较真实地模拟现实世界。容易为人所理
解。便于在计算机上实现。2. 在数据库系统中,应针对不同的使用对象和应用目的,采用不同的数据模型。1.3.1 数据模型的组成要素1
.数据结构:是对系统静态特征的描述一类是与数据类型、内容、性质有关的对象(如网状模型中的数据项、记录,关系模型中的域、属性、关系等
);另一类是与数据间联系有关的对象(如网状模型中的系型等)。通常按照数据结构的类型来命名数据模型。层次结构、网状结构和关系结构的数
据模型分别命名为层次模型、网状模型和关系模型。 2.数据操作:如查询、更新等,包括操作的含义操作符号、操作规则(如优先级)、实现操
作的语言。数据操作规定了数据模型的动态特性。3. 完整性约束定义了针对给定数据模型中数据及其联系所具有的制约和依存规则,保证数据库
中数据的正确性、有效性和相容性。通用的完整性约束条件:实体完整性规则和参照完整性规则。特殊的完整性约束条件:用户自定义的完整性规则
。1.3.1 数据模型的组成要素1.3.2 数据建模1. 概念模型:独立于计算机系统,不涉及信息在计算机中的表示,主要用于数据库
设计。按照用户的观点对数据进行建模,强调其语义表达能力。概念模型应简单、清晰,易于用户理解。是用户和数据库设计人员之间进行交流的桥
梁代表:ER模型1 概念模型 1. 概念模型的用途用于信息世界的建模现实世界到机器世界的一个中间层次数据库设计的有力工具数据库设计
人员和用户之间进行交流的语言2. 对概念模型的基本要求有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易
于用户理解。概念模型中的基本概念 1. 实体:客观存在并可以相互区别的事物例:一个学生、一个学校、一个操作流程 2. 属 性:实体
所具有的某一特性例:(081637121,黎明,男,1987-5-11 )3. 码:唯一标识实体的属性集例:学生实体的学号属性 4
. 域(Domain):某个(些)属性的取值范围。例:性别的域为(男,女)概念模型中的基本概念(续)5. 实体集:所有属性完全相
同的同型实体的集合例:学生(学号,姓名,性别,系,入学时间)6. 联系:不同实体集之间的联系。实体之间的联系可以归结为三种类型:一
对一联系(1:1)一对多联系(1:n)多对多联系(n:m)一对一联系(1:1)语义如果对于实体集A中的每一个实体,实体集B中至多有
一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例部门与经理之间的联系:一个部门只能有一名经理每
一名经理只能在一个部门任职一对多联系(1:n)语义如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对
于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1:n。实例部门与职工之间的
联系一个部门有若干名职工每一名职工只能在一个部门工作多对多联系(n:m)语义如果对于实体集A中的每一个实体,实体集B中有n个实体(
n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。
记为m:n实例 课程与学生之间的联系一门课程同时有若干个学生选修一个学生可以同时选修多门课程多个实体集间的联系一对多联系若实体集E
1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个
实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的。多个实体集间的联系(续)实例1
假设有课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书;每一个教师只讲授一门课程;每一本参考书只供一
门课程使用。课程与教师、参考书之间的联系是一对多的课程讲授教师1m多个实体型间联系参考书nE-R 图实体用矩形表示,矩形框内写实体
名属性用椭圆形表示,并用无向边将其与相应的实体连接起来。学号是键,可用下划线表示。E-R 图(续)联系联系本身:用菱形表示,菱形框
内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种
实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 。E-R 图(续)联系的表示方法nE-R 图(
续)联系属性的表示方法实体型间联系的属性例:学生(学号,姓名,性别,年龄,系,入学时间)---课程(课程号,课程名)的E-R图E-
R 图(续)示例:学生、教师、课程三实体:每门课可由多位教师讲授,每位教师最多只讲授一门课程;每名学生可选修多门课程,每门课程也可
以由多名同学选修。E-R 图(续)示例:产品(产品号,品名,价格);材料(材料号,材料名,价格,产地)E-R 图(续)示例:借书人
(借书证号,姓名,单位);图书(书号,书名,数量) E-R 图(续)示例:病房(科室,病房号);病人(病历号,姓名,性别) 2 传
统的数据模型非关系模型层次模型(Hierarchical Model)网状模型 (Network Model )数据结构:以基本层
次联系为基本单位关系模型 是本书的重点内容(1)层次模型典型代表IBM于1968年推出的大型商用数据库管理系统IMS数据结构树形结
构基本特点有且仅有一个结点无双亲结点(根)根以外的其他结点有且只有一个双亲。父子结点间的联系是1:1和1:m联系。例:教师-学生数
据库有四个实体——系、教研室、学生、教师,如图所示:系学生教研室教师层次结构示例系学生教研室教师层次结构示例层次模型的特点1. 方
便表示一对一联系和一对多联系,但不能直接表示多对多联系。2. 实际存储数据由链接指针来体现联系。3. 操作复杂。1. 典型代表DB
TG系统2. 数据结构网状结构允许一个以上结点无双亲。一个结点可以有多于一个的双亲。 (2)网状模型网状结构示例网状模型特点1.
允许一个以上结点无双亲。2. 一个结点可以有多于一个的双亲。3. 允许两个结点之间有多种联系。4. 可直接表示多对多联系,但结点间
关系可能变得更加复杂。(3)关系模型1. 关系可形象地用二维表格表示,它由行和列组成。2. 关系模型有严格的数学理论依据。3. 具
有更高的数据独立性,便于实现。关系模型数据结构示例关系模型中的主要术语1. 关系:一个关系对应于一张表。2. 元组:表中的一行称为
一个元组。3. 属性:表中的一列称为属性,每列名称是属性名。4. 主码:表中的某个属性组,它们的值唯一标识一个元组。5. 域:属性
的取值范围。6. 分量:元组中的一个属性值。7. 关系模式:对关系的描述,用关系名(属性名1,属性名2,…,属性名n)来表示。关系
模式:(对关系的描述)一般表示:关系名(属性1,属性2,…… 属性n) 学生(学号,姓名,性别,出生日期,系别)实体及实体间联系
的表示方法1. 实体集:直接用关系(表)表示。2. 属性:用属性名表示(表列)。3. 一对一联系:隐含在实体对应的关系中。4. 一
对多联系:隐含在实体对应的关系中。5. 多对多联系:直接用关系表示。有关1:1、1:m、m:n联系转换成关系的方法,详见本书后续
有关数据库设计部分的说明(4)传统数据模型的不足1. 以记录为基础,不能很好地面向某些特定应用。2. 不能以自然的方式表示实体间的
联系。3. 语义较贫乏。4. 数据类型较少,难以满足应用需要。3 其他的数据模型 及相应的数据管理产品1. 面向对象模型吸收了面向
对象程序设计方法学的核心概念和基本思想。2. 键-值对模型及其数据管理产品由一个特定的键和一个指针指向特定数据组成,目的在是Key
和Value之间建立映射关系。Redis数据库产品的特点:数据库完全在内存中,使用磁盘仅用于持久化;有一套较为丰富的数据类型。3
其他的数据模型 及相应的数据管理产品3. 文档模型及其数据管理产品反传统的数据库范式设计理论,把相关的对象都记录到一个文档里,每个
文档内的列名可以自由定义。MongoDB:面向文档存储。可在MongoDB记录中设置任何属性的索引来实现更快的检索,可通过本地或者
网络创建数据镜像,这使得MongoDB有更强的扩展性;如果负载增加 ,它可分布在网络中的其他节点(shards)4. 列式存储模型
及其数据管理产品将同一个数据列的各个值存放在一起。插入某个数据行时,该行的各个数据列的值也会存放到不同的地方。列式存储提高了对大数
据量查询的效率。每次读取某个数据行时,需要分别从不同的地方读取各个数据列的值,然后合并在一起形成数据行。5. 倒排索引模型及其数据
管理产品一部分用于表示文档的索引项。另一部分则由多个位置表组成,每个位置表和索引中的某个索引项相对应并记录所有出现过该索引项的文档
及其在文档中的具体位置。3 其他的数据模型 及相应的数据管理产品4 物理模型1. 物理模型描述数据的存储方式和存取方法,是面向计算
机系统的用于对存储结构和访问机制的细节描述。2. 物理模型提供了系统初始设计所需要的基础元素以及相关元素之间的关系,用来描述数据在
计算机中存储、表达记录结构、记录顺序和访问路径等的信息。3. 后续的一些设计(如存储过程、操作、触发、视图和索引表等)大都要考虑物
理模型的特点。对不同的物理模型,设计思路可能是不同的。数据库原理与应用第一章——§1.4 数据库系统结构1.4.1 三级模式结构1
. 概念模式(简称模式)模式数据库中数据的整体逻辑结构和特征的描述。所有用户的公共数据视图,综合了所有用户的需求。一个数据库只有一
个概念模式。是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。2
. 外模式外模式(也称子模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述。数据库用户的数据视图,是
与某一应用有关的数据逻辑表示。一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。是保证数据
库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据。3. 内模式内模式(也称存储模式,只有一个内模式)是数据物理
结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据
是否压缩存储数据是否加密规定1.4.2 数据库系统的二级映象1. 三级模式是对数据的三个抽象级别2.二级映象在数据库内部实现这三个
抽象层次的联系和转换1.外模式/模式映像1. 定义外模式与模式之间的对应关系。2. 每一个外模式都对应一个外模式/模式映象。3.
映象定义通常包含在各自外模式的描述中。外模式/模式的映像(续)保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式
映象,使外模式保持不变;应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
。模式/内模式映象1. 模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的
。2. 数据库中模式/内模式映象是唯一的。3. 该映象定义通常包含在模式描述中。模式/内模式映象(续)保证数据的物理独立性当数据库
的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序
的物理独立性,简称数据的物理独立性。数据库系统采用三级结构的优点1. 将外模式和模式分开,保证了数据的逻辑独立性;将模式和内模式分
开,保证了数据的物理独立性。 2. 在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。3. 按照外模式编写应用程序或敲入
命令,而不需了解数据库内部的存储结构,方便用户使用系统。4. 在外模式下根据要求进行操作,不能对无权限的、有限定的数据进行操作,保
证了数据的安全。数据库原理与应用第一章——§1.5 数据库管理系统的功能、组成、工作方式1.5.1 功能1. 数据定义功能定义数
据的模式、外模式和内模式结构定义模式/内模式和外模式/模式二级映象定义有关的约束条件2. 数据操纵功能3. 数据运行管理功能安全控
制、数据完整性约束、数据并发控制、数据恢复等4. 数据组织、存储和管理功能构造数据字典、管理存储的数据、提供适宜的数据存取方法(如
数据索引、哈希查找、顺序查找等)等。5. 数据库的建立和维护功能初始数据载入、数据转换、数据恢复、系统性能监视分析。6. 其他包括
数据库管理系统与其他软件的通信、一个数据库管理系统与另一个数据库管理系统或文件系统间的数据转换、异构数据库间的互操作等。1.5.1
功能1.5.2 数据库管理系统的组成1. 语言编译处理程序2. 系统运行控制程序系统总控程序。安全性控制程序。完整性控制程序。
并发控制程序。数据存取和更新程序。通信控制程序。 1.5.2 数据库管理系统的组成3. 系统建立、维护程序装配程序。重组程序。系统
恢复程序。4. 数据字典一类是来自用户的信息(表、视图、索引定义、权限)另一类是来自系统状态和数据库的统计信息。1.5.3 工作
模式1.当执行应用程序中一条查询数据记录的功能时,向数据库管理系统发出读取相应记录的命令,并指明外模式名。2. 数据库管理系统接到
命令后,调出所需的外模式并进行权限检查;若合法则继续执行,否则向应用程序返回相应的信息。3. 数据库管理系统可能需要访问模式,并根
据外模式/模式映像,确定所需数据在模式上的有关信息。1.5.3 工作模式4. 数据库管理系统访问内模式,并根据模式/内模式映像,
确定所需数据在内模式上的有关信息。5. 数据库管理系统向操作系统发出读相应数据的请求,完成读取记录的操作。6. 系统执行相应命令,
将有关数据从外存调入到系统缓冲区上。7. 数据库管理系统把数据按外模式的形式送入用户工作区,返回正常执行后的信息。数据库原理与应用
第一章——§1.6 数据库产品 及传统的关系型数据库系统面临的挑战自2010年起,每两天产生的数据相当于历史上到2003年产生的数
据的总和,且目前呈现加速趋势。转折点:从数据缺乏到大数据!Web2.0使数据的产生、移动变得更容易传感器使实时数据激增(大量数据由
设备而非人来产生)在线支付、电商、微信应用等推波助澜大数据时代这是一个绝好的机会,也是一个挑战。如何实现对大数据的管理,如数据的存
储、分布、检索、知识发现等?背景2016年1月22日,中国互联网络信息中心(CNNIC)发布第37次《中国互联网络发展状况统计报告
》。该报告显示,半数中国人已接入互联网,移动互联网塑造了全新的社会生活形态,“互联网+”行动计划不断助力企业发展,互联网对于整体社
会的影响已进入到新的阶段。网络大数据在迅猛发展截至 2015 年 12 月,有 40.7%的上网企业部署了信息化系统。其中,分别有
44.8%、22.0% 和 18.6%的企业建有办公自动化(OA)系统、企业资源计划(ERP)系统和客户关系管理 (CRM)系统
。 网络大数据在迅猛发展2015 年,云计算、物联网、大数据技术和相关产业迅速崛起,多种新型服务蓬勃发展,不断催生新应用和新业态,
推动传统产业创新融合发展。从应用角度看,超过10%的企业已经采用、或计划采用相关技术。网络大数据在迅猛发展1.6.1 数据库产品
1.虽然传统的关系型数据库系统在管理结构化信息方面具有很大优势,在网络迅速普及的今天,半结构化信息和非结构化信息所占的比重正在逐
步增大,它们已经逐渐成为重要的信息组织方式。2. 随着大数据和Web2.0、移动计算、物联网技术的普及应用,随着“互联网+”战略的
逐步深化,也出现很多新型的非关系型数据库等。截至2016年1月份对292种数据库产品应用情况的排序PostgreSQL 继承自In
gres、 Postgres,是面向对象的关系型数据库管理系统,支持大部分 SQL标准,并且提供了复杂查询、外键、触发器、视图、事
务完整性等,增加了新的数据类型、函数、操作符、聚集函数、索引等。PostgreSQL是目前支持平台最多的数据库管理系统的一种,包括
不同的系统,不同的硬件体系。Number of systems per category, January 2016截至2016年
1月按数据库模型分布的应用占比截至2016年1月,每类数据库的使用占比截至2016年1月,开源软件与商用软件的使用占比截至2016
年1月开源与商用软件受欢迎程度的比率1.6.2 传统关系型数据库系统面临的挑战1.在数据库事务一致性需求方面,很多Web实时系统并
不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一致性要求也不高,但对实时性要求很高。传统关系型数据库事务管理成了大数据
背景下的负担。2.对大数据背景下的社会网络系统应避免对多个大表关联查询以及复杂的数据分析类型的SQL报表查询,否则响应时间得不到保
障。更多是对单表的主键查询以及单表的简单条件分页查询。SQL的功能被弱化了。3. NoSQL数据存储不需要固定的表结构,通常也不存
在连接操作,在大数据存取上具备传统的关系型数据库系统无法比拟的性能优势。当今的应用体系结构需要数据存储在横向伸缩性上能够满足扩展性
需求。而NoSQL存储就是为了实现这个需求。4. NoSQL数据库一般能解决对数据库的高并发读写,提供对海量数据的高效存储和访问,
数据可扩展性好。128分布式数据库 关系型数据库在可扩展性上边面临巨大挑战。传统的关系数据库的事务以及二维关系很难高效扩展到多个
存储节点上。为解决关系数据库面临的可扩展性、高并发以及性能方面的问题,各种基于NoSQL的数据管理技术出现了。NoSQL数据库No
SQL泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SN
S类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展
。1 键值存储数据库1. 键-值(Key-value)存储数据库2. 这一类数据库一般会使用到一个哈希表,这个表中有一个特定的键和
一个指针指向特定的数据。3. Key-value模型的优势在于简单、易部署。如:Redis.2 列存储数据库这部分数据库通常是用来
应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如Cassandra, HBase,
Riak。Cassandra是一套开源分布式NoSQL数据库系统。它集谷歌BigTable的数据模型与亚马逊Dynamo(分布式
K-V存储)完全分布式的架构于一身。3 文档型数据库半结构化文档以特定的格式(如JSON )存储, 文档型数据库有CouchDB、
MongoDb等。XML示例代码:
Elasticsearch Searching >Gao male 45 ountry>China 10
J
SON示例代码:{ "book": { "name": " Elasticsearch Searching ",
"author": { "name": "Gao", "sex": "male",
"age": 45, "country": "China" },"price": 10,}}4
图形数据库图形结构的数据库使用灵活的图形模型,并且能够扩展到多个服务器上。没有标准的查询语言,因此进行数据库查询需要制定数据模型
。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J, InfoGrid, Infinite Graph.
NoSQL的不足1.绝大多数NoSQL只能提供简单的查询,无法进行多表联合查询等复杂的查询操作。2. 功能相对贫乏,在一些要求事务
一致性、业务逻辑比较复杂或者一些需要复杂分析查询的环境中,NoSQL存在不足。数据库原理与应用第一章——§1.7 本章小结根据数据
模型的不同,数据库系统可以分成层次型数据库(如IMS)、网状型数据库(如IDS)、关系型数据库(如SQL Server)、面向对象型数据库(如PostgreSQL )等多种。层次模型、网状模型、关系模型、面向对象模型是数据库诞生以来广泛应用的传统数据模型。除关系型数据库产品外,面向对象型、键-值对型、文档型、倒排索引型、列式存储型、图形等数据库呈现百花齐放的态势。传统数据模型是文件系统中所用数据模型的继承和发展,继承了文件中的记录、字段等概念,在物理级别上借鉴了文件索引、散列等存取方法,在记录的基础上定义了各自数据的基本结构、约束和操作等。对于层次和网状数据模型而言,它们都支持三级模式的体系结构,都用存取路径来表示数据之间的联系,有独立的数据定义和操纵语言。对于关系模型来说,它以关系代数为基础,概念单一(实体以及实体之间的联系都用关系来表示),形式化基础好,数据独立性强,数据的物理存取路径对用户隐蔽,同时具有更高的数据独立性、更好的安全保密性等。面向对象的数据模型支持面向对象的概念,具有开放性等特点。随着大数据时代的来临,也出现了一些新型的数据模型。传统的数据模型,特别是关系数据模型,在未来相当长的时间内仍将被继续使用。数据库系统结构由外模式、模式、内模式以及外模式/模式映像、模式/内模式映像组成。三级模式结构使数据库中的数据具有较高的逻辑独立性和物理独立性。在一个数据库系统中,只有一个模式,一个内模式,但可以有多个外模式。模式/内模式映像是唯一的,而每一个外模式都有自己的外模式/模式映像。数据库领域四位图灵奖得主、每年几百亿美元的市场规模,奠定了数据库在计算机科学与技术领域中的重要地位。在大数据时代,各行各业都希望从数据中挖出宝藏,这给数据库科学研究带来前所未有的机遇和挑战。学习和掌握数据库技术,对计算机及相关专业的学生来说,是非常必要的。 明确数据管理技术发展的四个阶段 明确数据模型概念模型关系模型 明确数据库系统结构 明确数据库管理系统工作模式、功能与组成 了解大数据时代下,关系型数据库面临的机遇及挑战、了解NoSQL技术数据库/数据挖掘/内容检索 权威学术期刊数据库/数据挖掘/内容检索 权威学术期刊数据库/数据挖掘/内容检索 权威学术会议 感谢中国互联网络信息中心CNNIChttp://db-engines.com/en/ranking百度百科中国计算机学会 再 见
献花(0)
+1
(本文系籽油荃面原创)