《(完整word版)学生成绩管理系统数据库设计》由会员分享,可在线阅读,更多相关《(完整word版)学生成绩管理系统数据库设计(17页珍藏版)》请在金锄头文库上搜索。
1、 JIANGXI AGRICULTURAL UNIVERSITY 数据库课程设计报告 题目:学生成绩管理系统数据库设计 学 院:姓 名:学 号:专 业:班 级:指导教师:学生成绩管理系统设计 2 二 0 一二 年 6 月 目录 一、需求分析.4 1.1 需求概述.4 1.2 功能简介.4 二、数据库设计.4 2.1 确定联系集及 E-R 图.4 2.2 画出 E-R 图.5 2.3 学生成绩管理系统总 E-R 图.6 三、逻辑数据库设计阶段.7 3.1 班级信息表(Class).8 3.2 学生信息表(Student).8 3.3 课程信息表(Course).9 3.4 成绩表(Score).
2、9 四、建表.10 4.1 创建数据库.10 4.2 创建数据表.10 五、数据库的运行和维护.11 5.1 定义.11 5.1.1 基本表的创建,建表语句.11 5.1.2 基本表的删除.12 5.2 数据操作.12 学生成绩管理系统设计 3 5.2.1 单表查询:.12 5.2.2 连接查询.12 5.2.3 操作结果集查询.13 5.2.4 嵌套查询.14 5.3 数据库更新操作.14 5.3.1 插入数据.14 5.3.2 修改数据.14 5.3.3 删除数据.15 5.4 为数据库建立索引.15 5.4.1 索引的建立.15 5.4.2 索引的删除.15 5.5 数据库的安全性.15
3、 5.6 数据库的完整性.16 5.6.1 实体完整性定义.16 5.6.2 参照完整性定义.16 六、模式求精.17 七、总结.17 学生成绩管理系统设计 4 一、需求分析 1.1 需求概述 针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1.2 功能简介 能
4、够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。二、数据库设计 2.1 确定联系集及 E-R 图 根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:、标示实体集:班级,课程,学生,成绩四个关系。、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;存在“归属”的关系:N:1 学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;存在“选修”
5、的关系:N:M 学生成绩管理系统设计 5 关系 Score 的主码是studentNo,courseNo,term显然同一个学生在同一个学期不允许修读同一门课程多次 关系 Course 的 priorCourse 属性参照本关系的主码 courseNo 属性。这里假设一门课程最多只需要定义一门先修课程。、标示属性集:班级(班级编号,班级名称,所属学院,年级,班级人数)课程(课程号,课程名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)2.2 画出 E-R 图 班级信息图如下:图 2-2-1 班级实体集的 E-R 图 学生信息图如下
6、:图 2-2-2 学生实体集 E-R 图 Student studentNo studentName sex classtudentNo native birthday Class classtudentNo className Institute classNum grade 学生成绩管理系统设计 6 课程信息图如下:图 2-2-3 课程实体集 E-R 图 成绩信息图如下:图 2-2-4 成绩实体集 E-R 2.3 学生成绩管理系统总 E-R 图 根据上面对实体联系的分析,可以画出 E-R 图如下:Score studentNo courseNo score term Course cour
7、seNo courseName creditHour priorCourse courseHour 学生成绩管理系统设计 7 图 2-2-5 学生成绩管理系统总 E-R 图 三、逻辑数据库设计阶段 逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本 E-R 图转化为宜选用的 DBMS 所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。课程 课程号 课程名 学时数 学分 先修课程 选修 归属 学生 成绩 班级 学号 姓名 性别 班级人数年级 所属学
8、院 班级名称 班级编号 成绩 开课学期 课程号 学号 出生日期 籍贯 N 1 N M 1 学生成绩管理系统设计 8 设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表 Class:(班级编号,班级名称,所属学院,年级,班级人数)学生信息表 Student:(学号,姓名,性别,出生日期,籍贯,所属班级)课程信息表 Course:(课程号,课程名,学分,课时数,先修课程)成绩表 Score:(学号,课程号,开课学期,成绩)设计出 E-R 图后,可将 E-R 图转换为数据库模式。本系统建立的数据库为“ScoreDB”,运行本系统时在库中所建立
9、的表分别介绍如下:3.1 班级信息表(Class)字段名 描述 数据类型 字段限制 classNo 班级编号 char(10)Primarykey className 班级名称 varchar(30)Not null institute 所属学院 varchar(30)Not null grade 年级 smallint Not null classNum 班级人数 tinyint Not null 3.2 学生信息表(Student)字段名 描述 数据类型 字段权限 studentNo 学号 char(10)Primarykey studentName 姓名 Varchar(30)Not n
10、ull sex 性别 char(2)Not null birthday 出生日期 datetime Not null 学生成绩管理系统设计 9 native 民族 varchar(30)Not null classNo 所属班级 varchar(30)Not null 3.3 课程信息表(Course)字段名 属 性 数据类型 字段权限 courseNo 课程号 char(10)Primarykey courseName 课程名 varchar(30)Not null creditHour 学分 numeric Not null courseHour 课时数 tinyint Not null
11、priorCourse 先修课程 varchar(30)Not null 3.4 成绩表(Score)字段名 属 性 数据类型 字段权限 studentNo 学号 char(10)Primarykey courseNo 课程号 char(10)Primarykey term 开课学期 char(10)Not null score 成绩 numeric Not null 学生成绩管理系统设计 10 四、建表 4.1 创建数据库 打开 SQL 工具“查询分析器”在查询窗口中键入下列 SQL 语句 create database ScoreDB 执行上述 SQL 语句即可新建一名为 ScoreDB
12、的数据库。4.2 创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课程信息表和成绩表。创建数据库后,为 ScoreDB 数据库添加数据表,步骤如下。新建查询窗口 在查询窗口中键入下列 SQL 语句 create table Class(/创建班级信息表 classtudentNo char(10)primary key,/班级编号 classtudentName varchar(30)n
13、ot null,/班级名称 institute varchar(30)Not null /所属学院 grade smallint,Not null /年级 classNum tinyint,Not null /班级人数 )执行上述 SQL 语句即可创建课程信息表相关表格 create table Student(/创建学生信息表 studentNo char(10)primary key,/学号 studentName varchar(30)not null,/姓名 学生成绩管理系统设计 11 sex char(2)not null,/性别 birthday datetime not null
14、,/出生日期 native varchar(30)not null,/民族 classtudentNo Char(10)not null,/所属班级 )执行上述 SQL 语句即可创建学生信息表相关表格 create table Course(/创建教师信息表 courseNo char(10)primary key,/课程号 courseName varchar(30)not null,/课程名 creditHour numeric not null,/学分 courseHour tinyint not null,/课时数 priorCourse varchar(30)not null,/先修
15、课程 )执行上述 SQL 语句即可创建教师信息表相关表格 create table Score(/创建成绩表 studentNo char(10)primary key,/学号 courseNo char(10)primary key,/课程号 term char(10)not null,/开课学期 score numeric not null,/成绩 )执行上述 SQL 语句即可创建成绩表相关表格 五、数据库的运行和维护 5.1 定义 基本表的创建、修改及删除;索引的创建和删除。5.1.1 基本表的创建,建表语句 学生成绩管理系统设计 12 create table Student(/创建学
16、生表 studentNo char(10)not null,studentName varchar(30)not null,sex char(2)not null,birthday datetime not null,native varchar(20)not null,classtudentNo Char(10)not null,constraint studentPK primary key(StudentNO),constraint studentPK1 foreign key(classtudentNo)references class(classtudentNo)5.1.2 基本表的删除 drop table Student 5.2 数据操作 5.2.1 单表查询:查询学号为“0800006”生的姓名 select studentName from Student where studentNo=0800006 结果:5.2.2 连接查询 查询学生的学号、姓名,所选课程的课程号、课程名和成绩 学生成绩管理系统设计 13 Select Student.studentNo,Stu