《华联学院《SQL数据库系统》课件01数据库系统设计》由会员分享,可在线阅读,更多相关《华联学院《SQL数据库系统》课件01数据库系统设计(85页珍藏版)》请在金锄头文库上搜索。
1、第1章 数据库系统设计 本章知识点(1)理解数据库的基本概念。(2)初步掌握关系数据库设计的方法和步骤。(3)学会E-R图的画法。(4)掌握E-R图转换为关系模式的规则。(5)理解关系模式的规范化理论。 本章能力培养目标本章能力培养目标(1)(1) 能进行需求调研、分析。能进行需求调研、分析。(2)(2) 能绘制能绘制E-RE-R图。图。(3)(3) 能将能将E-RE-R图转换成关系模式。图转换成关系模式。(4)(4) 能运用规范化理论规范关系模式。能运用规范化理论规范关系模式。(5)(5) 具有收集整理资料和沟通协作能力。具有收集整理资料和沟通协作能力。 1.1 1.1 学生成绩管理系统的需
2、求分析学生成绩管理系统的需求分析 本章将采用本章将采用项目教学法和任务驱动法项目教学法和任务驱动法 为此,我们将组建若干个项目小组,每组有1名组长和3名组员,分别承担一项任务,通过模拟开发的全过程,学习数据库系统设计。 我们的任务是,为江扬职业技术学院开发用于学生成绩管理的软件业务,软件名称定为“学生成绩管理系统”。 1.1.1 1.1.1 数据库系统的基本概念数据库系统的基本概念(1)数据库(Database System,简称DB)。 数据库,顾名思义,是存放数据的仓库。它是指长期存储在计算机内、有组织的、可共享大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗
3、余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (2)数据库管理系统(DataBase Management System,简称DBMS)。 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它主要包括数据定义、数据操纵、数据库的运行管理、数据库的建立和维护等功能。目前,数据库管理系统主要有Visual FoxPro、Access、Oracle、SQL-Server、DB2、MySQL等。 (3)数据库管理员(DataBase Administrator,简称DBA)。 数据库的管理工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人员被称为数据库管理员。他们负责全面管
4、理和控制数据库系统,其主要工作有数据库设计、数据库维护和改善数据库系统性能等。 (4)数据库系统(DataBase System,简称DBS)。 将数据库技术引进计算机系统后形成了数据库系统。数据库系统一般是由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户等部分组成的,其中数据库管理系统是数据库系统的核心。1.1.2 1.1.2 现实世界数据化过程现实世界数据化过程 现实世界中的客观事物是不能直接被计算机进行处理的,必须将它们进行数据化后才能在计算机中进行处理,数据化要经历三个世界两次抽象才能实现,如图1-1所示。图1-1 现实世界中客观对象的抽象过程 在数据库系统中,一般采
5、用数据模型这个工具来对现实世界数据进行抽象。首先将现实世界中的客观对象抽象为某一种不依赖于具体计算机系统的概念模型,然后再把概念模型转换为计算机中某一DBMS支持的数据模型。 现实世界数据化过程可由数据库设计人员通过数据库的设计来实现。1.1.3 1.1.3 数据库设计数据库设计 数据库设计包括数据库结构设计和应用系统设计两方面,本书只介绍数据库结构设计,应用系统设计将由其他课程介绍。 数据库结构设计一般分为需求分析、概念设计、逻辑设计和物理设计四个阶段。1.1.4 1.1.4 需求调查的内容与方法需求调查的内容与方法需求调查的内容有:(1)组织机构情况。了解部门组成情况和各部门的职责等。(2
6、)各部门的业务活动情况。了解各部门的业务流程,即了解各个部门输入和使用什么数据、如何加工处理这些数据、输出哪些信息、输出到哪些部门以及输出结果的格式等。(3)对新系统的各种要求。在熟悉业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、安全性与完整性要求。(4)确定新系统的边界。对调查的结果进行分析,确定哪些功能由计算机完成、哪些活动由人工完成。 常用的调查方法有:(1)跟班实习。指设计人员深入客户所在公司,亲自参加实际业务,从而准确地理解用户的需求。(2)开调查会。一般采用座谈会的形式。会议通常由开发小组成员主持,开发人员在会上可与参加会议的人员自由地交谈,听取他们的介
7、绍,了解业务活动情况及需求情况。(3)请专人介绍。请专人介绍本部门工作流程,以及对各个环节的功能划分和要求。(4)询问。对调查中的某些问题,可以找专人询问。(5)设计调查表。设计详细的业务调查表,让用户填写回答。(6)查阅文档资料。通过查阅与原系统有关的数据、报表、档案充分了解用户的业务流程、基本数据的格式和内容。1.1.5 分析和整理数据分析和整理数据 分析和整理资料的目的是分析和表达用户的需要。可以在资料收集过程中或资料收集完成后进行分析和整理工作。分析和整理工作主要是对数据进行抽象,即对实际事件进行处理,抽取共同的本质特征,忽略其细节,并用各种概念精确描述。 在分析和整理数据的过程中,常
8、用到业务流程图和数据字典等工具,下面介绍之。 可用画图的方式,表示业务流程,这种图叫业务流程图,它一共有6种符号,如图1-2所示。图1-2 业务流程图符号 (1)外部实体。是指该实体与系统有关的外部单位。例如,学生、教师等。(2)处理框。主要表示各种处理。例如,修改成绩单、修改基本信息表等。(3)实物框。是指要传递的具体实物或单据。例如,学生基本情况表、学生成绩单等。(4)数据存储。是指在加工或转换数据的过程中需要储存的数据。例如,课程记录、成绩记录等。(5)流程线。是指数据的流向。(6)判定框。是指问题的审核或判断。例如,对某学生情况的审核。图1-3 学生成绩管理业务流程图1.2 学生成绩管
9、理系统的概念设计 项目小组经过对用户全面地调查、分析,编写出业务流程和数据字典,并通过与用户多次沟通确认,完成了需求分析阶段的任务,开始进入数据库设计的概念设计阶段。 概念模型是一种独立于计算机系统,用于信息世界的数据模型,它是按用户的观点对数据进行建模。它对实际的人、物、事和概念进行人为处理,抽取所关心的特性,并把这些特性用各种概念准确地描述出来。概念模型是数据库设计人员和用户之间进行交流与沟通的工具,最常用的概念模型是实体联系模型,简称E-R模型。采用E-R模型来描述现实世界有两点优势:一是它接近于人的思维模式,很容易被人所理解;二是它独立于计算机,和具体的DBMS无关,用户更容易接受。1
10、.2.1 1.2.1 概念模型概念模型 1、实体联系模型涉及的主要概念(1)实体。客观存在并可以相互区别的事物称为实体。例如,一名学生、一名教师、一门课程等。(2)属性。实体所具有的特性称为实体的属性。例如,学号、姓名、出生日期等。(3)码。唯一确定实体的属性或属性组合称为码。例如,课程编号是课程实体的码。(4)域。属性的取值范围称为该属性的域。例如,性别的域为(男,女)。(5)实体集。具有相同属性和性质的实体的集合称为实体集。例如,所有教师就是一个实体集。(6)联系。事物内部以及事物之间是有联系的,这些联系在概念模型中表现为实体内部的联系和实体之间的联系。实体内部的联系是指某一实体内部各个属
11、性之间的关系,而实体之间的联系是指不同实体集之间的联系。 2 、 实体间的联系类型实体间的联系分为以下3类:(1)一对一的联系(1:1)。如果对于实体集A中的每一个实体,在实体集B中至多有一个实体与它有联系;反之亦成立,则表示实体集A与实体集B具有一对一的联系,用1:1表示。例如,一个系只能有一个系主任,而一个系主任只在一个系中任职,则系主任与系之间具有一对一的联系。 (2)一对多的联系(1:n)。如果对于实体集A中的每一个实体,在实体集B中可能有多个实体与它有联系;反之,如果对于实体集B中的每一个实体,在实体集A中至多有一个实体与它有联系,则表示实体集A与实体集B具有一对多的联系,用1:n表
12、示。例如,一个系有若干名教师,而每个教师只能属于一个系,则系与教师之间具有一对多联系。 (3)多对多的联系(m:n)。如果对于实体集A中的每一个实体,在实体集B中可能有多个实体与它有联系,反之亦成立,则表示实体集A与实体集B具有多对多的联系,用m:n表示。例如,一门课程同时有多个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多的联系。E-R模型是直观描述概念模型的有力工具,它直接从现实世界中抽象出实体及实体间联系。E-R模型可用E-R图表示,其方法如下:(1)实体集。用矩形表示,矩形内写明实体名。(2)属性。用椭圆形表示,并用无向边将其与相应的实体集连接起来。例如,班主任实
13、体具有工号、姓名、性别、出生日期、班级编号、联系电话、家庭住址等属性,用E-R图表示,如图1-4所示。1.2.2 1.2.2 概念模型的表示方法概念模型的表示方法图1-4 班主任实体E-R图 (3)联系。用菱形表示,菱形框内写上联系名,用无向边分别与有关实体集连接起来,在无向边旁标出联系的类型。如果联系具有属性,则该属性仍用椭圆框表示,仍需要用无向边将属性与其联系连接起来。例如,班主任与班级之间的联系类型为一对一联系,其联系E-R图如图1-5所示。图1-5 班主任与班级联系E-R图1 、 确定实体与属性根据需求分析的结果,抽象出实体及实体的属性。在抽象实体及属性时要注意,实体和属性虽然没有本质
14、区别,但是要求:(1)属性必须是不可分割的数据项,不能包含其他属性。(2)属性不能与其他实体具有联系。例如,系虽然可以作为班级的属性,但是该属性仍然含有系编号与系名称等属性,因此系也需要抽象为一个实体。1.2.3 E-R模型的设计当实体和属性确定之后,需要确定实体的码。码可以是单个属性,也可以是几个属性的组合。2、确定实体间联系及类型依据需求分析的结果,确定任意两个实体之间是否有联系,是何种联系。例如,一门课程可以由多个教师讲授,而一个教师只讲一门课程,课程与教师之间的联系类型为一对多的联系(1:n)。3、画出局部E-R图根据所确定的实体、属性及联系画出局部E-R图 4、画出全局E-R图局部E
15、-R模型设计完成之后,下一步就是集成各局部E-R模型,形成全局E-R模型,即视图的集成。视图集成可以有两种方式:(1)一次集成法。将多个局部E-R图一次综合成一个系统的全局E-R图。(2)逐步集成法。以累加的方式每次集成两个局部E-R图,这样逐步集成一个系统的全局E-R图。 第一种方法比较复杂,做起来难度大;第二种方法可降低复杂度。在实际应用中,可以根据系统复杂性选择这两种方式。视图集成可分成两个步骤:(1)合并。消除各局部E-R图之间的冲突,生成初步E-R图。(2)优化。消除不必要的冗余,生成基本E-R图。1.3 学生成绩管理系统的逻辑设计项目小组根据学生成绩数据库概念设计阶段得到的全局E-
16、R图,设计出“学生成绩管理系统”数据库的逻辑结构。即将概念设计阶段设计的全局E-R图先转换为关系模式,然后对其进行规范化得到最终的关系模式。完成任务的具体步骤如下:(1)将全局E-R图转换成关系模式。(2)对关系模式进行规范化。(3)设置关系模式之间联系的键。 为了建立用户所需要的数据库,要把所设计的概念模型转换为某个具体的DBMS所支持的数据模型。通常数据模型可分为网状模型、层次模型和关系模型。目前数据库系统普遍采用的数据模型是关系模型,采用关系模型作为数据组织方式的数据库系统称为关系数据库系统,所以这里只讨论关系数据库的逻辑设计问题。1.3.1 1.3.1 关系模型关系模型 1、 关系模型基本概念 关系模型是用二维表结构表示实体及实体之间联系的数据模型。每个关系由它的行和列组成,见表1-5。学号姓名性别出生日期籍贯080101王小勇男1988.10江苏苏州080102黄浩男1988.7江苏扬州080103吴兰芳女1989.5江苏无锡080104张扬男1988.7江苏镇江表1-5 学生信息表 这里,介绍关系模型的几个基本概念:(1)关系。通常将关系模型称为关系或表,一个关系对应一张表