免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩管理 第 1 章 设计目的与要求 1 1 设计目的 本实践课的主要目的是 掌握运用管理系统及数据库原理知识进行系统分析和设计的方 法 掌握关系数据库的设计方法 掌握 SQL Server 2000 技术应用 掌握简单的数据库应用程序编写方法 理解 C S 模式结构 1 2 设计环境 Windows xp Visual Basic 6 0 SQL Server 2000 SQL Server 2000 桌面引擎 1 4设计内容及要求设计内容及要求 一 内容 1 要求根据管理信息系统及数据库设计原理 按照数据库系统设 计的步骤和规范 完成各阶段的设计内容 2 需求分析具体实际 数据流图 数据字典 关系模型要正确 规范 3 在 sql server2000 上实现设计的数据库模型 4 对应用程序进行概要设计 二 要求 设计过程中 要严格遵守课程设计的时间安排 听从指导教师 的指导 正确地完成上述内容 规范完整地撰写出课程设计报告 第 2 章 设计内容 2 1 数据库设计 1 1 需求分析 1 学生管理系统总共包括四个表学生信息表学生管理系统总共包括四个表学生信息表 studentstudent 教师信息 教师信息 表表 teacherteacher 成绩表 成绩表 scorescore 和课程表和课程表 coursecourse Student 表 在建表时 除了添加学号 姓名 班级必要字 段 还添加一些其他的字段 比如 出生日期 性别 邮箱地址和 类型等 Teacher 表 在建表时 除了添加教师编号 教师姓名 部门 必要字段 还可以添加一些其他的字段 比如 出生日期 性别 和电话等 Score 表 此表应该包括学生学号 课程号和成绩等 Course 表 应包括课程号 对应的课程名称和教此课程的教 师编号 1 建立一个数据库 然后在此数据库中建立这四个数据表 2 向表中添加记录 3 用一些查询语句来查看表中的特定记录 4 向表中添加一些字段 如 向 teacher 表中添加字段 tel 5 创建一个自定义数据类型 并修改 student 表中的某个 字段为此数据类型 6 创建几个视图 查询某个班级的学生信息 查看每门课程的平均成绩 查看选修计算机课程的学生信息 查看所有男教师和所有男学生的信息 2 1 2 概念设计 四个表的 E R 实体模型图分析 1 N N M 在教学管理中 学校开设若干门学科 一个教师可以教授其中 的一门或多门课程 每个学生也需要学习其中的几门课程 因此 教学管理中涉及的对象 实体型 有学生 教师和课程 用 E R 图描述它们之间的联系 如图所示 其中 学生与课程是多对多的 联系 而教师与课程的联系则是一对多 这四个表的总的实体 关系图 教师学生 学教 设计数据表 在此学生成绩信息中有 4 个表需要建立 学生信息表 student 包括学号 sno 姓名 sname 性别 Ssex 班级 class 出生日期 sbirth 教师信息表 teacher 包括教师编号 tno 姓名 tname 性别 Tsex 部门 depart 职称 prof 出生日期 tbirth 成绩表 score 包括学号 sno 课程号 cno 成绩 degree 课程信息表 course 包括课程号 cno 课程名称 cname 教 师编号 tno 2 1 3 逻辑设计 逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概 课程表 学生信息表 教师信息表 学号 课程号 号 出生日期 课程号 号 学号 课程号 号 性别 课程号 号 出生日期 课程号 号 教师姓名 课程号 号 班级 课程号 号 课程名称 课程号 号 成绩 课程号 号 成绩表 课程号 号 教师编号 课程号 号 职称 课程号 号 部门 课程号 号 课程号 课程号 号 念模型转换为具体 DBMS 所能支持的数据模型 即逻辑结构 并对其进行优化 逻辑结构设计一般分为三步进行 从 E R 图 向关系模式转化 数据库的逻辑设计主要是将概念模型转换成一般 的关系模式 也就是将 E R 图中的实体 实体的属性和实体之间 的联系转化为关系模式 一个实体类型转换为一个关系模型 将 每种实体类型转换为一个关系 实体的属性就是关系的属性 实 体的关键字就是关系的关键字 将 学生 实体转换为一个关系 模型 其中 带下划线的属性为主键 该主属性为关系模型外键 主键是一个表通过一个列或多个列组合的数据来唯一标识表中的 每一行 这个列或列组合就被称为主键 煮件可以来强制实体完整 性 主键约束有以下特征和作用 1 主键约束通过不允许一个或多个列输入重复的值来保证一 个表中所有行的惟一性 使所有浪都是可以区分的 2 一个表张只能有一个主键 且组成主键的列的数据都不能 取空值 3 当定义主键约束时 SQL server 在主键列上建立惟一性索引 这个索引在煮件被查询时可以加快查询的速度 在 teacher 表中 以教师编号 tno 为主键 对其进行惟一性约束 在 Course 表中 以课程号为主键 对其进行惟一性约束 2 1 4 物理设计 1 存储结构 存储结构是建立一种由逻辑结构到存储空间的映射 存储结构 是把一组结点存放在按地址相邻的存储单元里 结点间的逻辑关系 用存储单元的自然顺序关系来表达的 即用一块存储区域存储线性 数据结构 为使用整数编码访问数据结点提供了便利 2 索引的创建 为 schoolgrade 表创建一个以 grade id 为索引的关键字的唯一聚 簇索引 1 展开数据库中的表右键学生表 单击所有任务弹出的索引管 理 2 在窗体点新建索引名称为 grade name 点击复选框 聚簇 索引 惟一值 3 事务日志文件备份及存放 SQL Server 创建数据库的时候 会同时创建事物日志文件 事 物日志存储在一个单独的日志文件上 在修改写入数据库之前 事 物日志会自动地记录对数据库对象所做的所有修改 事物日志有助 于防止数据库损坏 日志文件与数据文件要分开放在不同的磁盘上 这样事物日志就可以单独的备份 事务日志不会抢占数据库的空间 可以很容易的监测事务日志的空间 4 存取方法 数据库系统是多用户共享的系统 对同一个关系要建立多条存 取路径才能满足多用户的多种应用要求 物理设计的任务之一就是 要确定选择哪些存取方法 即建立哪些存取路径 存取方法是快速存取数据库中数据的技术 数据库管理系统一般 都提供多种存取方祛 常用的存取方法有二类 第一类是索引方法 第二类是聚簇 Cluster 方法 索引方法是数据库中经典的存取方法 使用最普遍 索引法是为了 加速对表中的数据行的检索而创建的一种分散的存储结构 是针对 一个表而建立的 它能够以一列或多列的值为关键字 迅速查找 存 取表中行数据加快了数据检索 整个系统需要调用学生表 成绩表等 所以学生表属性 学号 成绩表表中的属性 学号 将经常出现在查询条件中 可以考虑在 上面建立聚簇索引以提高查询效率 数据库模式定义数据库模式定义 1 Student 表 snoChar 8 不允许为空 snameChar 10 不允许为空 SsexChar 2 不允许为空 sbirthDatetime 8 允许为空 classChar 4 不允许为空 typeChar 7 允许为空 score 表结构 snoChar 8 不允许为空 cnoChar 5 不允许为空 degreeFloat 8 不允许为空 Course 表 以课程号为主键 通过这个主键来对这个表进行唯一性 约束 cno 主键 Char 5 不允许为空 cnamevarchar 10 不允许为空 tnochar 3 不允许为空 Teacher 表结构 Tno 主键 Char 5 不允许为空 tnamevarchar 10 不允许为空 departVarchar 8 不允许为空 tsexChar 2 不允许为空 tbirthdatatime允许为空 profChar 6 允许为空 六 其他对象的说明 1 外键约束 primary key 外键也是由表中的一个列或多个 列组成的 它是和在相关表中事先定义的具有惟一性的列一起使用 的 该列一个是所在表的主键 外键约束用来建立和强制两个表之 间的关联 即一个表的一个列或列组合与另一个表 的具有惟一性的 列或列组合相关 这个列或列组合就成为第一个表中的外键外键约 束限制将破坏这种关联的操作 作为外键的列的值可以是空值 或 是它所引用的表中已经存在的值 在 score 表中 其学号 sno 和课程号 cno 都是此表的外键约束 因为此表中学号 sno 要受学生信息表中的学号的约束 student 表中 没有的学号 score 表中也应该没有 如果向 score 表添加数据时违 反的此规则 则添加不成功 课程号 cno 也同样 受到 course 表中 课程号 cno 的约束 2 空值 null 空值意味着数据尚未如 它与 0 或长度为零的字 符串 的含义不同 如果表中的某一列必须有值才能使记录有 意义 那么可以指明该列不允许取空值 在教师信息表 teacher 中其出生日期列 tbirth 和职称 prof 允许为 空 但并不表示该教师没有生日 没有职称 而是目前还不知道而 已 在学生信息表 student 中其出生日期 sbirth 也可为空 也是同样 的道理 3 check 约束 检查约束可以用来限制列上可以接受的数据值 检查约束使用逻辑表达式来限制列上可以接受的数据 可以在一个 列上使用多个检查约束 也可以在表上建立一个可以在多个列上使 用的检查约束 比如 在学生信息表中 邮件地址 semail 的格式必须是 格 式的 4 惟一性约束 使用惟一性约束的作用是保证在不是主键 的指定惟一性的列上不会出现重复的数据 定义了惟一性约束的列 上的数据可以为空值 一个表上可以定义多个惟一性 6 6 数据库实施阶段 数据库实施阶段 1 创建数据库 create database ssh on name ssh filename e 老大 sql ssh mdf size 1 log on name ssh1 filename e 老大 sql ssh1 ldf size 1 2 创建数据表 1 student 表 use ssh create table student sno char 8 primary key sname char 10 not null Ssex char 2 not null Sbirth datetime class char 4 not null semail varchar 20 2 score 表 create table score sno char 8 not null cno char 4 not null degree float not null 3 course 表 create table course cno char 5 not null primary key cname varchar 10 not null tno char 3 not null 4 teacher 表 create table teacher tno char 5 not null primary key tname varchar 10 not null depart varchar 8 not null Tsex char 2 not null Tbirth datetime prof char 6 4 向表中添加记录 1 向学生信息表中添加 insert into student values 101 生活 女 1983 09 18 11 insert into student values 102 风尘 男 1984 01 01 11 insert into student values 103 离开 男 1984 01 01 11 insert into student values 104 流浪 女 1984 11 11 11 insert into student values 105 生命 男 1984 12 05 13 insert into student values 106 无悔 女 1984 11 01 13 insert into student values 107 历史 女 1984 10 01 12 insert into student values 108 风尘 男 1985 9 08 11 insert into student values 109 活着 男 1985 12 12 12 insert into student values 110 傻瓜 女 1985 08 28 12 查看记录 Select from student 2 向成绩表中添加 insert into score values 101 01 88 insert into score values 101 02 85 insert into score values 102 02 80 insert into score values 101 03 88 insert into score values 102 02 85 insert into score values 102 03 80 insert into score values 103 01 83 insert into score values 103 02 85 insert into score values 103 03 90 insert into score values 104 01 60 查看记录 Select from score 3 向教师表中添加数据 insert into course values 01 计算机 11 insert into course values 02 网络管理 12 insert into course values 03 专业英语 13 insert into course values 04 软件工程 14 查看记录 Select from course 4 向课程表中添加数据 insert into teacher values 11 无意 计算机系 男 1973 4 5 教授 insert into teacher values 12 生活 计算机系 女 1975 12 1 副教授 insert into teacher values 13 没有 管理系 女 1975 3 3 副教授 insert into teacher values 14 离开 英语系 男 1973 5 5 教授 查看记录 Select from teacher 5 一些查询语句 1 查询成绩大于学号为 101 的学生的课程为 02 的成绩的所有列 select from score where degree select degree from score where sno 101 and cno 02 2 查询课程号 01 大于课程号 02 的最大值 并以分数降序排序 的成绩表中所有列 select from score s where o 01 and s degree select max degree from score y where o 02 order by degree desc go select max degree as 02max from score where cno 02 3 查询性别为男的学号 姓名 班级 课程号和成绩的学生 select student sno student sname student class o score degree from student score where student sno score sno and ssex 男 查询成绩在 60 到 80 之间的所有列 select from score where degree between 60 and 80 查询 score 表中至少有 5 名学生选修的并以 0 开头的课程的 平均分 select avg degree as 平均分 cno from score where cno like 0 group by cno having count 5 创建视图 1 创建所有 11 班的学生信息的视图 create view student11 as select from student where class 11 查看视图中的记录 select from student11 2 创建视图 course degree 其中的内容是选修计算机课程的学生信息 包括 sno sname cno cname degree 创建时加上 with check option create view course degree sno sname cno cname degree as select s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论