周慧MicrosoftSQLServer2008单元2_1数据库需求分析与概念设计(案例1)数据库应用技术(SQLServer2008R2)MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分数据库开发与维护-需求分析与概念设计数据库系统数据模型数据库设计创建数据库关系模型分析报告概念模型概念模型转为关系模型关系规范化创建基本表创建索引数据查询创建视图程序设计系统维护数据库开发与维护建模方法SQLServer资源管理器查询编辑器数据库安全数据库恢复数据库传输析分求需计设念概计设理物发开用应计设辑逻2MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分工作任务教务管理系统数据库的概念设计1.自学MicrosoftOfficeVisio制图软件。2.阅读教务管理系统项目的需求分析,绘制DFD图。3.根据项目需求分析建立概念数据模型,绘制ER图。3MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分单元目标能力目标能够阅读项目需求分析报告能够根据项目需求分析报告进行数据库的概念模型设计能够使用OfficeVisio绘制DFD数据流图和ER概念模型图能够阅读并理解数据模型有关的英文术语知识目标数据库需求分析(DFD数据流图)数据库概念设计(ER方法建模)概念模型有关的英文术语素质目标通过项目需求分析,培养与客户沟通的能力。通过学习Office的Visio软件绘图,培养学习新技术的能力。4MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分学习内容知识框架模型要素:实体、联系、属性、候选键、主键、外键联系分类(1:1、1:n、n:m)设计步骤:初始化,定义实体、联系、主键、属性、规则等数据流图(DFD(→:数据流□:外部实体○:数据处理::数据存储数据字典(DD)数据项数据结构数据流数据存储处理过程内模式CREATEDATABASE模式CREATETABLE外模式CREATEVIEWDBIDEF1X方法:实体:独立实体(方角矩形)、从属实体(圆角矩形)属性:主键(实体方框直线上)、普通属性(实体方框直线下)联系:ER方法:矩形(实体E)、椭圆(属性A)、菱形(联系R)ER设计过程:局部、综合、优化Visio建模工具:基本流程图(图形)、文本工具(文字)、格式化标识联系:1到0或多非标识联系(强制):1到0或多非标识联系(非强制):0或1到0或多完全分类联系:1到1不完全分类联系:1到0或1一般实体分类实体1分类实体n分类实体2鉴别器一般实体分类实体1分类实体n分类实体2鉴别器实体1实体1ID...实体2实体2ID...关联实体3实体1ID(FK)实体2ID(FK)...实体1实体1ID...实体2实体2ID...确定联系1:n(n≥0)不确定联系m:n客观世界事物及联系需求分析↓分析报告概念设计↓概念模型逻辑设计↓关系模型Visio建模工具:数据库模型图—实体关系ParentParentID...ChildParentID(FK)ChildID...ParentParentID...ChildChildIDParentID(FK)...ParentParentID...ChildChildIDParentID(O)(FK)...5MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分一、数据库需求分析数据库需求分析方法1数据库需求分析案例26MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)需求分析方法需求分析的重点信息要求、处理要求、安全性与完整性要求。数据流图(DataFlowDiagram,DFD)→:数据流□:外部实体○:数据处理〓:数据存储数据字典(DataDictionary,DD)各类数据描述的集合,它是关于数据库中数据的描述,即元数据。通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。DFD数据流图和DD数据字典7MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(二)教务管理系统需求分析组织结构是用户业务流程与信息的载体,对分析人员理解企业的业务、确定系统范围具有很好的帮助教务管理组织结构教务管理部门学籍管理岗位考务管理岗位教学管理岗位教材管理岗位8MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(二)教务管理系统需求分析数据流图表达了数据和处理过程的关系教务管理数据业务流程(DFD)教务管理部门学籍管理岗位考务管理岗位教学管理岗位教材管理岗位课程管理学生管理学生信息课程信息授课管理教材管理成绩管理选课成绩授课信息教材信息教师信息人事管理9MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(二)教务管理系统需求分析描述信息需求——各类数据描述的集合教务管理数据字典(DD)学生信息:学号、姓名、性别、出生日期、专业、入学录取分数等课程信息:课程号、课程名、学分、课程类型、课程性质等教师信息:职工号、姓名、性别、出生日期、职称、学历、学位、所属系部等教材信息:教材号、教材名、出版社、价格、订书数量、发放数量等学生选课信息:学号、课程号、成绩等教师授课信息:职工号、课程号、专业、班级、授课任务、评价等课程选用教材信息:课程号、教材号、数量、班级等10MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(二)教务管理系统需求分析描述功能需求——编辑、查询、报表教务管理处理需求学生管理功能:添加、更新和删除学生学籍信息,查询和分类统计学生信息课程管理功能:添加、更新和删除各专业课程信息,查询和分类统计课程信息成绩管理功能:添加、更新和删除学生选课以及所选课程考试成绩信息,查询和分类统计学生选课以及考试成绩信息授课管理功能:添加、更新和删除教师授课以及对所授课程的教学评价信息,查询和分类统计教师授课以及对所授课程的教学评价信息教材管理功能:添加、更新和删除相关课程的教材信息,查询和分类统计教材信息对于以上功能需求按照自顶向下逐步求精的方法进行模块划分,按照用户的需求和习惯,应用C#、Java等程序设计语言和数据库接口技术ADO.NET、JDBC或ODBC等实现各功能模块的界面设计与数据访问11MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分二、数据库概念设计概念模型的基本要素1概念设计的一般步骤212MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)概念模型的基本要素实体集具有相同属性或特征的客观现实和抽象事物的集合一个班级的学生实体实例客观存在并且可以相互区别的事物和活动的抽象一个学生实体型对同类实体的共有特征的抽象定义学号,姓名,性别实体值符合实体型定义的每个具体实体2011216001,赵成刚,男实体(Entity,E)在不会混淆的情况下一般简称为实体(E)13MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)概念模型的基本要素联系集实体之间相互关系的集合例如:每位学生选各门课程的相互关系联系实例客观存在并且可以相互区别的实体之间的关系例如:实体“学生”中的“赵成刚”选择实体“课程”中的“面向过程程序设计”,成绩为96分联系型对同类联系共有特征的抽象定义例如:(学号,课程号,成绩)联系值符合联系型定义的每个具体联系实例例如:(2011216001,16020010,96)联系(Relationship,R)在不会混淆的情况下一般简称为联系(R)14MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)概念模型的基本要素属性描述实体和联系的特性例如:学号,姓名,性别属性值属性的具体取值例如:2011216001,赵成刚,男属性(Attribute,A)15MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)概念模型的基本要素候选键(Candidatekey,CK)能够唯一标识实体集或者联系集中每个实例的属性或属性组合,可以有多个。例如:实体“学生”中的学号、身份证号、姓名(如果无重名)主键(PrimaryKey,PK)能够唯一标识实体集或者联系中每个实例的属性或属性组合,可在多个候选键中选择但只能有一个。主键中的属性称为主属性,其他属性称为非主属性。例如:实体“学生”的主键为“学号”,实体“课程”的主键为“课程号”,联系“选课”的主键为“学号+课程号”键(key,K)自然键:一些原本就可以唯一标识实例的属性,可直接选择作为主键例如:学号、员工编号、社会保险号、驾照号码、发票号、订单号、产品号等智能键:用几部分信息构造起来的属性,属性内部包含多种信息,帮助人们识别真实世界的某些事物例如:身份证号用于唯一标识公民,某公民的身份证号为23000019990101671*前6位:地址代码。230000代表黑龙江。中间8位:代表出生日期。19990101代表1999年1月1日出生。第15位和第16位:顺序码。67为证件顺序。第17位:性别码:如果是奇数就是男,如果是偶数就是女。此处1代表男。最后一位:数字是验证码,是通过计算前面的数字得到的一个值,是用来验证前面身份证号码正确与否的验证码。例如:图书馆某图书编号为978-7-115-19345-2TP311.138/269图书-中国-人民邮电出版社-书序号-校验码,计算机技术大类、程序设计小类.数据库系统/书次号16MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)概念模型的基本要素外键(Foreignkey,FK)一个或一组属性,其中包含另一个实体的主键,用于实现实体之间的联系与参照完整性。例如:联系“课程选用教材”中的外键“课程号”和“教材号”,它们分别是实体“课程”和“教材”中的主键,通过这两个外键可以关联到实体“课程”和实体“教材”中的相应实例,得到此课程和所选教材的具体信息。例如:联系“选课”中的外键“学号”和“课程号”,它们分别是实体“学生”和“课程”中的主键,通过这两个外键可以关联到实体“学生”和实体“课程”中的相应实例,得到此学生和所选课程的具体信息。键(key,K)17MicrosoftSQLServer2008《数据库应用技术(SQLServer2008R2版)》人民邮电出版社2020年1月21日3时59分(一)概念模型的基本要素联系分类面向过程程序设计数据库开发与维护面向对象程序设计……课程SQLServer2008C语言程序设计Java程序设计……教材软件1班网络1班…