《学生选课系统数据库设计ppt课件.pptx》由会员分享,可在线阅读,更多相关《学生选课系统数据库设计ppt课件.pptx(49页珍藏版)》请在三一办公上搜索。
1、第一个问题,什么是数据库设计?,数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。,第二个问题,修建这些建筑需要设计吗?,结论:当数据库比较复杂时我们需要设计数据库。,为什么需要设计数据库?,为什么需要设计数据库?,节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发,数据冗余存储空间浪费数据更新和插入的异常,良好的数据库设计:,糟糕的数据库设计:,进入主题,数据库设计
2、方法,新奥尔良(New Orleans)方法基于E-R模型的数据库设计方法3NF(第三范式)的设计方法面向对象的数据库设计方法统一建模语言(Unified Model Language,UML)方法,开发周期,现实世界,信息世界,数据库世界,规范化,模型转换,建模,数据库设计的基本步骤,1. 需求分析,2. 概念结构设计,3. 逻辑结构设计,4. 物理结构设计,5. 数据库实施,6. 数据库运行和维护,1,PART ONE,需求分析,需求分析,需求分析就是分析用户的需要与要求 需求分析是设计数据库的起点。 需求分析的结果是否准确地反映了用户的实际要求,将直接影响到 后面各个阶段的设计,并影响到
3、设计结果是否合理和实用。,任务,需求分析的任务,通过详细调查现实世界要处理的对象(组织、部门、企业等),充 分了解原系统(手工系统或计算机系统)工作概况,明确用户的各 种需求,在此基础上确定新系统的功能。新系统必须充分考虑今后 可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。,需求分析,重难点,调查的重点是“数据”和“处理”,获得用户对数据库要求,处理要求,安全性与完整性要求,信息要求,设计人员缺少用户的专业知识,用户缺少计算机知识,设计人员必须不断深入地与用户进行交流,确定用户最终需求,确定用户最终需求,需求分析,方法,调查清楚用户的实际需求并进行初步析 与用户达成共识 进一步分析与表
4、达这些需求,需求分析,数据字典,数据项= 数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系数据结构= 数据结构名,含义说明,组成:数据项或数据结构数据流= 数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量数据存储= 数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式处理过程= 处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明,需求分析,数据字典,数据项= 数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项
5、之间的联系数据结构= 数据结构名,含义说明,组成:数据项或数据结构数据流= 数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量数据存储= 数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式处理过程= 处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明,需求分析,数据字典,数据项名:学号 含义说明:唯一标识每个学生 别名:学生编号 类型:字符型 长度:10 取值范围:0000000000至9999999999 取值含义:前两位标别该学生所在年级, 后六位按顺序编号与其他数据项的逻辑关系:,学号数据项,需求分析,数据字
6、典,学生数据结构,数据结构:学生 含义说明:学生选课系统的主体数据结构, 定义了一个学生的有关信息 组成:学号,姓名,所在系,年级,需求分析,数据字典,成绩数据流,数据流:成绩 说明:学生参加考试的最终结果 数据流来源:考试 数据流去向:批准 组成: 平均流量: 高峰期流量:,需求分析,数据字典,成绩单数据存储,数据存储:学生成绩单 说明:记录学生的考试成绩情况 流入数据流: 流出数据流: 组成: 数据量:每年5张 存取方式:随机存取,需求分析,数据字典,考试安排处理过程,处理过程:考试安排 说明:为所有选课学生分配考场及监考教师 输入:学生,教师,课程 输出:考试安排 处理:在学期期末,为所
7、有选课学生安排考试; 要求同一考场只能允许30人考试;同一老师同一时间只能监考一个考场; ,需求分析,结果,四大模块,学生选课模块 允许学生修改1个人信息,浏览基本的课程;并实现主要的选课功能,包括填写选课信息、查看已选课程、修改选课等。教师开课模块 允许教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。管理员管理模块 主要包括创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通知等等。通用功能模块 即用户登录、密码修改等功能的实现。,需求分析,结果,功能需求图,2,PART TWO,概念结构设计,概念结构设计,特点及工具,概念结构设计的特点,易于更改 易于
8、理解 能真实、充分地反映现实世界 易于向关系、网状、层次等各种数据 模型转换,描述概念模型的工具,E-R模型,概念结构设计,方法,自底向上,概念结构设计,方法,步骤,第1步:抽象数据并设计局部视图。第2步:集成局部视图,得到全局 概念结构。,概念结构设计,数据抽象,学 生,概念结构设计,数据抽象,教 师,概念结构设计,数据抽象,学 院,概念结构设计,数据抽象,课 程 类,概念结构设计,数据抽象,课 程,概念结构设计,数据抽象,可选课程,是否已选,任教,可否更改,安排,设置,m,n,n,1,n,1,1,n,基于,n,1,学号,姓名,年级,专业,课程,课名,时间,限选条件,任课教师,注册人数,是否
9、开课,学院,院名,院长,课程管理,课程类数,教师,姓名,性别,学院,权限,课程类,课名,可否退选,是否必选,学分,最终考核,1,学生,课号,3,PART THREE,逻辑结构设计,逻辑结构设计,任务步骤,逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构逻辑结构设计的步骤将概念结构转化为一般的关系、网状、层次模型将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换对数据模型进行优化,逻辑结构设计,关系模式,关系模式(表):学院学院名,课程管理员学生学号,姓名,年级,专业教师编号,姓名,性别,所属学院,权限学生可选课程课程
10、号,学号,是否已选,成绩课程类类号,课名,开设学院,学分,是否必选,可否退选,最终考核形式课程课程号,类号,上课时间,上课地点,注册人数,是否开课,任课教师,限选条件,逻辑结构设计,关系模式,Tables:DepartmentD_name,ManagerStudentStu_id,Stu_Name,Grade,DepartmentTeacherT_id,S_name,Sex,Department,RightAssCourC_id,Stu_id,Selected,ScoreSubjectSub_id,Sub_name,Department,Credit,RC,GU,FTCourseC_id,Su
11、b_name,Time,Room,Subscribers,Discerned, Teacher,Limitation,逻辑结构设计,视图基本表,学生视图:,基本表:,课程类类号,课名,开设学院,学分,是否必选,可否退选,最终考核形式课程课程号,类号,上课时间,上课地点,注册人数,是否开课,任课教师,限选条件,逻辑结构设计,视图基本表,课程课程号,课名,上课时间,上课地点,注册人数,是否开课,任课教师,限选条件课程类类号,类号,开设学院,学分,是否必选,可否退选,最终考核形式,教师视图:,基本表:,逻辑结构设计,视图基本表,学院视图:,4,PART FOUR,物理结构设计,物理结构设计,步骤,确
12、定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; 对物理结构进行评价,评价的重点是时间和空间效率。,如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型,物理结构设计,存取方法,DBMS常用存取方法,索引方法,目前主要是B+树索引方法,经典存取方法,使用最普遍HASH方法 聚簇(Cluster)方法,物理结构设计,聚簇存取,关系模式(表):课程类类号,课名,开设学院,学分,是否必选,可否退选,最终考核形式课程课程号,类号,上课时间,上课地点,注册人数,是否开课,任课教师,限选条件学生可选课程课程号,学号,是否
13、已选,成绩,数据库实施与维护,&,数据库实施和维护,试运行,功能测试实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求 如果不满足,对应用程序部分则要修改、调整,直到达到设计要求阶段,修改逻辑结构 。,性能测试测量系统的性能指标,分析是否达到设计目标如果测试的结果与设计目标不符,则要返回物理设计阶段,重新调整物理结构,修改系统参数,某些情况下甚至要返回逻辑设计阶段,修改逻辑结构 。,试运行主要工作,数据库实施和维护,试运行,由于数据入库工作量实在太大,费时、费力,所以应分期分批地组织数据入库。先输入小批量数据供调试用 待试运行基本合格后再大批 量输入数据。逐步增加数据量,逐步完成运行评价。,在数据库试运行阶段,系统还不 稳定,硬、软件故障随时都可能发生。系统的操作人员对新系统还不熟悉,误操作也不可避免。因此必须做好数据库的转储和恢复工作,尽量减少对数据库的破坏。,分期分批组织数据入库,数据库的转储和恢复,数据库实施和维护,运行维护,数据库的转储和恢复数据库的安全性、完整性控制数据库性能的监督、分析和改进数据库的重组织和重构造,对数据库经常性的维护工作包括,三分技术,七分管理,十二分数据,谢谢,