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

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数据视图创建

数据库原理及应用课程设计相关推荐

  1. 数据库原理与应用课程知识点

    数据库原理与应用课程知识点 文章目录 数据库原理与应用课程知识点 **第一章 绪论** 数据.数据库.数据库管理系统.数据库系统的概念 数据管理技术发展的三个阶段及各阶段的优缺点 概念模型中的基本术语 ...

  2. 单总线和i2c总线结合实现数字温度计的设计c语言程序,1《单片机原理应用》课程设计指导书2010-6-8.doc...

    1<单片机原理应用>课程设计指导书2010-6-8 <单片机原理与应用>课程设计指导书 一.课程设计的基本任务 本课程设计的基本要求是使学生熟悉掌握MCS-51系列单片机的编程 ...

  3. 微型计算机原理及应用 课程设计,微型计算机原理及应用课程设计.docx

    微型计算机原理及应用课程设计 微型计算机原理及应用课程设计 题目:多功能密码锁班级:2008级X班姓名1:XXX序号:2008XXXXXXXX序号: XX姓名2:XX序号:2008XXXXXXXX序号 ...

  4. 激光技术课程设计matlab,激光原理与技术课程设计(matlab仿真).docx

    激光原理与技术课程设计(matlab仿真) 电子科技大学UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA激光原理与技术课程设计课程教师: ...

  5. Oracle数据库图书管理系统的课程设计

    Oracle数据库图书管理系统的课程设计 在Oracle数据库最初的sys用户XE数据库下执行: --删除表空间 drop tablespace tablespace_book including c ...

  6. 单片机实验报告太原理工大学_2011级应用物理专业单片机原理及应用课程设计答辩会...

    为了更好地促进本科生学习专业技术的积极性,物理与光电工程学院于1月17日下午2:30到6:30在逸夫楼801教室,举行了2011级应用物理专业单片机原理及应用课程设计答辩会.李建明书记.杨毅彪院长.彭 ...

  7. 通信原理matlab实验课程设计,通信原理matlab课程设计报告

    通信原理matlab课程设计报告 1 目录 一问题描述-----------------------------------------3 二实验原理------------------------- ...

  8. 微型计算机原理及应用 课程设计,《微型计算机原理及其应用》课程设计.docx

    课程设计 课程名称微机课程设计 题目名称计算器 学生学院自动化 专业班级13自动化()班 学 号 学生姓名 指导教师 2015年12月30日 1.2.3.b)c)定义键盘按键,12 1. 2. 3. ...

  9. 计算机组成流水灯原理,计算机组成原理课程设计(微程序设计)

    <计算机组成原理课程设计(微程序设计)>由会员分享,可在线阅读,更多相关<计算机组成原理课程设计(微程序设计)(13页珍藏版)>请在人人文库网上搜索. 1.计算机组成原理课程设 ...

  10. 计算机组成原理超前进位加法器原理,计算机组成原理课程设计—超前进位加法器的设计.doc...

    PAGE 沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:计算机组成原理课程设计 课程设计题目:超前进位加法器的设计 院(系):计算机学院 专 业: 班 级: 学 号: 姓 名: 指导教师: ...

最新文章

  1. 应用程序启动器选项卡以及页面内容的设置
  2. svd降维 python案例_PCA降维的原理、方法、以及python实现。
  3. pygame小游戏代码_Py之pygame:有趣好玩——利用pygame库实现一个移动底座弹球的小游戏...
  4. 架构日趋复杂的今天,如何重构数据库和应用边界?
  5. ​Cell:粟硕/施莽团队利用宏转录组揭示“野味”动物携带和人类疾病密切相关的多种病毒...
  6. Flutter 图片选择器 SelectPhotoWidget
  7. Orleans学习总结(一)--入门认识
  8. Apple Watch新功能曝光:“一键收取”蚂蚁森林能量
  9. NLP硬核入门-PointerNet和CopyNet
  10. python cross val score_python - sklearn cross_val_score的精度低于手动交叉验证 - 堆栈内存溢出...
  11. FF14 界面 字变得很小 一种适用于高分辨率笔记本或屏幕下FF14窗口或无边框模式的性能优化方法
  12. smtp服务器组件,本机搭建虚拟SMTP服务器教程
  13. 500 G JAVA视频网盘分享(JEECG开源社区)
  14. (译)如何制作一个类似tiny wings的游戏:第二部分(完) - 子龙山人 ...
  15. 【数据工具】地理坐标拾取器V.1.01(支持WGS-84、GCJ-02、BD-09)
  16. 《 没有业绩怎么写好年终总结.ppt 》
  17. Mac idea 替换快捷键
  18. 什么是H5?有哪些特点?
  19. 科研突破:非宁静无以致远
  20. 不可多得的MBA相关书籍推荐

热门文章

  1. 对python生成的EXE文件 进行反编译
  2. Activiti 单环节多人办理一件
  3. 极速PDF编辑器提示缺少字体如何解决
  4. python屏幕录像专家_可以推荐一款电脑录屏软件吗?
  5. mysql sjis 校对乱码_数据库乱码问题解决剖析
  6. 基于主从博弈的电热综合能源系统动态定价与能量管理 主要做的是电热综合能源系统的动态定价问题,采用是主从博弈方法
  7. oracle12c开发连接jar包ojdbc7
  8. Moodle安装教程以及phpMyAdmin无法访问解决
  9. 什么软件可以测试电信网速,测试网速的简单的三种方法
  10. 2020最新的eclipse之安卓开发环境搭建