第章数据库与数据管理技术ppt课件.ppt
第章数据库与数据管理技术,知识回顾:EXCEL的数据列表,Excel的工作表数据列表(数据清单)数据列表的特点创建数据列表的准则数据列表的数据库操作数据库管理系统的引入,一张104875616384的二维表,包含相关数据的单元格区域。称“工作表数据库”。,数据由若干列组成。每列数据必须同类型数据库的字段。每列第一单元是列标志数据库的字段名称。每一行对应数据库中的一个记录。,每张工作表仅使用一个数据列表将相似项置于同一列 使数据列表独立,排序、筛选和汇总,简单的数据库输入、编辑功能。不便于对于多表的关联与管理。不便于编程实现用户期望的任意管理界面。,海量数据与数据库系统数据库系统的结构关系数据库基本概念数据库设计,4.1数据库基础知识,4.1.1 海量数据与数据库系统,数据库系统是一个实际可操作的存储、维护并向应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。,数据库技术的基本功能、数据库的种类,数据库能把大量的数据按照一定的结构存储起来,在数据库管理系统的集中管理下,实现数据共享。数据库系统特点:数据共享性、数据独立性、数据的结构化、数据冗余度小、数据处理效率高、数据库技术要实现的基本功能:对大量数据进行收集,编辑,保存和高效应用。,MySQL、FoxPro、Access、Oracle、SQL Server,1、数据库系统概述,20世纪60年代末,数据库系统在美国诞生。这是数据管理技术的一次飞跃。其主要目的是有效地管理数据资源,研究如何存储、使用和管理数据,是计算机数据管理技术发展的最新阶段。,数据库系统特点:数据共享性 数据共享是数据库系统的主要目的,数据库中的数据不仅可以为同一单位的各个部门的应用所共享,也可为不同单位、地域的用户所共享。数据独立性 数据库系统中的数据结构和应用程序相互具有独立性,使得一方的修改对另一方的影响不大,便于开发和维护。,数据的结构化数据库系统的数据具有结构化,即数据库系统中的数据文件是有联系的,并且在整体上服从一定的结构形式。数据冗余度小冗余度,即重复性。数据库系统能实现应用程序数据共享,不必要的重复将消除,可节省存储空间,减少数据的不一致性。,数据处理效率高在数据库管理系统(DBMS)的支持下,数据的输入、删除、更新、检索、查找、排序等处理都能通过DBMS按一种公用的和可控制的方法进行,对数据处理的程序设计要比用高级语言程序设计要直观、简便得多。,2.数据库基本概念,数据(data):数据是一种物理符号序列,是用来记录事物情况和状态的文字、符号、图象和声音等的组合,它不仅包括表示量值概念的数值数据,即通常的“1、2、3、4、5、等,也包括非数值数据,如字符串“ student”等。数据都是经过数字化后存入计算机的。数据库(Data Base ,DB) 数据库是以一定组织方式长期存储在计算机内的、独立于应用并可被多用户、多应用程序共享的数据集合,是关于某个特定主题或目标的信息集合.例如:设备管理、人事档案管理、图书资料管理,数据库管理系统(Data Base Management System, DBMS)DBMS是位于操作系统上一层的数据管理应用软件。是数据库系统的核心部份。是利用计算机对数据进行记录、整理、归类和转换的综合管理的软件。其主要功能包括:数据定义和操作数据库的建立和维护数据库的运行管理数据字典和数据通信等,数据库系统(Data Base System,DBS)指带有数据库的计算机应用系统。它不仅包括数据库本身,还包括相应的硬件、软件和各类人员。数据库系统的几个重要组成部分:硬件:要求有足够大的内存、磁盘空间和较高的数据传输能力。 软件:主要包括:数据库系统的核心软件DBMS、支持DBMS运行的操作系统等数据:数据是数据库系统的基本组成内容人员:数据库管理员、用户等,4.1.2 数据库系统的结构,从数据库管理系统的角度来看,数据库系统的结构呈现的是一种三级模式结构 1模式模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,而数据库是模式的一个实例。,(1)找出能够描述任一位医生的共同特征: 医生(医生工号,姓名,性别,出生日期,最高学历,职务)(2)根据这个模式,将数据装入数据库中,51000800001赵一凡 男 1969-02-06 研究生 主治医师51000800002钱通生 男 1965-12-08 研究生 副主任医师这个具体的数据库就是医生数据库的模式的一个实例。可见,一个数据库只能有一个模式。数据库的模式一旦确定,它是相对稳定的,而数据库则可能会经常变动,因为数据库的内容在不断地更新。,例:建立医生数据库,2,外模式也称用户模式,通常是模式的子集,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。(1)如用户意欲知道某类职务有哪些医生,以及这些医生的性别和年龄;但不能将其它个人情况外泄。将医生数据库的模式中的“医生工号、姓名、性别、出生日期”这些特征抽出来组合成一个新的模式,得到满足该应用需求的一个外模式: 简况(医生工号,姓名,性别,出生日期),(2)当需要查询某类职务(如,主治医师)的医生情况时,DBMS就会根据这个外模式,临时将该类职务的所有医生的简要情况从医生数据库中提取出来呈现给患者。 “51000800001,赵一凡,男,1969-02-06,主治医师”根据不同的应用需求或者数据库安全的考虑,一个数据库可以有多个外模式。,3内模式也称存储模式,是数据库中全体数据的物理结构和存储方式,它是数据库中的数据在存储设备中的具体组织和实现方式。(1)分析医生数据库和现实情况,发现医生数据库模式中“职务”特征上的值重复率很高且极少更新,此外,应用需求涉及的查询条件中经常出现“职务”相等的情况。(2)为“职务”特征建立聚簇索引,即将“职务”上具有相同值的记录集中存放在连续的物理空间中。将医生数据库中的数据按“职务”值聚簇存储的物理结构,就成为了医生数据库的内模式。,(3)当用户查询某类职务医生的情况时(如,主治医师的平均工资情况),由于根据这个内模式存放的“主治医师”的医生记录是聚集在一起的,DBMS就可以用最少的磁盘访问次数找到所有“主治医师”的工资情况并进行汇总,大大提高了在这个特征上的查询速度。一个数据库的内模式是根据不同的现实情况和不同的应用需求来设计的,一经确定,一个数据库只有该一个内模式。,4.1.3 关系数据库的基本概念,“关系”一词来源于数学集合论的“关系”这一概念,因为关系数据库的产生和发展是基于严格的数学理论和方法之上的。,数据模型,数据库的数据结构形式,叫数据模型,它是对数据库如何组织的一种模型化表示。数据模型是数据库技术的核心,所有的数据管理系统都是基于某种数据模型的。层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model),层次模型的结构是树型结构,树的节点是实体。树的枝是联系。有且仅有一个结点无父结点,该结点称为根。其他结点有且仅有一个父结点。,(1) 层次模型,网状模型是用网状结构表示实体及其之间的联系,网中结点之间的联系不受层次限制,可以任意发生联系。一个子节点可以有两个或多个父节点。在两个节点之间可以有两种或多种联系。可能有回路存在。,(2)网状模型,目前,数据库领域中最重要的模型是关系模型,应用最广泛的数据库是关系数据库。在系统中,如果根据自己定义的关系来存储、处理和管理数据库信息,那么这种数据库管理系统就是关系型数据库系统。关系模型中数据的逻辑结构在用户看来,就是一张二维表。,1. 关系模型和关系数据库,关系名: 医生基本情况表,主码,属性(列)和属性名,字段,记录,关系模型中的一些基本概念,实体:客观存在并可以相互区别的事物。如一个学生、一个学生的成绩、一个病人、一个医生实体集:同一种类型实体的集合。所有的男生、所有学生的成绩、所有病人 、所有医生属性:实体所具有的特性(字段)。如学生的姓名、年龄、性别、病人的姓名、医生的姓名域:属性的取值范围。如性别的域是:男、女元组:属性名下面的每一行(记录),候选码(候选关键字):在关系的所有属性中,可以唯一确定一个元组的某一个属性或某几个属性的组合。如医生编号属性作为候选码唯一地确定一个元组。主码(关键字):当候选码多于一个时,可选取其中一个码作为主码。如医生编号属性是本关系的主码。 主属性:候选码的诸属性。如“医生工号”是主属性。非主属性:不包含在任何候选码中的属性。如“姓名”、“性别”等是非主属性。,一个医生实体,所有医生,医生的姓名,关系模型中的一些基本概念,主码,关系模型中的一些基本概念,外码:表中的某个属性组,虽然不是主码,但与另一个表中的主码相对应。如医生基本情况表中的科室代码属性,虽然不是主码,但它与科室表中的主码科室代码属性相对应,因此,医生基本情况表中的科室代码属性就是医生基本情况表的外码。,关系名科室表,关系名医生基本情况表,主码,主码,外码,关系型数据库,关系数据库采用关系模型作为数据的组织方式。目前应用范围较广的关系型数据库有:中小型数据库系统FoxPro、Access等大型数据库系统Oracle、SQL server、SyBase等,关系数据库术语,字段(Field)二维表中的列就是字段。一个字段表示对象的某一属性,字段有确定的数据类型。记录 ( Record)二维表中的一行数据就是一个记录。在数据库中的每一行,应该包含一条唯一的信息。数据表 (Table)一个表就是一组字段或记录的集合。在数据库中的每个表代表一个不同的实体。,相关表包含在数据库中的数据表自由表与数据库没有联系的数据表。 关键字字段( Key word )唯一标识一行记录的属性表示两个或更多表之间关系(关键字中存储的数据值在关联表的关联记录之间是相同的),关系数据库术语,主关键字(也称主键):是标识一个记录的唯一标识符字段或字段组。主关键字必须能够唯一标识表中的每一个记录,因此,不能有重复的值。 组合关键字:是集中一组字段来唯一标识一个记录。 外关键字:是表中的一个字段(或一组字段),它们是参照与之相关联的表中的字段。,主关键字、外关键字和组合关键字,为各种应用提供数据服务:(1)展示数据库中的数据;(2)将新的数据添加到数据库中;(3)清除数据库中的部分(或全部)数据;(4)对数据库中的数据进行更新。,2. 关系数据库的数据操作,这些服务项目都可以通过关系数据库的4个数据操作之一来实现:(1)查询操作(2)插入操作(3)删除操作(4)修改操作这些数据操作中,除了查询操作不会导致数据库中的数据发生变动之外,其余3种操作都会引起数据库中的数据发生变动,进而有可能会危及到数据库的安全性和完整性。,为了保证在数据操作的过程中数据库中的数据必须是正确的,安全和完整的, 在数据库的设计和实现中,为数据库中的数据设计和实施一套保障措施,这套措施是一组规则,称为关系的完整性约束条件:实体完整性:基本关系的所有主属性都不能取空值。实体完整性约束条件用以保证关系中的每一个元组都可以被识别.参照完整性:基本关系中外码的取值必须是,或者取空值,或者等于与其相对应的关系中的某个元组的主码值。参照完整性约束条件用以保证关系之间一定可以通过一个数据找到与之相关的另一个数据。,3. 关系的完整性约束条件,用户定义的完整性:由用户自己定义的约束条件。用户定义的完整性约束条件用以保证关系中的数据取值是合理的。注意:完整性约束条件的定义是由用户负责的,但具体实施是由DBMS全权负责的,全程都不需要用户干预。,数据库设计的步骤,4.1.4 数据库设计,概念模型:了解用户的应用需求,分析具体的现实情况,将相关的现实情况进行抽象而得到概念模型,并用实体(Entity)-关系(Relationship)图(简称E-R图)来描述这个概念模型,因此概念模型也称E-R模型。E-R模型包括三要素,分别是实体、实体的属性、实体之间的联系。,1. 建立概念模型,“科室”实体及其联系图,E-R模型,两个表之间的关系是指两个表共享共同的关键字字段。一个关系数据库能够组合主关键字和外关键字, 以在数据表之间创建关系。 1)一对一关系意味着一个表中的每一条记录,在与之相关联的表中仅有一个单独的记录与之相对应。2)一对多关系一个表中的一个记录在与之相关联的表中有一个或多个相关的记录。 3)多对多关系一个表中的许多记录在另一个表有许多与之相关的记录。,数据表间的关系,2. 建立逻辑模型,逻辑模型:遵循相应的转换规则,将E-R模型中的每一个对象都转换成基于关系的数据库的逻辑模型数据库的关系模式,再附加上对应的完整性约束条件,从而得到数据库的逻辑结构。 科室表的逻辑结构,3. 数据模型的规范化,规范化是在数据库设计中科学地组织数据以达到最小化冗余的过程。规范化程度的高低以范式来衡量:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)、第四范式(4NF)和第五范式(5NF),最低的范式是1NF,最高的范式是5NF。一个低一级范式的关系模式,通过将其分解,可以转换为若干个高一级范式的关系模式,这种从低范式至高范式的分解过程就称为数据库设计的规范化。,1NF:要求数据表中的每一个分量必须是一个不可分的数据项,它通过观察数据和表结构来完成第一范式。,没有满足1NF的专家表,2NF:数据表达到1NF后,要求数据表中的所有非主属性完全依赖于表的主码。,3NF:数据表达到2NF后,要求数据表中的所有非主属性只能完全依赖于表的主码。 将专家表进行规范化,即从2NF提升为3NF:,挂号费表,新专家表,