学生成绩管理系统数据库设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生成绩管理系统数据

库设计

Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

JIANGXI AGRICULTURAL UNIVERSITY

数据库课程设计报告题目:学生成绩管理系统数据库设计学院:

姓名:

学号:

专业:

班级:

指导教师:

二0一二年 6 月

目录

一、需求分析

需求概述

针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。

功能简介

能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。

具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

二、数据库设计

确定联系集及E-R图

根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:

①、标示实体集:班级,课程,学生,成绩四个关系。

②、标示联系集:

学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;

存在“归属”的关系:N:1

学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;

存在“选修”的关系:N:M

关系Score的主码是{studentNo,courseNo,term}显然同一个学生在同一个学期不允许修读同一门课程多次

关系Course的priorCourse属性参照本关系的主码courseNo属性。这里假设一门课程最多只需要定义一门先修课程。

③、标示属性集:

班级(班级编号,班级名称,所属学院,年级,班级人数)

课程(课程号,课程名,学分,课时数,先修课程)

学生(学号,姓名,性别,出生日期,籍贯,所属班级)

成绩(学号,课程号,开课学期,成绩)

画出E-R图

班级信息图如下:

图2-2-3课程实体集E-R图

Score:(学号,课程号,开课学期,成绩)

设计出E-R图后,可将E-R图转换为数据库模式。本系统建立的数据库为“ScoreDB”,运行本系统时在库中所建立的表分别介绍如下:

班级信息表(Class)

学生信息表(Student)

课程信息表(Course)

成绩表(Score)

四、建表

创建数据库

打开SQL工具“查询分析器”

在查询窗口中键入下列SQL语句

create database ScoreDB

执行上述SQL语句即可新建一名为ScoreDB的数据库。

创建数据表

一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。

在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课程信息表和成绩表。

创建数据库后,为ScoreDB数据库添加数据表,步骤如下。

新建查询窗口

在查询窗口中键入下列SQL语句

create table Class(//创建班级信息表

classtudentNo char(10)primary key,//班级编号

classtudentName varchar(30)not 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,//姓名

sex char(2)not null,//性别

birthday datetime not null,//出生日期

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,//先修课程

)

执行上述SQL语句即可创建教师信息表相关表格

create table Score(//创建成绩表

studentNo char(10)primary key,//学号

courseNo char(10)primary key,//课程号

term char(10)not null,//开课学期

score numeric not null,//成绩

)

执行上述SQL语句即可创建成绩表相关表格

相关文档
最新文档