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