收藏 分销(赏)

教学课件-电子商务数据库技术.ppt

上传人:a199****6536 文档编号:12545985 上传时间:2025-10-28 格式:PPT 页数:305 大小:1.55MB 下载积分:25 金币
下载 相关 举报
教学课件-电子商务数据库技术.ppt_第1页
第1页 / 共305页
教学课件-电子商务数据库技术.ppt_第2页
第2页 / 共305页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,电子商务数据库技术,普通高等教育“十二五”规划教材,电子商务专业项目是教学课题成果,学习情境一,任务一 数据管理技术的产生和发展,任务二 信息、数据与数据处理,任务三 数据库与数据库管理系统,任务一 数据管理技术的产生和发展,对数据进行收集、保存、加工和传播等一系列活动的总和称为数据处理,数据处理的核心问题就是数据管理。数据管理技术是指对数据分类、编码、存储、检索和维护的技术。数据管理技术的发展是和计算机技术及其应用的发展联系在一起的,经历了如下,3,个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。,人工管理阶段:,(,1,)数据不保存。,(,2,)没有专用的软件对数据进行管理。,(,3,)程序中的存储子程序随着存储结构的改变而改变,因而数据与程序不具有独立性,即一组数据对应一组程序。,(,4,)只有程序的概念,没有文件的概念。,(,5,)数据面向于应用。,(,6,)对数据的存取以记录为单位,灵活性差。,文件系统阶段的特点,:,数据可长期保存在外存的磁盘上,数据的物理结构与逻辑结构有了区别,但较简单,文件的形式已多样化,有了存储文件以后,数据不再仅仅属于某个特定的程序,而可以重复使用,对数据的存取基本上还是以记录为单位,文件系统阶段的缺点,:,数据冗余度大,数据的不一致性,程序与数据的相互依赖,数据无集中管理,编写应用程序很不方便,数据库系统阶段,计算机的软件工作者针对文件管理方式存在的缺点,经过长期不懈的努力,提出了数据库的概念。数据库技术为数据管理提供了一种较为完善的高级管理方式。它克服了文件管理方式下分散管理数据的弱点,对所有的数据实行统一、集中的管理,使数据存储独立于使用它的程序,从而实现数据共享。,数据库系统与文件系统的关系,控制方式,数据结构,数据独立性,数据的维护,任务二 信息、数据与数据处理,信息,:,(1),信息的定义。,(2),信息的特征。,(3),信息系统。,数据,:,数据是数据库中存储的基本对象。广义的理解,数据的种类很多,文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是数据。可以对数据做如下定义:数据是描述现实世界事物的符号记录,是指用物理符号记录下来的可以鉴别的信息。物理符号包括:数字、文字、图形、图像、声音及其他特殊符号。数据的多种表现形式,都可以经过数字化后存入计算机。,数据处理和数据管理,所谓数据处理就是指对各种类型的数据进行收集、存储、分类、排序、计算或加工、检索、传输、递交等工作。数据处理通常也称为信息处理。由于在数据处理过程中所遇到的数据是有组织的,相互之间存在一定的联系,因此数据处理的效率往往与数据的存储结构和处理方式有密切的联系。,信息处理,信息处理的基本环节包括:人们将原始信息表示成数据,称为源数据,然后对这些源数据进行汇集、存储、综合、推导,从这些原始的、杂乱的、难以理解的数据中抽取或推导出新的数据,这些新的数据称为结果数据,结果数据对某些特定的人们来说是有价值的、有意义的,它表示了新的信息,可以作为某种决策的依据或用于新的推导。这一过程通常称为数据处理或信息处理。,信息的,3,个领域,(,1,)现实世界,(,2,)观念世界,(,3,)数据世界,任务三 数据库与数据库管理系统,数据库,所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。较为全面的定义是:数据库是为满足某部门各种用户的多种应用需要,在计算机系统中按照一定数据模型组织、存储和使用的互相关联的数据集合。,数据库管理系统的特点,数据库管理系统(,DBMS,)是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分,数据库系统的一切操作,包括查询、更新及各种控制,都是通过,DBMS,进行的。,DBMS,总是基于某种数据模型,因此可以把它看成是某种数据模型在计算机系统上的具体实现。根据所采用数据模型的不同,,DBMS,可以分成网状型、层次型、关系型、面向对象型等。,数据库管理系统的主要功能:,(,1,)数据定义功能,(,2,)数据操纵功能,(,3,)数据库的建立和维护功能,(,4,)数据库的运行管理,(,5,)数据字典,数据库管理系统的工作过程,(,1,)用户在其应用程序中安排一条读记录的,DML,语句。,(,2,),DBMS,接到命令后,首先访问该用户对应的外模式,检查该操作是否在合法授权范围内,若不合法则拒绝执行并向应用程序状态返回区发出不成功的状态信息;若合法则执行下一步。,(,3,),DBMS,读取相应的模式描述,并从外模式映象到概念模式。,(,4,),DBMS,调用相应的内模式描述,并从概念模式映象到内模式,(,5,)操作系统执行读取命令,按指定地址从数据库中把记录读入到数据库的系统缓冲区,并在操作结束后向,DBMS,作出回答。,(,6,),DBMS,收到操作系统读操作结束的回答后,参照 概念模式将读入系统缓冲区中的内容变换成概念记录,再参照外模式变换成用户要求读取的外部记录。,(,7,),DBMS,把导出的外部记录从系统缓冲区送到应用程序的“程序工作区”中。,(,8,),DBMS,向运行日志数据库发出读一条记录的信息,以备以后查询使用数据库的情况。,(,9,),DBMS,将操作执行成功与否的状态信息返回给用户。,(,10,)应用程序根据返回的状态信息决定是否使用工作区中的数据。,子学习情境二 数据库系统,图 数据库系统,据库系统的应用具体方面:,灵活性。数据库容易扩充以适应新用户的要求,同时也容易移植以适应新的硬件环境和更大的数据容量。,简易性。由于精心设计的数据库能模拟一个组织的运转情况,并提供该组织数据逼真的描述,使其管理部门和使用部门能很方便地使用和理解数据库。,面向用户。由于数据库反映一个组织的实际运转情况,因此基本上能满足用户的要求,同时数据库又为一个组织的信息系统奠定了基础。,数据控制。对数据进行集中控制,就能保证所有用户在同样的数据上操作,而且数据对所有部门具有相同的含义。数据的冗余减到最少,消除了数据的不一致性。,加快应用系统开发速度。程序员和系统分析员可以集中全部精力于应用的逻辑方面,而不必关心数据操作和文件设计的细节。后援和恢复问题均由系统保证。,程序设计方便。数据库方法使系统中的程序数目减少而又不过分增加程序的复杂性。,修改方便。数据独立性使得修改数据库结构时尽量不损害已有的应用程序,使程序维护工作量大为减少。,标准化。数据库方法能促进建立整个企业的数据一致性和标准化工作。,任务一 数据库系统的特点和功能,数据库系统的特点,:,(,1,)数据共享。,(,2,)数据的结构化,(,3,)数据的独立性。,(,4,)可控冗余度。,(,5,)数据由,DBMS,统一管理和控制。,(,6,)标准化。,数据库系统的功能,:,(,1,)提供高级的用户接口。,(,2,)查询处理和优化。,(,3,)数据目录管理,(,4,)并发控制。,(,5,)恢复功能。,(,6,)实施安全性保护。,(,7,)完整性约束检查。,(,8,)访问控制,任务二 数据库系统的组成,数据集合,数据集合是某一组织中各种应用所需数据的集成,并为这些应用所共享。“集成”是指若干不同性质数据文件的统一化,以完全或部分地消除这些文件中的数据冗余。例如,一个数据库可能同时包含职工文件(职工编号、姓名、住址、部门、工资等)和业务档案文件(职工编号、姓名、部门、科研项目、评价等)。在这两个文件中,职工编号、姓名、部门这,3,项数据是重复的,因而存在冗余数据。在构造数据库时,应该尽可能减少这种冗余。“共享”是指数据库中的一些数据项可以为若干不同的用户(应用程序)所共同使用,并可用于不同的目的。集成化是实现共享的基础,硬件,一定的硬件和软件环境是保证数据库系统顺利工作的必要条件。由于数据库系统数据量都很大,加之,DBMS,丰富的功能使得自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求。在数据库系统中需要有存放操作系统、,DBMS,的核心模块、数据缓冲区和应用程序等的大容量存储器。这种大容量存储器目前主要是硬磁盘及可读写光盘,还需要有足够的存储设备作数据备份。此外,还需要相应的控制器、,I/O,通道和中央处理器等。它们构成了数据库系统的硬件。,软件,(,1,),DBMS,和支持,DBMS,运行的操作系统。,DBMS,是为数据库的建立、使用和维护配置的软件。,(,2,)具有与数据库接口的高级语言及其编译系统,便于开发应用程序。,(,3,)以,DBMS,为核心的应用开发工具。,系统人员和用户,(,1,)数据库管理员(,DBA,),(,2,)程序设计人员,(,3,)终端用户,子学习情境三 数据模型,计算机不可能直接处理现实世界中的客观对象,必须由人们使用数据模型来抽象、表示和处理现实世界中的数据和信息,把具体事物转换成计算机能够处理的数据。为了把现实世界中的具体事物抽象、组织为某一,DBMS,支持的数据模型,人们常常将现实世界抽象为信息世界,然后将信息世界转换为机器世界,如图,1-8,所示。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,不是某一个,DBMS,支持的数据模型,而是概念级的模型;然后再把概念模型转换为计算机上某一,DBMS,支持的数据模型。,任务一 数据模型的组成要素,从文件系统算起,数据模型的发展经历了,4,代,即原始文件模型、经典数据模型、语义数据模型和专用数据模型。数据模型通常由数据结构、数据操作和完整性约束,3,部分组成,:,数据结构,数据操作,数据的约束条件,任务二 概念模型,采用概念数据模型,数据库设计人员可以在设计的开始阶段把主要精力用于了解和描述现实世界上,而把涉及,DBMS,的一些技术性的问题推迟到设计阶段去考虑。,实体之间的联系主要有一对一、一对多、多对多,3,种类型。,任务三 层次模型,层次模型是数据库系统中最常用的数据模型之一,采用层次模型作为数据的组织方式,属于格式化数据模型。这种模型的特征是:,有且仅有一个节点无双亲,这个节点称为根节 点。,其他节点有且仅有一个双亲。,任务四 网状模型,在层次模型的基础上,取消层次模型的限制,将树的结构变成图的结构,层次模型就转化成了网状模型。广义上讲,任意一个连通的基本层次联系的集合就是一个网状模型。层次模型实际上是网状模型的一个特例,网状模型是一种比层次模型更具有普遍性的结构。,网状数据库系统采用网状模型作为数据的组织方式。在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:可以有一个以上的节点无双亲;至少有一个节点有多于一个的双亲。,任务五 关系模型,关系模型有不同于格式化模型的风格和理论基础。总的说来,它是一种数学化的模型。关系模型的基本组成是关系。它把记录集合定义为一张二维表,即关系。表的每一行是一个记录,表示一个实体,也称为一个元组。每一列是记录中的一个数据项,表示实体的一个属性。关系模型虽然起步比较晚,但自诞生以后发展迅速,深受用户的喜爱,被认为是最有发展前途的一种结构数据模型,目前大多数数据库系统都是关系型的。,任务六 数据模型设计,数据模型分析,数据模型是对客观事物及其联系的数据描述,是实体联系模型数据化。层次、网状和关系数据模型是数据库诞生以来应用的,3,种主要数据模型,一般称为传统数据模型。传统数据模型是文件系统中所用数据模型的继承和发展。它们都继承了文件中的记录、字段等概念,在物理级也借鉴了文件的索引、散列等存取方法。它们都在记录的基础上定义了各自数据的基本结构、约束和操作。数据模型与描述的客观事物之间并不是一对一的,即同一客观事物可以用,3,种不同的数据模型描述。这就存在一个选用什么模型好的问题,这个问题应根据需求解决,不能一概而论。,数据库设计的核心问题之一就是要设计一个好的数据模型。因此,应了解以下与数据模型设计有关的问题:,(,1,)数据与记录项,(,2,)型与值,(,3,)记录与文件,(,4,)数据模型,子学习情境四 数据库系统结构,概念数据模型只用于数据库的设计,逻辑数据模型和物理数据模型用于,DBMS,的实现。数据模型是描述数据的手段,而数据模式是用给定数据模型对具体数据的描述。,在,DBMS,中,由于数据用多级数据模型来描述,相应地也有多级数据模式。,DBMS,提供模式描述语言(模式,DDL,)来严格地定义数据模式,美国国家标准协会(,ANSI,)的,ANSI/X3/SPARC,报告把数据模式分为三级。,任务一 数据库系统的三级模式结构,模式,模式是所有概念记录类型的定义,因此它是数据库中全部数据逻辑结构的描述,即数据库中所有记录类型的整体描述,也称概念模式、逻辑模式。实际上,模式就是数据库每一层的数据结构的描述。模式还要描述记录之间的联系、所允许的操作、数据的一致性、有效验证、安全和其他管理控制方面的要求。数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中。而模式提供了一种约束其他两级的相对稳定的中间观点,它使得这两级的任何一级的改变都不受另一级的牵制。,外模式,外模式也称子模式或用户模式,它是用户与数据库系统的接口。单个用户的视图称为外部视图。一个用户往往只用到数据库的一部分。外部视图由若干外部记录类型组成,这些外部记录类型和概念记录类型、内部记录类型可能不一样。用户使用数据操纵语言语句对数据库进行操作,实际上是对外部视图的外部记录进行操作。,内模式,内模式也称存储模式,一个数据库只有一个内模式。内模式要定义所有的内部记录类型,定义一些索引、数据在存储器中的安排以及安全性、恢复和其他管理方面的细节。所以内模式是数据在物理存储结构方面的描述。由于内部记录不涉及物理记录和物理块,也不涉及设备的约束,因此内部级与物理级是不同的。比内模式更接近于物理存储的那些软件机制是操作系统的一部分(即文件系统),例如从磁盘上读一部分数据或写一部分数据到磁盘上等操作。,任务二 三级模式结构的特征,由于数据库这种多层次的体系结构提供了高度的数据独立性,可以,将数据库技术的特征归纳如下:,一个数据库的全局逻辑描述(概念模式)是独立于数据库的其他所有结构描述的。,内模式是依赖于全局逻辑结构的,其目的是具体地将概念模式中所定义的全部数据及其联系进行适当的组织并加以存储,以实现较好的运行效率。,用户的局部逻辑结构(外模式)是独立于存储模式和存储设备的,它必须在数据库的全局逻辑结构描述的基础上定义。但是,一个外模式一旦被定义,除非全局逻辑结构的变化使得外模式中的某些数据项无法再从数据库中导出,外模式将是不必改变的。,应用程序是在外模式的数据结构上编制的,任务三 数据库系统的二级映象,外模式,/,模式映象,模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式,/,模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。,模式,/,内模式映象,数据库中只有一个模式,也只有一个内模式,所以模式,/,内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。该映象定义通常包含在模式描述中。当数据库的存储结构改变了,由数据库管理员对模式,/,内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。,拓展知识 关系数据库的由来,1970,年,,IBM,的研究员,E.F.Codd,博士在刊物,Communication of the ACM,上发表了一篇名为“,A Relational Model of Data for Large Shared Data Banks”,的论文,提出了关系模型的概念,奠定了关系模型的理论基础。尽管之前在,1968,年,Childs,已经提出了面向集合的模型,然而这篇论文被普遍认为是数据库系统历史上具有划时代意义的里程碑。,Codd,的心愿是为数据库建立一个优美的数据模型。后来,Codd,又陆续发表多篇文章,论述了范式理论和衡量关系系统的,12,条标准,用数学理论奠定了关系数据库的基础。关系模型有严格的数学基础,抽象级别比较高,而且简单清晰,便于理解和使用。但是当时也有人认为关系模型是理想化的数据模型,用来实现,DBMS,是不现实的,尤其担心关系数据库的性能难以接受,更有人视其为当时正在进行中的网状数据库规范化工作的严重威胁。为了促进对问题的理解,,1974,年,ACM,牵头组织了一次研讨会,会上开展了一场分别以,Codd,和,Bachman,为首支持和反对关系数据库两派之间的辩论。这次著名的辩论推动了关系数据库的发展,使其最终成为现代数据库产品的主流。,主 编 樊颖军 副主编 张 光,主 审 殷锋社,电子商务数据库技术,普通高等教育“十二五”规划教材,电子商务专业项目是教学课题成果,中国水利水电出版社,子学习情境一 关系模型的数据模式与关系代数,任务一,关系数据结构,任务二,关系操作和关系数据语言,任务三,传统的集合运算,任务四,专门的关系运算,任务一,关系数据结构,关系模型的数据结构很单一,就是关系,它是建立在集合代数基础上的。在关系数据库中,关系模型是型,关系是值,关系模式是对关系的描述。,1,基本术语,(,1,)关系。,(,2,)元组。,(,3,)属性。,(,4,)域。,(,5,)关系模式。,(,6,)笛卡儿积。,2,关系中的键,(,1,)主键。关系有一个重要的性质,即在任何关系中不能有两个完全相同的元组。确定了主键的值,就能唯一地确定一个元组。,(,2,)候选键。凡是在一个关系中具有主键特性的属性或属性组,均称为候选键。,(,3,)外键。当关系中的某个或某些属性由另一个关系的主键构成时,则该属性或属性组称为外键。,3,关系的性质,数据库中的关系具有下列性质:,(,1,)任意两个元组(行)不能完全相同。,(,2,)关系中元组(行)的次序是不重要的,可以任意交换。,(,3,)属性(列)的次序也是不重要的,可以任意交换。,(,4,)同一列中的分量必须来自同一个域,是同类型的数据。,(,5,)属性必须有不同的名称,但不同的属性可以出自相同的域,即它们的分量可以取值于同一个域。,(,6,)每一个分量必须是原子的,即是不可再分的数据项。,任务二 关系操作和关系数据语言,1,关系操作,关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改操作两大部分。查询的表达能力是其中最主要的部分。,2,关系数据操纵语言,关系数据操纵语言是一种高度非过程化的语言,用户不必请求,DBA,为其建立特殊的存取路径,存取路径的选择由,DBMS,的优化机制来完成,此外,用户不必求助于循环结构就可以完成数据操纵。,任务三 传统的集合运算,1,并、差、交运算,当并、差、交用于关系运算时,参加运算的关系必须是相容的和可并的,即它们应有相同的目,n,(即两个关系都有,n,个属性),且相应的属性值来自同一个域。,关系,R,和关系,S,的并可记作,R,S,关系,R,减去关系,S,的差可记作,R-S,关系,R,和关系,S,的交可记作,R,S,数据库系统与文件系统的关系,2,广义笛卡儿积,两个分别为,n,目和,m,目的关系,R,和关系,S,的广义笛卡儿积是一个,(n+m),目的关系,关系中的每一个元组的前,n,列是关系,R,中的一个元组,后,m,列是关系,S,中的一个元组。若关系,R,中有,a,1,个元组,关系,S,中有,a,2,个元组,则关系,R,和关系,S,的广义笛卡儿积中有,a,1,a,2,个元组。,任务四 专门的关系运算,仅依靠传统的集合运算,还不能灵活地实现多种多样的查询操作。因此,,E.F.Codd,又定义了一组专门的关系运算,包括选择、投影、连接和除。,1,选择,选择是一种单目运算,操作对象仅有一个关系,其作用是在关系的水平方向上选取符合给定条件的子集。,2,投影,投影是一种单目运算,其作用为在关系的垂直方向上选取含有给定属性的子集。,用文字表示为:,在属性表中可以包括一至若干个属性。,3,连接,连接是一种二目运算,即操作对象有两个关系,其作用是按照给定的条件把两个关系中的所有元组按一切可能的组合方式拼接起来。可以将连接看做是有选择的笛卡儿乘积,也称为,连接。,4,除,除是一种二目运算,用文字表示为,。,设关系,R(X,Y),和关系,S(Y,Z),,其中,X,,,Y,,,Z,为属性组。关系,R,中的,Y,与关系,S,中的,Y,是对应的属性,可以有不同的属性名,但必须出自相同的域集。关系,R,与关系,S,的除运算得到一个新的关系,P(X),,关系,P,是关系,R,中满足下列条件的元组在,X,属性列上的投影:元组在,X,上分量值,x,的象集,Y,x,包含关系,S,在,Y,关系上投影的集合。,子学习情境二 关系的完整性规则及关系数据库的规范化,数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为是关系的两个不变性,应该由关系系统自动支持。,1.,实体完整性,对于实体完整性规则说明如下:,(,1,)实体完整性规则是针对基本关系而言的。一个基本表通常对应于现实世界的一个实体集。例如,学生关系对应于现实世界中学生的集合。,(,2,)现实世界中的实体是可区分的,即它们具有某种唯一性标识。,(,3,)相应地,关系模型中以主键作为唯一性标识。,(,4,)主键中的属性即主属性不能取空值。,2,参照完整性,参照完整性规则:若属性(属性组),F,是关系,R,的外键,它与关系,S,的主键,K,相对应(关系,R,和,S,不一定是不同的关系),则对于,R,中每个元组在,F,上的值必须为:,(,1,)或者取空值(,F,的每个属性值均为空值)。,(,2,)或者等于,S,中某个元组的主键值。,3,用户定义的完整性,任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。这是针对某一具体数据的约束条件,由应用环境决定。它反映某一具体应用所涉及的数据必须满足的语义要求。例如,某个属性必须取唯一值、某些属性值之间应满足一定的函数关系、某个属性的取值范围在,0,100,之间等。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。,4,关系完整性的操作,为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,就要检查是否满足实体完整性规则、参照完整性规则及用户定义的完整性规则。,任务二 关系数据库的规范化,针对一个具体问题,应该如何构造一个适合于它的数据模式,即构造几个关系模式,每个关系由哪些属性组成等,这是数据库设计问题,确切地讲是关系数据库逻辑设计问题。数据库逻辑设计的一个有力工具就是关系数据库的规范化。关系数据库的规范化就是制定一系列规则,用于检验数据库逻辑设计的正确性,它可以帮助用户避免一些不完善的数据库设计而存在的问题。,1,不完善的关系模式,(,1,)数据冗余。,(,2,)信息内容有限。,(,3,)不一致的数据。,(,4,)更新异常(不一致性的危险)。,(,5,)插入异常。,(,6,)删除异常。,2,函数依赖,(,1,)函数依赖的概念。,(,2,)部分函数依赖。,(,3,)传递函数依赖。,3,关系数据库的规范化,(,1,)第,1,范式(,1NF,),每个属性值都是不可再分的最小数据单位。,(,2,)第,2,范式(,2NF,),非主属性不部分依赖于关系的主键。,(,3,)第,3,范式(,3NF,),属性不依赖于关系的非主属性。,(,4,),Boyce-Codd,范式(,BCNF,),所有属性都不传递依赖于关系的任何候选键。,子学习情境三 数据库存储技术,数据库是大量数据的有结构的综合性的集合。如何将这样一个庞大的数据集合以最优的形式组织起来存放在外存上是一个非常重要的问题。所谓“优”应包括两个方面:一是存储效率高,节省存储空间;二是存取效率高,速度快、代价小。,任务一,物理存储介质,用内存作为数据库的存储介质是不合适的,因为内存的容量还不够大,数据库小则几十,MB,(,1 MB=2,20,字节),大则以,GB,(,1 GB=2,30,字节)乃至,TB,(,1 TB=2,40,字节)计,全部放在内存中是困难的;内存一般属于易失性存储器,虽然加后备电池可以在掉电时不至于丢失数据,但电池也会耗尽,从长期来说,这种内存仍是易失性的,因此内存一般不能用来存储持久数据;另外,内存储器存储单位数据的成本要比辅助存储器高得多。,任务二 记录的存储结构,1,记录的物理表示,记录的存储结构大致有以下,3,种:,(,1,)定位法。,(,2,)相对法。,(,3,)计数法。,2,记录的分配,物理块在磁盘上的分配一般有下列,4,种方法:,(,1,)连续分配法。,(,2,)链接分配法。,(,3,)聚簇(簇集)分配法。,(,4,)索引分配法。,3,数据压缩技术,(,1,)消零或空格符法。数据中常常出现一串零或空格符,可用一个特殊符号和一个表示零或空格个数的数字表示。例如,,bbbb,可用“,#4,”表示(,b,代表空格),,0000000,可用“,7,”表示。,(,2,)串型代替法。对于反复出现的字符串可用一个省略符代替,在转换时,需要查串型表。,任务三 文件组织,1,数据库中需要存储的信息,数据库中要存储,4,个方面的数据。,数据描述。即数据外模式、模式、内模式。,数据本身。,数据之间的联系。,存取路径。,这,4,个方面的数据内容都要采用一定的文件组织方式组织、存储起来。,2,数据字典的组织,有关数据的描述存储在数据库的数据字典中。数据字典的特点是数据量比较小(与数据本身比较)、使用频繁,因为任何数据库操作都要参照数据字典的内容。数据字典在网状、层次数据库中常常用一个特殊的文件来组织。所有关于数据的描述信息存放在一个文件中。关系数据库中数据字典的组织通常与数据本身的组织相同。数据字典按不同的内容在逻辑上组织为若干张表,在物理上就对应若干个文件而不是一个文件。由于每个文件中存放数据量不大,可简单地用顺序文件来组织。,任务四 网状模型,在层次模型的基础上,取消层次模型的限制,将树的结构变成图的结构,层次模型就转化成了网状模型。广义上讲,任意一个连通的基本层次联系的集合就是一个网状模型。层次模型实际上是网状模型的一个特例,网状模型是一种比层次模型更具有普遍性的结构。,网状数据库系统采用网状模型作为数据的组织方式。在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:可以有一个以上的节点无双亲;至少有一个节点有多于一个的双亲。,3,数据及数据联系的组织,关于数据自身的组织,,DBMS,可以根据数据和处理的要求自己设计文件结构,也可以从操作系统提供的文件结构中选择合适的加以实现。目前,操作系统提供的文件结构有:顺序文件、索引文件、索引顺序文件、,Hash,文件(杂凑文件)和,B,树类文件等。,4,存取路径的组织,在网状和层次数据库中,存取路径是用数据之间的联系来表示的,因此已与数据结构合并固定下来。,5,数据库对文件的要求,有些,DBMS,以操作系统的文件管理系统作为其物理层的基础,但是更多的,DBMS,不用操作系统的文件管理系统,而是独立设计其存储结构。数据库中的文件既继承了传统文件系统的某些技术,又有与之相区别的特点。,子学习情境四 数据库设计的基本步骤,1,数据库设计的特点,数据库设计的特征总结如下:,(,1,)反复性。数据库设计需要反复推敲和修改才能完成。,(,2,)试探性。,(,3,)分步进行。数据库设计常常由不同的人员分阶段进行。,2,数据库设计的过程,在数据库设计开始之前,首先必须选定参加设计的人员,包括系统分析人员、数据库设计人员和程序员、用户和数据库管理员。系统分析和数据库设计人员是数据库设计的核心人员,他们将自始至终参与数据库的设计,他们的水平决定了数据库系统的质量。用户和数据库管理员在数据库设计中也是非常重要的,他们主要参加需求分析和数据库的运行维护,他们的积极参与不但能加速数据库设计,而且也是决定数据库设计质量的重要因素。程序员则在系统实施阶段参与进来,分别负责代码实现和配置软件与硬件环境。,3,数据库设计过程中需要注意的问题,(,1,)实现用户所需要的功能,(,2,)制作能重复使用的构件。,(,3,)使用开发管理工具。,(,4,)指定用户组和权限。,(,5,)提供一致的用户界面。,(,6,)在应用系统中加入诊断功能。,任务一 需求分析,1,需求分析的过程,需求分析人员既要对数据库技术有一定的了解,又要对单位的情况比较熟悉,一般由数据库技术人员和本单位的有关工作人员合作进行。需求分析的结果可以整理成需求说明,需求说明是数据库技术人员和应用单位的工作人员取得共识的基础,必须得到单位的有关管理人员的确认。,2,数据流图,数据流图是从“数据”和“处理”两方面表达数据处理过程的一种图形化的表示方法。在数据流图中,用圆圈表示数据处理(加工),用有向线段表示数据的流动及流动方向,即数据的来源和去向。在系统需求分析阶段,不必确定数据的具体存储方式,将来这些数据存储可能是数据库中的关系,也可能是操作系统的文件。,3,数据字典,数据字典详细描述系统中的全部数据,它是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程,5,个部分。,任务二 概念设计与,E-R,模型,1,概念模型概述,概念模型应具备以下特性:,有丰富的语义表达能力。,易于交流和理解。,易于变动。,易于向各种数据模型转换,。,2,概念模型的表示方法,概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出上述信息世界中的常用概念。在概念模型的表示方法中,最常用的是,P.P.S.Chen,于,1976,年提出的实体联系方法(,Entity-Relationship Approach,)。该方法是数据库逻辑设计的一种简明扼要的方法,也称为,E-R,模型。在按具体数据模型设计数据库之前,先用实体联系(,E-R,)图作为中间信息结构模型表示现实世界中的“纯粹”实体联系,之后再将,E-R,图转换为各种不同的数据库管理系统所支持的数据模型。这种数据库设计方法,与通常程序设计中画框图的办法相类似。,3,采用,E-R,方法的概念模型设计,概念模型设计可分如下,3,步完成:,(,1,)设计局部概念模型。,建立局部,E-R,图的步骤如下:,1,)确定局部概念模型的范围。,2,)定义实体。确定每个实体类型的属性和键。,3,)定义联系。,4,)确定属性。,5,)逐一画出所有的局部,E-R,图,附以相应的说明文件。,(,2,)设计全局概念模型。,建立全局,E-R,图的步骤如下:,1,)确定公共实体类型。,2,)合并局部,E-R,图。,3,)消除不一致因素。,4,)优化全局,E-R,图。经合并得到的全局,E-R,图需要进行优化。,5,)画出全局,E-R,图,附以相应的说明文件。,(,3,)概念模型的优化与评审。一个好的全局,E-R,图除了能反映用户功能需求外,还应满足下列条件:,实体类型个数尽可能少。,实体类型所含属性尽可能少。,实体类型间联系无冗余。,任务三 逻辑结构设计,E-R,模型可以向现有的各种数据库模型转换,对不同的数据库模型有不同的转换规则。,(,1,)一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。,(,2,)一个,1:1,联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。,(,3,)一个,1:n,联系可以转换为一个独立的关系模式,也可以与联系的任意,n,端实体所对应的关系模式合并。,(,4,)一个,m:n,联系转换为一个关系模式。,(,5,),3,个或,3,个以上的实体间的多元联系转换为一个关系模式。,(,6,)具有相同键的关系模式可以合并。,2,关系数据库的逻辑结构设计过程,关系数据库的逻辑结构设计过程如下:,(,1,)从,E-R,图导出初始关系模式。将,E-R,图按规则转换成关系模式。,(,2,)规范化处理。,(,3,)模式评价。,(,4,)优化模式。,(,5,)形成逻辑结构设计说明书。,3,外模式的设计,外模式的主要作用如下:,(,1,)提供一定的逻辑数据独立性。,(,2,)更好地适应不同用户对数据的需求。,(,3,)有利于数据保密。,任务四 物理结构设计,数据库的物理设计通常分为两步:,(,1,)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。,(,2,)对物理结构进行评价,评价的重点是时间和空间效率。,对关系数据库物理设计的内容主要包括:为关系模式选择存取方法;设计关系、索引等数据库文件的物理存储结构。,子学习情境五 数据库的完整性,数据库的完整性是指数据的正确性和相容性。为维护数据库的完整性,,DBMS,必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件,它们作为模式的一部分存入数据库中。而,DBMS,中检查数据是否满足完整性条件的机制称为完整性检查。,任务一 完整性约束的类型,1,静态约束,静态约束是指数据库每次确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。,(,1,)列级约束。,(,2,)元组约束。,(,3,)关系约束。,2,动态约束,动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。,(,1,)列级约束。,(,2,)元组约束。,(,3,)关系约束。,任务二 完整性约束的表达与控制,1,完整性约束的表达,一个完整性规则可以用一个五元组,(D,O,A,C,P),来表示,其中,,D,(,Data,)是约束作用的数据对象;,O,(,Operation,)指触发完整性检查的数据库操作,即当用户发出什么操作请求时需要检查该完整性规则,是立即检查还是延迟检查;,A,(,Assertion,)是数据对象必须满足的断言或语义约束,这是规则的主体;,C,(,Condition,)指选择,A,作用的数据对象值的谓词;,P,(,Procedure,)指违反完整性规则时触发的过程。,2,完整性约束的控制,DBMS,的完整性控制机制应具有,3,方面的功能:,定义功能,提供定义完整性约束条件的机制。,检查功能,检查用户发出的操作请求是否违背了完整性约束条件。,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。,任务三 完整性约束的实施,因为完整性约束的检验是伴随数据库更新操作进行的,对数据库的更新操作性能影响颇大。目前域完整性约束在一般,DBMS,中都已经实施;实体完整性约束在大部分关系,DBMS,中都已基本实施;引用完整性约束在部分关系,DBMS,中已经实施;显式完整性约束在商品化的,DBMS,中的实施也逐步增多。随着计算机性能的提高和约束检验方法的改善,在,DBMS,商品中,比较全面的完整性约束检验可望成为标准功能。,子学习情境六 数据库的安全性,数据库的使用已经越来越广泛,越来越深入。例如,大型企业的管理控制,国家机构的事务管理,国防、科技、情报等方面,都用数据库存储大量的机密信息,还有大型银行亿万资金的账目都存储在数据库中,若保护不周或遭到破坏、泄密,将造成不可挽回的巨大损失。因此,数据库的保护成为重要而不可忽视的问题。而现有的一些保护措施,如操作系统中的保护办法,不能完善地解决数据库的保护问题,必须有一套自己的完整的保护体系。,任务一 数据库安全性措
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服