数据库课程设计高校学籍管理.docx

上传人:b****7 文档编号:10457642 上传时间:2023-02-11 格式:DOCX 页数:13 大小:285.48KB
下载 相关 举报
数据库课程设计高校学籍管理.docx_第1页
第1页 / 共13页
数据库课程设计高校学籍管理.docx_第2页
第2页 / 共13页
数据库课程设计高校学籍管理.docx_第3页
第3页 / 共13页
数据库课程设计高校学籍管理.docx_第4页
第4页 / 共13页
数据库课程设计高校学籍管理.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库课程设计高校学籍管理.docx

《数据库课程设计高校学籍管理.docx》由会员分享,可在线阅读,更多相关《数据库课程设计高校学籍管理.docx(13页珍藏版)》请在冰豆网上搜索。

数据库课程设计高校学籍管理.docx

数据库课程设计高校学籍管理

数据库原理

课程设计报告

班级:

计软11—2班

学号:

1106120222

姓名:

张磊

成绩:

 

电子与信息工程学院

计算机科学系

题目名称

某高校的学籍管理系统

系统概述

部门、专业、班级等基本信息的管理;􀍅

􀀂实现学生信息的管理;

􀀂实现学生成绩的管理;

􀀂实现学生的奖惩管理;

􀀂创建视图,查询学生的学号、姓名、性别、院系、专业、班级信息;􀍅

􀀂创建存储过程,统计各院系、专业学生的男女人数;􀍅

􀀂创建触发器,当新增、修改或删除学生时自动修改相应班级的学生人数;􀍅

􀀂创建check约束,限制学生的性别只能输入“男”或“女”;􀍅

􀀂建立数据库相关表之间的参照完整性约束。

系统功能模块设计

数据库概念结构设计

数据库逻辑结构设计

(确定每个关系模式及其主外键,并根据规范化理论进行优化)

其中有下划线的属性为主键。

学生(姓名,性别,学号,班级号,专业,出生日期,入学日期,家庭住址,备注)

班级(班级号,年级,辅导员,自习室)

用户(用户名,密码,权限)

课程(课程名,课程编号,课程类型,课程描述)

成绩(学生姓名,学号,班级名称,课程名,分数)

奖惩(姓名,学号,年级,辅导员)

数据库物理设计

(1)学生信息表(student),共有10个字段,分别为:

学号、姓名、性别、身份证号、出生日期、专业、班级、联系电话、家庭住址、备注,见表1

表1学生信息表的结构

字段名

字段类型

小数位数

是否主键

是否为空

是否外键

备注

sno

Char(15)

sname

Char(8)

Ssex

Char

(2)

scard

Char(20)

saddree

Date(8)

sspeciality

Char(20)

classname

Char(10)

saddree

Char(30)

stelphone

Char(15)

smemo

Char(50)

(2)课程信息表(course),本表有2个字段:

课程名称、所属专业,见表2

 

表2课程信息表的结构

字段名

字段类型

小数位数

是否主键

是否为空

是否外键

备注

coursename

Char(20)

cid

Char(10)

classname

Char(20)

termname

Char(20)

period

Int(4)

tid

Char(20)

classroomname

Char(20)

coursememo

Char(30)

(3)班级信息表(class),共有5个字段分别为:

班级名称、所属院系辅导员、教室、人数,见表3

表3班级信息表结构

字段名

字段类型

小数位数

是否主键

是否为空

是否外键

备注

classname

Char(10)

tdepartment

Char(20)

tname

Char(8)

classroom

Char(15)

number

Char(3)

(4)成绩信息表(score),有5个字段分别为:

学号、姓名、专业、课程名称、成绩,见表4

表4成绩信息表结构

字段名

数据类型

小数位数

是否主键

是否为空

是否外键

备注

sno

Char(15)

sname

Char(8)

grade

Char(20)

coursename

Char(10)

score

Int(4)

(5)用户表(user),有2个字段为:

用户名称、密码,见表5

 

表5用户表结构

字段名

字段类型

小数位数

是否主键

是否为空

是否外键

备注

sno

Char(8)

mima

Char(8)

(6)奖惩信息表(jc),有2个字段为:

学生姓名,年级,奖惩日期,奖惩名称,奖惩备注。

见表5

表5奖惩信息表结构

字段名

字段类型

小数位数

是否主键

是否为空

是否外键

备注

sname

Char(20)

grade

Char(20)

jdate

Date(8)

jname

Char(20)

jmemo

Char((20)

程序运行环境和开发环境

SQL软件

WINDOWSXP

主要模块程序流程图

1.系统管理

2.学生信息

3.课程管理

4.班级管理

5.成绩及奖惩管理

主要功能实现的程序段

1.建立数据库

Createdatebasestudent;

2.建立数据表

(1)学生信息表的建立。

Creattablestudent

(snochar(20)primarykey

snamechar(20)

ssexchar(20)

scardchar(20)

saddreechar(50)

stelphonchar(15)

smobtelphonchar(15)

classnamechar(20)

sdepartmentchar(50)

coursenamechar(30)

sspecialitychar(30)

);

(2)班级信息表的建立

createtableclass

(classnamechar(20)

cdepartmentchar(30)

cteacherchar(10)

cmemochar(50)

);

(3)课程信息表

createtablecourse

(cidchar(10)

classnamechar(20)

termnamechar(20)

coursenamechar(20)

periodchar(4)

tidchar(20)

classroomnamechar(20)

coursememochar(50)

);

(4)成绩信息数据表。

createtablescore

(snochar(20)primarykey

snamechar(20)

gradechar(20)

coursenamechar(10)primarykey

scoreint(4)

);

(5)奖惩信息数据表。

createtablejc

(snamechar(20)primarykey

gratechar(20)

jdatedate(8)

jnamechar(20)

jmemochar(20)

);

2.建立视图

(1)查询学生基本信息表视图定义

Createviewstudent_view(sno,sname,ssex,scard,saddress,stelphon,sspeciality,

classname,smemo)

as

select*

fromstudent

4.触发器设计

(1)创建规则用于限制性别项只能输入“男”或“女”

createtablestudent

(Ssexchar

(2)

CONSTRAINTC4CHECK(SsexIN(‘男’,‘女’)),

CONSTRAINTstudentKeyPBIMARY(Sno)

);

(2)建立触发器

创建触发器,当新增、修改或删除学生时自动修改相应班级的学生人数

CREATEtriggerdele_numberonstudent

fordelete

as

begin

declare@snoint

set@sno=(selectsnofromdeleted)

If(select*fromstudentwherestudent.sno=@sno)

Updateclasssetclass.number=class.number-1whereclassnamein(selectclassnamefromclasswherestudent.sno=@sno)

end

 

createtriggerinsert_numberonstudent

forinsert

as

begin

declare@snoint

set@sno=(selectsnofrominserted)

Updateclasssetclass.number=class.number+1whereclassnamein(selectclassnamefromclasswherestudent.sno=@sno)

end

创建存储过程,统计各院系、专业学生的男女人数

createprocedurenumber

@classnamechar

as

Begin

Return(selectcount(sno)男生人数fromstudentwhereclassname=@classnameandssex=’男’)

Return(selectcount(sno)女生人数fromstudentwhereclassname=@classnameandssex=’女’)

end

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1