您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 学生选课系统数据库设计
SQLServer数据库系统1学生选课系统设计1234主要内容5需求分析概念结构设计物理结构设计逻辑结构设计数据库实施6项目小结SQLServer数据库技术需求分析1.调查用户学生选课数据库系统,用户要求如下:(1)系统用户由三类组成:教师、学生和管理员。(2)管理员负责的主要功能:①用户管理(老师、学生及管理员的增、删、改);②课程管理(添加、删除和修改);③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。(3)学生通过登录,可以查询课程的基本信息、实现选课、退课和成绩查询;(4)老师通过登录,可以查看选课学生的基本信息,可以输入成绩。SQLServer数据库技术需求分析2.归纳总结学生选课系统将只少包含学生、教师、管理员等实体。⑴学生可以在规定的时间内选课、退选和成绩查询等操作;⑵教师可以查看学生的相关信息,录入学生成绩等操作;⑶管理员可以添加管理员,管理教师、学生等信息。SQLServer数据库技术需求分析3.得出系统功能学生选课系统学生教师管理员选课退选查询选课信息查询课程信息查询选课信息录入学生成绩用户管理课程管理选课管理查询成绩信息概念结构设计E-R图设计学生选课系统中,包括七个实体:系部:系部编号、系名、系主任、地址、电话教研室:教研室编号、教研室名教师:教师编号、姓名、性别、出生日期、职务、职称专业:专业编号、专业名称班级:班级编号、班级名称、年级学生:学号、姓名、性别、出生日期、地址、电话课程:课程编号、课程名、学时、学分、开课学期、开课类别。SQLServer数据库技术概念结构设计E-R图设计各实体间的关系如下:学生与课程之间的关系是多对多的关系,一个学生可以学习多门课程,一门课程又可以被多个学生学习。班级和学生之间的关系为一对多的关系,一个班有多个学生,一个学生只属于一个班级。专业和课程之间为多对多的关系,一个专业有多门课程,一门课对应多个专业。……SQLServer数据库技术概念结构设计E-R图设计系主任系部系部编号系名地址电话拥有教研室教研室编号教研室名教研室主任教研室地址m1班级班级编号班级名班主任年级教师教师编号姓名出生日期性别职务职称归属m1m选课课程课程编号课程名课程类别开课学期学时学分专业专业编号专业名称专业描述学习属于管理含有mmmm111np学生学号姓名出生日期地址性别电话学年学期起始周截止周1概念结构设计E-R图设计系主任系部系部编号系名地址电话拥有教研室教研室编号教研室名教研室主任教研室地址m1班级班级编号班级名班主任年级教师教师编号姓名出生日期性别职务职称归属m1m选课课程课程编号课程名课程类别开课学期学时学分专业专业编号专业名称专业描述学习属于管理含有mmmm111np学生学号姓名出生日期地址性别电话学年学期起始周截止周1逻辑结构设计E-R模型向关系模型转换系主任系部系部编号系名地址电话拥有教研室教研室编号教研室名教研室主任教研室地址m1专业专业编号专业名称专业描述管理含有m11实体表系部(系部编号,系名,系主任,地址,电话)教研室(教研室编号,教研室名,教研室主任,教研室地址,系部编号)专业(专业编号,专业名称,专业描述,系部编号)SQLServer数据库技术逻辑结构设计E-R模型向关系模型转换教研室班级班级编号班级名班主任年级教师教师编号姓名出生日期性别职务职称归属1m专业含有m1实体表教师(教师编号,姓名,性别,出生日期,职务,职称,教研室编号)实体表班级(班级编号,班级名称,班主任,年级,专业编号)逻辑结构设计E-R模型向关系模型转换班级班级编号班级名班主任年级教师教师编号姓名出生日期性别职务职称m选课课程课程编号课程名课程类别开课学期学时学分专业专业编号专业名称专业描述学习属于含有mmm11np学生学号姓名出生日期地址性别电话学年学期起始周截止周1实体表学生(学号,姓名,性别,出生日期,地址,电话,班级编号)课程(课程编号,课程名,学时,学分,开课学期,开课类别,专业编号)逻辑结构设计E-R模型向关系模型转换教师教师编号姓名出生日期性别职务职称m选课课程课程编号课程名课程类别开课学期学时学分np学生学号姓名出生日期地址性别电话学年学期起始周截止周联系表选课(教师编号,学号,课程编号,学年,学期,起始周,结束周)逻辑结构设计E-R模型向关系模型转换系主任系部系部编号系名地址电话拥有教研室教研室编号教研室名教研室主任教研室地址m1班级班级编号班级名班主任年级教师教师编号姓名出生日期性别职务职称归属m1m选课课程课程编号课程名课程类别开课学期学时学分专业专业编号专业名称专业描述学习属于管理含有mmmm111np学生学号姓名出生日期地址性别电话学年学期起始周截止周1逻辑结构设计E-R模型向关系模型转换实体表系部(系部编号,系名,系主任,地址,电话)教研室(教研室编号,教研室名,系部编号)专业(专业编号,专业名称,系部编号)教师(教师编号,姓名,性别,出生日期,职务,职称,教研室编号)班级(班级编号,班级名称,班主任,年级,专业编号)学生(学号,姓名,性别,出生日期,地址,电话,班级编号)课程(课程编号,课程名,学时,学分,开课学期,开课类别,专业编号)联系表选课(教师编号,学号,课程编号,学年,学期,起始周,结束周)SQLServer数据库技术,周学时,成绩)逻辑结构设计规范化分析逻辑结构设计规范化分析实体表系部(系部编号,系名,系主任,地址,电话)系统编号系名,系统编号系主任,系统编号地址,系统编号电话。单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。教研室(教研室编号,教研室名,系部编号)教研室编号教研室名,教研室编号系部编号。单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。专业(专业编号,专业名称,系部编号)专业编号专业名称,专业编号系部编号。单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。SQLServer数据库技术逻辑结构设计规范化分析实体表教师(教师编号,姓名,性别,出生日期,职务,职称,教研室编号)教师编号姓名,教师编号性别,教师编号出生日期,教师编号职务,教师编号职称,教师编号教研室编号。单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。班级(班级编号,班级名称,年级,专业编号)班级编号单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。SQLServer数据库技术逻辑结构设计规范化分析实体表学生(学号,姓名,性别,出生日期,地址,电话,班级编号)学号姓名,学号性别,学号出生日期,学号地址,学号电话,学号班级编号。单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。课程(课程编号,课程名,学时,学分,开课学期,开课类别,专业编号)课程编号课程名,课程编号学时,课程编号开课学期,课程编号开课类别,课程编号专业编号。单属性做主码,不存在部分函数依赖与传递函数依赖,达到了3NF。SQLServer数据库技术逻辑结构设计规范化分析联系表选课(教师编号,学号,课程编号,学年,学期,起始周,结束周,成绩)课程编号学年,课程编号学期。(教师编号,学号,课程编号)起始周,(教师编号,学号,课程编号)结束周,(教师编号,学号,课程编号)成绩。多属性做主码,不存在传递函数依赖,但存在部分函数依赖。对其进行分解。选课1(教师编号,学号,课程编号,起始周,结束周,成绩)选课2(课程编号,学年,学期,周学时)发现选课2可以与课程实体合并。课程(课程编号,课程名,学时,学分,周学时,学年,学期,开课类别,专业编号)SQLServer数据库技术逻辑结构设计规范化分析经过规范化分析确定该系统共有八张表。系部(系部编号,系名,系主任,地址,电话)教研室(教研室编号,教研室名,系部编号)专业(专业编号,专业名称,专业介绍,系部编号)教师(教师编号,姓名,性别,出生日期,职务,职称,教研室编号)班级(班级编号,班级名称,年级,专业编号)学生(学号,姓名,性别,出生日期,地址,电话,密码,班级编号)课程(课程编号,课程名,学时,学分,周学时,学年,学期,开课类别,专业编号)选课(教师编号,学号,课程编号,起始周,结束周,成绩)SQLServer数据库技术逻辑结构设计规范化分析经过规范化分析确定该系统共有八张表。系部(系部编号,系名,系主任,地址,电话)教研室(教研室编号,教研室名,系部编号)专业(专业编号,专业名称,专业介绍,系部编号)教师(教师编号,姓名,性别,出生日期,职务,职称,教研室编号)班级(班级编号,班级名称,年级,专业编号)学生(学号,姓名,性别,出生日期,地址,电话,密码,班级编号)课程(课程编号,课程名,学时,学分,周学时,学年,学期,开课类别,专业编号)选课(教师编号,学号,课程编号,起始周,结束周,成绩)SQLServer数据库技术项目融合—逻辑结构设计系部表列名数据类型长度,小数是否空列说明键/约束说明XbbhChar6否系部编号主键XbmnVarchar18否系名唯一XzrnVarchar10是系主任Dhchar11是电话dzhnVarchar50是地址列名:英文?汉字?数据类型:合适?长度:适中?约束:主码?外码?用户自定义?项目融合—逻辑结构设计教研室表(jysb)列名数据类型长度,小数是否空列说明键/约束说明JysbhChar4否教研室编号主键JysmnVarchar20否教研室名唯一JyszrChar6是教研室主任dznvarchar20是地址xbbhchar6是系部编号外键系部编号项目融合—逻辑结构设计专业表(zyb)列名数据类型长度,小数是否空列说明键/约束说明ZybhChar6否专业编号是ZymnVarchar30否专业名唯一xbbhchar6是系部编号外键系部表项目融合—逻辑结构设计教师表列名数据类型长度,小数是否空列说明键/约束说明JsbhChar6否教师编号主键XmnVarchar12否姓名Xbchar2是性别检查约束男或女Csrqdatetime是出生日期ZwnVarchar12是职务ZcnVarchar16是职称yxnVarchar20是邮箱检查约束*@*.*.*jysbhchar4是教研室编号外键教研室表项目融合—逻辑结构设计班级表列名数据类型长度,小数是否空列说明键/约束说明BjbhChar9否班级编号主键Bjmnvarchar30否班级名Njchar1是年级检查约束1至4BzrChar6是班主任zybhchar6是专业编号外键专业表项目融合—逻辑结构设计学生表列名数据类型长度,小数是否空列说明键/约束说明XhChar7否学号主键Xmnvarchar12否姓名Xbchar2是性别检查约束男或女Csrqdata是出生日期DzVarchar100是地址DhVarchar11是电话bjbhchar9是班级编号外键班级表项目融合—逻辑结构设计课程表列名数据类型长度,小数是否空列说明键/约束说明KcbhChar6否课程编号主键KcmnVarchar20否课程名唯一XsInt是周学时0至216Xfnumeric3,1是学分0至5Kkxqnvarchar11是开课学期Kclbchar10是课程类别默认:专业技能zybhchar6是专业编号外键专业表项目融合—逻辑结构设计选课表列名数据类型长度,小数是否空列说明键/约束说明jsbhChar6否教师编号主键教师表XhChar7否学号学生表KcbhChar6否课程编号课程表xqchar1是学期QszInt是起始周JzzInt是截止周cjnumeric5,2是成绩检查约束0至100项目融合—逻辑结构设计课程控制列名数据类型长度,小数是否空列说明键/约束说明xkkzChar1否选课控制取“0”或“1”cjllkzchar1否成绩录入控制取“0”或“1”备注:选课和成绩录入功能的开放和禁止,0为禁止,1为开放。项目融合—逻辑结构设计CHECK(cj=0ANDcj=100)1.CHECK((xf=(0)ANDxf=(5))2.kclbchar(10)NUL
本文标题:学生选课系统数据库设计
链接地址:https://www.777doc.com/doc-6451526 .html