880 likes | 969 Views
项目一 公司管理数据库 系统的规划. 工作任务:. 根据某公司的工作流程,设计一个满足该公司管理的数据库系统。具体要求如下: 公司数据库管理系统主要完成客户和产品之间进行产品订购的功能,此系统可以实现让 公司 增加、删除和修改所提供的产品,还可以让 客户 增加、删除和修改所需要的产品。公司 交易员(雇员) 可以利用客户提出的订货信息和产品信息提出交易建议。另外,该系统能够分类统计已订购的产品信息。. 数据.
E N D
工作任务: • 根据某公司的工作流程,设计一个满足该公司管理的数据库系统。具体要求如下: • 公司数据库管理系统主要完成客户和产品之间进行产品订购的功能,此系统可以实现让公司增加、删除和修改所提供的产品,还可以让客户增加、删除和修改所需要的产品。公司交易员(雇员)可以利用客户提出的订货信息和产品信息提出交易建议。另外,该系统能够分类统计已订购的产品信息。
数据 • 描述事物的符号称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,他们都可以经过数字化后存入计算机。
数据库 • 数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统 • 数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面: • 数据定义功能 • 数据操纵功能 • 数据库的运行管理 • 数据库的建立和维护功能
数据库技术的四条线索 • 三个系统: • 历史发展(层次网状系统) • 当前主流(关系系统) • 未来发展(面向对象系统) • 数据库发展史上的两条主线: • 数据模型的演变:层次、网状、关系、面向对象 • 数据语言的演变:基本SQL、嵌入SQL、动态SQL、递归SQL、ORDB的SQL • 两个端点: • 用户(使用)、系统(实现) • 数据库设计演变的过程 • ER图,对象联系图,UML类图
DBMS主流产品现状 • 代表性产品:Oracle公司的Oracle、IBM公司的DB2以及微软的SQL Server等 • 关系数据库技术仍然是主流 2000年RDBMS的市场份额占整个数据库市场的80%,这个比例比1999年增长了15%。 • 产品形成系列化 如DB2通用数据库产品包括了从高端的企业级并行数据库服务器,到移动端产品DB2 Everywhere的一整套系列。从支持平台看,不再是大型机上的专有产品,支持目前主流的各种平台,包括Linux和Windows NT。此外,它还有各种中间件产品,如DB2 Connect、DB2 Datajointer、DB2 Replication等,构成了一个庞大的数据库家族。
DBMS主流产品现状 • 支持各种互联网应用 • 例如,Oracle公司从8版起全面支持互联网应用,是互联网数据库的代表。微软公司更是将SQL Server作为其整个.NET计划中的一个重要的成分。 • 海量数据处理 • 互联网提供大量以XML格式数据为特征的半结构化数据,支持这种类型的数据的存储、共享、管理、检索等也是各数据库厂商的发展方向。
DBMS主流产品现状 • 向智能化集成化方向扩展 • 数据丰富知识贫乏的现实直接导致了联机分析处理(OLAP)、数据仓库(Data Warehousing)和数据挖掘(Data Mining)等技术的出现 • 企业应用越来越复杂,会涉及到应用服务器、Web服务器、其它数据库、旧系统中的应用以及第三方软件等,数据库产品与这些软件是否具有良好集成性往往关系到整个系统的性能。 • Oracle公司的Oracle 9i 产品包括了OLAP、数据挖掘、ETL工具等一套完整的BI(商业智能)支持平台。IBM 公司也把BI套件作为其数据库的一个重点来发展。 • 微软认为商务智能将是其下一代主要的利润点。
应用程序员 最终用户 DBA 及助手 用户 应用程序 交互式查询 DDL 权限命令 预编译器 机器语言 编译器 DDL 编译器 DDL 编译器 DML 软件 系统和 数据字典 DML编译器 运行DB 处理机 存储 数据 管理者 数据 存储数据库 DBMS模块
数据模型 • 数据库系统模型是指数据库中数据的存储结构。较为常见的有层次模型、网络模型、关系模型3种,选择使用这3种模型的数据库被分别称为层次型数据库、网络型数据库和关系型数据库。
1.层次型数据库 • 层次型数据库使用结构模型作为自己的存储结构。这是一种树型结构,它由结点和连线组成,其中节点表示实体,连线表示实体之间的关系。 • 层次模型的特点: • (1)有且仅有一个结点无双亲,该结点称为根结点; • (2)其他结点有且只有一个双亲; • (3)上一层和下一层记录类型间联系是1:N
学 校 系 处 室 学 生 教研室 科 室 课 程 教 师 • 学校的层次模型
专业 教师 学生 课程 教室 2.网络型数据库 • 网络型数据库使用网络模型作为自己的存储结构。在这种存储结构中,数据记录将组成网络中的节点,而记录和记录之间的关联组成节点之间的连线,从而构成了一个复杂的网状结构。 • (1)有一个以上的结点没有双亲; • (2)结点可以有多于一个的双亲
3.关系型数据库 • 关系型数据库使用的存储结构是多个二维表格。表中的一行称为一条记录或元组,用来描述一个对象的信息;表中的一列称为一个字段或属性,用来描述对象的一个属性。数据表与数据表之间存在相应的关联,这些关联将被用来查询相关的数据。
数据库设计的基本步骤 • 按照规范化设计方法将数据库设计分为以下6个阶段 • 需求分析 • 概念结构设计 • 逻辑结构设计 • 数据库物理设计 • 数据库实施 • 数据库运行和维护
需求分析 设计局部视图 概念结构设计 数据库设计过程 集成视图 设计逻辑结构 逻辑结构设计 优化逻辑结构 设计物理结构 物理结构设计 评价物理结构 数据库系统实现 数据库实施 试验性运行 否 满意 加载数据库 是 投入运行维护
数据库设计思想原则 • 用户参与 • 发展眼光:系统不仅要满足用户目前的需求,也应满足近期要求,还要对于远期需求有相应的处理方案。
需求分析的任务 • 详细调查用户要处理的对象 • 充分了解原系统的工作概况 • 明确用户的各种要求 • 然后在此基础上确定新系统的功能 • 信息要求 • 处理要求 • 完整性要求
需求分析方法 • 为了明确用户的实际要求,需要: • 跟班作业; • 开调查会; • 请专人介绍; • 询问; • 设计调查表要用户填写; • 查阅记录等;
收集基础数据和一组数据流图 • 建设好数据字典: • 数据项 • 数据结构 • 数据流 • 数据存储 • 处理过程 • 将收集到的数据分析后,提交给用户,征得用户认可。
(一)公司管理数据库系统的需求分析 • 在这个阶段中,将对需要存储的数据进行收集和整理,并组织建立完整的数据集。可以使用多种方法进行数据的收集,例如相关人员调查、历史数据查阅、观摩实际的运作流程以及转换各种实用表单等。
客户信息 客户 订货 订单信息 产品信息 产品信息 发货部门 产品信息 雇员信息 订单信息 雇员 接受订货 数据流图
数据流名称:客户信息 数据流名称:产品信息 数据流名称:雇员信息 来源:雇员 来源:客户 来源:雇员 去向:处理——接受订单 去向:处理——订货 去向:处理——接受订单 包含的数据项: 包含的数据项: 包含的数据项: 雇员号 客户号 雇员号 姓名 公司名称 姓名 性别 联系人姓名 性别 联系方式 出生年月 出生年月 雇用日期 雇用日期 地址 特长 薪水 邮编 特长 薪水 数据字典 • 数据流
(二)公司管理数据库系统的概念模型设计 • 在需求分析的基础上,用E—R模型表示数据及其相互间的联系,产生反映用户信息需求的数据模型。概念设计的目的是准确地描述应用领域的信息模式,支持用户的各种应用,概念设计的成果是绘制出公司管理数据库系统的E—R图。
概念模型 • 概念模型最常用方法是实体-联系(Entity-Relationship)方法(即E-R方法),它源于1976年。 • E-R图所描述的现实世界的信息结构称为实体-联系模型(E-R模型)。E-R图中包括实体、属性和联系3 种基本图素
1.概念模型的主要概念 • 实体:客观存在并相互区别的事物及其事物之间的联系。例如,一个学生、一门课程、学生的一次选课等都是实体。 • 属性:实体所具有的某一特性。例如,学生的学号、姓名、性别、出生年份、系、入学时间等。 • 联系:实体与实体之间以及实体与组成它的各属性间的关系,分为: • 一对一联系 • 一对多联系 • 多对多联系
⑴ 一对一联系(one-to-one) • 定义如果两个实体集A、B中的任意一个实体至多与另一个实体集中的一个实体对应联系,则称A、B为一对一联系。记为“1-1”联系
⑵ 一对多联系(one-to-many) • 定义设有两个实体集A和B,如果A中每个实体与B中任意个实体(包括零个)有联系,而B中的每个实体至多与A中的一个实体有联系,则称该联系为"从A到B的1对多联系",记为"1-m"联系
⑶ 多对多联系(many-to-many) • 定义 如果两个实体集A、B中的每个实体都与另一个实体集中的任意个实体(包括零个实体)有联系,则称这两个实体集是多对多联系,记为“m-n”联系。
2.概念模型的表示方法 • 实体型:用矩形表示,矩形框内写明实体名。 • 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 • 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。
E-R模型 • E-R模型是现实世界的纯粹表示,有三个基本成份:实体、联系和属性。它是一个概念性模型,描述的是现实中的信息联系,而不涉及数据如何在数据库系统中的存放。
(三)公司管理数据库系统的逻辑设计 • 数据库逻辑设计的任务是把数据库概念设计阶段产生的数据库概念模式(E—R图)转换为数据库逻辑模式。进行数据库逻辑设计,首先将概念设计中所得的E—R图转换成等价的关系模式,然后,再进行逻辑模式的规范化和性能优化,使形成的数据库系统数据表,满足用户的完整性和安全性要求。
1、E—R图转换为系统的数据表 • 利用E—R图到关系模式转换的有关知识,将图1-2所示的公司管理数据库系统的E—R图转换为系统的数据表。
2、将逻辑模式规范化和性能优化 • 由E—R图转换的数据库逻辑模型还只是逻辑模式的雏形,要成为逻辑模式,还需要进行以下几个方面的处理: • 对数据库的性能、存储空间等优化; • 数据库逻辑模型的规范化
A、对数据库的性能、存储空间等优化 • 依据: • 提高数据库性能的措施有:减少联接运算和减少关系的大小和数据量等。 • 节省存储空间的措施有:减少每个属性所占的空间、采用假属性减少重复数据所占存储空间。
B、数据库逻辑模型的规范化 • 数据库的范式理论 关系数据库范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。这些准则被称为规范化形式,即范式。在数据库设计过程中,对数据库进行检查和修改并使它符合范式的过程叫做规范化。
数据库的范式理论 • 范式按照规范化的级别分为5种: • 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)和第五范式(5NF)。在实际的数据库设计过程中,通常需要用到的是前三类范式。 • 第一范式 数据的原子性 • 第二范式 主键的绝对相关性 • 第三范式 依赖的传递性
(1)第一范式(1NF) • 第一范式要求每一个数据项都不能拆分成两个或两个以上的数据项。 • 例:在下面的表所示的teacher表中“学历学位”是由学历和学位组成的,因此,这个teacher表不满足第一范式。可以将“学历学位”字段拆分为两个字段,如表所示,从而使该数据表满足第一范式。