技术标签: 面试 阿里巴巴 android 前端 后端 学习路线
随着信息化时代的到来,人们的生活发生了巨大的变化,信息化时代带给了人们更多的处理数据的方式。学生学籍管理是一个非常繁琐且复杂的工作,其中的原因就是涉及到大量的学生学籍数据信息,这样庞大的一个数据群管理起来就想当麻烦,在传统的数据信息管理模式下,工作效率不仅低下,而且数据在存储、更新、删改等操作上会出现错误。基于以上出现的问题,开发一个学籍管理系统就显得很重要。
一:实现学生信息、班级、院系、专业等的管理;
二:实现课程、学生成绩信息管理;
三:实现学生的奖惩信息管理;
四:建立数据库相关表之间的参照完整性约束。
五:创建规则用于限制性别项只能输入“男”或“女”;
六:创建视图查询各个学生的学号、姓名、班级、专业、院系;
七:创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数;
八:创建存储过程查询指定学生的成绩单;
一:提高管理人员的工作效率。
二:对大量的数据信息进行统筹规划
三:降低处理数据信息时出现的错误率。
四:方便系统的后期维护。
该高校学籍管理系统主要是实现对大学在校生的学籍信息的系统化管理,具体的功能涉及实现对学生的基本信息、班级、专业、院系等的查询、修改和删除等功能,同时也会实现课程、学生成绩信息管理、实现学生的奖惩信息管理。
同时该高校学籍管理系统要创建学生信息视图,具体实现如下:
一:创建学生基本信息视图,实现查询各个学生的学号、姓名、班级、专业、院系。
二:创建学生成绩视图,实现查询各个学生的学号、姓名、课程、成绩。
三:创建学生奖惩视图,实现查询各个学生的学号、姓名、班级、专业、院系、奖惩号、奖惩名、奖惩方案。
该高校学籍管理系统要创建触发器当增加、删除学生和修改学生班级信息时自动修改相应班级学生人数。
最后,该高校学籍管理系统要创建存储过程查询指定学生的成绩单
该学籍管理系统会对学生信息进行系统化管理,在数据和数据之间实现关联性,较大程度的满足用户需求。
根据设计学生管理系统的需要,可以抽象出以下实体:
(1)学生信息
(2)班级信息
(3)专业信息
(4)院系信息
(5)课程信息
(6)课程成绩信息
(7)奖惩信息
(1).学生实体属性图
(2).班级实体属性图
(3).专业实体属性图
(4).院系实体属性图
(5).课程实体属性图
(6).课程成绩实体属性图
(7).奖惩实体属性图
关系数据模式
(1)学生(学号,姓名,性别,班级编号,专业编号,院系编号,民族,年龄,出生日期,家庭地址,入学时间)
(2)班级(班级编号,专业编号,院系编号,班级名称,人数)
(3)专业(专业编号,院系编号,专业名称)
(4)院系(院系编号,院系名称)
(5)课程(课程号,课程名,学分,学时)
(6)课程成绩(课程号,学号,成绩)
(7)奖惩(奖惩号,学号,专业编号,院系编号,奖惩名称,奖惩方案)
根据概念结构设计和逻辑结构的内容,可以将此学籍管理系统设计出7个表,分别为“Student表”、“Class表”、“Major表”、“Department表”、“Course表”、“Grader表”和“Award_punish表”。具体如下:
这7张表的数据库关系图如下:
1.Department表 (院系表)
列名
数据类型
约束
说明
Did
varchar(30)
primary key
院系编号
Dname
varchar(30)
not null
院系名称
2.Major表 (专业表)
列名
数据类型
约束
说明
Mid
varchar(30)
primary key
专业编号
Did
varchar(30)
foreign key
院系编号
Mname
varchar(30)
not null
专业名称
3.Class表 (班级表)
列名
数据类型
约束
说明
Cid
varchar(30)
primary key
班级编号
Mid
varchar(30)
foreign key
专业编号
Did
varchar(30)
foreign key
院系编号
Cname
varchar(30)
not null
班级名称
Cnumber
int
not null
班级人数
4.Student表 (学生表)
列名
数据类型
约束
说明
id
varchar(30)
primary key
学号
name
varchar(30)
not null
姓名
sex
char(2)
not null
性别
Cid
varchar(30)
foreign key
班级编号
Mid
varchar(30)
foreign key
专业编号
Did
varchar(30)
foreign key
院系编号
nation
varchar(20)
not null
民族
age
int
not null
年龄
birthday
date
not null
出生日期
location
varchar(20)
not null
家庭地址
enroll
date
not null
入学时间
5.Course表 (课程表)
列名
数据类型
约束
说明
kid
varchar(30)
primary key
课程编号
Kname
varchar(30)
not null
课程名称
Kcredit
int
not null
学分
Kperiod
int
not null
学时
6.Grade表 (课程成绩表)
列名
数据类型
约束
说明
Kid
varchar(30)
primary key
课程编号
id
varchar(20)
primary key
学号
Ggrade
int
not null
成绩
7.Award_punish表 (奖惩表)
列名
数据类型
约束
说明
Aid
varchar(20)
primary key
奖惩号
id
varchar(20)
foreign key
学号
Mid
varchar(30)
foreign key
专业编号
Did
varchar(30)
foreign key
院系编号
Aname
varchar(30)
not null
奖惩名
Aproject
varchar(100)
not null
奖惩方案
1.查询年龄小于20的学生的基本信息,SQL语句如下:
select * from Student where age < 20
查询结果如下图所示。
2.查询班级为“软工一班”,且家庭住址的省会为“河南”的学生基本信息,SQL语句如下:
select * from Student where Cid = 'RG1' and location like '河南%'
查询结果如下图所示。
3.查询选修了“SJK3”课程的学生的学号、姓名、成绩,其中按照成绩从大到小的顺序排列,SQL语句如下:
select Student.id,name,Ggrade from Student,Grade
where Student.id = Grade.id and Grade.Kid = 'SJK3'
order by Ggrade desc
查询结果如下图所示。
4.查询选修“大学英语”课程所有学生的平均成绩,SQL语句如下:
select avg(Ggrade) 平均成绩 from Grade,Course
where Grade.Kid = Course.Kid
and Course.Kname = '大学英语'
查询结果如下图所示。
5.查询获得“三好学生”称号的学生的学号、姓名、专业编号、院系编号,SQL语句如下:
select Student.id 学号,name 姓名,Mname 专业名称,Dname 院系名称
from Student,Major,Department,Award_punish
where Student.id = Award_punish.id
and Major.Mid = Award_punish.Mid
and Department.Did = Award_punish.Did
and Aname = '三好学生'
查询结果如下图所示。
6.将家庭地址为“江苏南京”的学生的家庭地址更改为“河南郑州”,SQL语句如下:
update Student set location = '河南郑州' where location = '江苏南京'
更改结果如下图所示。
更改前:
更改后:
7.将课程“大学英语"的学时更改为68,SQL语句如下:
update Course set Kperiod = 68 where Kname = '大学英语'
更改结果如下图所示。
更改前:
更改后:
8.删除学号为“”学生的奖惩信息,SQL语句如下:
delete from Award_punish where id = '201130321'
删除结果如下图所示。
删除前:
删除后:
1:创建学生基本信息视图,实现查询各个学生的学号、姓名、班级编号、专业编号、院系编号,SQL语句如下:
create view A_Student(id,name,Cname,Mname,Dname)
as
select id,name,Cname,Mname,Dname
from Student,Class,Major,Department
where Class.Did = Department.Did
and Class.Mid = Major.Mid
and Student.Did = Department.Did
and Student.Mid = Major.Mid
with check option
视图的执行结果如下:
2:创建学生成绩视图,实现查询各个学生的学号、姓名、课程、成绩,SQL语句如下:
create view B_Grade(id,name,Kname,Ggrade)
as
select Student.id,name,Kname,Ggrade
from Student,Grade,Course
where Student.id = Grade.id
and Grade.Kid = Course.Kid
with check option
视图的执行结果如下:
3:创建学生奖惩视图,实现查询各个学生的学号、姓名、班级、专业、院系、奖惩号、奖惩名、奖惩方案,SQL语句如下:
create view C_Award_punish
(id,name,Cname,Mname,Dname,Aid,Aname,Aproject)
as
select Student.id,name,Cname,Mname,Dname,Aid,Aname,Aproject
from Student,Class,Major,Department,Award_punish
where Student.id = Award_punish.id
and Award_punish.Mid = Major.Mid
and Award_punish.Did = Department.Did
and Class.Did = Department.Did
and Class.Mid = Major.Mid
with check option
视图的执行结果如下:
1.创建触发器,当增加学生班级信息时自动修改相应班级学生人数,SQL语句如下:
create trigger insert_stu
on Student for insert
as
begin
declare @cid varchar(30)
select @cid=Cid from inserted
update Class set Cnumber = Cnumber + 1 where Cid = @cid
end
在Student表中插入一条数据:
insert into Student values('201130332','陈思宇','男','RG1','RJ11','RJ111','汉族',20,'2001-02-03','海南文昌','2020-09-30')
执行结果如下:
2.创建触发器,当删除学生班级信息时自动修改相应班级学生人数,SQL语句如下:
create trigger delete_stu
on Student for delete
as
begin
declare @cid varchar(30)
select @cid=Cid from deleted
update Class set Cnumber = Cnumber - 1 where Cid = @cid
end
在Student表中删除一条数据:
delete from Student where name = '陈思宇'
执行结果如下:
3.创建触发器,当修改学生班级信息时自动修改相应班级学生人数,SQL语句如下:
create trigger update_stu
on Student for update
as
begin
declare @cid1 varchar(30)
declare @cid2 varchar(30)
--存放更新前的数据
select @cid1=Cid from deleted
--存放更新后的数据
select @cid2=Cid from inserted
update Class set Cnumber = Cnumber - 1 where Cid = @cid1
update Class set Cnumber = Cnumber + 1 where Cid = @cid2
end
在Student表中更改一条数据,将王小虎的班级“RG1”更改为“YY1”
update Student set Cid = 'YY1' where name = '王小虎'
执行结果如下:
更改前:
更改后:
1.创建存储过程查询指定学生的成绩单,SQL语句如下:
create procedure pro_grade
@id varchar(30)=null,
@name varchar(30)=null
as
if(@id is null or @name is null )
begin
print '请输入学号与姓名!'
end
else if(
(select name from Student where id = @id) != @name
or (select id from Student where name = @name) != @id
)
begin
print '输入有误!'
end
else
begin
select Student.id,name,Kname,Ggrade
from Student,Grade,Course
where Student.id = Grade.id
and Grade.Kid = Course.Kid
and name = @name
end
go
执行结果如下:
1.当未输入学号或姓名时,提示“请输入学号与姓名!”
2.当输入信息有误时,提示“输入有误!”
3.当输入正确的学号和姓名时,打印出该学生的成绩单。
完整数据库课程设计和源码文件:
链接:https://pan.baidu.com/s/1dzVXTMfNUcJblV81xb3g8g
提取码:xha8
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
获取一个属性值获取一个属性值时,直接传入这个属性的名字即可。例如我们要获取li这个元素的宽度,那么可以这样获取:var liWidth = $('li').css('width') ;console.log('li的宽度为:' + liWidth ) ;可以在控制台看到如下输出结果: li的宽度为:30px获取多个属性值获取多个属性值时,可以传入一个数组,该数组为属性名字的集合。例如我们要获取
以上是随便找网上找的一张正经的照相机图片,如今照相机各种各样,今天我们会简单了解一下照相机的工作原理。涉及的工作原理:主要是这两个原理:话说很早很早的时候,我们的老祖宗,墨子就发现了,用一个带有小孔的板遮挡在墙体与物体之间,墙体上就会形成物体的倒影,这种现象就叫小孔成像。溴化银见光分解的原理来自百度百科的基本介绍:https://baike.baidu.com/item/%E6%BA%B4%E5%8C%96%E9%93%B6/9962770?fr=aladdin#2照相机的简单架构:._溴化银感光性原理
最近关于新拟物化的风太大,基本上设计圈的人是无人不知。尽管观点如此,我还是想为新拟物化这位诞生在不平凡 2020 年的新生儿稍稍正个身,它并非空穴来风,也并非完全在设计里面无法落地使用,相反如果合理加以优化应该是可以达到意想不到的效果。Neumorphism 新拟物化设计风格,与以往的拟物化设计不完全一样,是一种介于扁平化和拟物化的新风格尝试。主要是通过光影的变化来突出内容的区域或模块设计,整体感觉相比扁平化的设计来说会更加具有氛围性和视觉冲击感。来看看集设网www.ijishe.com设计师交流社_docker 安装neumorphism
Abp Vnext Pro的 Vue3 实现版本 开箱即用的中后台前端/设计解决方案开始Github地址文档地址演示地址系统功能[x] 用户管理[x] 角色管理[x] 审计日志[x] 后..._啊不怕vnextpro
一、本周情况:1.1 书籍学习 第二部分: 高级数据采集数据清洗自然语言处理穿越网页表单与登录窗口进行采集采集javascript图像识别与文字处理避开采集陷阱用爬虫测试网站远程采集二、笔记:本部分练习代码在github仓库:https://github.com/Alextaotao/Python-network-data-collection三、下..._python爬虫实习生双周报
为什么要备份数据库?我认为这个问题的答案已经很明显了。因此,我不想回答这个问题,而是想回答另一个问题:通过数据库备份可以预防哪些风险?实际上,自产生以来,数据始终伴随着自然灾害,电源故障,网络故障,硬件故障,软件故障和人为故障导致数据丢失的风险。关键是,即使您的数据库从今天的硬件错误,明天的闪电或明天的第二天掉电中幸存下来,也可能由于从今天起三天的失误而错误地删除了数据。数据库备份带来哪些挑战?第...
1、导入pom依赖<!--xls(03)--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> &l_springboot pio写excel
分库方式垂直分库垂直分库根据业务进行划分,将同一类业务相关的数据表划分在同一个库中水平分库按照一定的规则对数据库进行划分,每个数据库总各个表结构相同, 数据存储在不同的数据库, 如根据年份划分不同的数据库..._macat 分库
文章目录0 效果1 知识点1.1 图片编码和解码1.2 图片显示(合理缩放图像以填充label)1.3 TCP传输与接收2 客户端3 服务器0 效果1 知识点1.1 图片编码和解码png编码为base64数据 :(用于客服端传输)QByteArray Client::getImageData(const QImage &image){ QByteArray ima..._qt tcp传输图片
[cifar-10]二进制图片文件的注释理解前面讲到到的[catsVSdogs]猫狗大战代码注释讲解http://blog.csdn.net/wsljqian/article/details/78091425,将利用TensorFlow的框架搭建了一个比较完备的结构。从图像样本文件的读取、做标签、batch分批处理;再到CNN模型的搭建、定义损失函数、训练函数、准确率判断函数;最后,调取两部分_二进制图片写入注释
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天 8:55 更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2020 超神之路,很肝~..._flux system.out.println
js 原生操作dom的方法_原生dom操作