数据库原理及应用课程设计

   日期:2020-05-15     浏览:138    评论:0    
核心提示:数据库原理及应用课程设计西南石油大学课 程 设 计 报 告课程名称 数据库原理及应用设计题目 学生信息管理系统数据库设计与实现专 业 网络空间安全班 级 网安03学 号姓 名完成日期 20200511任 务 书设计内容:自拟一个应用场景,完成一个数据库应用系统中数据库部分的分析、设计与实现。设计要求:完成系统需求分析,数据库概念结构设计、逻辑结构设计、物理结构数据库

数据库原理及应用课程设计

西南石油大学

课 程 设 计 报 告

课程名称 数据库原理及应用
设计题目 学生信息管理系统数据库设计与实现
专 业 网络空间安全
班 级 网安03
学 号
姓 名
完成日期 20200511

任 务 书
设计内容:
自拟一个应用场景,完成一个数据库应用系统中数据库部分的分析、设计与实现。
设计要求:

  1. 完成系统需求分析,数据库概念结构设计、逻辑结构设计、物理结构设计(如需);

  2. 创建数据库,表结构、存储过程、触发器等数据库对象;

  3. 通过控制台操作数据库,实现各种增删改查操作;

  4. 场景复杂程度合理,设计的E-R图中的实体不少于4个,数据库表不少于5张。

                   指导教师:           
                           2020 年 4 月    
    

1.概述

1.1本设计的背景和意义
1.设计的数据库管理系统背景:
由于高校的规模大,学生人和老师人数多,教务系统,图书馆等其他资源的增加,从而设计一个学生信息管理系统。
2.设计的意义
为了方便学校对学生的信息进行管理,同时顺应互联网时代的发展,数据库和降低人工成本,同时提高学生信息的保密性,查询的效率提升,此外,与传统的信息管理这有助于提升学校的办学效率,提高学校的知名度。
1.2数据库设计开发工具
本设计采用的数据开发工具为SQL Server 2008
Microsoft Visio 2009

需求分析

2.1需求概述
学生信息管理系统的作用:
用于学校等教育机构的,学生,老师的信息管理,查询,维护,更新等高效率操作,该系统操作简单,便于对学工信息的管理。
2.2功能需求
学生信息管理系统实现的功能:
用于学生对个人信息的查询,添加,修改等管理。
学生成绩的录入,修改,删除,查询等功能。
2.3数据需求
班级:班级编号,班级专业,班级院系;一个班级有多个学生,每一个学生只能属于一个班级,需要记录学生的,学生编号,学生姓名,性别,年龄,出生日期。

课程:有课程编号,课程名称,所需学分,同时一个学生可以选择多个课程,多个课程又可以被同一个学生选择,学生在选修结束后会得到相应的成绩,同时,一个老师可以教授多个课程,多个课程又可以被同一个老师教授,老师可以得到相应的评分

概念结构设计

3.1局部E-R图
3.1.1学生班级局部E-R图

3.1.2教师信息局部E-R图

3.1.3课程信息局部E-R图
3.1.4学生信息局部E-R图
3.2完整E-R图
班级(班级号,所属专业,所属院系)
学生(学生编号,学生姓名,性别,出生日期,班级编号,其中班级编号为外码,
参照班级表中的班级编号)
教师(教师编号,教师姓名,性别,出生日期)
课程(课程编号,课程名称,所需学分)
成绩表(学生编号,课程编号,成绩)
其中学生编号是外码,参照学生表中学生编号
课程编号为外码,参照课程表中的课程编号
评分表(教师编号,课程编号,评分)
其中教师编号是外码,参照教师表中教师编号
课程编号为外码,参照课程表中的课程编号

逻辑结构设计

4.1建立关系模式
根据概念结构设计,可转换得到如下关系模式:
学生表
列名 数据类型 允许为空 主键 外键 CHECK约束 备注
学生编号 Char(6) N Y N 6位数
学生姓名 Varchar(20) N N N 无
性别 Char(2) N N N 默认为“男或女
出生日期 Datetime N N N 无
班级编号 Char(6) N N Y
教师表
列名 数据类型 允许为空 主键 外键 CHECK约束 备注
教师编号 Char(6) N Y Y 6位数
教师姓名 Varchar(20) N N N 无
性别 Char(2) N N N 默认为“男或女
出生日期 Datetime N N N 无
课程表
列名 数据类型 允许为空 主键 外键 CHECK约束 备注
课程编号 Char(6) N Y Y 6位数
课程名 Varchar(20) N N N 无
教师编号 Char(6) N N Y 6位数
所需学分 Varchar(20) Y N N 无

班级表
列名 数据类型 允许为空 主键 外键 CHECK约束 备注
班级编号 Char(6) N Y N 无 前两位字母代表专业,后三位代表班级
班级专业 Varchar(20) N N N 无
所属院系 Varchar(20) N N N 无

成绩表
列名 数据类型 允许为空 主键 外键 CHECK约束 备注
学生编号 Char(6) N Y Y 6位数
课程编号 Char(6) N N Y 6位数
成绩 Varchar(20) N N N 无

评分表
列名 数据类型 允许为空 主键 外键 CHECK约束 备注
教师编号 Char(6) N Y Y 6位数
课程编号 Char(6) N N Y 6位数
评分 Varchar(20) N N N 无

4.2关系模式规范化处理
分析关系模式是否达到第三范式,如果没达到,将其分解为达到第三范式要求;如果需要反规范化处理,则进行反规范化处理。

上述关系模式均达到第三范式要求

数据库实现

5.1建立数据库
创建homework数据库

Create database homework

5.2数据表创建
5.2.1班级表的创建
create table class(
clno char(6) not null primary key,
major varchar(20) not null,
dept varchar(20) not null
)
5.2.2学生表的创建:
create table students(
sno char(6) not null primary key
check(sno like ‘[0-9][0-9][0-9][0-9][0-9][0-9]’),
sname varchar(20) not null,
ssex char(2) not null check(ssex='男’or ssex=‘女’)default ‘男’,
sdate datetime not null,
clno char(6) not null foreign key references class(clno)
)
5.2.3教师表的创建:
create table teachers(
tno char(6) not null primary key
check(tno like ‘[0-9][0-9][0-9][0-9][0-9][0-9]’),
tname varchar(20) not null,
ssex char(2) not null check(ssex='男’or ssex=‘女’)default ‘男’,
sdate datetime not null
)

5.2.4课程表的创建:

create table courses(
cno char(6) not null primary key
check(cno like ‘[0-9][0-9][0-9][0-9][0-9][0-9]’),
cname varchar(20) not null,
pay varchar(20),
tno char(6) not null foreign key references teachers(tno)
)
5.2.5成绩表的创建
create table sgrades(
grade numeric(3, 0) not null,
sno char(6) not null foreign key references students(sno),
cno char(6) not null foreign key references courses(cno)
)

5.2.6评分表的创建
create table tgrade(
tgrade varchar(20) not null,
tno char(6) not null foreign key references teachers(tno),
cno char(6) not null foreign key references courses(cno)
)
5.3数据视图创建

 
标签: 文章标签: sql
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服