彭煜玮武汉大学计算机学院.ppt_第1页
彭煜玮武汉大学计算机学院.ppt_第2页
彭煜玮武汉大学计算机学院.ppt_第3页
彭煜玮武汉大学计算机学院.ppt_第4页
彭煜玮武汉大学计算机学院.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

SQL Server数据库,彭煜玮 武汉大学计算机学院 2009-1-27,学习导读 数据库技术是研究数据管理的技术,即如何妥善地保存和科学地管理数据。数据库技术是发展速度最快,应用最广泛的技术,它作为计算机科学和技术的一个重要分支已成为多种计算机应用系统的核心。数据库技术主要延着数据模型、数据库应用、数据库管理系统开发技术三个方面发展。 本章主要介绍数据管理技术的发展、数据模型、关系运算、关系规范化理论和数据库设计等内容。,第1章 数据库基础知识,2,1.1 信息、数据与数据处理,1.1.1 数据与信息 数据是人类活动的重要资源,数据库系统就是研究如何妥善地保存和科学地管理数据的计算机系统。 现代社会是信息的社会,信息以惊人的速度增长,因此,如何有效地组织和利用它们成为急需解决的问题。数据库系统的目的就是为了高效地管理及共享大量的信息,而信息与数据是分不开的。,数据与信息,信息:是现实世界各种事物的存在特征、运动形态以及不同事物间的相互联系等诸要素在人脑中的抽象反映,是经过加工的数据。例如,气象局每天从各地气象站收集到大量有关气象的图形或文字记录后,对这些记录数据进行综合处理、分析、判断后,就可告知当地温度、湿度、风力、阴晴等信息。信息对决策或行动是有价值的。例如,人们可以根据天气预报安排生产和生活。 数据:是对信息的符号化的表示,是数据库研究和处理的对象。 信息与数据的关系:数据是信息的载体,信息是数据的内涵。即数据是信息的符号表示,而信息通过数据描述,又是数据语义的解释。信息是有一定含义的、经过加工处理的、对决策有价值的数据。,1.1.2 数据处理 数据处理:是指对数据进行收集、管理、加工、传播等一系列工作,是将数据转换成信息的过程。目前在计算机的各类应用中,用于数据处理约占80%。 数据管理:是指对数据的组织、存储、检索、维护等工作,是数据处理的基本环节,是任何数据处理必有的共性部分。由于数据管理技术的优劣直接影响数据处理的效率,因此它是数据处理的核心。,1.2 计算机数据管理的3个阶段,数据管理技术好坏评判的标准: (1)数据冗余 数据冗余-是指同一数据多次存放。 数据冗余带来的问题有: 浪费存储空间 修改麻烦 潜在的数据不一致性 (2)数据共享 数据共享体现在: 多个应用可以使用同一数据、记录、数据项。 在同一时刻多个用户可存取同一数据。,数据管理技术好坏评判的标准,(3)数据独立性 数据独立性是指应用程序和数据之间相互独立,不受影响。即数据结构的修改不引起应用程序修改的特性。 数据独立性包括: 逻辑独立性 物理独立性 (4)数据统一集中管理 提供对数据进行安全性控制、完整性控制、并发性控制等功能。,1.2 计算机数据管理的3个阶段,1.2.1 人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算,数据量不大,也没有专门的软件对数据进行管理。 1. 人工管理阶段的特点 数据是面向应用的,一组数据对应一个程序,数据冗余大,不能实现数据共享。 数据不保存,数据与程序合在一起,数据独立性差。 没有软件系统对数据管理,只能采用手工方式进行处理。 程序员负担重,他必须自己编程实现数据的存储结构、存取方法和输入输出,迫使程序员直接与物理设备打交道,加大了程序设计难度,编程效率低。,人工管理阶段,2. 人工管理阶段应用程序与数据之间的关系,文件系统阶段,1.2.2 文件系统阶段 20世纪50年代末,计算机不仅用于科学计算,而且大量用于数据管理,同时磁盘、磁鼓等大容量直接存储设备的出现,使存放大量数据成为可能。操作系统中的文件系统就是专门用来管理所存储数据的软件。 1. 文件系统阶段的特点 数据以文件形式组织,可以长期保存在磁盘上。 数据有了逻辑结构和物理结构之分,由“存取方法”实现逻辑结构与物理结构的映射。 数据是面向特定用途设计的,一个文件基本上对应一个应用程序,造成数据冗余大,数据共享性差;文件之间相互独立,数据联系弱。 实现了数据的物理独立性,但未实现数据的逻辑独立性。,文件系统阶段,2. 文件系统阶段应用程序与数据之间的关系,数据库系统阶段,1.2.3 数据库系统阶段 20世纪60年代后期,随着数据管理的规模日趋增大,数据量的急剧增加,文件系统已不能适应需要。为此,人们研制出了一种新的、先进的数据管理方法,即数据库系统。 1. 数据库系统阶段的特点 实现了数据共享。 面向全组织的数据结构化,数据不再面向特定的某个或多个应用,而是面向整个应用系统,减少了数据冗余。 数据独立性高,实现了数据的逻辑独立性和物理独立性。 统一数据控制功能,提供了数据安全性控制、数据完整性控制、并发控制和数据库恢复等数据控制功能。,数据库系统阶段,2. 数据库系统阶段应用程序与数据之间的关系,思考题,问:文件系统中的文件与数据库系统中的文件有何本质的区别? 答:文件系统中的文件是面向应用的,一个文件基本对应一个应用程序,文件之间不存在联系,数据冗余大。数据库系统中的文件是面向整个应用系统,文件之间相互联系,减少了数据冗余,实现了数据共享。,例,例:某系统涉及人事、科研、教学、工资四个部门。假定每个部门只有一种登记表。其结构如下,试建立该系统的数据结构。,人事文件,科研文件,教学文件,工资文件,例,文件系统: 建立与上述结构相同的四个文件。 存在的问题: 数据冗余大。 文件是独立的、分散的,只反映文件本身的结构,而未反映文件间的联系,因而不能进行文件交叉访问。,例,数据库系统:(分三步进行) 第一步:建立全局数据逻辑结构。 数据的组织、存储与应用程序相分离独立进行,全面综合地考虑数据的组织,从整个系统的效率、性能出发来组织数据。 第二步:建立局部数据逻辑结构。 面向各个具体用户,从满足用户的需求出发,从全局数据逻辑结构导出各自所需的基本结构。 第三步:建立数据物理结构。 面向物理存储、在保证全局数据逻辑结构的前提下,权衡系统的空间利用、效率等,按物理存储的最佳形式来组织文件结构。,例,第一层,第二层,第三层,1.3 什么是数据库系统,数据库系统(DBS-Data Base System)是指具有管理数据库功能的计算机系统。它由数据库、用户、软件和硬件四部分组成。 1.3.1 数据库 数据库(DB-Data Base):按一定结构组织存储的、集成的、可共享的数据的集合。这里的结构是指数据库的结构要依据DBMS所支持的数据模型来建立。,数据库系统中的用户,1.3.2 用户 1. 数据库管理员(DBA-Data Base Administrator) DBA是指组织数据库的计划、设计、建立、运行监视、维护以及重开发的全部技术工作的专业人员。 DBA的职责: (1)决定数据库中的信息内容和结构。 (2)决定数据库的存储结构和存储策略。 (3)定义数据的安全性要求和完整性约束条件。 (4)监控数据库的使用和运行。 (5)数据库的重组和重构。 2. 应用程序员 是指负责设计和编制应用程序的人员。 3. 终端用户 是指从计算机终端存取数据库的人员。,1.4 数据库管理系统,DBMS是数据库系统的核心,是为数据库建立、使用和维护而配置的系统软件。它建立在操作系统的基础之上,是位于操作系统与用户之间的一层数据管理软件,负责对数据库进行统一的管理和控制。,DBMS的软件地位:,DBMS的主要功能,1.4.1 DBMS的主要功能 1.数据定义 提供数据定义语言(DDL-Data Definition Language) 定义数据库结构及其相互之间的映象,定义数据的完整性、安全性控制等约束。 2.数据操纵 提供数据操纵语言(DML-Data Manipulation Language)实现对数据库中数据的检索、插入、删除和修改。 3.数据库运行管理 提供数据安全性控制、并发控制、和数据完整性控制等数据控制功能。 4.数据库的建立和维护 数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5.数据通信 实现用户程序与DBMS之间的通信。,DBMS的组成,1.4.2 DBMS的组成 1.语言翻译处理程序 主要包括数据定义语言编译程序、数据操纵语言编译程序、终端命令解释程序、数据库控制命令解释程序等。 2.系统运行控制程序 主要包括系统总控程序、存取控制程序、并发控制程序、完整性控制程序、安全性控制程序、数据存取和更新程序、通信控制程序等。 3.系统建立、维护程序 主要包括数据装入程序、数据库重组程序、数据库恢复程序、性能监督程序等。 4.数据字典 数据字典是对数据库中数据的描述信息的集合。通过数据字典DBMS能快速查询有关对象,DBA能掌握整个系统运行的情况。,数据库系统中的软件和硬件,1.3.3 软件 主要是指数据库管理系统(DBMS-Data Base Management System)。DBMS是位于用户和OS之间的专门用于管理和维护数据库的系统软件,为用户或应用程序提供了访问数据库的方法,包括数据库的建立、查询、更新及各种数据控制功能。 1.3.4 硬件 要求有足够大的内存,以存放OS、DBMS、系统缓冲区、应用程序等;配有高速的、大容量的直接存取的外存;要有较高的通道能力,以提高数据的传输速度。,1.5 数据模型,数据库是一个结构化的数据集合,这个结构要使用数据模型来描述。 数据模型 是表示数据及其联系的模型。 数据模型分类 概念模型(也称语义模型) (常用E-R模型) 结构数据模型(简称数据模型) (层次模型、网状模型、关系模型) 概念模型是按用户的观点来对数据和信息建模,它强调语义表达能力,建模容易、方便、概念简单、清晰,易于用户理解,它是一种独立于计算机系统的模型;结构数据模型是按计算机系统的观点对数据建模,它着重于具体描述数据的数据结构。,思考题,问:能否一步到位,只建立结构数据模型呢? 答:可以,但更多是采用分二步的设计方法。因为建立数据模型不是件简单的事,它既要模拟现实世界,又要考虑数据结构,存取效率等一系列因素,使问题变得复杂,对此,人们通过一个中间步骤,先用E-R模型反映实体及其联系,再从E-R模型出发结合具体数据模型进行转换。,概念模型,1.5.1 概念模型 概念模型是对客观事物及其联系的抽象,用于信息世界的建模。 概念模型的主要概念: 实体-客观存在并可相互区别的事物。 属性-实体所具有的某一特性。 关键字(码,key)- 实体的某一属性或属性组合,其值能惟一标识某一实体。 域-属性的取值范围。 实体型-用实体名及其属性名集合来抽象和刻画的同类实体。 例:学生(学号,姓名,性别,班号) 实体集-同一类型的实体集合称为实体集。,实体之间的联系,实体间的联系 一对一联系(1:1) 一对多联系(1:m) 多对多联系(m:n),例: 系 - 系主任 (1:1) 学生 - 座位 (1:1) 班级 - 学生 (1:m) 公司 - 职员 (1:m) 学生 - 课程 (m:n) 运动员 - 项目 (m:n),设实体集: E1 E2,实体联系模型,E-R模型(Entity Relationship),也称为实体联系模型,是概念模型最常用的表示方法。 E-R模型的基本成分: 实体集 用长方形表示 属性 用椭圆表示 联系 用菱形表示,实体联系模型之例,? 总分: sum ? 成绩: score,注意:联系也有属性。,例:,实体联系模型之例,例:为某百货公司数据库系统设计一个E-R模型。百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。商店的属性有:店号、店名、店址、店经理。商品的属性有:商品号、品名、单价、产地。职工的属性有:工号、姓名、性别、工资。在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的月销售量。 E-R模型设计的一般步骤: 确定实体集 确定实体集之间的联系和联系的类型 确定属性(实体属性、联系属性),实体联系模型之例,常用的数据模型,1.5.2 常用的数据模型 1.关系模型 用二维表格结构来表示实体以及实体之间联系的数据模型。 2.层次模型 用树结构表示实体间联系的数据模型。 层次模型的特征是: 有且仅有一个结点没有父结点,它就是根结点; 其他结点有且仅有一个父结点。 在层次模型中,每个结点描述一个实体型,称为记录型。一个记录型可有许多记录值, 简称为记录。结点之间的有向边表示记录之间的联系。如果要存取某一记录型的记录,可以从根结点开始,按照有向树层次逐层向下查找,查找路径就是存取路径。,层次模型,网状模型,3.网状模型 用网状结构表示实体间联系的数据模型。网中的每一个结点代表一个记录类型,联系用链接指针来实现。广义地讲,任何一个连通的基本层次联系的集合都是网状模型。它取消了层次模型的两点限制。 网状模型的特征是: 允许结点有多于一个的父结点; 可以有一个以上的结点没有父结点。,1.6 关系数据库,1.6.1 基本术语 关系 - 一个关系就是一张二维表,每个关系有一个关系名。 元组 - 表中的行称为元组。一行为一个元组,对应存储文件中的一个记录值。 属性 - 表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。 域 - 属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑真或逻辑假两个值中取值。 关系模式 - 关系结构的描述。 R(A1,A2,A3,An) 例:学生(学号,姓名,年龄),基本术语,侯选关键字 - 属性或属性组合,其值能惟一标识一个元组。 主关键字 - 用户选作元组标识的一个侯选关键字。 主属性 - 包含在任一侯选关键字中的属性。 非主属性 - 不包含在任一侯选关键字中的属性。 外关键字 - 如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。 例:学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) “专业号”是学生关系的外关键字。 全关键字 - 由所有属性组成的侯选关键字。,基本术语,属性,元组,主关键字,教师关系,关系模型的特征,关系模型的特征: 描述的一致性。实体及实体之间的联系都是用关系来描述。 可直接表示多对多关系。 关系必须是规范化的关系。每个属性是不可分的数据项,不允许表中有表。 有较强的理论基础。 例:有如下三个关系模式: 学生(学号,姓名,性别,年龄) 课程(课程号,课程名,学时,学分) 学习(学号,课程号,成绩) 其中:学生、课程关系是描述实体的,学习关系是描述学生和课程之间存在的选课联系的。,不符合关系模型规范的表,关系运算,1.6.2 关系运算 从一个或多个关系中找出所需要的数据,要使用关系运算。 1. 笛卡尔积,RS:R是m元关系,S是n元关系,则RS是(m+n)元关系,RS每个元组的前m个分量是R的一个元组,后n个分量是S的一个元组。,关系运算,2.选择 F(R):在关系R中求取满足给定条件F的元组组成的集合。 F的组成: 运算对象:常数、元组分量(属性名或列号) 运算符 算术比较符:、 、5A3“f”(R) 或 253“f”(R),253“f”(R),关系运算,3.投影运算 A(R): 在关系R中求指定的若干个属性列组成的集合(消除重复元组)。,关系运算,4. 连接运算 (1)一般连接(为关系比较符) R S A B 含义:从R X S中选取R关系在A属性组上的值与S关系在B属性组上值满足关系的元组。 (2)等值连接:为“=”的连接。,关系运算,(3)自然连接 R S:自然连接是在两个关系的公共属性上进行的等值连接,并且除去重复属性。 计算过程: RS 公共属性上的等值选择。 去掉重复属性,连接运算之例,设有关系R、S(如下表所示),计算: (1) R1=R S (2) R2=R S AD,R S A B C B C D 1 2 3 2 3 4 5 7 8 2 3 5 9 7 8 7 8 6 计算结果是: R1 R2 A B C D A R.B R.C S.B S.C D 1 2 3 4 1 2 3 2 3 4 1 2 3 5 1 2 3 2 3 5 5 7 8 6 1 2 3 7 8 6 9 7 8 6 5 7 8 7 8 6,思考题,问:等值连接与自然连接有何区别? 答:有如下两点区别: (1)自然连接一定是等值连接,但等值连接不一定是自然连接。因为自然连接要求相等的分量必须是公共属性,而等值连接相等的分量不一定是公共属性。 (2)等值连接不把重复的属性去掉,而自然连接要把重复属性去掉。,规范化设计理念和方法,1.6.3 规范化设计理念和方法 如何评价数据模型设计的优劣呢?由于关系模型有严格的数学理论基础,因此人们就以关系模型为背景来讨论这个问题,从而形成了数据库逻辑设计的一个有利工具-关系数据库的规范化理论。下面通过一个具体关系来考察关系模式在使用中存在的问题。,规范化设计理念和方法,s,规范化设计理念和方法,关系s存在如下问题: (1)数据冗余大。姓名、课程名、教师号、教师名、教师地址大量重复。 (2)插入异常。插入异常是指应该插入到数据库中的数据不能执行插入操作的情形。 关系s的主关键字是:(学号,课程号) 关系s是否存在插入操作异常?可从在学号、课程号、和(学号,课程号)上出现NULL值去分析。 注意:当一个元组在主关键字的属性上部分或全部为空时,该元组不能插入到关系中。 关系s出现插入操作异常的情况有: 新来的学生还没有选课时,学生的信息无法插入。 课程安排好,若无学生选课时,则任课信息无法插入。 新来的教师未承担教学任务时,教师的信息无法插入。,规范化设计理念和方法,(3)删除异常。删除异常是指不应该删去的数据被删去的情形。 关系s中出现删除异常的情况:当选修某门课的所有学生都退选时,删除相关元组,会丢失课程和教师的信息。 如何解决关系s中存在的问题呢? 解决的方法:关系模式分解(关系规范化) 可将关系s分解为如下4个关系: s1(学号,姓名) s2(课程号,课程名,教师号) s3(教师号,教师名,教师地址) s4(学号,课程号,成绩),关系规范化中的相关概念,函数依赖:若R的任意关系有:对X中的每个属性值,在Y中都有惟一的值与之对应,则称Y函数依赖于X,或称X函数决定Y,记作 XY。 例:指出关系R中存在的 函数依赖。,R,函数依赖有: AB,AC,BC (C,D)A, (C,D)B (B,D)A,(B,D)C (A,D)B,(A,D)C,关系规范化中的相关概念,部分函数依赖:如果XY,且存在X的真子集X ,有X-Y,则称Y部分函数依赖于X,记作:X P Y。 例:关系R中有:(B,D) P C,(A,D) P B , (A,D) P C 完全函数依赖: 如果XY,且对任何X的真子集X,都有X+Y,则称Y完全函数依赖于X,记作:X F Y。 例:关系R中有:A F B,A F C , B F C (C,D) F A,(C,D) F B , (B,D) F A 传递函数依赖: 如果XY (YX),Y+X ,而YZ,则称Z传递函数依赖于X,记作:X T Z 。 例:关系R中有: A T C( AB,B+A,BC),规范化设计理念和方法,关系的规范化是将一个低级范式的关系模式,通过关系模式的分解转换为若干个高级范式的过程。 1.第一范式(1NF) 若R的每个分量都是不可分的数据项,则R1NF。 从型上看:不存在嵌套结构。 从值上看:不存在重复组。 1NF是关系模式的最低要求。,非1NF的二维表,转换后的1NF关系,学生关系s是1NF关系,但它存在数据冗余,插入异常和删除异常等问题。,规范化设计理念和方法,2.第二范式(2NF) 若关系R1NF,且不存在任何非主属性对侯选关键字的部分函数依赖,则R2NF。 分析:关系s不是2NF。 因为,侯选关键字为(学号,课程号) 非主属性:姓名、课程名、教师号、教师名、教师地址、成绩 函数依赖有:学号姓名,课程号课程名,课程号教师号,教师号教师姓名,教师号教师地址 所以,(学号,课程号) P 姓名 (学号,课程号) P 课程名 (学号,课程号) P 教师号 (学号,课程号) P 教师名 (学号,课程号) P 教师地址,规范化设计理念和方法,分解为2NF的方法: 将满足部分函数依赖和满足完全函数依赖的属性分解到不同的关系中。 关系S分解为3个关系: s1(学号,姓名) s2(课程号,课程名,教师号,教师名,教师地址) s3(学号,课程号,成绩) 分解后,关系s1、s2、s3都为2NF。,规范化设计理念和方法,达到2NF的关系仍然可能存在问题。 例如,在关系s2中还存在以下问题: (1)数据冗余。一个教师承担多门课程时,教师的地址要重复存储。 (2)插入异常。一个新教师报到,需将其有关数据插入到s2关系中,但该教师暂时还未承担任何教学任务,则因缺关键字课程号的值而不能进行插入操作。 (3)删除异常。删除某门课程时,会丢失该课程任课教师的信息。,规范化设计理念和方法,3.第三范式(3NF) 若关系R2NF,且不存在非主属性对侯选关键字的传递函数依赖,则R3NF。 分析:关系s2不是3NF。 因为,侯选关键字为: 课程号 非主属性:教师号、课程名、教师名、教师地址 课程号教师号,教师号+ 课程号,教师号教师地址 课程号 T 教师地址,规范化设计理念和方法,分解为3NF的方法: 将涉及传递函数依赖中的两个依赖中的属性分解到不同的关系中。 将s2分解为: s21(课程号,课程名,教师号) s22(教师号,教师名,教师地址) 则关系s21和s22都是3NF,关系s中存在的问题得到了解决。,3种范式的关系:,规范化设计理念和方法,1NF,非规范化的关系,2NF,3NF,范式的 转换关系:,1NF,2NF,3NF,1.7 数据库设计,数据库设计:是指对于一个给定的应用环境,构造最优的数据模型,然后据此建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。 数据库设计的内容: 结构特性设计 行为特性设计 数据库设计的目标: 满足要求与模拟精确程度 良好的数据库性能,数据库设计步骤,需求分析,概念结构设计,逻辑结构设计,数据库物理设计,数据库实施,需求分析,1.7.1 需求分析 一、需求分析的任务 收集与分析用户的信息及应用处理的要求,并将结果按照一定的格式形成需求说明书。 二、需求分析的方法 1. 需求信息的收集 (1)了解组织的机构设置 (2)主要业务活动和职能 (3)了解系统的各种外部要求 (4)确定系统边界,需求分析,2.需求信息的分析整理 用数据流图和数据字典描述。 三、数据流图(DFD-Data Flow Diagram) DFD用来表示收集到的各业务流程中涉及到的数据和处理过程的关系。 数据流图的基本成分:,表示同类数据的集中存放处,通常指数据文件,表示对数据的处理,表示不同处理过程之间传递的数据,表示数据的发送者和接收者,需求分析,四、数据字典(DD-Data Dictionary) 数据库应用系统的数据字典包括:数据项、数据结构、数据流、数据存储、处理过程。 例:下图给出了某机器制造厂的零配件采购子系统的数据流图。该子系统要处理的工作是生产部门提出的生产计划根据零配件当前价格计算成本送主管部门审批,对已批准生产计划制定采购计划,准备好订货单给供应商。,零配件采购子系统DFD,核对 预算,确定采 购计划,编制 定货单,零配件采购子系统的数据字典,数据项描述数据项名,数据项含义说明,别名,数据类型,长度, 取值范围,取值含义,与其他数据项的逻辑关系 例:数据项名:订货单号 类型: CHAR 长度: 8 别名: 采购单号 取值范围:10000000-99999999,零配件采购子系统的数据字典,数据结构是若干数据项有意义的集合。 数据结构描述数据结构名,含义说明,组成:数据项或数据结构 例: 数据结构:采购细节 含义说明:作为采购计划的组成部分,说明对某个产品要采购哪些零件,哪种零件采购多少数量。 组成:零件号、零件名、数量,零配件采购子系统的数据字典,数据流表示加工处理过程的输入或输出数据。 数据流描述数据流名,说明,数据流来源,数据流去向, 组成:数据结构,平均流量,高峰期流量 例: 数据流名:采购计划 说明:由各产品所需零件数、选定的供应商、审核情况组成采购零配件计划。 来源:确定采购计划 去向:编制订货单 数据结构:-采购细节 -采购审核,零配件采购子系统的数据字典,数据存储是处理过程中要存取的数据。 数据存储描述数据存储名,说明,编号,流入的数据流, 流出的数据流,组成:数据结构,数据量,存取方式 例: 数据存储名:产品 说明:对每种产品的品名、规格的描述,并对每种产品做成本预算。在核对生产计划书的成本时用。 输出数据流:预算 组成:产品号、产品名、预算 数据量:每月30-40件 存取方式:随机存取,零配件采购子系统的数据字典,处理过程是对加工处理过程的描述。 处理过程描述处理过程名,说明,输入:数据流, 输出:数据流,处理:简要说明 例: 处理过程:确定采购计划 说明:对要采购的每一零件,根据零件库存量确定采购数量,再根据每位供应商的报价选择适当的供应商,制定采购计划。 输入:供应商报价、零件库存、已批准生产计划 输出:采购计划 简要说明:(1)对应采购的每种零件查找供应商报价表,选 择报价最低的供应商号。 (2)将此供应商号填入应采购零件表的相应列中。,概念结构设计,1.7.2 概念结构设计 将需求分析得到的用户需求抽象为概念模型的过程就是概念结构设计。 在进行数据库设计时,如果将现实世界中的客观对象直接转换为机器世界中的对象,就会感到比较复杂,注意力往往被牵扯到更多的细节限制方面,而不能集中在最重要的信息的组织结构和处理模式上。因此通常是将现实世界中的客观对象首先抽象为不依赖任何DBMS和具体机器的信息结构,即概念模型,然后再把概念模型转换成具体机器上DBMS支持的数据模型。 常用的概念结构的设计方法是自底向上的设计方法。下面就介绍采用这种设计方法的设计步骤。,概念结构设计,一. 数据抽象与局部视图设计 根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图,即分E-R图。 1. 选择局部应用 可利用机构职能关系进行局部处理。 2. 逐一设计分E-R图 设计时注意: (1)实体与属性的划分原则 属性应是系统中最小的信息单位,不再具有描述性质。 属性不能与其他实体有联系。,概念结构设计,例:有职工、部门及其相关信息。,概念结构设计,概念结构设计,二. 视图集成(全局视图设计) 1. 合并分E-R图,生成初步E-R图 合并的过程实际上是一个发现冲突和解决冲突的过程。 冲突主要有: (1)属性冲突 属性值类型、取值范围等发生冲突。 (2)命名冲突 同名异义、异名同义。 (3)结构冲突 同一对象在不同视图中有不同抽象。 同一实体在不同视图中属性组成不同。 相同实体间联系在不同视图中呈现不同类型。,概念结构设计,2.消除不必要的冗余,设计基本E-R图 冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。 例:实发工资、应发工资,逻辑结构设计,1.7.3 逻辑结构设计 逻辑结构设计的主要任务:将基本E-R模型转换为DBMS所支持的数据模型。 关系型逻辑结构设计的步骤: 1) 将概念结构转换为关系模型 2) 优化模型 3) 设计适合DBMS的子模式,逻辑结构设计,一、E-R模型向关系模型的转换 1.实体的转换 每一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。 2.联系的转换 (1)一般1:1和1:m联系不产生新的关系模式,而是将一方实体的关键字加入到多方实体对应的关系模式中,若有联系的属性也一并加入。 (2) m:n联系要产生一个新的关系模式,该关系模式由联系涉及实体的关键字加上联系的属性(若有)组成。,逻辑结构设计之例,将百货公司的E-R模型转换为关系模型。,转换的关系模型如下: 商店(店号,店名,店址,店经理) 商品(商品号,品名,单价,产地) 职工(工号,姓名,性别,工资,店号,开始时间) 经营(店号,商品号,月销售量),逻辑结构设计,二、数据模型的优化 1. 分析函数依赖。 2. 确定各关系模式的范式。 3. 按照处理要求,对某些模式进行合并或分解。 4. 为提高效率和利用率,对关系模式进一步分解。 常用的两种分解方法: 垂直分解 水平分解 三、设计用户子模式 考虑:系统的使用安全、简便、用户习惯。,物理结构设计,1.7.4 物理结构设计 数据库物理设计:是指对给定的数据模型选取一个最适合应用要求的物理结构的

温馨提示

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

评论

0/150

提交评论