630 likes | 719 Views
模块三 物流信息系统与 商务平台. 能够建立不同的数据模 型. 能够分析数据库系统的结 构. 熟练运用数据库管理系统的功 能. 能够分析数据库管理系统的组 成. 项目九 物流数据库. 能 力目标. 01. 02. 03. 04. 了解数据库的发展过程. 理解数据库的基本概念、分类. 掌握数据模型的概念及不同形式. 熟练掌握数据库管理系统的组成. 项目九 物流数据库. 知 识要点. 01. 02. 03. 04. 项目九 物流数据库. 学 习重点与难点. 教学重点:数据库系统的结构、数据库管理系 统. 教学难点:数据库管理系 统.
E N D
能够建立不同的数据模型 能够分析数据库系统的结构 熟练运用数据库管理系统的功能 能够分析数据库管理系统的组成 项目九 物流数据库 能力目标 01 02 03 04
了解数据库的发展过程 理解数据库的基本概念、分类 掌握数据模型的概念及不同形式 熟练掌握数据库管理系统的组成 项目九 物流数据库 知识要点 01 02 03 04
项目九 物流数据库 学习重点与难点 教学重点:数据库系统的结构、数据库管理系统 教学难点:数据库管理系统 参考课时:4课时
项目九物流数据库 技能一 数据库认知 技能二 数据模型 技能三 数据库系统的结构 技能四 数据库管理系统 实践训练九 数据库的建立与操作
二、数据库 一、数据 数据库认识 三、数据库管理系统 四、数据库系统 六、数据库的发展 五、用户 技能一
技能一 数据库认识 用数据描述的对象可以是实在的事物,如描述一个学生的情况可用学号、姓名、性别、年龄、系别、入学时间等。如这里的学生记录就是数据。对于这条记录,了解其含义的将得到如下信息:赵文是个大学生,男,今年22岁,2003年考入计算机系;而不了解含义的人则无法理解。可见,数据的形式本身还不能完全表达其内容,需要经过语义解释。因此数据和关于数据的解释是不可分的,数据的解释是对数据含义的说明,数据的含义成为数据的语义,数据与其语义是不可分的。 一、数据 (80102、赵文、男、22、计算机系、2003)
数据库特点 1. 集成性 2. 共享性 技能一 数据库认识 数据库是长期存储在计算机内有组织的共享的数据的集合。数据库中的数据按一定的数据模型组织、描述和储存。它可以供用户共享,具有尽可能小的冗余度和较高的数据独立性,使得数据存储最优,数据最容易操作,并且具有完善的自我保护能力和数据恢复能力。 二、数据库
技能一 数据库认识 1. 数据定义 2. 数据操纵 3. 数据库运行管理 4. 数据库的建立和维护功能 5. 数据通信 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它是数据库系统的核心组成部分,用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。DBMS就是实现把用户意义下的抽象的逻辑数据处理转换成计算机中的具体的物理数据的处理软件,这给用户带来很大的方便。 三、数据库管理系统 主要功能
用户 用户 用户 数据库系统 应用系统 应用开发工具 数据管理系统 数据库管理员 操作系统 数据库 技能一 数据库认识 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 四、数据库系统
技能一 数据库认识 用户是指使用数据库的人,即对数据库的存储、维护和检索等操作。用户大致可分为终端用户、应用程序员和数据库管理员。 五、用户 1.终端用户(End User) 主要是使用数据库的各级管理人员、工程技术人员、科研人员,一般为非计算机专业人员。 2.应用程序员(Application Programmer) 负责为终端用户设计和编制应用程序,以便终端用户对数据库进行存取操作。 3.数据库管理员(DataBase Administrator,DBA) DBA是数据库所属单位的代表。一个单位决定开发一个数据库系统时,首先就应确定DBA的人选。DBA不仅应当熟悉系统软件,还应熟悉本单位的业务工作。
技能一 数据库认识 数据库的发展经历了以下三个阶段: 六、数据库的发展 1.人工管理阶段(20世纪50年代中期以前) 2.文件系统阶段(20世纪50年代后期到60年代中期) 3.数据库系统阶段(20世纪60年代末期以后)
一、概念模型 数据 模型 技能二 二、数据模型 三、层次模型 四、网状模型 五、关系模型
数据模型的两个层次 现实世界 认识抽象 信息世界 概念模型 转换 机器世界 逻辑模型 技能二 数据模型 数据模型(Data Model)是专门用来抽象、表示和处理现实世界中的数据和信息的工具。 第一类模型是概念模型,也称信息模型,模型中最著名的是“实体联系模型”。 第二类模型是数据模型,主要包括网状模型、层次模型、关系模型等。
技能二 数据模型 一、概念模型 1.实体(Entity) 2.属性(Attribute) 3.实体集(Entity Set) 1.概念模型涉及的概念 4.码(Key) 5.域(Domain) 6.实体型(Entity Type)
一对一联系 实体集E1实体集E2 1 联系名 1 E1 E2 1 拥有 1 座位 乘客 技能二 数据模型 2.概念模型中实体的联系(Relationship) 一、概念模型 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。两个实体集之间的联系可归纳为以下三类: ⑴一对一联系(1:1)
实体集E1实体集E2 1 联系名 n 1 拥有 n 一对多联系 E1 E2 车间 工人 技能二 数据模型 2.概念模型中实体的联系(Relationship) 一、概念模型 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。两个实体集之间的联系可归纳为以下三类: ⑵一对多联系(1:n)
实体集E1实体集E2 E1 E2 m 联系名 n m 选修 n 学生 课程 多对多联系 技能二 数据模型 2.概念模型中实体的联系(Relationship) 一、概念模型 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。两个实体集之间的联系可归纳为以下三类: ⑶多对多联系(m:n)
三个实体型之间的联系示例 技能二 数据模型 一、概念模型 客车的座位和乘客之间是1:1联系,图中用方框表示实体集。工厂里车间和工人之间是1:n联系。学校里学生和课程之间是m:n联系。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。一般地,实体之间的一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。如对于课程、教师与参考书三个实体型,若一门课程可以有多个教师讲授,使用多本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。
同一实体集内一对多联系示例 技能二 数据模型 一、概念模型 同一实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。如职工实体集内部具有领导与被领导的联系。
技能二 数据模型 一、概念模型 3.概念模型的表示方法 ⑴E-R模型的要素① 实体用方框表示,方框内注明实体的命名。② 属性用椭圆形框表示,框内写上属性名,并用无向连线与其实体集相连,加下画线的属性为标识符。③ 联系用菱形框表示,并用线段将其与相关的实体连接起来,并在连线上标明联系的类型,即1:1、1:n、m:n。联系也会有属性,用于描述联系的特征,如酬金等。
名称 电影名 日期 影星 同一实体集内一对多联系示例 签约 地址 电影 名称 拥有 片长 制片公司 地址 技能二 数据模型 一、概念模型 下图是一个E-R图,表示一个简单的电影数据库。实体集是电影、影星和制片公司。
工资由属性变为实体集 教师 编号 姓名 性别 年龄 工资 1 1 拥有 教师 工资 扣除 编号 补贴 性别 年龄 姓名 工资号 基本工资 技能二 数据模型 一、概念模型 ⑵建立E-R图建立E-R图的步骤:①确定实体和实体的属性。②确定实体和实体之间的联系及联系的类型。③给实体和联系加上属性。
2.最常用的数据模型 1.数据模型的组成要素 • 层次模型(Hierarchical Model) • 网状模型(Network Model) • 关系模型(Relational Model) • 面向对象模型(Object Oriented Model) • ①数据结构。 • ②数据操作。 • ③数据的约束条件。 技能二 数据模型 二、数据模型
层次模型是数据库系统中最早出现的数据模型,典型的层次模型系统是美国IBM公司于1968年推出的IMS(Information Management System)数据库管理系统,这个系统在20世纪70年代在商业上得到广泛应用。 系 专业 教研室 班级 教师 数据库层次模型示例 学生 技能二 数据模型 三、层次模型 1. 层次模型的数据结构 层次模型的数据结构的特点: ⑴ 有且仅有一个结点没有双亲,该结点称为根结点; ⑵ 除根结点以外的其他结点有且仅有一个双亲结点,这就使得层次数据库系统只能直接处理一对多的实体关系; ⑶ 任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。
学校层次数据库模型 计算机系 软件技术专业 软件教研室 计算机应用技术专业 硬件教研室 计算机网络技术专业 基础教研室 计软0301 计网0301 计应0301 … … … 张海涛 陈海涛 张海 张涛 张海涛 张涛 陈俊 刘平 陈平 张文 陈文 陈平 … … … … … … 技能二 数据模型 三、层次模型 2.层次模型的数据操作与数据完整性约束 层次模型的数据操作的最大特点是必须从根结点入手,按层次顺序访问。层次模型的数据操作主要有查询、插入、删除和修改,进行插入、删除和修改操作时要满足层次模型的完整性约束条件。
技能二 数据模型 ⑴ 层次数据模型本身比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 ⑵ 结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系。 ⑶ 它提供了良好的数据完整性支持。 ⑷ 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型实现,其性能优于关系模型,不低于网状模型。 三、层次模型 3.层次模型的优点 层次模型的缺点主要有 层次模型的优点主要有 ⑴ 层次模型不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。 ⑵ 对数据的插入和删除的操作限制太多。 ⑶ 查询子女结点必须通过双亲结点。 ⑷ 由于结构严密,层次命令趋于程序化。
1.网状模型的数据结构 学校网状模型 拥有 专业 系 学习 分配 教学 学生 教师 技能二 数据模型 网状模型的特点 四、网状模型 网状模型取消了层次模型的两个限制,在层次模型中,若一个结点可以有一个以上的父结点,就得到网状模型。用有向图结构表示实体类型及实体间联系的数据模型成为网状模型(Network Model)。1969年,CODASYL组织提出DBTG报告中的数据模型是网状模型的主要代表。 1.有一个以上的结点没有双亲 2 .至少有一个结点可以有多于一个双亲
2.网状模型的数据操纵与完整性约束 技能二 数据模型 主要约束为 四、网状模型 1.支持记录码的概念,码是唯一标识记录的数据项的集合。如学生记录中学号是码,因此数据库中不允许学生记录中学号出现重复值。 2 .保证一个联系中双亲记录和子女记录之间是一对多的联系。 3 .可以支持双亲记录和子女记录之间某些约束条件。如有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。
3.网状模型的优缺点 技能二 数据模型 四、网状模型 网状模型的优点主要有: ⑴ 能更为直接地描述客观世界,可表示实体间的多种复杂联系,如一个结点可以有多个双亲。 ⑵ 具有良好的性能,存储效率较高。 网状模型的缺点主要有: ⑴ 结构复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于最终用户掌握。 ⑵ 其DDL、DML语言极其复杂,用户不容易使用。 ⑶ 数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。
关系模型的数据结构 员工编号 姓名 年龄 性别 部门号 430425 王天喜 25 男 Deno1 430430 莫玉 27 女 Deno2 430211 肖剑峰 33 男 Deno3 430121 杨琼英 23 女 Deno2 430248 赵继平 41 男 Deno3 技能二 数据模型 五、关系模型 1. 数据结构 在关系模型中,数据的逻辑结构是关系。关系可形象地用二维表表示,它由行和列组成。现以职工表(关系模型的数据结构见表)为例,介绍关系模型中的一些术语。
技能二 数据模型 五、关系模型 关系是关系模型中最基本的数据结构。关系既用来表示实体,如上面的职工表,也用来表示实体间的关系,如学生与课程之间的联系可以描述为: 选修(学号,课程号,成绩) 关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件是: 关系中的每一列都必须是不可分的基本数据项,即不允许表中还有表,右图的情况是不允许的。 在一个关系中,属性间的顺序、元组间的顺序是无关紧要的。
1 操作对象和操作结果都是关系,即关系模型中的操作是集合操作。它是若干元组的集合,而不像非关系模型中那样是单记录的操作方式。 关系模型中,存取路径对用户是隐藏的。用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”,从而方便了用户,提高了数据的独立性。 2 技能二 数据模型 五、关系模型 2. 数据操作 关系数据模型的操作主要包括查询、插入、删除和修改数据。它的特点在于:
技能二 数据模型 五、关系模型 3. 完整性约束 完整性约束是一组完整的数据约束规则,它规定了数据模型中的数据必须符合的条件,对数据作任何操作时都必须保证制。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。
技能二 数据模型 六、面向对象数据模型 1.对象和对象标识符 在面向对象数据模型中,所有现实世界中的实体都模拟为对象,小至一个整数、字符串,大至一个公司、一部电影,都可以看成对象,每个对象都有一个系统内唯一不变的标识符,称为对象标识符(OID)。OID一般由系统产生,用户不得修改。OID是区别对象的唯一标识,与对象的属性值无关。 面向对象逻辑模型
技能二 数据模型 六、面向对象数据模型 2.封装和消息传递 OO数据模型把一个对象的属性和方法封装成一个整体。 对象与外界、对象之间的通信一般只能借助于消息。消息传送给对象,调用对象的相应方法,进行相应的操作,再以消息形式返回操作的结果。 对象的消息传递
技能二 数据模型 六、面向对象数据模型 3.类和实例 • 类是具有共同属性和方法的对象的集合,这些属性和方法可以在类中统一说明。同类对象在数据结构和操作性质方面具有共性。 • 例如,大学生、研究生是一些有共同性质的对象,能抽象为一个学生。 类和实例
一、数据库系统的三级模式结构 数据库系统的结构 二、面向用户的数据库体系结构 技能三
技能三 数据库系统的结构 在数据模型中有“型”(Type)和“值”(Value)的概念。型是对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如:学生记录定义为(学号、姓名、性别、系别、年龄),称为记录型,而(001101,张立,男,计算机,20)则是该记录型的一个记录值。 模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。它仅仅涉及型的描述,不涉及到具体的值。某数据模式下的一组具体的数据值称为数据模式的一个实例(Instance)。因此,模式是稳定的,而实例是不断变化的、不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。 一、数据库系统的三级模式结构 1.数据模式(Data Schema)
⑴ 模式(Schema) ⑶ 内模式(Internal Schema) ⑵ 外模式(External Schema) ⑷ 三级结构的优点 保证数据的独立性 有利于数据共享 应用A 应用B 应用C 应用D 简化了用户接口 利于数据的安全保密 数据库系统的三级模式结构 外模式1 外模式2 外模式3 外模式/模式映象 模 式 模式/内模式映象 内 模 式 数据库 技能三 数据库系统的结构 一、数据库系统的三级模式结构 1.数据模式(Data Schema) 2.数据库系统的三级模式结构
终端 终端 终端 终端 …… 网络 集中式结构 主机 技能三 数据库系统的结构 二、面向用户的数据库体系结构 1.集中式结构 集中式结构是指一台主机带上多个用户终端的数据库系统。终端一般只是主机的扩展,它们并不是独立的计算机。终端本身并不能完成任何操作,它们依赖主机完成所有的操作。
客户机 客户机 客户机 客户机 …… 网络 客户机/服务器结构 服务器 技能三 数据库系统的结构 二、面向用户的数据库体系结构 2.客户机/服务器结构 在客户机/服务器结构中,同样需要一台主计算机(称之为服务器),一台或多台个人电脑 (称之为客户机)通过网路连接到服务。
网络 节点1 节点2 节点3 DB1 DB2 DB3 客户机/服务器结构 计算机A 计算机B 计算机C 技能三 数据库系统的结构 二、面向用户的数据库体系结构 3.分布式结构 分布式数据库是一组结构化的数据集合,它们在逻辑上属于同一系统而在物理上分布在计算机网络的不同结点上。网络中的各个结点(也称为“场地”)一般都是集中式数据库系统,由计算机、数据库和若干终端组成。 分布式数据库的数据具有“分布性”特点,数据库中的数据不是存储在同一场地,而是在物理上分布在各个场地,也与集中式数据库的最大区别。分布式数据库的数据具有“逻辑整体性”,分布在各地的数据逻辑上是一个整体,用户使用起来如同一个集中式数据库。这是与分散式数据库的区别。
一、DBMS的工作模式 数据库管理系统 二、DBMS的主要功能 三、DBMS的组成 四、应用案例 技能四
数据请求 低层指令 DB 应用程序 DBMS 数据 处理结果 数据 查询结果 DBMS的工作模式 技能四 数据库管理系统 一、DBMS的工作系统 (1)接受应用程序的数据请求和处理请求 (2) 将用户的数据请求转换成复杂的机器代码 (3) 实现对数据库的操作。 DBMS的工作模式 (4) 从对数据库的操作中接受查询结果。 (5) 对查询结果进行处理。 (6) 将处理结果返回给用户。
技能四 数据库管理系统 一、DBMS的工作系统 (1)当执行应用程序中一条查询数据库的记录时,则向DBMS发出读取相应记录的命令, 并指明外模式名。 访 问 数 据 库 的 主 要 步 骤 (2) DBMS接到命令后,调出所需的外模式,并进行权限检查;若合法,则继续执行;否 则向应用程序返回出错信息。 (3) DBMS访问模式,并根据外模式/模式映象,确定所需数据在模式上的有关信息(逻辑 记录型)。 (4) DBMS访问内模式,并根据模式/内模式映象,确定所需数据在内模式上的有关信息( 读取的物理记录及存取方法)。 (5) DBMS向操作系统发出读相应数据的请求(读取记录)。 (6) 操作系统执行读命令,将有关数据从外存调入到系统缓冲区上。 (7) DBMS把数据按外模式的形式送入用户工作区,返回正常执行的信息。
访问数据库的步骤 应用程序 工作区 1 2 外模式 7 DBMS 3 模式 5 4 系统缓冲区 6 OS 内模式 数据库 数据字典 技能四 数据库管理系统 一、DBMS的工作系统
技能四 数据库管理系统 二、DBMS的主要功能 DBMS的主要功能有以下几个方面: 1.数据库定义功能 4. 数据库的建立和维护功能 2.数据操纵功能 5. 数据通信 3.数据库运行管理功能