学生选课系统数据库设计
列名:英文?汉字? 数据类型:合适? 长度:适中? 约束:主码?外码?用户自定义?
项目融合—逻辑结构设计
教研室表(jysb) 列名 Jysbh Jysm Jyszr dz xbbh 数据类型 Char nVarchar Char nvarchar char 长度,小数 4 20 6 20 6 是否空 否 否 是 是 是 列说明 教研室编号 教研室名 教研室主任 地址 系部编号 外键 系部编号 键/约束 主键 唯一 说明
SQL Server数据库技术
逻辑结构设计 规范化分析
实体表
学生(学号,姓名,性别,出生日期,地址,电话,班级 编号) 学号姓名,学号 性别,学号 出生日期,学号 地址,学号 电话,学号班级编号。 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。 课程(课程编号,课程名,学时,学分,开课学期,开课 类别,专业编号) 课程编号课程名,课程编号学时,课程编号开 课学期,课程编号开课类别,课程编号专业编号。 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。
SQL Server数据库技术
项目融合—逻辑结构设计
系部表 列名 Xbbh Xbm Xzr Dh dzh 数据类型 Char nVarchar nVarchar char nVarchar 长度,小数 6 18 10 11 50 是否空 否 否 是 是 是 列说明 系部编号 系名 系主任 电话 地址 键/约束 主键 唯一 说明
联系表 选课(教师编号,学号,课程编号,学年,学 期,起始周,结束周),周学时,成绩)
SQL Server数据库技术
逻辑结构设计 规范化分析
逻辑结构设计 规范化分析
实体表
系部(系部编号,系名,系主任,地址,电话) 系统编号系名,系统编号系主任,系统编号地 址,系统编号电话。 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。 教研室(教研室编号,教研室名,系部编号) 教研室编号教研室名,教研室编号系部编号。 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。 专业(专业编号,专业名称,系部编号) 专业编号专业名称,专业编号系部编号。 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。
出生日期 姓名
概念结构设计 E-R图设计
系主任 教研室名 教研室编号 1 拥有 m 出生日期 姓名
教研室主任 教研室地址 教研室 1 归属
系名
系部编号 系部 1 管理
地址 电话
专业编号 专业 专业名称 专业描述 1
m
含有
班级编号 班级名 班主任 m 班级 年级
m 性别 职务 教师 教师编号 职称 m 课程名 学年 课程编号 课程类别 学期 选课 1 n 属 起始周 课程 学时 于 m 截止周 p 学分 学号 开课学期 姓名 学生 性别 学习 m 1 地址 出生日期 电话
逻辑结构设计 E-R模型向关系模型转换
实体表
系部(系部编号,系名,系主任,地址,电话) 教研室(教研室编号,教研室名,系部编号) 专业(专业编号,专业名称,系部编号) 教师(教师编号,姓名,性别,出生日期,职务,职称, 教研室编号) 班级(班级编号,班级名称,班主任,年级,专业编号) 学生(学号,姓名,性别,出生日期,地址,电话,班级 编号) 课程(课程编号,课程名,学时,学分,开课学期,开课 类别,专业编号)
逻辑结构设计 E-R模型向关系模型转换
系主任 教研室名
教研室主任 教研室地址 教研室
系名
系部编号 系部 1 管理
地址 电话 1
教研室编号
拥有 m
实体表
系部(系部编号,系名,系主任, 地址,电话) 教研室(教研室编号,教研室名, 教研室主任,教研室地址,系部 编号) 专业(专业编号,专业名称,专 业描述,系部编号)
学生选课系统
学生
教师
管理员
选 课
退 选
查 询 选 课 信 息
查 询 成 绩 信 息
查 询 课 程 信 息
查 询 选 课 信 息
录 入 学 生 成 绩
用 户 管 理
课 程 管 理
选 课 管 理
概念结构设计 E-R图设计
学生选课系统中,包括七个实体: 系部:系部编号、系名、系主任、地址、 电话 教研室:教研室编号、教研室名 教师:教师编号、姓名、性别、出生日期、 职务、职称 专业:专业编号、专业名称 班级:班级编号、班级名称、年级 学生:学号、姓名、性别、出生日期、地 址、电话 课程:课程编号、课程名、学时、学分、 开课学期、开课类别。
SQL Server数据库技术
逻辑结构设计 规范化分析
实体表
教师(教师编号,姓名,性别,出生日期,职务,职称, 教研室编号) 教师编号姓名,教师编号 性别,教师编号 出 生日期,教师编号 职务,教师编号 职称,教师 编号 教研室编号。 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。 班级(班级编号,班级名称,年级,专业编号) 班级编号 单属性做主码,不存在部分函数依赖与传递函数依赖, 达到了3NF。
p
学生
含有
班级编号 班级名 班主任 m 班级 年级
1
地址 电话
逻辑结构设计 模型向关系模型转换
联系表
选课(教师编号,学号,课程编号,学年,学期,起始周,结束 周)
出生日期 姓名 教师编号 课程名 课程编号 课程类别 n 课程 学时 学分 开课学期 性别 教师 m 选课 p 职务
职称
学年 学期 起始周 截止周 学号 姓名 性别 出生日期
SQL Server数据库技术
概念结构设计 E-R图设计
系主任 教研室名
教研室主任 教研室地址 教研室 1 归属
系名
系部编号 系部 1 管理
地址 电话 1
教研室编号
拥有 m
专业编号 专业 专业名称 专业描述 1
m
含有
班级编号 班级名 班主任 m 班级 年级
m 性别 职务 教师 教师编号 职称 m 课程名 学年 课程编号 课程类别 学期 选课 1 n 属 起始周 课程 学时 于 m 截止周 p 学分 学号 开课学期 姓名 学生 性别 学习 m 1 地址 出生日期 电话
学生
地址 电话
逻辑结构设计 E-R模型向关系模型转换
系主任 教研室名 教研室编号 1 拥有 m 出生日期 姓名
教研室主任 教研室地址 教研室 1 归属
系名
系部编号 系部 1 管理
地址 电话
专业编号 专业 专业名称 专业描述 1
m
含有
班级编号 班级名 班主任 m 班级 年级
m 性别 职务 教师 教师编号 职称 m 课程名 学年 课程编号 课程类别 学期 选课 1 n 属 起始周 课程 学时 于 m 截止周 p 学分 学号 开课学期 姓名 学生 性别 学习 m 1 地址 出生日期 电话
项目融合—逻辑结构设计
专业表(zyb) 列名 Zybh Zym xbbh 数据类型 Char nVarchar char 长度,小数 6 30 6 是否空 否 否 是 列说明 专业编号 专业名 系部编号 键/约束 是 唯一 外键 系部表 说明
项目融合—逻辑结构设计
教师表 列名 Jsbh Xm Xb Csrq Zw Zc yx jysbh 数据类型 Char nVarchar char datetime nVarchar nVarchar nVarchar char 12 16 20 4 长度,小数 6 12 2 是否空 否 否 是 是 是 是 是 是 列说明 教师编号 姓名 性别 出生日期 职务 职称 邮箱 教研室编号 检查约束 外键 *@*.*.* 教研室表 检查约束 男或女 键/约束 主键 说明
SQL Server数据库技术
逻辑结构设计 规范化分析
联系表
选课(教师编号,学号,课程编号,学年,学期,起始周,结束 周,成绩) 课程编号 学年,课程编号 学期。 (教师编号,学号,课程编号) 起始周, (教师编号,学 号,课程编号)结束周, (教师编号,学号,课程编号) 成绩。 多属性做主码,不存在传递函数依赖,但存在部分函数依赖。 对其进行分解。 选课1(教师编号,学号,课程编号,起始周,结束 周,成绩) 选课2(课程编号,学年,学期,周学时) 发现选课2可以与课程实体合并。 课程(课程编号,课程名,学时,学分,周学时,学 年,学期,开课类别,专业编号)
SQL Server 数据库系统
1
学生选课系统设计
主 要 内 容
1 2 3 4
需 求 分 析 概 念 结 构 设 计
逻 辑 结 构 设 计
物 理 结 构 设 计 数 据 库 实 施 项 目 小 结
5
6
SQL Server数据库技术
需求分析 1. 调查用户
学生选课数据库系统,用户要求如下: (1)系统用户由三类组成:教师、学生和管理员。 (2)管理员负责的主要功能: ① 用户管理(老师、学生及管理员的增、删、 改); ② 课程管理(添加、删除和修改); ③ 选课管理(实现选课功能开放和禁止、老师 成绩输入开放和禁止)。 (3)学生通过登录,可以查询课程的基本信息、实现 选课、退课和成绩查询; (4)老师通过登录,可以查看选课学生的基本信息, 可以输入成绩。
SQL Server数据库技术
需求分析 2. 归纳总结
学生选课系统将只少包含学生、教师、 管理员等实体。 ⑴学生可以在规定的时间内选课、退 选和成绩查询等操作; ⑵教师可以查看学生的相关信息,录 入学生成绩等操作; ⑶管理员可以添加管理员,管理教师、 学生等信息。
SQL Server数据库技术
需求分析 3. 得出系统功能
项目融合—逻辑结构设计
班级表 列名 Bjbh Bjm Nj Bzr zybh 数据类型 Char nvarchar char Char char 长度,小数 9 30 1 6 6 是否空 否 否 是 是 是 列说明 班级编号 班级名 年级 班主任 专业编号 外键 专业表 检查约束 1至4 键/约束 主键 说明