学生选课系统数据库设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功