数据库原理及应用课程设计
数据库原理及应用课程设计
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数据视图创建
数据库原理及应用课程设计相关推荐
- 数据库原理与应用课程知识点
数据库原理与应用课程知识点 文章目录 数据库原理与应用课程知识点 **第一章 绪论** 数据.数据库.数据库管理系统.数据库系统的概念 数据管理技术发展的三个阶段及各阶段的优缺点 概念模型中的基本术语 ...
- 单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...
1<单片机原理应用>课程设计指导书2010-6-8 <单片机原理与应用>课程设计指导书 一.课程设计的基本任务 本课程设计的基本要求是使学生熟悉掌握MCS-51系列单片机的编程 ...
- 微型计算机原理及应用 课程设计,微型计算机原理及应用课程设计.docx
微型计算机原理及应用课程设计 微型计算机原理及应用课程设计 题目:多功能密码锁班级:2008级X班姓名1:XXX序号:2008XXXXXXXX序号: XX姓名2:XX序号:2008XXXXXXXX序号 ...
- 激光技术课程设计matlab,激光原理与技术课程设计(matlab仿真).docx
激光原理与技术课程设计(matlab仿真) 电子科技大学UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA激光原理与技术课程设计课程教师: ...
- Oracle数据库图书管理系统的课程设计
Oracle数据库图书管理系统的课程设计 在Oracle数据库最初的sys用户XE数据库下执行: --删除表空间 drop tablespace tablespace_book including c ...
- 单片机实验报告太原理工大学_2011级应用物理专业单片机原理及应用课程设计答辩会...
为了更好地促进本科生学习专业技术的积极性,物理与光电工程学院于1月17日下午2:30到6:30在逸夫楼801教室,举行了2011级应用物理专业单片机原理及应用课程设计答辩会.李建明书记.杨毅彪院长.彭 ...
- 通信原理matlab实验课程设计,通信原理matlab课程设计报告
通信原理matlab课程设计报告 1 目录 一问题描述-----------------------------------------3 二实验原理------------------------- ...
- 微型计算机原理及应用 课程设计,《微型计算机原理及其应用》课程设计.docx
课程设计 课程名称微机课程设计 题目名称计算器 学生学院自动化 专业班级13自动化()班 学 号 学生姓名 指导教师 2015年12月30日 1.2.3.b)c)定义键盘按键,12 1. 2. 3. ...
- 计算机组成流水灯原理,计算机组成原理课程设计(微程序设计)
<计算机组成原理课程设计(微程序设计)>由会员分享,可在线阅读,更多相关<计算机组成原理课程设计(微程序设计)(13页珍藏版)>请在人人文库网上搜索. 1.计算机组成原理课程设 ...
- 计算机组成原理超前进位加法器原理,计算机组成原理课程设计—超前进位加法器的设计.doc...
PAGE 沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:超前进位加法器的设计 院(系):计算机学院 专 业: 班 级: 学 号: 姓 名: 指导教师: ...
最新文章
- 应用程序启动器选项卡以及页面内容的设置
- svd降维 python案例_PCA降维的原理、方法、以及python实现。
- pygame小游戏代码_Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏...
- 架构日趋复杂的今天,如何重构数据库和应用边界?
- ​Cell:粟硕/施莽团队利用宏转录组揭示“野味”动物携带和人类疾病密切相关的多种病毒...
- Flutter 图片选择器 SelectPhotoWidget
- Orleans学习总结(一)--入门认识
- Apple Watch新功能曝光:“一键收取”蚂蚁森林能量
- NLP硬核入门-PointerNet和CopyNet
- python cross val score_python - sklearn cross_val_score的精度低于手动交叉验证 - 堆栈内存溢出...
- FF14 界面 字变得很小 一种适用于高分辨率笔记本或屏幕下FF14窗口或无边框模式的性能优化方法
- smtp服务器组件,本机搭建虚拟SMTP服务器教程
- 500 G JAVA视频网盘分享(JEECG开源社区)
- (译)如何制作一个类似tiny wings的游戏:第二部分(完) - 子龙山人 ...
- 【数据工具】地理坐标拾取器V.1.01(支持WGS-84、GCJ-02、BD-09)
- 《 没有业绩怎么写好年终总结.ppt 》
- Mac idea 替换快捷键
- 什么是H5?有哪些特点?
- 科研突破:非宁静无以致远
- 不可多得的MBA相关书籍推荐