数据库课程设计(10)
时间:2025-04-29
时间:2025-04-29
第四章 逻辑结构设计
4.1 关系模型
将总体概念结构E-R图转化成关系模型 登陆(用户类型,用户名,密码)
学生信息(学号,姓名,性别,年龄,电话,系名,班级) 系(系名,系主任,系人数)
成绩(学号,课程号,学年学期,成绩) 班级(班级,班主任,班人数,系名)
课程表(课程号,课程名称,学时,学分,任课老师) 教师(教师号,教师名,学历,联系方式)
4.2 数据模型优化
将转化的关系模型进行优化,最终达到第三范式 (1) 确定数据依赖
登陆(用户类型,用户名,密码) (用户类型,用户名)->密码
学生信息(学号,姓名,性别,年龄,电话,系名,班级)
学号->姓名,学号->性别,学号->年龄,学号->电话,学号->系名,学号->班级,(学号,姓名)->性别,班级->系名, 系(系名,系主任,系人数) 系名->系主任,系名->系人数 成绩(学号,课程号,学年学期,成绩)
(学号,课程号)->学年学期,(学号,课程号)->成绩, 班级(班级,班主任,班人数,系名)
班级->班主任,班级->班人数,班级->系名,(班级,班主任)->班人数 课程表(课程号,课程名称,学时,学分,任课老师)
课程号->课程名称,课程号->学时,课程号->学分,课程号->任课老师 教师(教师号,教师名,学历,联系方式)
教师号->教师名,教师号->学历,教师号->联系方式
(2) 这些关系都符合要求,属于第三范式,所以不用再对这些模式进行分解了.
4.3数据字典
表1:学生信息表
2009 年 1 月
集美大学计算机工程学院数据库课程设计
11
字段名称 系名 系主任 系人数 字段名称 用户类型 用户名 密码 字段名称 班级 班主任 班人数 系名 字段名称 教师号 教师名 学历 联系方式 字段名称 学号 课程号 学年学期 成绩 字段名称 学号 姓名 性别 年龄 电话 系名 班级
数据类型 varchar varchar int 数据类型 varchar varchar varchar 数据类型 varchar varchar int varchar 数据类型 varchar char varchar varchar 数据类型 char varchar varchar float 数据类型 char varchar char int varchar varchar varchar
长度 20 10 4表 3 登陆表
约束 不为空 不为空
长度 10 10 10表 4 班级表
约束 不为空 不为空 不为空 约束 不为空
长度 20 10 4 20表 5 教师
不为空 约束 不为空 不为空
长度 10 10 20 20表 6 成绩
长度 10 20 20 8表 7 学生信息
约束 不为空 不为空 不为空 0~150 约束 不为空 不为空 不为空 不为空 不为空 不为空
长度 10 10 2 4 20 20 20
4.4 视图设计
(1)打印成绩>60分的学生 create view V_grade as
select A.学号,A.姓名,A.性别,B.课程号,C.课程名称,B.成绩 from 学生信息 A,成绩 B,课程表 C
where A.学号=B.学号 and B.课程号=C.课程号 and 成绩>60 执行
:select * from V_grade
(2) 查看计算机工程学院的考试情况 create view V_computer as
select B.学年学期,A.学号,A.姓名,A.班级,C.课程名称,B.成绩 from 学生信息 A,成绩 B,课程表 C
where A.学号=B.学号 and B.课程号=C.课程号 and A.系名='计算机工程学院' 执行
: select * from V_computer
第五章 数据库的实施和维护
5.1约束关系:
(1)为成绩表添加约束 成绩只能在0~150之内 alter table 成绩
add constraint CK_成绩 check (成绩 between 0 and 150) (2)为成绩表创建索引
create index IX_成绩 on 成绩(学年学期 ASC)
5.2 储存过程设计
(1)根据输入的参数删除学生信息 create proc DeleteNum_proc @number char(10) as
delete 学生信息 from 学生信息 where 学号=@number (2) 根据参数添加教师信息 create proc AddTeacher_proc @teanumber varchar(10),
下一篇:客户经理工作日志