学生信息管理系统的设计

1.分析

1.1----业务分析

         主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化自动化,其主要任务是用计算机对学生各种信息进行日常管理 。

1.2----分析系统:系统面向的用户、系统的功能

       本系统面向的对象主要是在校学生和教师,面对不同的用户,系统提供的功能是不一样的

1.2.1 学生端

        其中若是学生用户登录那么只能够看到自己的学籍信息、一些考试成绩等,考虑到一些选修课程来说还提供了选课操作;

1.2.2 教师端

        若是教师端登录,那么他所拥有的权限就比学生要多一些,一些最基本的功能,能查询自己的工作数据,然后还能够对自己管理的班级的学生表中的学生信息进行查询修改增加删除 。

2.构建模型

2.1 概念模型:ERP模型

        学生管理系统 主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化自动化,其主要任务是用计算机对学生各种信息进行日常管理,如 查询、修改、增加、删除等功能,当然为了方便学生还添加了学生选课功能。因此该系统面向的实体主要有 学生、教师、教室、宿舍、课程、成绩、职务等实体。

        该系统的一些实体联系模型大概就如下图所示(E-R图):

 

2.2 数据模型:设计表格

2.2.1 将ERP模型转化为关系模式eg:

按照将E-R图转换为关系模式的规则,将上图所示E-R图转换,得到的关系模式为:

        学生(学号,姓名,年龄,性别,成绩,班主任,院系,宿舍号,联系方式)

        教师(教师编号,姓名,性别,年龄,职位,教授课程编号,所属院系,职务编号)

        课程(课程编号,课程名称,课程成绩,任课教师)

        宿舍(所属宿舍群,宿舍编号)

        教室(所属教室群,教室编号)

        职务(职务编号,职务名称)

        由于只有单独的实体而这些实体之间的联系并不明显,因此需要添加中间表来连接不同的表。

        学生与课程之间存在着选课关系,但是学生与课程之间的联系在之前的关系模型中体现不出来,需要建立一个选课表来连接两个表,由于单独在学生表中建立成绩每个人都会出现许多多余的数据因此,将成绩存储在一个中间表中能减少许多冗余数据,将学生和课程中的成绩属性剔除

建立一个新的关系模式: 选课(学号,课程编号,教师编号,教室编号,成绩,选课日期)

        教师中的职务编号和职位在职务关系模式中出现了,并且如果保留的是职位的话,存在很多汉字,冗余,将其改为职务表中的编号后会减少职务及其信息在教师信息表中出现的冗余程度

        教师的关系模式中,教授的课程编号相当与是冗余的数据,因为在选课关系中可以体现出每每个教师的教授科目。也需要剔除课程关系模式中的任课教师

因此新的修改后的关系模式为:

        学生(学号,姓名,年龄,性别,班主任,院系,宿舍号,联系方式)

        选课(学号,课程编号,教师编号,教室编号,成绩,选课日期)

        课程(课程编号,课程名称)

        教师(教师编号,姓名,性别,年龄,所属院系,职务编号)  

        宿舍(所属宿舍群,宿舍号)

        教室(所属教室群,教室编号)

        职务(职务编号,职务名称)

//由于宿舍 教室 职务 中都存在许多汉字,如果将他们加入到表中改成名字,即每一个与之关联的关系模式都会多次出现相同的字段,即出现数据大量冗余的情况,若是将其改变成id来辨识他们就会大大减少汉字的冗余,减少存储的难度。

2.2.2 设计表格

设计几个关系模式的表格

学生student表(学号,姓名,年龄,性别,班主任,院系,宿舍号,联系方式)

字段名

数据类型

长度

是否主键

是否可为空

说明

stu_id

int

14

学生表主键

stu_name

varchar

20

stu_age

int

14

stu_sex

varchar

10

t_id

int

14

stu_faculties

varchar

10

dm_dormitory

Int

14

stu_contact

varchar

14

  选课sc表(学号,课程编号,教师编号,教室编号,成绩,选课日期)

字段名

数据类型

长度

是否主键

是否为空

说明

stu_id

int

14

学生表主键

cs_id

varchar

14

t_id

int

14

r_id

int

14

sc_score

int

14

sc_data

varchar

20

 课程course表(课程编号,课程名称)

字段名

数据类型

长度

是否主键

是否为空

说明

cs_id

varchar

14

课程表主键

cs_name

varchar

20

 教师teacher表(教师编号,姓名,年龄,所属院系,职务编号) 

字段名

数据类型

长度

是否主键

是否可为空

说明

t_id

int

14

教师表主键

t_name

varchar

20

t_age

int

14

t_faculties

varchar

20

emp_id

varchar

14

 宿舍dormitory表(所属宿舍群,宿舍号)

字段名

数据类型

长度

是否主键

是否可为空

说明

dm_id

int

14

宿舍表主键

dm_name

varchar

20

 教室room表(所属教室群,教室编号)

字段名

数据类型

长度

是否主键

是否可为空

说明

r_id

int

14

教师表主键

r_name

varchar

20

 职务emp表(职务编号,职务名称)

字段名

数据类型

长度

是否主键

是否可为空

说明

emp_id

varchar

14

职务表主键

emp_name

varchar

20

3.创建表格

利用sql语句按照上述构建的模型创建表格

#创建各个表格
create table student (
	stu_id int(14) primary key not null AUTO_INCREMENT,
	stu_name Varchar(20),
	stu_age int(14),
	stu_sex varchar(10),
	t_id int(14),
	stu_faculities varchar(10),
	dm_dormitory int(14),
	stu_contact varchar(14));
	
	
create table sc(
	stu_id int(14) ,
	cs_id varchar(14),
	t_id int(14),
	r_id int(14),
	sc_score int(14),
	sc_data varchar(20),
	PRIMARY KEY(stu_id,cs_id) );
	
create table course(
	cs_id varchar(14) primary key not null,
	cs_name varchar(20));
	
create table teacher(
	t_id int(14) primary key not null,
	t_name varchar(20),
	t_age int(14),
	t_faculties varchar(20),
	emp_id varchar(14));
	
create table dorimitory(
	dm_id int(14) primary key not null,
	dm_name varchar(20));
	
create table room(
	r_id int(14) primary key not null,
	r_name varchar(20));
	
create table emp(
	emp_id varchar(14) primary key not null,
	emp_name varchar(20));
	

 创建表格的语句,运行成功后会出现以下提示

 

将上述代码执行成功后刷新表会出现所创建的表格

也可以在命令行中使用show tables; 查看数据库中表格是否创建成功

4.插入数据

给各个表中插入数据

insert into student VALUES
			('060101','钟文辉','18','男','10001','计算机','1001','18355645632'),
			('060102','吴细文','19','女','10003','信息管理','1002','18355645633'),
			('060103','吴朝西','20','女','10003','信息管理','1003','18355645634'),
			('070101','王冲瑞','21','男','10002','大数据','2002','18355645635'),
			('070102','林滔滔','18','男','10002','大数据','2003','18355645636'),
			('070103','李修雨','19','女','10004','计算机科学','2001','18355645637'),
			('070301','李奇','18','女','10005','软件工程','1002','18355645638')
			
insert into sc VALUES
			('060101','C01','10001','99001','88','2022-08-02'),
			('060101','C03','10002','99003','78','2022-07-28'),
			('060101','C04','10003','99004','85','2022-08-01'),
			('060101','C05','10004','99005','94','2022-08-06'),
			('060102','C02','10002','99002','58','2022-08-03'),
			('060102','C03','10002','99003','86','2022-07-28'),
			('060102','C04','10003','99004','79','2022-08-01'),
			('070101','C01','10001','99001','68','2022-08-02'),
			('070101','C03','10002','99003','92','2022-07-28'),
			('070101','C04','10003','99004','72','2022-08-01'),
			('070101','C05','10004','99005','81','2022-08-06'),
			('070103','C04','10003','99004','78','2022-08-01'),
			('070103','C06','10005','99006','85','2022-08-05'),
			('070301','C03','10002','99003','86','2022-07-28'),
			('070301','C04','10003','99004','88','2022-08-01')
			
			
insert into course VALUES
	   ('C01','高等数学'),
       ('C02','程序设计'),
       ('C03','数据结构'),
       ('C04','数据库原理'),
       ('C05','分布式数据库'),
       ('C06','计算机组成原理'),
       ('C07','计算机网络')
			
insert into teacher VALUES
	    ('10001','张权','39','计算机科学与工程学院','E005'),
       ('10002','王虎','35','电子信息工程学院','E004'),
       ('10003','李涵','37','计算机科学与工程学院','E005'),
       ('10004','刘宇','41','计算机科学与工程学院','E002'),
       ('10005','程玉虎','34','计算机科学与工程学院','E004')
			 
insert into dorimitory VALUES
	   ('1001','邱和楼1001'),
       ('1002','邱和楼1002'),
       ('1003','邱和楼1003'),
       ('2001','海心阁2001'),
       ('2002','海心阁2002'),
       ('2003','海心阁2003'),
       ('2004','海心阁2004')	 
			 
 insert into room VALUES
	   ('99001','太极楼001'),
       ('99002','太极楼002'),
       ('99003','太极楼003'),
       ('99004','太极楼004'),
       ('99005','太极楼005'),
       ('99006','太极楼006'),
       ('95001','清风楼001')
			 
insert into emp VALUES
	   ('E001','主任'),
       ('E002','副主任'),
       ('E003','书记'),
       ('E004','副书记'),
	   ('E005','高级讲师'),
	   ('E006','中级讲师'),
	   ('E007','初级讲师')

5.维护数据:

5.1 查询学生所有信息

5.2 查询老师所有信息

 

5.3 查询选课了XX科目的学生信息

5.4 对应科目的老师信息

 

5.5 修改学生信息

 

 

5.6 删除学号为xx的学生信息

 

5.7 学号为xx的学生选择xx课程

选课前

 选课后

 

 

5.8 查询年龄大于20岁的学生信息

5.9 学号为xx的学生修改其电话号码

学生电话号码修改前的信息 

学生电话号码修改后的信息 

 

……..

…….

…….

……

……..

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 学生信息管理系统(SIMS)是一个用于管理学生相关信息的数据库系统。ER图(实体-关系图)是设计数据库系统的一种工具,用于描述系统中各实体之间的关系。 在学生信息管理系统中,主要包含以下实体:学生、课程、教师、班级和成绩。 学生实体包含学生的基本信息,如学号、姓名、性别、年龄等。学生与班级是一个多对一的关系,即一个班级可以有多个学生,而一个学生只能属于一个班级。 课程实体包含课程的基本信息,如课程代码、课程名称等。课程与教师也是一个多对一的关系,即一个教师可以教授多门课程,而一门课程只能由一个教师教授。 教师实体包含教师的基本信息,如教师编号、姓名、性别等。教师与班级是一个多对一的关系,即一个班级可以有多个教师,而一个教师只能负责一个班级。 班级实体包含班级的基本信息,如班级代码、班级名称等。 成绩实体包含学生的成绩信息,如学号、课程代码、成绩等。成绩与学生和课程是多对一的关系,即一个学生可以有多门课程的成绩,而一门课程只对应一个学生的成绩。 通过使用ER图,可以清晰地表示学生信息管理系统的各个实体之间的关系,有助于设计数据库结构,实现对学生信息的有效管理和查询。同时,ER图也是系统需求分析和系统设计的重要工具,能够帮助开发人员和用户理解系统的功能和结构,提高系统的可靠性和可维护性。 ### 回答2: 学生信息管理系统的ER图数据库是用来存储学生信息管理系统的数据的一种数据库模型。ER图(Entity-Relationship Diagram)是一种用于描述现实世界中事物之间关系的图形表示方法。 在学生信息管理系统中,通常会包括学生、课程、成绩等等相关的实体和它们之间的关系。ER图数据库通过实体和关系两个部分构成。 实体部分描述了学生信息管理系统中的各个实体,例如学生、课程和成绩。每个实体都有一些属性,如学生的学号、姓名和性别,课程的课程号、名称和学分等。ER图数据库使用实体框表示实体,框内写有实体名称和属性名称。 关系部分描述了实体之间的联系和关系,例如学生选修课程、成绩计算等。ER图数据库使用菱形表示关系,通过箭头表明实体之间的关联。例如,学生选修课程的关系可以用箭头连接学生和课程实体。 通过ER图数据库的建立,可以方便地描述和存储学生信息管理系统中的数据。同时,ER图数据库还可以进行数据查询和关联操作,以实现对学生信息的管理和查询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值