学分管理系统数据的设计思想和代码

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

数据库

课程设计报告课程设计题目:学分管理系统

学生姓名尹烁恒

专业软件工程(嵌入式)

班级1321802

学号201320180212

指导教师邓薇老师

描述:设计一个学分管理系统

假设每位学生必须完成基础课50学分,专业课50学分,选修课24学分,人文类课程8学分和实验性课程20学分才能毕业。实现下列功能:

1.录入某位学生的学分信息;

2.给定学号,显示某位学生的学分完成情况;

3.给定班号,显示该班所有学生的学分完成情况;

4.给定学号,修改该学生的学分信息;

5.按照某类课程的学分高低进行排序;

6.给定学号,对该学生能否毕业进行确定。

一.自己的分析(需求分析):

1.功能1需要用到触发器和存储过程,触发器的目的是为了在录入一个学号的学分,这个学号必须存在在student表里,否则不允许录入,而存储过程就像是一个功能的集成,其实录入可以直接录入,不一定需要建立存储过程。

2.功能2、3、4、6都是利用存储过程,用带参数的存储过程进行实现,@S_NO是where中的判断条件;对于毕业的条件就是各个临时表中的total同时大于等于所需学分就可以毕业。

3.功能5,因为课程类包括很多,可以建立视图来查看一个课程类,

如基础类的信息,但是不能排序,order by 不能用于视图,所以建立临时表来查询显示某一课程类的排序。

二.概念设计

E-R 模型

关系模式

学生(学号,姓名,班级)

课程(课程号,课程名,课程类型)

选课(学号,课程号,学分)

三.逻辑设计阶段

下面就是3张基本表 学生 选课 课程 学分 学号 课程类型

课程号

姓名 班级 课程名

Student 表

Course 表

Grade 表

四.数据库实施阶段

1.创建数据库

create database s1

2.创建数据表

create table student

(s_no char(6)primary key,

sname char(6)not Null,

class_no char (10))

create table course

(course_no char(10)primary key,

course_name char(10)NOT NULL,

coursetype char(10)

)

create table grade

(s_no char(6),

course_no char(10),

score int,

constraint sc1primary key (s_no,course_no))

3.录入数据

--对于student的数据填充

insert into student values('01','彭勇','class01')

insert into student values('02','罗鑫','class01')

insert into student values('03','郭利新','class02')

insert into student values('04','余丽阳','class02')

insert into student values('05','汪志强','class03')

insert into student values('06','简小慧','class03')

--对于course的数据填充

insert into course values('course10','语文','基础课') insert into course values('course11','数学','基础课')

insert into course values('course12','体育','选修课') insert into course values('course13','形式与政策','选修课') insert into course values('course14','人机交互','专业课') insert into course values('course15','数据结构','专业课') insert into course values('course16','音乐','人文课') insert into course values('course17','美术','人文课') insert into course values('course18','关系数据库','实验课')

insert into course values('course19','计算机原理','实验课')

--对于学分的填充

insert into grade values('01','course10',27)

insert into grade values('01','course11',28)

insert into grade values('01','course12',13)

insert into grade values('01','course13',14)

insert into grade values('01','course14',22)

insert into grade values('01','course15',29)

insert into grade values('01','course16',6)

insert into grade values('01','course17',7)

insert into grade values('01','course18',11)

insert into grade values('01','course19',13)

--学号的各科学分

insert into grade values('02','course10',26)

insert into grade values('02','course11',29)

insert into grade values('02','course12',16)

insert into grade values('02','course13',11)

insert into grade values('02','course14',18)

insert into grade values('02','course15',19)

insert into grade values('02','course16',5)

insert into grade values('02','course17',2)

insert into grade values('02','course18',17)

insert into grade values('02','course19',19)

--学号的各科学分

insert into grade values('03','course10',21)

insert into grade values('03','course11',24)

insert into grade values('03','course12',16)

insert into grade values('03','course13',10)

insert into grade values('03','course14',21)

insert into grade values('03','course15',17)

insert into grade values('03','course16',4)

insert into grade values('03','course17',8)

insert into grade values('03','course18',14)

insert into grade values('03','course19',19)

--学号的各科学分

insert into grade values('04','course10',30)

insert into grade values('04','course11',31)

insert into grade values('04','course12',21)

insert into grade values('04','course13',22)

相关文档
最新文档