版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河河 南南 科科 技技 大大 学学Henan University of Science and Technology第第4章章 数据库技术基础数据库技术基础引引 言言 数据库技术从数据库技术从20世纪世纪60年代中期产生到今天年代中期产生到今天仅仅仅仅40多年的历史,但却是计算机科学技术中发多年的历史,但却是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一。展最快的领域之一,也是应用最广的技术之一。从小型单项事务处理系统到大型信息系统,从联从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理系统,从一般企业管机事务处理到联机分析处理系统,从一般企业管理到计算机辅助设计
2、与制造,越来越多的应用领理到计算机辅助设计与制造,越来越多的应用领域采用数据库存储和处理数据资源。域采用数据库存储和处理数据资源。河河 南南 科科 技技 大大 学学Henan University of Science and Technology学习目的学习目的 通过本章的学习,了解数据库的基本概念,掌握数据库设计的基本方法和技巧;掌握数据组织的方法、文件系统的结构,熟悉数据模型、关系模式、数据库规范化等要领,重要掌握ER模型。第第4章章 数据库技术基础数据库技术基础河河 南南 科科 技技 大大 学学Henan University of Science and Technology教学内容
3、:4.1 文件组织4.2 数据库技术4.3 数据库设计 第第4章章 数据库技术基础数据库技术基础河河 南南 科科 技技 大大 学学Henan University of Science and Technology三个世界的数据模型三个世界的数据模型 现实世界 存在于人们头脑之外的客观东西 信息世界 现实世界在人们头脑中的反映,人们把它用文字和符号记载下来 数据世界 信息世界的信息在机器世界中以数据形式存储河河 南南 科科 技技 大大 学学Henan University of Science and Technology三个世界术语对照表三个世界术语对照表现实世界现实世界 信息世界信息世界
4、数据世界数据世界全体全体个体个体特征特征实体集实体集实体实体属性属性文件文件记录记录数据项数据项(字段)(字段)例子例子某厂全体职工的个人某厂全体职工的个人数据资料数据资料职工张三的数据职工张三的数据(张三,男,(张三,男,25,工程师),工程师)河河 南南 科科 技技 大大 学学Henan University of Science and Technology 在管理信息系统中,数据的组织方式以及内在联系的表示方法直接决定着数据处理的效率。关于数据组织,我们可以从不同的角度进行理解。从层次上看,数据组织包括数据项、记录、文件、数据库四个层次;从方式上看,数据组织包括文件组织和数据库组织两种
5、方式。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.1.1 数据组织的层次数据组织的层次 如下图所示,数据组织包括四个层次:数据项、记录、文件、如下图所示,数据组织包括四个层次:数据项、记录、文件、数据库。数据库。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.1.1 数据组织的层次(续)数据组织的层次(续)1. 数据项数据项 数据项是组成数据系统的有意义的最小基本单位。它的作用是描述一个数据处理对
6、象(实体)的某些属性。2记录记录 与数据处理的某一对象有关的一切数据项构成了该对象的一条记录。记录中能惟一地标志该记录的数据项称作主键。3文件文件 文件是相关(同类)记录的集合。4数据库数据库 数据库是一定方式组织起来的逻辑相关的文件的集合。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.1.1 数据组织的层次(续)数据组织的层次(续)例:学生数据的组织层次4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology
7、4.1.2 文件组织文件组织1.文件的概念:文件的概念: 数据文件(简称文件)是为了某一特定的目的而形成的同类记录的集合。随着计算机在数据处理上的应用,出现了文件系统。文件系统是负责存和管理文件的软件,它利用磁盘、磁带等大容量的外存设备作为存放文件的存储器,用户可以把一批数据定义成一个文件,通过文件系统命名,实现对文件的按名存取。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology2.文件组织方式文件组织方式 文件组织方式是指文件内部构造数据的方式,主要有顺序文件、索引文件和散列文件三种。它们的主要区别在
8、于文件中记录的物理顺序和逻辑顺序之间的对立关系。 文件组织问题不是DB出现后才有的,在文件系统中已经充分研究过。目前,文件管理仍是OS的主要功能之一。有些DBMS就以OS的文件管理作为其物理层的基础。更多的DBMS独立设计存储结构。 DB中的文件既继承了传统文件系统的某些技术,又有与之相区别的特点。 文件组织关系到数据处理的效率和对记录的操作方式。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology 文件组织关系到数据处理的效率。根据管理活动的需求,MIS中的数据往往被用于不同的目的,因而需要根据特定的应
9、用对它们采用不同的文件组织方法。 一个大型企业的人事系统,里面存储上万条职工记录,因为企业很少对这些数据进行大批量的改动,而数据的主要用途是被用来查询。因此对查询的响应时间成为考虑文件组织的一个重要的前提。 一个超市的销售系统中,系统主要进行数据处理的,每天要读取每一种商品的销售记录,在每一天营业活动结束时,要将销售情况做成日报。在这种背景下,如何高效率地处理大量的数据,成为考虑它的文件组织一个重要因素。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.1.2 文件组织文件组织1.顺序文件顺序文件
10、顺序文件是指按记录进入文件的先后顺序存放、其逻辑顺序和物理顺序一致的文件。文件中的记录按主键的值递增(或递减)次序排序,形成其逻辑顺序。 如,磁带文件 连续存取的速度快,适用于批处理和定期处理任务 如,数据备份和定期的财务报表 河河 南南 科科 技技 大大 学学Henan University of Science and Technology2. 索引文件索引文件 索引文件由数据区和索引表构成。数据区即文件本身;在文件本身外建立的一张索引表,它指明逻辑记录和物理记录之间的对应关系。索引表由若干索引项组成,一般索引项由主键和该键所在记录的物理地址组成。 索引文件索引文件索引区索引区数据区数据区
11、前部分,数据项、通常就是关键字前部分,数据项、通常就是关键字后部分,记录的存储地址后部分,记录的存储地址指针指针(数据项数据项)4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology索引文件的一般结构索引文件的一般结构关键字关键字(学号)(学号)指针指针1101110211031104GCEA学号学号姓名姓名专业专业110411031101刘丽刘丽赵飞赵飞1102张伟张伟李杰李杰MISMISMSMSABCDEFG索引表索引表数据文件数据文件记录记录地址地址4.1 文件组织文件组织河河 南南 科科 技技 大大
12、 学学Henan University of Science and Technology索引文件如何工作索引文件如何工作 先根据关键字从索引表中查出记录所在的位置,然后再到该位置取出数据 逻辑顺序与记录的物理顺序无关 提高查询效率 索引本身要占一定的存储空间(索引本身也是一张表)4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology满足下列条件之一的属性或表不宜建立索引 不出现或很少出现在查询条件中的属性 属性值很少的属性,如:性别,用索引还不如顺序扫描 属性值分布严重不均的属性。如:职工年龄 经常更新的
13、属性或表,因为更新时索引需要维护 过长的属性,如:超过30个字节,索引的存储空间较大 太小的表4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology宜建索引 主关键字一般可建立索引 以读为主或只读的表,只要需要,且存储空间允许,可建索引 有些查询可以从索引直接得到结果,不必访问数据块,宜建索引。如,查询某属性的MIN或MAX 对于等值查询(即查询条件中以等号为比较符),如果满足条件的元组是少量的,可考虑在有关的属性上建索引 数据库系统运行以后还可以进行调整,有些索引一时难以决定是否建立,可留待运行时通过实验
14、来确定。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology3.散列文件散列文件 散列文件是利用散列存储方式组织的文件,亦称直接存取文件,即根据文件中关键字的特点,设计一个散列函数和处理冲突的方法,将记录散列到存储设备上。散列文件最常用的实现方法有直接地址法和相对键法 在数据库系统中用得不多4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.1.3 数据库组织数据库组织 数据库组织是比文件组织更高级的一种数据组织
15、方式。由于文件系统的结构只限记录内部,因而仅能适用于单项应用的场合。对于一个组织的管理信息系统而言,要求从整体上解决问题,不仅要考虑某个应用的数据结构,而且要考虑全局数据结构。为了实现整个组织数据的结构化,就要求在数据组织结构中不仅能够描述数据本身,而且要能描述数据之间的关系(这正是数据库的特点)。因而在复杂的应用中,应采用数据库来组织数据。4.1 文件组织文件组织河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2 数据库技术数据库技术 早在早在20世纪世纪60年代,数据库技术作为现代信息系统基年代,数据库技术作为现代信
16、息系统基础的一门软件学科便应运而生了。现在,数据库技术已础的一门软件学科便应运而生了。现在,数据库技术已成为计算机领域中最重要的技术之一,它是软件学科中成为计算机领域中最重要的技术之一,它是软件学科中一个独立的分支。它的出现使得计算机应用渗透到工农一个独立的分支。它的出现使得计算机应用渗透到工农业生产、商业、行政、教育、科学研究、工程技术和国业生产、商业、行政、教育、科学研究、工程技术和国防军事的各个部门。防军事的各个部门。 河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2.1 数据库的由来和发展数据库的由来和发展 数
17、据库这个名词起源于数据库这个名词起源于20世纪世纪50年代,当时美国为了战争的需要,把各种情年代,当时美国为了战争的需要,把各种情报集中在一起,存入计算机,称为报集中在一起,存入计算机,称为Information Base或或Database。1963年美国年美国Honeywell公司的公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库)系统投入运行,揭开了数据库技术的序幕。技术的序幕。1965年美国利用数据库帮助设计了阿波罗登月火箭,推动了数据库年美国利用数据库帮助设计了阿波罗登月火箭,推动了数据库技术的产生。当时社会上产生了许多行行色色的技术的产生。当时社
18、会上产生了许多行行色色的Database或或Databank,但基本,但基本上都是文件系统的扩充。上都是文件系统的扩充。1968年美国年美国IBM公司推出了层次模型的公司推出了层次模型的IMS数据库系统,数据库系统,并于并于1969年形成产品;年形成产品;1969年,提出了年,提出了COBOL语言的美国语言的美国CODASYL(Conference on Date System Language,数据系统语言协会)组织的数据库,数据系统语言协会)组织的数据库任务组(任务组(DBTG)发表了网状数据库系统的标准文本()发表了网状数据库系统的标准文本(1971年正式通过);年正式通过);1970年
19、初,年初,IBM公司的高级研究员公司的高级研究员E.F.Codd发表论文提出了关系模型,奠定了关系数发表论文提出了关系模型,奠定了关系数据库的理论基础。据库的理论基础。4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2.1 数据库的由来和发展(续)数据库的由来和发展(续) 20世纪70年代是数据库蓬勃发展的年代。网状系统和层次系统占领了市场,关系系统开始处于实验阶段,IBM公司研制出了原型关系语言System R。1979年关系软件(Relational Software)公司推出了第一个基于
20、SQL的商用关系数据库产品Oracle。 20世纪80年代起,关系数据库产品已相当成熟,取代了网状系统和层次系统的市场。同时关系数据库理论也日趋完善,走向更高级的阶段,有了分布式数据库系统(Distributed database Systems)等。后来,从不同的计算机应用领域提出了许多数据库的非传统应用课题,诸如多媒体数据、空间数据、时序数据、科学数据、复杂对象、知识、超文本管理等。为了适应这类应用的需要,提出了不少新的概念、新的数据模型和系统结构。经过几年的研究和实践,逐步形成了面向对象数据库系统(Object_Oriented Database Systems)、主动数据库系统(Act
21、ive Database Systems)、大型知识库系统(Large Knowledge Base Systems)、数据库中的知识发现(Knowledge Discovery in Database)以及科学数据库(Science Database)等热点。4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology(1)人工管理阶段)人工管理阶段应用程序应用程序1数据组数据组1应用程序应用程序2数据组数据组2应用程序应用程序n数据组数据组n.4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学
22、Henan University of Science and Technology(2 2)文件管理阶段)文件管理阶段应用程序应用程序1数据文件数据文件1应用程序应用程序2数据文件数据文件2应用程序应用程序n数据文件数据文件n.文件系统文件系统操作系统操作系统4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology数据管理技术的发展数据管理技术的发展(1 1)程序管理阶段)程序管理阶段 数据和程序结合为一个不可分的整体 一组数据对应一个应用程序(2 2)文件系统管理阶段)文件系统管理阶段 数据文件按应用
23、程序的要求而建立 程序和数据有一定的独立性,仍相互依赖 各文件相互独立,分散保管,数据的一致性不易控制 文件系统是用户和用户应用程序与数据文件间的接口4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology(3 3)数据库方法阶段)数据库方法阶段 使用数据库管理系统DBMS 不仅描述数据本身,还描述数据之间的联系 数据在统一控制下,为尽可能多的用户服务用户或用户程序用户或用户程序用户或用户程序用户或用户程序用户或用户程序用户或用户程序 数据库数据库数据库数据库管理系统管理系统如如Access、Foxpro
24、Oracle、DB2等等4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology数据库系统的优点数据库系统的优点 数据独立性强p物理独立性 数据库的物理组织发生变化不影响数据的逻辑结构p逻辑独立性 数据库的逻辑结构改变时,无须改变应用程序 数据冗余度(data redundancy)小 数据的共享性高 数据的一致性好 有数据安全和完整性保障4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology数据库系统组成数据库系
25、统组成DBMSOS硬件硬件数据库数据库用户接口用户接口批批处处理理接接口口应应用用程程序序DBMS,负责数据库,负责数据库的定义、建立、操纵、的定义、建立、操纵、管理和维护管理和维护4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2.2 数据库系统的概念数据库系统的概念 在系统地介绍数据库的基本概念之前,这里首先介绍一些数据库中最常用的术语和基本概念。1数据数据 数据是数据库中存储的基本对象。什么是数据呢?数据是记录客观事物的性质、状态以及相互关系的可以识别的物理符号。2数据库数据库 数据库,
26、顾名思义,就是存放数据的仓库。只不过这个仓库是在存储在计算机设备上,并且是按一定的格式存放的。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是以一定的组织方式存储在一起的相关数据的集合。在日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。 4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology3数据库管理系统数据库管理系统 数据库如何建立,又如何管理呢?这个任务是通过一个软件来完成的,这个软件就是数据库管理系统。数据库管理系统用于协助用户创建、维护和使用数据库
27、的系统软件。数据库管理系统是应用程序与数据库的桥梁,应用程序是通过数据库管理系统来访问数据库的。常见的数据库管理系统有:Oracle、SQLServer、DB2、FoxPro等。4数据库系统数据库系统 数据库系统是引进了数据库技术的计算机系统。完整的数据库系统由硬件、数据库、数据库管理系统、操作系统、应用程序、数据库管理员、用户等部分组成。一般而言,在不引起混淆的情况下,常常把数据库系统简称为数据库。4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2.3 数据库系统的特点数据库系统的特点1数据
28、结构化2数据共享性高3数据独立性好4数据冗余度低5统一的数据管理和控制: 数据的安全性保护 数据的完整性控制 数据库恢复 并发控制4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology数据库的三级体系结构数据库的三级体系结构用户用户用户用户用户用户子模式子模式子模式子模式子模式子模式/模式映射模式映射模式模式/存储模式映射存储模式映射模式模式存储模式存储模式用户级用户级概念级概念级物理级物理级用户用户视图视图DBA视图视图 系统系统管理员管理员 视图视图4.2 数据库技术数据库技术河河 南南 科科 技技
29、 大大 学学Henan University of Science and Technology数据库的三级体系结构(续)数据库的三级体系结构(续)ANSI提出的数据库结构的标准化建议: 用户级,亦称外模式p是数据库用户看到的数据视图 概念级,称为概念模式,模式p对数据库整体逻辑结构的描述p统一考虑所有用户现在和将来的需求,并把这些需求所涉及的记录及记录间的联系有机地结合成一个逻辑整体 物理级,又称内模式或存储模式p对数据物理结构和存储方式的描述,对用户是透明的p物理组织修改后,不必修改模式4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of S
30、cience and Technology4.2.4 数据库系统的数据模型数据库系统的数据模型1数据模型的概念数据模型的概念 模型是现实世界特征的模拟和抽象。如一张地图、一组建筑设计沙盘、一架精致的航模飞机都是具体的模型。数据模型也是一种模型,它是现实世界数据特征的抽象。现有的数据库系统均是基于某种数据模型的。简单地说,数据模型就是现实世界的模拟。4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of S
31、cience and Technology关系数据库模型关系数据库模型 (Relational database model) DB概念模型:层次模型、网络模型、关系模型 RDB在80年代推出,新推出的DBMS几乎都支持关系模型 关系模型以表(Table)这一统一形式来表示数据的逻辑结构 关系数据库有一套完善的关系代数理论和方法支持4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology1.层次模型(层次模型(Hierarchical model) 层次模型的数据结构p用树形结构来表示实体之间联系的模型叫
32、层次模型p层次数据库系统的典型代表是IBM公司的IMS系统 特点p每个记录只有一个父结点,当表示M:N关系时必然存在冗余p只有一个结点无父结点p总是从父记录指向子记录p一个单位的层次模型可有多棵树构成p联系一般用指针实现(或物理邻接)p每个记录只有一个查找路径4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology系号系号系名系名 负责人负责人专业代号专业代号专业名专业名教师代号教师代号 姓名姓名 职务职务学号学号姓名姓名年龄年龄性别性别学号学号姓名姓名年龄年龄性别性别系系专业专业教师教师学生学生课程课程
33、查询时采用广度遍历策略,操作人员必须熟悉数据的层次结构查询时采用广度遍历策略,操作人员必须熟悉数据的层次结构层次模型使用指针来避免大量的数据冗余,但这样会导致数据模层次模型使用指针来避免大量的数据冗余,但这样会导致数据模式的不清晰式的不清晰4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology2.网状模型(网状模型(Network Model) 网状模型的数据结构p用有向图结构表示实体类型及实体间的联系p网状数据模型的典型代表时DBTG系统 特点p可以有一个以上的结点无父结点p至少有一个结点多于一个父结
34、点p联系由指针实现p每个记录可由多条查找路径4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology通过Link联系记录表达m:n关系。用户在使用网状DB时,不但要说明做什么,而且还要说明怎么做,即给出存储路径学生学生S学号学号 姓名姓名 年龄年龄 性别性别课程号课程号名称名称学号学号课程号课程号 成绩成绩课程课程C课程成绩单课程成绩单C-SC学生成绩单学生成绩单S-SC学生选课学生选课SC4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science
35、 and Technology3.关系数据模型(关系数据模型(Relational data model) 每一行称为一个记录或者元组 每一列称为一个字段或者属性或者列ABLEBAXTERCHENDENVERHoursRateTotal$ 40.50$ 10.35$ 40.50$ 38.00$ 8.75$ 332.50$ 42.70$ 9.25$ 394.98$ 35.90$ 9.5$ 341.054.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology代号代号城市城市生产厂家生产厂家S2S4机床配件厂机
36、床配件厂工业设备厂工业设备厂北京北京上海上海编号编号名称名称材质材质规格规格P1P2P3P4螺丝帽螺丝帽螺栓螺栓螺丝钉螺丝钉法兰盘法兰盘钢钢铁铁钢钢铝铝12171412S2代号代号编号编号数量数量S2S2S4S4P1P2P3P4P5P1P2P3P4P5300400530500600从北京机床厂购置了哪从北京机床厂购置了哪些零部件?些零部件?4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology 在RDB中,用户需要用多个相关联的表中的信息来生成管理所需的报表。通过关系运算,可以将任何两个用共同数据项的表
37、关联起来,这就是RDB的威力所在。 关系数据库的三种基本操作p选择:在表中找出符合指定条件的记录p连接:把相关的表合并起来,向用户提供比单个表更多的信息p投影:在已有表的基础上,选定所需的列建立一个新表4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology 代号生产厂家城市编号数量名称材质规格S2机床配件厂北京P1300螺丝帽钢12S2机床配件厂北京P2400螺栓铁17S2工业设备厂上海P2300螺栓铁17S4工业设备厂上海P4500螺丝钉钢14S4工业设备厂上海P5600法兰盘铝124.2 数据库技术
38、数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology 为什么不在设计数据库时就用上述这为什么不在设计数据库时就用上述这张大表?张大表?4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology 代号生产厂家城市编号数量名称材质规格S2机床配件厂北京P1300螺丝帽钢12S2机床配件厂北京P2400螺栓铁17S2工业设备厂上海P2300螺栓铁17S4工业设备厂上海P4500螺丝钉钢14S4工业设备厂上海P5600法兰盘铝12缺点:缺点
39、:数据冗余度大。数据冗余度大。如,设备厂出现的次数如,设备厂出现的次数插入异常。插入异常。如,要添如,要添“铜帽铜帽”,因没进货,没法插入,因没进货,没法插入删除异常。删除异常。如,没进北京螺帽,则把螺帽材质为如,没进北京螺帽,则把螺帽材质为“钢钢”的信息去掉的信息去掉更新异常。更新异常。如,要更新螺栓规格,则要逐一更换。如,要更新螺栓规格,则要逐一更换。4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.2.5 关系模型的规范化理论关系模型的规范化理论 关系模型的好坏对数据的存储、操作有很大影响
40、。因此,一般要对得到的关系模式进行优化(规范化) 规范化理论是E.F.Codd在1971年提出的,研究关系模型中各属性之间的关系,探讨关系模型应具备的性质和设计方法初步得到的关初步得到的关系模型系模型优化后的关系模型优化后的关系模型(数据库设计结果)(数据库设计结果)规范化理论规范化理论4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology范式的定义范式的定义1NF:如果一个关系模式R的所有属性都是基本的、不可分的,则称R为第一范式2NF:如果关系模式R是1NF,而且非关键字的属性完全函数依赖于关键字属
41、性,那么关系模式R是第二范式3NF:如果关系模式R是2NF,而且每个非关键字的属性不是传递依赖于关键字,那么关系模式R是第三范式BCNF:若关键模式R中的每个决定因素,都是R的一个候选关键字,则称R是BCNF5NF 4NF BCNF 3NF 2NF 1NF包含于包含于4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology范式实例范式实例(1)下面的关系物资价税表不满足第一范式的条件,不是第一范式物资价税表物资价税表去掉可分割的数据项后,可得到下面的关系,它已是第一范式物资编码物资编码物资名称物资名称物资
42、价税物资价税物资金额物资金额增值税额增值税额0101003生铁生铁1000102物资编码物资编码物资名称物资名称物资金额物资金额增值税额增值税额0101003生铁生铁10001024.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology范式实例(范式实例(2)例:下面的关系模式中,主码为“教师代码” 非主属性“院系名称”依赖于主码“教师代码”,而“院系负责人”又依赖于“院系名称”。因此,“院系负责人”传递依赖于主码“教师代码”。该关系不是第三范式。教师代码教师代码教师姓名教师姓名院系名称院系名称院系负责人
43、院系负责人Y0001Y0002Y0003江涛江涛张伟张伟何莉莉何莉莉应用学院应用学院应用学院应用学院应用学院应用学院李利华李利华李利华李利华李利华李利华4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology 上例中消除传递依赖关系的办法是将关系“教师”分解为如下两个满足第三范式的关系:(教师代码,教师姓名,院系名称,院系负责人)p 教师(教师代码,教师姓名、院系名称)p 院系(院系名称,院系负责人)4.2 数据库技术数据库技术河河 南南 科科 技技 大大 学学Henan University of Sc
44、ience and Technology规范化小结规范化小结 在关系数据库中,对关系模式的基本要求是满足第一范式,这样的关系模式就是合法的、允许的。但是有些关系模式存在数据冗余、存储操作异常等不足,因此,要进一步改善关系模式,这就是规范化的目的 关系模式的规范化过程是采用投影分解的方法来实现的,分解时应注意保证分解前和分解后的等价性 规范化等级的选择要综合考虑多种因素,要在减少数据冗余、消除存储操作异常和响应时间之间做出合理的折衷。一般而言,规范化等级越高,检索时需要的连续操作就越多,DBMS的开销就越大,响应时间变长 实际研制和开发数据库系统时,多采用3NF和BCNF4.2 数据库技术数据库
45、技术河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.3 数据库设计数据库设计4.3.1 数据库设计的概念数据库设计的概念 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求的过程。其中,应用环境包括数据库管理系统、操作系统和硬件环境等。 河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.3.2 数据库设计的步骤数据库设计的步骤 数据库设计方法中比较著名的是新奥尔良(New
46、 Orleans)法。它将数据库设计分为四个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计。 需求分析 概念结构设计 逻辑结构设计(得出好的关系模式) 物理结构设计(数据库在物理存储设备上如何组织)4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.3.3 概念结构设计概念结构设计 前面已谈到,描述概念模型的主要工具是E-R模型。利用E-R模型实现概念结构设计的方法叫做E-R方法。4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Sci
47、ence and Technology 实体(entity): 是指明客观存在并相互区别的事物。实体可以是具体对象,例如一本书、一个工厂、一种材料等。也可以是抽象的概念和联系,例如学生的一次选课、一次借书等 实体集(entity set) :具有相同性质的同类实体的集合。例如所有教师、所有选课等 属性(attribute):实体具有许多特性,每一个特性称为属性。每个属性有一个联欢会范围,即值域。例如学生的实体可由学号、姓名、性别、年龄、系别等属性组成。性别的取值范围是“男”或“女” 主键(key):惟一标识实体的属性集称为主键。例如学生实体的学号可作为学生实体的主键河河 南南 科科 技技 大大
48、 学学Henan University of Science and Technology(1)实体间的联系)实体间的联系 现实世界中,事物是相互联系的。这种联系必然在信息世界中体现出来,即实体是相互关联的。两个不同实体集的实体间的联系,它有以下三种情形: 一对一联系,记为1:1。例如工厂与厂长之间,科研任务与课题组长之间都是1:1联系 一对多联系,记为1:N。例如一个学校有若干学生,而每个学生都在一个学校学习,学校与学生之间是一对多的联系 多对多联系,记为M:N。例如课程与学生之间,一个学生可选多门课程,而每一门课程可有多个学生选修,课程与学生之间是多对多的联系河河 南南 科科 技技 大大
49、学学Henan University of Science and Technology(2)E-R模型的表示方法模型的表示方法矩形:表示实体,框中填写实体名椭圆:表示属性,框中填写属性名菱形:表示联系,框中填写联系名无向边:连接以上三种图形4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology例学生与课程构成学习关系例学生与课程构成学习关系nm课程号课程名学分学生学习课程成绩姓名年龄性别学号4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Scien
50、ce and Technology例例 三个实体型之间多对多联系三个实体型之间多对多联系供应商项目零件供应4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and TechnologyE-R模型设计举例模型设计举例 为仓库管理设计一个E-R模型。该仓库主要管理零件的入库、出库和采购等事项。仓库根据需要向外面厂家定购零件,而许多工程项目需要仓库供应零件。 建立E-R图的过程如下:4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology 确定
51、实体类型 工程项目PROJECT,零件PART,供应商SUPPLIER 确定联系模型 PROJECT和PART之间是M:N联系,定义为P-P PART和SUPPLIER之间也是M:N联系,定义为P-Sp把实体类型和联系类型组合成E-R图p确定实体类型和联系类型的属性p确定实体类型的键,在属于键的属性名下划一横线4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and TechnologyE-R模型设计举例(续)模型设计举例(续)PROJECTPARTSUPPLIERTOTALQUANTITYP-PP-SMNMNJ#p#s#DA
52、TEWEIGHTSADDRJNAMEPNAMECOLORSNAMEE-R图实例图实例4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and TechnologyTEACHERT_CDEPTSTUDENTC_SCOURSE评价评价成绩成绩D_T1kmntp 为教务管理设计信为教务管理设计信息模型,用息模型,用E-R图表示。图表示。要求包含系信息,教师要求包含系信息,教师信息、学生信息、以及信息、学生信息、以及学生选课成绩。学生选课成绩。希望可希望可方便获取某教师的讲授方便获取某教师的讲授课程及听课学生的情况,课程及听课学生的情
53、况,可获取学生所选课程。可获取学生所选课程。河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.3.4 逻辑结构设计逻辑结构设计 逻辑结构设计的任务,就是把概念结构设计阶段建立的E-R模型,转换成选定的数据库管理系统所支持的数据模型(层次模型、网状模型、关系模型)。由于我们现在使用的数据库管理系统大多采用关系数据模型,所以逻辑结构设计的任务也就是将E-R模型转换为关系模型。关系模型是目前最常用的一种数据模型。 4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science
54、 and Technology1.关系模型的基本概念关系模型的基本概念以学生表为例,介绍关系模型中的一些术语 学号姓名性别出生日期年龄政治面貌籍贯200201周小云女09/10/8220党员山东200202赵大伟男08/16/8220团员河北200203刘丽丽女09/20/8022团员山东200204李 强男10/14/8220群众河北200205陈 光男09/15/7923党员山东200206王 佳男08/09/8121团员北京4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology 关系一个关系对应一
55、张二维表,二维表名就是关系名,表4-2就是一个关系。 元组表中的一行即为一个元组。如表4-2中的(200201,周小云,女,09/10/82,20,党员,山东)就是一个元组。 属性表中的一列即为一个属性,给每一个属性起一个名字即属性名。如表4-2有六列,对应六个属性,属性名分别为学号、姓名、性别、出生日期、年龄、政治面貌和籍贯。4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology 码 能够唯一标识一个元组的属性或属性集。如表4-2中的学号,可以惟一确定一个学生,也就成为本关系的码。 主属性与非主属性
56、包含在任一码中的属性称主属性,否则称为非主属性。 关系模式 对关系的描述称为关系模式,一般表示为:关系名(属性1,属性2,属性n)。如学生表(学号,姓名,性别,出生日期,年龄,政治面貌,籍贯)。4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology2.E-R模型转换为关系模型模型转换为关系模型 E-R模型向关系模型的转换就是解决如何将实体和实体间的联系转换为关系,并确定这些关系的关系名、属性和码。这种转换一般按下面的原则进行: 一个实体转换为一个关系p实体名就是关系名p实体的属性就是关系的属性p实体的码
57、就是关系的码 一个联系转换为一个关系p联系名作为对应的关系名p联系本身的属性、联系所连接的实体的码都转换为关系的属性。如: 厂家(代号,厂家,城市) 进货(代号,编号,数量) 零件(编号,名称,材质,规格)4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology例将图中的三个E-R模型分别转换为关系模型4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology对于图对于图A,转换的结果为:,转换的结果为:厂长(厂长号、
58、姓名、年龄) (下划线表示关系的码)工厂(厂号、厂名、地点)对于图对于图B,转换的结果为:,转换的结果为:仓库(仓库号、地点、面积)产品(货号、品名、价格)对于图对于图C,转换的结果为:,转换的结果为:学生(学号、姓名、性别、助学金)课程(课程号、课程名、学时数)学习(学号、课程号、成绩)4.3 数据库设计数据库设计河河 南南 科科 技技 大大 学学Henan University of Science and Technology4.3.5 SQL (Structured Query Language,结构查询语言) 集数据定义语言(DLL)、数据操纵语言(DML)、数据控制语言(DCL)为一体,可实现DB生命周期的全部活动 两种使用方式,(宿主,自含),统一的语法结构 高度非过程化,用户只要提干什么,不需指示怎么干 语言简洁,接近英语口语,核心动词只有以下几个:CREATE,INSERT,ALTER,UPDATE,SELECT,DROP,DELETE,GRANT,REVOKE河河 南南
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年可降解材料产品社交媒体营销案例
- 静脉输血与输血法律法规
- 青年护士带教中的沟通与协调能力培养
- 小学科学三年级上册第二单元《空气》占据空间与有质量证明试卷
- 浙江顶级会所设计方案
- 阜南疾控中心慢病防治楼装饰及附属方案
- 浙江省温州市强基联盟2025-2026学年高二上学期12月月考英语试题(解析版)
- 2026年公司网络怎么测试题及答案
- 2026年自我性取向测试题及答案
- 2026年语言桥翻译测试题及答案
- 2026年湖南省高考物理试卷
- 2026内蒙古鄂尔多斯市本级事业单位第二批引进高层次和紧缺人才28人备考题库及答案详解一套
- 2026福建福州市建总科技文化有限公司招聘9人笔试参考题库及答案详解
- 理论联系实际谈一谈你对科学发展观中的全面协调可持续的认识(一)
- 2026年无人机航拍理论试题库(附含参考答案)
- 2026年春季湖南长沙市开福区捞刀河镇白霞中学八年级毕业会考模拟练习卷(四)生物学(含答案)
- 2026中国兵器审计中心(北京中心)招聘9人笔试备考题库及答案解析
- 2026年初中差异化教学与分层作业设计专题讲座
- 上海浦东公安分局文员招聘考试试题及答案
- 贵州省2026届高三语文一模试卷(附答案解析)
- 2026年沈阳联考面试题及答案
评论
0/150
提交评论