




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用第一章绪论课程学习的目的1.对关系型数据库技术及其应用系统有一个较全面的认识。2.掌握关系型数据库系统的基本概念、原理和方法。3.掌握一种常见的关系型数据库系统(如SQLServer2012、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.时间:(20世纪50年代后期——60年代中后期)2.应用背景:科学计算、数据管理等3.硬件背景:出现直接存取存储设备(磁盘磁鼓等),便于高效读写文件。4.软件背景:出现高级语言、操作系统等,便于高效管理文件。文件管理数据的特点1.数据可长期保存。2.由文件系统对数据进行管理。把数据组织成相互独立的文件,可利用“按名访问、按记录存取”的方法对文件进行操作。程序员不必了解数据的物理存储结构。3.文件可多样化组织顺序文件、索引文件、哈希文件等。4.程序与数据间有一定的独立性。传统的文件管理存在的问题即使不同应用程序所需要的数据部分相同,也必须建立各自的文件,且不能共享数据,存在的问题有:数据冗余度较大,数据一致性往往难以保证。相同数据重复存储,独立管理,易造成数据的不一致性。文件一般是为某个特定应用服务的,难以扩充。数据的独立性较差。缺乏对数据的统一管理。1.1.3数据库管理阶段1.时间:(20世纪60年代后——今)。2.应用背景:大规模数据管理。3.硬件背景:内存、大容量磁盘等的价格在下降。4.软件背景:出现专门的数据库管理系统如RDBMS5.数据处理方式:联机实时处理、分布式处理。6.发展历程:层次数据库系统、网状数据库系统关系型数据库系统、面向对象的数据库管理系统NoSQL(注:NoSQL不是要替换传统的关系型数据库管理系统,而是作为其必要的补充)数据库管理方式与
传统文件管理数据方式之间的区别1.文件管理数据阶段:功能设计处于主导地位,数据一般要服从于功能设计。往往无法保证数据的完整性和一致性。单纯依赖文件系统也难以保证对数据的并发、安全性等方面的需求。2.数据库管理阶段:由专门软件完成对数据的管理;核心是数据结构的设计和对数据的有效管理方式。应用程序与数据库管理系统的关系IMS1968年,IBM公司开发出基于层次数据模型的信息管理系统IMS。IMS是IBM的两种代表性数据库产品之一(注:另一种是关系数据库代表如DB2)。各用户所需数据逻辑结构称为外模式,每个外模式是一组逻辑数据库记录型集合,用户按照外模式操纵数据。系统部分设计理念对后期关系型数据库设计产生了影响。DBTG与网状数据库系统CharlesW.Bachman等提出了网状数据模型的概念。1969年,美国的CODASYL组织提出了一份“DBTG报告”,根据DBTG报告实现的系统称为DBTG系统。它是典型的三级结构体系:子模式、模式、存储模式。部分设计理念对后期关系型数据库设计产生了一定影响。CharlesW.Bachman是数据库观念的奠基人。主持开发了最早的网状数据库系统IDS关系数据模型1970年,EdgarFrankCodd等提出了关系数据模型,由此奠定了关系数据库管理系统的理论基础。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。Ingres1970年代前期,MichaelStonebraker主持开发了关系数据库IngresIngres是早期关系数据库之一。引入了用于完整性约束与视图的查询重写,在关系数据库的查询语言设计、查询处理、存取方法、并发控制等技术上有贡献。Postgres1980年代,MichaelStonebraker开发的Postgres项目提出关系——对象模型,有效地将数据库与抽象数据类型相结合,使数据库实现独立于编程语言。他提出的列式存储、在线事务处理、流处理等,对当今数据库理论与应用都产生了一定的影响。Stonebraker获得了2014年图灵奖。从数据库界诞生的图灵奖得主1.CharlesWilliamBachman:1973年获得图灵奖主持设计了最早的网状数据库管理系统IDS,终结了有文无库的年代。在美国数据系统语言委员会CODASYL下属的数据库任务组DBTG提出了网状数据库模型以及数据定义(DDL)和数据操纵语言(DML)规范说明,于1971年推出了第一个正式报告——DBTG报告。从数据库界诞生的图灵奖得主2.EdgarFrankCodd:1981年获得图灵奖根据关系模式概念、关系代数5种基本运算和若干派生算法及相应运算规律,建立了关系数据库模型。在此基础上,Stonebraker开发了Ingres;埃利森实现了第一个商用关系型数据库管理系统Oracle。
相关的SystemR、DB2、SQL等关系数据库产品成为业界主流产品。3.JamesGray:1998年获得图灵奖在并发控制、事务处理技术上提出一些有创造性的思想,完成了开拓性的工作,包括ACID性质、封锁的粒度和层次、共享锁、调度的可串行化等。从数据库界诞生的图灵奖得主4.MichaelStonebraker:2014年获得图灵奖在Ingres方面,引入用于完整性约束与视图的查询重写。在Postgres方面提出对象关系模型,既有效地将数据库与抽象数据类型相结合,又使数据库实现独立于编程。提出列存储、科学数据库、在线事务处理、流处理概念。他与GeraldHeld和EugeneWong因对Ingres发展做出的开创性贡献获得软件系统奖;同时他也是首届SIGMOD创新奖、约翰·冯诺依曼奖获得者。2015年10月,参加了在合肥举办的中国计算机大会并做主题演讲。从数据库界诞生的图灵奖得主总结:数据库系统管理数据的特点1.数据结构化行:存储某条记录数据;列:存储数据某属性信息任何一列数据不可再分;每列数据具有相同的属性结构整体数据结构化(记录间可有某种联系)描述数据时,不仅要描述数据本身还要描述数据间联系。下面给出几个数据结构化的例子 数据整体结构化例:学生人事记录数据库系统:文件系统:学号姓名性别系别年龄政治面貌籍贯籍贯政治面貌年龄系别性别姓名学号详细情况姓名与本人关系奖惩条目时间学号时间奖惩条目学号姓名与本人关系详细情况系名系主任地点教研组名教研组主任姓名代号职称年龄专长课程名代号开课日期奖惩日期工资级别日期开课教师日期系记录教研组记录教师记录人事记录课程记录开课记录工资记录数据库系统中对数据的描述不仅要描述数据本身,还要描述各数据记录之间的联系。数据整体结构化2.数据共享性高、冗余少3.数据独立性较高物理独立性:用户的应用程序与存储在数据库中的数据是相互独立的,数据在数据库中怎样存储是由数据库系统完成的,应用程序一般无需了解细节。逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。优点:把数据的定义从应用程序中分离出去;简化了应用程序设计;减少了应用程序维护和修改的工作量。总结:数据库系统管理数据的特点4.有统一的数据控制功能安全性控制基于授权规则、自主管理的自主访问控制技术(DAC)基于安全级集中管理的强制访问控制技术(MAC)基于角色的访问控制技术(RBAC)基于任务的访问控制技术(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。实例部门与经理之间的联系:一个部门只能有一名经理每一名经理只能在一个部门任职部门任职经理111:1联系一对多联系(1:n)语义如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1:n。实例部门与职工之间的联系一个部门有若干名职工每一名职工只能在一个部门工作部门工作职工1n1:n联系多对多联系(n:m)语义如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n实例
课程与学生之间的联系一门课程同时有若干个学生选修一个学生可以同时选修多门课程课程选修学生nmm:n联系多个实体集间的联系一对多联系若实体集E1,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图(续)联系的表示方法实体集1联系名实体集2111:1联系实体集1联系名实体集2mm:n联系实体集1联系名实体集21n1:n联系nE-R图(续)联系属性的表示方法课程选修学生mn成绩实体型间联系的属性供应商供应零件pm项目n供应量nm选课学生学号姓名性别年龄系入学时间课程课程号课程名成绩例:学生(学号,姓名,性别,年龄,系,入学时间)---课程(课程号,课程名)的E-R图E-R图(续)示例:学生、教师、课程三实体:每门课可由多位教师讲授,每位教师最多只讲授一门课程;每名学生可选修多门课程,每门课程也可以由多名同学选修。选修讲授nm1m教师学生课程E-R图(续)示例:产品(产品号,品名,价格);材料(材料号,材料名,价格,产地)nm使用材料材料号材料名价格产地产品产品号品名用量价格E-R图(续)示例:借书人(借书证号,姓名,单位);图书(书号,书名,数量)nm借阅图书书号书名数量借书人借书证号姓名借书日期单位还书日期E-R图(续)示例:病房(科室,病房号);病人(病历号,姓名,性别)mn入住病人病历号姓名性别病房科室病历号入院时间出院时间2传统的数据模型非关系模型层次模型(HierarchicalModel)网状模型(NetworkModel)数据结构:以基本层次联系为基本单位关系模型
是本书的重点内容(1)层次模型典型代表IBM于1968年推出的大型商用数据库管理系统IMS数据结构树形结构基本特点有且仅有一个结点无双亲结点(根)根以外的其他结点有且只有一个双亲。父子结点间的联系是1:1和1:m联系。
R1
根结点
R2
兄弟结点
R3
叶结点
R4
兄弟结点
R5
叶结点
叶结点例:教师-学生数据库有四个实体——系、教研室、学生、教师,如图所示:系编号系名办公地点教研室编号教研室系学生教研室教师学号姓名成绩职工号姓名研究方向层次结构示例D02计算机信息楼R01数据库系学生教研室教师9501何音79E0456王大名数据仓库R02网络9502李调82E0486冯铃数据库E0556陈之网络安全E0586张豪网络管理层次结构示例层次模型的特点1.方便表示一对一联系和一对多联系,但不能直接表示多对多联系。2.实际存储数据由链接指针来体现联系。3.操作复杂。1.典型代表DBTG系统2.数据结构网状结构允许一个以上结点无双亲。一个结点可以有多于一个的双亲。(2)网状模型L2L1R1R2R4R4R3R2R1L2L1L3L4网状结构示例学生宿舍学生教研室系教师人树种植砍伐父母子女养育赡养网状模型特点1.允许一个以上结点无双亲。2.一个结点可以有多于一个的双亲。3.允许两个结点之间有多种联系。4.可直接表示多对多联系,但结点间关系可能变得更加复杂。(3)关系模型1.关系可形象地用二维表格表示,它由行和列组成。2.关系模型有严格的数学理论依据。3.具有更高的数据独立性,便于实现。关系模型数据结构示例学号姓名性别出生日期系别081637101陈明男1989-2-12计算机081637102靳晓晨女1988-5-12计算机081637103李宁女1988-9-15计算机081637104杨浩男1989-11-2计算机081637105任帅男1987-4-23计算机关系模型中的主要术语1.关系:一个关系对应于一张表。2.元组:表中的一行称为一个元组。3.属性:表中的一列称为属性,每列名称是属性名。4.主码:表中的某个属性组,它们的值唯一标识一个元组。5.域:属性的取值范围。6.分量:元组中的一个属性值。7.关系模式:对关系的描述,用关系名(属性名1,属性名2,…,属性名n)来表示。学号姓名性别出生日期系别081637101陈明男1989-2-12计算机081637102靳晓晨女1988-5-12计算机081637103李宁女1988-9-15计算机081637104杨浩男1989-11-2计算机关系(表)主码元组(行、记录)属性(列、字段)属性名域(string,{男,女})分量关系模式:(对关系的描述)一般表示:关系名(属性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应用n……外模式1……外模式/模式映象概念模式模式/内模式映象内模式数据库1.概念模式(简称模式)模式数据库中数据的整体逻辑结构和特征的描述。所有用户的公共数据视图,综合了所有用户的需求。一个数据库只有一个概念模式。是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。2.外模式外模式(也称子模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述。数据库用户的数据视图,是与某一应用有关的数据逻辑表示。一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据。3.内模式内模式(也称存储模式,只有一个内模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密规定1.4.2数据库系统的二级映象1.三级模式是对数据的三个抽象级别2.二级映象在数据库内部实现这三个抽象层次的联系和转换应用1应用2应用n……外模式1……外模式/模式映象模式模式/内模式映象内模式数据库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继承自Ingres、Postgres,是面向对象的关系型数据库管理系统,支持大部分SQL标准,并且提供了复杂查询、外键、触发器、视图、事务完整性等,增加了新的数据类型、函数、操作符、聚集函数、索引等。PostgreSQL是目前支持平台最多的数据库管理系统的一种,包括不同的系统,不同的硬件体系。Numberofsystemspercategory,January2016截至2016年1月按数据库模型分布的应用占比截至2016年1月,每类数据库的使用占比截至2016年1月,开源软件与商用软件的使用占比截至2016年1月开源与商用软件受欢迎程度的比率1.6.2传统关系型数据库系统面临的挑战1.在数据库事务一致性需求方面,很多Web实时系统并不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一致性要求也不高,但对实时性要求很高。传统关系型数据库事务管理成了大数据背景下的负担。2.对大数据背景下的社会网络系统应避免对多个大表关联查询以及复杂的数据分析类型的SQL报表查询,否则响应时间得不到保障。更多是对单表的主键查询以及单表的简单条件分页查询。SQL的功能被弱化了。3.NoSQL数据存储不需要固定的表结构,通常也不存在连接操作,在大数据存取上具备传统的关系型数据库系统无法比拟的性能优势。当今的应用体系结构需要数据存储在横向伸缩性上能够满足扩展性需求。而NoSQL存储就是为了实现这个需求。4.NoSQL数据库一般能解决对数据库的高并发读写,提供对海量数据的高效存储和访问,数据可扩展性好。2023/7/5128分布式数据库关系型数据库在可扩展性上边面临巨大挑战。传统的关系数据库的事务以及二维关系很难高效扩展到多个存储节点上。为解决关系数据库面临的可扩展性、高并发以及性能方面的问题,各种基于NoSQL的数据管理技术出现了。NoSQL数据库NoSQL泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的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示例代码:<?xmlversion="1.0"encoding="utf-8"?><book><name>ElasticsearchSearching</name><author><name>Gao</name><sex>male</sex><age>45</age><country>China</country></author><price>10</peice></book>JSON示例代码:{
"book":{"name":"ElasticsearchSearching","author":{"name":"Gao","sex":"male","age":45,"country":"China"},"price":10,}}4图形数据库图形结构的数据库使用灵活的图形模型,并且能够扩展到多个服务器上。没有标准的查询语言,因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J,InfoGrid,InfiniteGraph.NoSQL的不足1.绝大多数NoSQL只能提供简单的查询,无法进行多表联合查询等复杂的查询操作。2.功能相对贫乏,在一些要求事务一致性、业务逻辑比较复杂或者一些需要复杂分析查询的环境中,NoSQL存在不足。数据库原理与应用第一章——§1.7本章小结根据数据模型的不同,数据库系统可以分成层次型数据库(如IMS)、网状型数据库(如IDS)、关系型数据库(如SQLServer)、面向对象型数据库(如PostgreSQL)等多种。层次模型、网状模型、关系模型、面向对象模型是数据库诞生以来广泛应用的传统数据模型。除关系型数据库产品外,面向对象型、键-值对型、文档型、倒排索引型、列式存储型、图形等数据库呈现百花齐放的态势。传统数据模型是文件系统中所用数据模型的继承和发展,继承了文件中的记录、字段等概念,在物理级别上借鉴了文件索引、散列等存取方法,在记录的基础上定义了各自数据的基本结构、约束和操作等。对于层次和网状数据模型而言,它们都支持三级模式的体系结构,都用存取路径来表示数据之间的联系,有独立的数据定义和操纵语言。对于关系模型来说,它以关系代数为基础,概念单一(实体以及实体之间的联系都用关系来表示),形式化基础好,数据独立性强,数据的物理存取路径对用户隐蔽,同时具有更高的数据独立性、更好的安全保密性等。面向对象的数据模型支持面向对象的概念,具有开放性等特点。随着大数据时代的来临,也出现了一些新型的数据模型。传统的数据模型,特别是关系数据模型,在未来相当长的时间内仍将被继续使用。数据库系统结构由外模式、模式、内模式以及外模式/模式映像、模式/内模式映像组成。三级模式结构使数据库中的数据具有较高的逻辑独立性和物理独立性。在一个数据库系统中,只有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 度森林资源使用权转让合同
- 装修工程劳动合同合同样本
- 区域合作分销合同协议
- 合同履行完毕确认声明书
- 黄山风景区国内旅游合同
- 私人借款合同样本及还款细则
- 境外就业派遣合同
- 商业综合体停车位租赁合同范本
- 商标纠纷和解合同细则
- 木材加工企业的品牌形象宣传与公关活动考核试卷
- 中考数学一轮复习各章节复习有答案完美版
- 深度学习视角下“尺规作图”教学策略
- 2024 年袋鼠数学竞赛 等级E(中国区)
- 【《海信电器企业作业成本法下的物流成本核算分析》8500字】
- 2024年南京旅游职业学院单招职业适应性测试题库汇编
- 2024-2030中国半导体阀门及管接头市场现状研究分析与发展前景预测报告
- 公务员面试考官培训
- 2024年湖南生物机电职业技术学院单招职业技能测试题库及一套参考答案
- 缤纷天地美食街运营方案
- 小学数学跨学科学习
- 2024年青岛港湾职业技术学院单招职业技能测试题库及答案解析
评论
0/150
提交评论