《数据库课程设计指导书讲解.docx》由会员分享,可在线阅读,更多相关《数据库课程设计指导书讲解.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库课程设计指导书讲解 数据库原理与应用课程设计指导书 制订教师:张娟 城市学院 2022年12月 数据库课程设计指导书 模块01 “教学管理系统”数据库设计 1、设计步骤 工作任务 任务1:“学分制教学管理系统”需求分析 任务2:“学分制教学管理系统”概念设计 任务3:“学分制教学管理系统”逻辑设计 任务4:“学分制教学管理系统”逻辑设计 学习目标 理解关系型数据库基本概念 熟悉数据库设计的主要阶段和步骤 掌握数据库概念设计中绘制E-R 图的方法 掌握将E-R 图转换为数据表逻辑形式的方法 理解并掌握数据库设计规范化方法 2、设计内容 任务1-1 “学分制教学管理系统”需求分析 数据库设计
2、 数据库系统的分析与设计一般分为需求分析、概念设计、逻辑设计、物理设计四个阶段。在数据库系统设计的整个过程中,需求分析和概念设计可以独立于任何的数据库管理系统(DBMS ),而逻辑设计和物理设计则与具体的数据库管理系统密切相关。 需求分析 概念设计 逻辑设计 物理设计 需求分析说明书 独立于数据库管理系统 相关于数据库管理系统 DBMS 的特征 硬件和操作系统的特征 数据库概念模式 数据库逻辑模式 数据库物理模式 需求分析 分析用户的要求。需求分析是数据库系统设计的基础,通过调查和分析,了解用户的信息需求和处理需求,并以数据流图、数据字典等形式加以描述。 概念设计 主要是把需求分析阶段得到的用
3、户需求抽象化为概念模型。概念设计是数据库系统设计的关键,我们将使用E-R 模型作为概念模式设计的工具。 逻辑设计 就是将概念设计阶段产生的概念模式转换为逻辑模式。因为逻辑设计与数据库管理系统(DBMS )密切相关,本书以关系模型和关系数据库管理系统为基础讨论逻辑设计。 物理设计 就是为关系模型选择合适的存取方法和存储结构,譬如MS SQL Server 2022数据库管理系统。 教学管理流程 课程信息 选课情况 人数未满人数 已满 成绩处理 成绩查询统计报表 教师信息 学生信息 学生登录学生网上课程选修 课程开设教师登录 重选 实施教学 教师网上录入成绩 系统功能结构 学分制教学管理系统 课程
4、管理人员管理系统登录信息查询统计报表 班级管理网上选课成绩录入系部信息维护专业信息维护班级信息维护学生信息维护教师信息维护课程信息维护任课信息维护学生成绩查询学生信息查询教师信息查询班级成绩报表学业警告报表 新增 更新 删除 学生系统登录教师系统登录管理人员登录 系统登录 从“学分制教学管理系统”的流程图可以看出,学生要登录系统进行课程选修和个人成绩查询等操作;教师要登录系统进行课程成绩录入和课程成绩查询等操作;学校教学管理人员要登录系统进行系部、专业、班级、课程等信息维护等操作。 班级管理 由于班级涉及到系部和专业信息,所以该模块包含了系部和专业信息维护子模块,涉及到这些信息的新增、更新和删
5、除功能。 人员管理 人员管理主要是学生、教师和系统角色的信息维护,涉及到这些信息的新增、更新和删除 功能。 课程管理 课程管理主要是课程信息的维护和课程教学任务分配(课程班),也涉及到这些信息的新增、更新和删除功能。 学期课程教学任务分配后,形成不同的“课程班”,可以让学生进行网上课程选修。 网上选课 学生用学号登录系统后,进入课程选修界面,如图1-7所示。同学们按照学校的规定并根据自己的实际情况,勾选自己喜欢的课程,单击图中的按钮,即可完成相应学期的课程选修。 成绩录入 根据学生课程选修情况,绝大部分选修人数超过20人的课程开始进行课程教学,教师可以登录到系统中查询“课程班”学生名单,期末课
6、程进行考试考核。随后,教师登录到系统中录入平时、期中和期末成绩,并由系统自动计算出课程总成绩。考试完两周后,由教务处管理人员将成绩锁定,教师只能查询,不能再做修改。 信息查询 信息查询主要是指学生自己入学以来的成绩查询,教学管理人员对学生和教师的信息查询,和任课教师对班级名单的查询。 统计报表 统计报表主要是指学期结束后,教学管理人员需要每个班级学生的成绩单,用以寄送给学生父母。另外,教学管理人员还要对学期学分未修满该得学分60%的学生提出学业警告,所以还需要系统给出这些学生的报表。 任务1-2 “学分制教学管理系统”概念设计 E-R 图是数据库设计的第二个阶段,即“概念设计”阶段的图形化表达
7、方式。在前面的需求分析的基础上,要求同学绘制出 “学分制教学管理系统”的E-R 图,然后与教务处及系部教学管理人员、教师、学生等进行沟通,讨论设计的数据库概念设计是否符合用户的需求。 明确实体并标识实体属性 “学分制教学管理系统”数据库中需要的对象或实体为:学生、教师、系部、专业、班级、课程、成绩。每个对象的具体属性如下: 学生:学号、姓名、入学及毕业年份、系部、专业、班级、性别、年龄、出生日期、联系地址、邮编、密码。 教师:教工号、姓名、所在系部、性别、年龄、出生日期、职称、密码、是否管理员。 系部:系部编码、系部名称、专业名称、系部简介。 班级:班级编码、班级名称、系部、系部开设时间、班主
8、任。 课程:课程编码、课程名称、系部、课时、学分、课程描述。 成绩:学号、课程、班级、平时成绩、期中成绩、期末成绩、总成绩、补考成绩、课程学分、锁定标志。 系部 学生班级姓名性别学号出生日期地址编码名称班级系部班级编码系部开设时间系部教师职称姓名性别 教工号出生日期密码 密码邮编系部编码系部专业名称年龄入学及毕业年份 年龄角色系部简介 班主任系部名称 标识实体间关系 关系模型数据库中每个对象并非孤立的,它们是相互关联的。在设计数据库时,要标识出对象之间的关系。 学生与班级、系部有从属关系。即学生从属于班级,班级从属于系部。 教师与系部有从属关系。即教师从属于系部。 课程与系部有从属关系。即课程
9、从属于系部。 成绩与学生、课程有从属关系。即成绩既从属于学生,也从属于课程。 学生与课程存在关系,即每个学期,每个学生根据自己的实际情况,要选择课程学 习。 教师与课程存在关系,即每个学期,根据教师的实际情况,系部管理者要分配教学 任务(课程)给每个教师,实施教学。 标识实体间关系 学生 教师 成绩班级 课程 系部 组成 组成 组成 考试 1 N 1 N 1 N 任课 取得 1 N 1 N M N 选 修 M N 任务1-3 “学分制教学管理系统”逻辑设计 要从设计好的系统E-R 图概念设计模型导出系统的逻辑设计模型,包括所有的数据表,每个表的所有列,主外键定义等,并且所有命名必须符合规范,
10、E-R 图转换为数据表 将E-R 图转换为表格的步骤如下: 实体映射成表 标识主键字段 确定外键字段 1:N 关系 M:N 关系 确定普通字段 根据E-R 图中实体的属性,以及该属性在系统中信息表达的具体要求,映射成实体所对应数据表的字段,并明确字段的名称、数据类型、长度、是否为空、默认值等。 外键 1:N 关系 外键(Forgeign Key )关系体现了实体之间的“1对多”关系,构成了主从表关系,主外键关系主要是用来维护两个表之间的数据一致性,是一种约束关系。可以通过在从表中增加一个字段(对应主表中的主键)作为外键。例如,班级与学生是一对多的关系,学生表中需要一个表示学生属性的字段,只要将
11、班级表中的主键字段设置到学生表中作为外键即可。 M:N 关系 多对多关系。这时应该将多对多关系映射成一张新表,这张表应包括两个多对多关联实体 表的所有主键字段,这两个主键的所有字段成为新表的主键。例如,学生与课程的关系(学生选课)是多对多关系,此时应该将“学生选课”这个多对多关系映射成一张新表。 对象类型命名规则前缀范例备注 数据库名DB_英文名DB_ DB_TeachingSystem 有意义的英文 单词连接在一 起 首字母大写 表名TB_英文名TB_ TB_Student 字段名 英文名(帕斯卡 法) ? ?琰茞? CourseName 视图名VW_英文名VW_ VW_Student 主键
12、PK_表名_列名PK_ PK_CourseID 多列用_隔开 外键FK_表名_列名FK_ FK_CourseID 检查约束CK_表名_列名CK_ CK_CourseID 唯一约束UK_表名_列名UK_ UK_CourseName 默认值DEF_表名_列名DEF_ DEF_CourseGrade 索引IX_表名_列名IX_ IX_CourseName 存储过程SP_英文名SP_ SP_GradeProcess 有意义的英文 多个单词一起 首字母大写 触发器TR_英文名TR_ TR_SelectCourse 游标CUR_英文名CUR_ CUR_Student 局部变量英文名 CourseID 构建逻辑模型 实体映射成表及主键 构建逻辑模型 确定外键字段 从下面系统E-R模型图可以看出,存在实体与和与间两个“多对多”的关系,根据前面相关知识描述,应该将每个“多对多”关系映射成一张新表,变成两个“一对多”关系。 用一个新的实体来表征实体与之间“多对多”的“任课”关系,从而构成与和与之间的两个“一对多”关系,如下图所示。 实体与间的“多对多”关系 系部1M 班级组成 组成 1 N 1教师课程N 任课1 课程班组成1N N 1