数据库系统课件01-第1章 数据库系统概述_第1页
数据库系统课件01-第1章 数据库系统概述_第2页
数据库系统课件01-第1章 数据库系统概述_第3页
数据库系统课件01-第1章 数据库系统概述_第4页
数据库系统课件01-第1章 数据库系统概述_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录01数据库技术概述数据模型0203关系模型04关系数据库05数据库设计实例本章重点了解数据库技术基本概念了解数据库的概念模型、逻辑模型、关系模型掌握关系数据库规范化理论掌握数据的设计步骤本章任务完成“Q_MicroChat”微聊项目数据库软件产品选择、项目需求分析和项目的概念模型设计。具体任务分解如下:【任务1-1】数据库软件产品的选择。【任务1-2】项目需求分析。【任务1-3】项目概念模型设计。任务驱动本章目标知识点听懂做复习精通数据库技术基本概念★★概念模型★★逻辑模型★★关系模型★★★★★关系数据库规范化理论★★★数据库设计步骤★★★★★JavaJSP数据库技术概述1数据库技术产生于20世纪六十年代,伴随着计算机软硬件技术的产生和发展而迅速发展,是计算机技术在各行业数据管理技术的延伸、渗透、发展的产物。如今,数据库技术已成为当前信息管理最重要的技术。1.1数据库技术数据数据是描述事物的符号,是数据库中存储的基本对象。数据库(DataBase,简称DB)数据库是指按一定的数据模型组织、描述和存储数据的集合。数据库管理系统(DataBaseManagementSystem,DBMS)为了科学地组织和存储数据库中的数据,高效地获取和维护数据,使用了一个称为数据库管理系统的系统软件来管理数据库。数据库系统(DataBaseSystem,DBS)数据库系统是指在计算机系统中引入数据库后的系统,一般由数据、数据库、数据库管理系统等构成。1.1.1数据库技术基本概念在应用需求的推动下,在计算机硬件、软件发展的基础上,数据管理技术经历了三个阶段:人工管理文件系统管理数据库系统管理这1.1.2数据库技术的发展和特征这3个阶段的比较如表1-1所示。1.1.2数据库技术的发展和特征与人工管理和文件系统相比,数据库系统具有以下特征:数据结构化数据的共享性高、冗余度低、易扩充数据独立性高统一数据管理与控制1.1.2数据库技术的发展和特征JavaJSP数据模型2数据模型(DataModel)是对现实世界数据特征的抽象,用来描述数据、组织数据和对数据进行操作。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先通过某个工具把具体事物转换成计算机能够处理的数据。1.2.1数据模型概述概念模型(ConceptualModel)概念模型也称信息模型,它按照用户的观点来对数据和信息建模,主要用于数据库设计。逻辑模型按照计算机系统的观点来对数据建模,主要用于DBMS的实现。物理模型物理模型是对数据最低层的抽象,描述数据在系统内部的表示方式和存取方法。1.2.1.1数据模型分类数据结构数据结构描述数据库的组成对象以及对象之间的联系。数据操作数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。数据的完整性约束条件数据的完整性约束条件是一组完整性规则。1.2.1.2数据模型组成要素概念模型是现实世界到机器世界的中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。1.2.2概念模型实体(Entity)属性(Attribute)码(Key)域(Domain)实体型(EntityType)实体集(EntitySet)联系(Relationship)1.2.2.1概念模型中的基本概念两个实体型之间的联系一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)两个以上的实体型之间的联系单个实体型内的联系1.2.2.2实体型之间的联系概念模型对信息世界建模的表示方法很多,其中最为著名、最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach)。该方法用E-R图(E-RDiagram)来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法。1.2.2.3概念模型的表示方法实体:用矩形表示,矩形框内写明实体名属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来联系:用菱形表示,菱形框内写明联系名,并用无向边分别于有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)1.2.2.3概念模型的表示方法逻辑模型从数据组织方式的角度描述信息,它决定了数据在数据库中的组织结构。从20世纪60年代后期开始,在文件系统基础上先后发展起来几种典型的逻辑模型:层次模型网状模型关系模型面向对象模型1.2.3逻辑模型层次模型是数据库系统中最早出现的数据模型,层次数据库采用层次模型作为数据的组织方式。层次模型的层次联系需要满足以下两个条件有且只有一个节点没有双亲节点,这个节点称为根节点根节点以外的其他节点有且只有一个双亲节点1.2.3.1层次模型(HierarchicalModel)在现实世界中,事物之间的联系更多的是非层次的关系,对于无法用层次模型表示的非树形结构,通过网状模型便可以实现。网状数据库系统采用网状模型作为数据的组织方式。网状模型的层次联系需要满足以下两个条件:允许一个以上的节点无双亲一个节点可以有多余一个的双亲1.2.3.2网状模型(NetworkModel)JavaJSP关系模型3关系模型是当前最重要的一种数据模型。当前最常用的数据库产品,如Oracle、SQLServer等都是采用关系数据模型的关系数据库产品。数据结构、数据操作和完整性约束条件这3方面用来完整地描述一个数据模型。1.3关系模型关系模型以二维表的方式组织数据。二维表由行和列组成,一行对应一个实体的实例,一列对应一个实体的属性。无论是实体还是实体之间的关系均以二维表形式表示。1.3.1数据结构1.3.1数据结构在关系模型中,二维表必须满足以下要求表中每一列都是类型相同的数据表中各列不可重名表中列的顺序可以任意安排表中行的顺序可以任意安排表中任意两行不能完全相同,即没有重复行表中的列不包含其他数据项,即不允许表中有表1.3.1数据结构关系模型中,常涉及以下术语关系(Relation):一个关系对应通常说的一张表;元组(Tuple):表中的一行即为一个元组,相当于一条记录;属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名;主码(PrimaryKey):也称为主键。表中的某个属性组,它可以唯一确定一个元组;域(Domain):属性的取值范围;分量:元组中的一个属性值;关系模式:对关系的描述。1.3.1数据结构关系模型与现实生活中的表格所使用的术语间的对比如表1-4所示。1.3.1数据结构关系模型的数据操作主要是指对关系操作插入(Insert)、删除(Delete)、修改(Update)、检索(Query)操作关系查询操作是关系模型数据操作中最主要的部分选择(select)、投影(projection)、连接(join)、除(division)、

并(union)、交(intersection)、差(difference)、笛卡尔积(production)等。1.3.2数据操作在关系数据库系统中,为了实现这些关系操作,为用户提供了一种介于关系代数和关系演算之间的语言——SQL(StructuredQueryLanguage,结构化查询语言)。数据操作语言(DataManipulationLanguage,DML)数据定义语言(DataDefinitionLanguage,DDL)数据控制语言(DataControlLanguage,DCL)完整性(Integrity)视图定义(ViewDefinition)嵌入式SQL(EmbeddedSQL)和动态SQL(DynamicSQL)事务控制(TransactionControl)1.3.3关系完整性约束1.3.2数据操作关系模型中的数据操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三个方面:实体完整性(EntityIntegrity)参照完整性(ReferentialIntegrity)用户定义的完整性(User-definedIntegrity)1.3.3关系完整性约束实体完整性规则空值(nullvalue)是指“不存在”或“不知道”的值对于主码由若干属性组成的,则所有这些属性都不能取空值1.3.3.1实体完整性现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用。在关系模型中,通过引入外码(外键)的概念来表达实体之间关系的相互引用;参照完整性需要遵循的规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为以下两种情况之一:空值(F的每个属性值均为空值)等于S中某个元组的主码值1.3.3.2参照完整性实体完整性和参照完整性是任何关系数据库系统都应该支持的。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件;关系模型提供定义和检验这类完整性的机制,以便用统一的系统的方法处理他们,而不要由应用程序承担这一功能。1.3.3.3用户定义的完整性JavaJSP关系数据库4在20世纪70年代至80年代初,层次数据库和网状数据库占据主导地位;随之80年代初以Oracle为代表的关系数据库产品的发展和成熟,关系数据库逐渐取代了层次数据库和网状数据库,主导了当前的数据库市场。1.4关系数据库数据结构方面采用二维表的形式组织各种类型的数据;数据操作上使用SQL语言实现各种关系操作;满足关系完整性约束的三个条件:实体完整性、参照完整性和用户定义的完整性。1.4.1关系数据库概述E.F.Codd于1971~1972年开始提出了范式理论,讨论了数据库关系规范化的问题。目前关系数据库有6种范式,一般来说,数据库只需满足第三范式即可:第一范式(1NF):第一范式是指关系模式中每个属性值都是一个不可分割的基本数据项第二范式(2NF):第二范式要求实体的属性完全依赖于主键第三范式(3NF):不存在非关键字段对任一候选关键字段的传递函数依赖1.4.2关系数据库规范化理论Oracle甲骨文公司DB2IBMMicrosoftSQLServer微软MySQL开源、甲骨文1.4.3常见的关系数据库JavaJSP数据库设计实例5对于一个高性能的应用程序,良好的数据库设计非常重要,它是应用系统的根基,是软件设计的起点。数据库设计是指通过对数据库逻辑结构和物理结构的设计,并在此基础上构建数据库及其应用系统,使之能够有效地存储和管理数据,以满足用户的各种应用需求。1.5数据库设计需求分析阶段概念结构设计阶段逻辑结构设计阶段物理结构设计阶段数据库实施与维护阶段1.5.1数据库设计步骤本节以一个新闻阅读系统为例讲解数据库各个设计阶段的实现过程。该系统的需求为:用户通过系统浏览新闻、对某个新闻发表评论、系统管理员发布新闻、管理新闻及评论。1.5.2数据库设计实例需求分析阶段数据字典(DataDictionary,DD):是对数据库中各类数据的描述,即元数据,而不是数据本身数据项数据结构数据流数据存储处理过程1.5.2数据库设计实例新闻阅读系统中部分数据的数据字典描述如下:【示例】新闻信息数据项描述1.5.2数据库设计实例编号名称说明类型长度取值范围关系1编号新闻编号数值型大于等于1主码2标题新闻标题字符型503作者新闻作者字符型204发布时间发布时间日期型5内容新闻内容大数据类型【示例】新闻信息数据结构描述新闻信息数据结构={新闻信息,表示新闻的各项基本信息,组成:{编号、标题、作者、发布时间、内容}}1.5.2数据库设计实例【示例】新闻、用户、评论三部分数据流描述1.5.2数据库设计实例编号名称说明来源去向组成平均流量高峰流量F1用户信息用户在系统注册的个人信息用户填写提交“用户信息管理”处理用户信息数据结构1030F2新闻信息录入系统中的新闻信息系统管理员录入“新闻信息管理”处理新闻信息数据结构、管理员数据结构3050F3评论信息用户对新闻的评论用户输入提交“用户评论管理”处理用户数据结构、新闻数据结构、评论数据结构2050【示例】评论的数据存储描述评论信息存储={评论信息存储,存储用户对新闻的评论,S1,评论信息,评论信息,组成:{用户信息、新闻信息},每天最高可达3000条评论,可读写}1.5.2数据库设计实例【示例】用户对评论的处理过程描述。1.5.2数据库设计实例编号名称说明输入输出处理P1评论信息处理处理用户发布的评论信息评论信息评论信息实现对评论的添加、查询、删除需求分析阶段数据流图(DataFlowDiagram,DFD):表达了数据和处理过程的关系。1.5.2数据库设计实例【示例】新闻评论数据流图。1.5.2数据库设计实例数据库概念结构设计阶段概念结构设计是在需求分析的基础上形成数据库的概念模型。它是语义层的描述,与具体的DBMS无关,使用E-R图表示。【示例】新闻评论E-R图1.5.2数据库设计实例数据库逻辑结构设计阶段将E-R图转换为关系模型,规则如下:1)E-R图中的每个实体可以转换为一个关系,实体的属性即为关系的属性,实体的码即为关系的主码;2)E-R图中实体间的1:1联系转换为一个独立的新关系,也可以与任意一端的实体合并,将1:1联系体现在某一个实体中;3)E-R图中实体间的1:n联系,一种方式可以转换为一个新的关系,该关系的属性为各实体的码的集合以及联系自身的属性,新关系的主码为“n”端对应实体的码;另一种方式将“1”端实体对应的码添加到“n”端实体中;4)E-R图中实体间的n:m联系转换为一个新的关系,该关系中的属性为各实体的码的集合以及联系自身的属性,各实体的码联合构成新关系的主码;5)E-R图中三个或三个以上实体间的多元关系可以参照n:m联系处理。1.5.2数据库设计实例按照上述规则,可以将"

【示例】新闻评论E-R图"所示的E-R图转换为如下关系模式用户信息(用户编号,用户名,密码,性别,邮箱)新闻信息(新闻编号,标题,作者,发布时间,内容)新闻评论(评论编号,用户编号,新闻编号,评论时间,评论内容)1.5.2数据库设计实例面向对象的分析(OOA):确定需求或者业务的角度,按照面向对象的思想来分析业务。数据库逻辑结构设计阶段关系模型的优化1)确定数据依赖。分析出每个关系模式的各属性之间的依赖关系及不同关系模式各属性之间的数据依赖关系;2)对各个关系模式之间的数据依赖进行极小化处理,消除冗余的关系;3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖等,确定各关系模式分别属于第几范式。根据应用需求,分析模式是否合适,是否需要进行合并或分解。1.5.2数据库设计实例数据库逻辑结构设计阶段保证数据的完整性1)实体完整性2)参照完整性3)用户自定义完整性1.5.2数据库设计实例数据库物理结构设计阶段为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计;物理结构设计的目的是利用已经确定的逻辑结构的结果及DBMS提供的方法、技术,以适当的存储结构、存取路径、合理的存储位置及存储分配,设计出一个高效的、可实现的数据库结构;评价物理数据库的方法完全依赖于所选用的DBMS。1.5.2数据库设计实例数据库实施与维护阶段数据库数据的加载和试运行数据库的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论