学生信息管理系统数据库设计

学生信息管理系统数据库设计

 

表名tb_school(学校表:存储学校的基本信息)

字段

类型

介绍

属性

其他

schoolid

Int

学校id

主键

 

SchoolName

Varchar(20)

学校名称

非空

 

SchoolPrincipal

Varchar(20)

学校校长

非空

 

SchoolAdd

Varchar(200)

学校地址

非空

 

schoolEmain

Varchar(200)

学校邮箱

非空

 

Schooltell

Varchar(12)

学校电话

非空

 

SchoolWebsite

Varchar(30)

学校官网网址

非空

 

表名tb_college(专业表)

字段

类型

介绍

属性

其他

collegeId

Int

二级学院编号

主键,自增

 

collegeName

Varchar(20)

二级学院名称

非空

 

collegeRoom

Varchar(20)

二级学院办公室

非空

 

collegeDeanID

Int

院长编号

非空

 

collegeTel

Varchar(11)

二级学院电话

非空

 

collegeEmail

Varchar(20)

二级学院邮箱

 

 

SchoolId

Int

学校Id

非空

 

 

表名tb_teacher(教师表)

字段

类型

介绍

属性

其他

Teacherid

Int

教师编号

主键自增

 

TeacherName

Varchar(20)

教师名字

非空

 

Password

Varchar(20)

登录密码

非空

 

IdCard

Varchar(18)

身份证编号

非空

 

Sex

Varchar(2)

性别

非空

 

TeacherTitle

Varchar(8)

教师职称

非空

博士、硕士…

EntryDate

Date

入职日期

非空

 

Birther

Date

出生日期

非空

 

Status

Varchar(8)

状态

非空

 

Tel

Varchar(20)

电话

非空

 

SecondTel

Varchar(20)

第二联系号码

 

 

QQ

Varchar(20)

QQ

 

 

Email

Varchar(100)

邮箱

 

 

Address

Varchar(200)

地址

 

 

Schoolid

Int

学校id

非空

 

collegeId

Int

专业id

 

 

IsAdmin

Int

是否管理员

 非空

 

PhotoPath

Varchar(200)

头像地址

 

 

表名tb_student(学生表)

字段

类型

介绍

属性

其他

studentId

Int

学生编号

主键自增

 

studentName

Varchar(20)

学生名字

非空

 

Password

Varchar(20)

登录密码

非空

 

IdCard

Varchar(18)

身份证编号

非空

 

Sex

Varchar(2)

性别

非空

 

professional

Varchar(100)

专业名称

 

 

education

Varchar(8)

学历

非空

博士、硕士…

acceptanceDate

Date

入学日期

非空

 

Birther

Date

出生日期

非空

 

Status

Varchar(8)

状态

非空

 

Tel

Varchar(20)

电话

非空

 

SecondTel

Varchar(20)

第二联系号码

 

 

QQ

Varchar(20)

QQ

 

 

Email

Varchar(100)

邮箱

 

 

Address

Varchar(200)

地址

 

 

ClassId

Int

班级Id

 

 

Schoolid

Int

学校id

非空

 

IsAdmin

Int

是否管理员

 非空

 

PhotoPath

Varchar(200)

头像地址

 

 

 

表名tb_course(课程表)

字段

类型

介绍

属性

其他

Courseid

Int

课程编号

主键,自增

 

CourseName

Varchar(20)

课程名称

非空

 

TeacherID

Int

任课老师编号

非空

 

CourseRoom

Varchar(20)

课程教室

非空

 

MaxStudentNum

Int

最大可选人数

非空

 

collegeId

Int

课程分类

非空

所属学院

 

 

 

表名tb_score(成绩表)

字段

类型

介绍

属性

其他

Scoreid

Int

成绩Id

主键,自增

 

StudentId

Int

学生Id

外键

 

CourseId

Int

课程Id

外键

 

Score

float

成绩(分数)

 

 

 建表SQL语句如下

复制代码
CREATE DATABASE `stusys` ;

USE `stusys`;

DROP TABLE IF EXISTS `tb_class`;

CREATE TABLE `tb_class` (
  `cid` int(11) NOT NULL AUTO_INCREMENT COMMENT '班级编号',
  `cname` varchar(100) NOT NULL COMMENT '班级名称',
  `qq` varchar(20) DEFAULT NULL COMMENT '班级QQ群',
  `school` varchar(100) DEFAULT NULL COMMENT '学生名称',
  `headmaster` varchar(50) DEFAULT NULL COMMENT '班主任',
  `tel` varchar(50) DEFAULT NULL COMMENT '班主任电话号码',
  `declaration` varchar(200) DEFAULT NULL COMMENT '班级宣言',
  PRIMARY KEY (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

insert  into `tb_class`(`cid`,`cname`,`qq`,`school`,`headmaster`,`tel`,`declaration`) values (1,'    2013级数学 ','57197804 ','湖南大学 ','王娟','15388088011 ','自强不息');

DROP TABLE IF EXISTS `tb_college`;

CREATE TABLE `tb_college` (
  `collegeId` int(11) NOT NULL,
  `collegeName` varchar(20) DEFAULT NULL,
  `collegeRoom` varchar(20) DEFAULT NULL,
  `collegeDeanID` int(11) DEFAULT NULL,
  `collegeTel` varchar(11) DEFAULT NULL,
  `collegeEmail` varchar(20) DEFAULT NULL,
  `schoolId` int(11) DEFAULT NULL,
  PRIMARY KEY (`collegeId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `tb_course`;

CREATE TABLE `tb_course` (
  `courseId` int(11) NOT NULL,
  `coutseName` varchar(20) DEFAULT NULL,
  `teacherId` int(11) DEFAULT NULL,
  `courseRoom` varchar(20) DEFAULT NULL,
  `maxstudentNum` int(11) DEFAULT NULL,
  `collegeId` int(11) DEFAULT NULL,
  PRIMARY KEY (`courseId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `tb_school`;

CREATE TABLE `tb_school` (
  `schoolId` int(11) NOT NULL,
  `schoolName` varchar(20) DEFAULT NULL,
  `schoolPrincipal` varchar(20) DEFAULT NULL,
  `schoolAdd` varchar(200) DEFAULT NULL,
  `schoolEmain` varchar(200) DEFAULT NULL,
  `schoolTel` varchar(11) DEFAULT NULL,
  `schoolWebsite` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`schoolId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `tb_score`;

CREATE TABLE `tb_score` (
  `scoreId` int(11) NOT NULL,
  `studentId` int(11) DEFAULT NULL,
  `courseId` int(11) DEFAULT NULL,
  `score` float DEFAULT NULL,
  PRIMARY KEY (`scoreId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `tb_student`;

CREATE TABLE `tb_student` (
  `stuNo` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `password` varchar(200) NOT NULL COMMENT '密码',
  `idCard` varchar(18) DEFAULT NULL COMMENT '身份证',
  `sex` char(2) DEFAULT NULL COMMENT '性别',
  `education` varchar(8) DEFAULT NULL COMMENT '学历  0:专科 1:本科 2:硕士 3:博士',
  `schoolId` int(100) DEFAULT NULL COMMENT '毕业学校',
  `professional` varchar(100) DEFAULT NULL COMMENT '专业',
  `acceptanceDate` date DEFAULT NULL COMMENT '入学日期',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `status` varchar(20) DEFAULT NULL COMMENT '状态',
  `tel` varchar(50) DEFAULT NULL COMMENT '联系电话号码',
  `secondTel` varchar(50) DEFAULT NULL COMMENT '第二联系电话号码',
  `qq` varchar(20) DEFAULT NULL COMMENT 'QQ',
  `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  `address` varchar(200) DEFAULT NULL COMMENT '地址',
  `classId` int(11) DEFAULT NULL COMMENT '班级编号',
  `isAdmin` int(11) DEFAULT '0' COMMENT '是否是管理员 0:表示学生  1:管理员 0:学生',
  `photoPath` varchar(200) DEFAULT NULL COMMENT '头像文件名',
  PRIMARY KEY (`stuNo`)
) ENGINE=InnoDB AUTO_INCREMENT=910513201420 DEFAULT CHARSET=utf8;

insert  into `tb_student`(`stuNo`,`name`,`password`,`idCard`,`sex`,`education`,`schoolId`,`professional`,`acceptanceDate`,`birthday`,`status`,`tel`,`secondTel`,`qq`,`email`,`address`,`classId`,`isAdmin`,`photoPath`) values (1001,'admin','admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL),(910513201419,'    邹智 ','123456','430181198612113330','男','1',1,'数学','2013-09-05','1994-08-16','    在读 ','    15111141999',NULL,NULL,NULL,NULL,1,0,NULL);

DROP TABLE IF EXISTS `tb_teacher`;

CREATE TABLE `tb_teacher` (
  `teacherid` int(11) NOT NULL,
  `teacherName` varchar(20) DEFAULT NULL,
  `password` varchar(20) DEFAULT NULL,
  `idCard` varchar(18) DEFAULT NULL,
  `sex` varchar(2) DEFAULT NULL,
  `teacherTitle` varchar(8) DEFAULT NULL,
  `entryDate` date DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  `status` varchar(8) DEFAULT NULL,
  `tel` varchar(11) DEFAULT NULL,
  `secondTel` varchar(11) DEFAULT NULL,
  `qq` varchar(20) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `address` varchar(200) DEFAULT NULL,
  `schoolid` int(11) DEFAULT NULL,
  `collegeId` int(11) DEFAULT NULL,
  `isAdmin` int(11) DEFAULT NULL,
  `photoPath` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`teacherid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

转载于:https://www.cnblogs.com/LiDouDou/p/10173793.html

  • 3
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学生成绩管理系统数据库设计 [提要] 一个好的数据库,不但可以提高数据查询效率,而且还可以保证数据的完整性和一致性 。所以,数据库在信息管理系统中有着非常重要的作用。本文介绍如何使用SQL Server 2005完成学生成绩管理系统的数据库设计。 关键词:SQL Server;成绩管理系统;数据库设计 引入 因为各高校学生人数的增多以及学生成绩管理工作的复杂性,人工管理学生成绩信息 的效率越来越低。这种情况下,学生成绩管理系统就出现了。 一、需求分析 需求分析是整个数据库设计中重要的一步,在这个阶段要充分地与用户沟通交流,了 解与分析用户的需求。学生信息管理系统中涉及的主要人员有学生、教师、管理人员; 主要的部门有教务处、系部。在需求分析时可以通过问卷调查、谈话等方式,了解用户 的需求,最终绘制系统的数据流程图。 二、数据库表 关系数据库中所有的数据都存储在关系表中,通过需求分析,我们可以在学生成绩管 理系统中创建以下数据表(此处只列举主要的数据表)。(表1、表2、表3、表4、表5) 三、索引 索引是提高查询的主要方法,在图书管理系统中,因为图书数量的庞大,所以建立索 引是必不可少的。在为表中的主键建立索引以后,系统会自动地在主键上创建聚集索引 。除此之外,我们还可以为一些经常查询的字段上,创建非聚集索引。 索引创建以后会提高查询效率,但也会引起一些问题,如降低数据更新的速度、索引 建后需要维护。所以,在创建索引时,要综合考虑其优缺点。可以参考以下原则为表中 的列创建查询:(1)经常用于查询的列;(2)经常用于分组和排序的列;(3)在连接 中常用到的列。 按照以上原则,我们可以为以下列创建索引:Stu_Id、Stu_Name、Tea_Id、Tea_Nam e、speciality_Id、class_Id等。 四、存储过程 存储过程是T- SQL语句的集合,能够实现特定的功能。使用存储过程,可以大大减少网络传输流量,提 高应用程序性能,而且由于它只在第一次执行时被优化、编译。因此使用存储过程不仅 可以极大地降低应用程序的实现难度,而且还可以极大地提高系统的运行速度、效率。 SQL Server 2005中存储过程分为:系统存储过程、用户自定义存储过程、扩展存储过程三种。例如 :在该系统中,我们可以创建存储过程实现按照学生姓名查询成绩。实现代码如下: CREATE PROCEDURE grade_by_name @name char(10) AS BEGIN SELECT*FROM grade WHERE Stu_Id=(SELECT Stu_Id FROM STUDENT WHERE Stu_Name=@name) END 五、触发器 触发器是在执行操作语句时自动执行的一种存储过程。触发器可以侦测到数据库内数 据的操作,并自动地级联影响到整个数据库的操作,从而保证数据库数据的完整性和一 致性。例如:在某一个学生退学删除学生基本信息以后,那么该学生相应的成绩信息也 应该被删除。可以以下代码完成该功能: CREATE TRIGGER STUDENT_DELETE ON Student FOR Delete As BEGIN Delete from grade Where stu_id=(Select stu_id from deleted) END 主要参考文献: [1]黄存东.数据库原理及应用.中国水利水电出版社,2011.1. [2](美)Peter Rob,Carlos Coronel.张瑜,张继萍等译.数据库系统设计、实现与管理.清华大学出版社,2005. ----------------------- 学生成绩管理系统数据库设计全文共3页,当前为第1页。 学生成绩管理系统数据库设计全文共3页,当前为第2页。 学生成绩管理系统数据库设计全文共3页,当前为第3页。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值