班级信息管理系统数据库设计
目录
1.总体设计........................................................................................................................................ 1 2.E-R图分析 .................................................................................................................................... 1
2.1.1、学生实体 ....................................................................................................................... 1 2.1.2、课程实体 ....................................................................................................................... 1 2.1.3、选课关系 ....................................................................................................................... 1 2.1.4、选课实体 ....................................................................................................................... 2 2.1.5、管理员实体 ................................................................................................................... 2 2.1.6 新闻实体 ......................................................................................................................... 2 2.1.7 照片实体 ....................................................................................................................... 3 2.1.8 帖子实体 ......................................................................................................................... 3 2.1.9 回复关系 ......................................................................................................................... 3 2.1.10回复实体 ........................................................................................................................ 3 2.1.11 相册实体 ....................................................................................................................... 4 2.1.12 资源实体 ....................................................................................................................... 4 2.2 总体E-R图 ....................................................................................................................... 4 3表设计............................................................................................................................................ 5
3.1学生信息表(students) ......................................................................................................... 5 3.2选课表(selectivecourse) ................................................................................................ 5 3.3课程表(courses) .................................................................................................................. 6 3.4.管理员(administrators) ....................................................................................................... 6 3.5.新闻表(news) ...................................................................................................................... 6 3.6.照片管理表(photos) ........................................................................................................... 6 3.7 帖子管理表(topics) ........................................................................................................... 7 3.8.回复表(reply) ...................................................................................................................... 7 3.9相册表(photogroup) ...................................................................................................... 7 3.10资源表(source) ............................................................................................................ 8 4.表实现............................................................................................................................................ 8
4.1.管理员表(administrators) .............................................................................................. 8 4.2课程表(courses) ............................................................................................................. 8 4.3成绩表(grades) .............................................................................................................. 8 4.4新闻表( news) .............................................................................................................. 9 4.6回复表(reply) ................................................................................................................ 9 4.7学生表(students) ............................................................................................................ 9 4.8 帖子表(topics) ............................................................................................................ 10 4.9相册表( photogroup) .................................................................................................. 10 4.10 资源表( source) ....................................................................................................... 10
0
1.总体设计
根据班级信息管理系统地实际需要和总体设计,可以认为本系统需要以下数据:学生数据、课程数据、管理员数据、帖子数据、照片数据等等数据。
2.E-R图分析
2.1.1、学生实体
初步分析学生这一实体应当具有这些属性:学号、姓名、性别、年龄、密码、生日、民族、专业、毕业院校、所在班级、实验室号、宿舍地址、邮箱、手机号、家乡等。
图2-1 学生实体图
2.1.2、课程实体
课程实体所具有的属性为:课程号、课程名、任课老师、上课时间、上课地点、课时、课程介绍、课程类型;
图2-2 课程实体图 2.1.3、选课关系
1
学生选课产生选课这一实体,一个学生可以选择多门课程,一个课程也可能有名学生选,所以是学生和课程是多对多的关系。
图2-3选课关系图
2.1.4、选课实体
选课实体的属性有:学号、课程号、成绩。
图2-4选课实体图
2.1.5、管理员实体
管理员实体有编号、姓名、密码。
图2-5管理员实体图
2.1.6 新闻实体
新闻实体的属性有;新闻号、类型、标题、作者、发表日期、详细内容。
图2-6新闻实体图
2
2.1.7 照片实体
照片实体的属性有:编号、名称、上传日期、路径、发布人、照片描述、点击量。
图2-7 照片实体图
2.1.8 帖子实体
帖子实体所具有的属性有:主题编号、标题、作者、发布日期、详细内容、点击量。
图2-8 帖子实体图
2.1.9 回复关系
学生回复帖子对应着回复关系,一个学生可以回复多个帖子,一个帖子也可由多个学生回复,所以学生和帖子之间是多对多的关系。
图2-9 回复关系图
2.1.10回复实体
回复实体的属性有:回复人、回复时间、回复内容。
图2-10回复实体图
3
2.1.11 相册实体
相册实体的属性有:相册名称、创建者、相册描述、创建时间、第一张照片、总数量。
图2-11 相册实体图
2.1.12 资源实体
资源实体的属性有:资源名称、上传日期、路径、发布人、资源描述、下载量。
图2-12 资源实体图
2.2 总体E-R图
根据需求分析,本系统主要分为两个用户角色即学生和管理员。
学生具有的功能包括选修课程,上传相片,创建相册,发布和回复帖子,上传资源。学生可以选择多门课程,一个课程也可由多名学生选择,所以学生和选课之间是多对多的关系。学生可以创建多个相册,但一个相册只能由一个学生创建,所以学生和相册之间是一对多的关系。学生可以发布或回复多个帖子,但是一个帖子或回复只能由一个学生完成,所以学生和帖子之间是一对多的关系。同理学生和资源之间也是一堆多的关系。
管理员的功能有管理学生、课程,对它们都有增删改的权限。管理员对相册、相片、资源、帖子、新闻都有增加、删除的权限。管理员对学生、课程、相册、资源、帖子、新闻、相片都是多对多的关系。
4
图2-13 总体E-R图设计
3表设计
根据对以上E-R图的分析,设计了以下表,如students用来存储学生信息,selectivecourse用来存储学生的选课信息等等,具体见如下诸表。
3.1学生信息表(students)
表3-1 students表
字段名称 Sid
StudentId StudentName PassWord Gender Brithday Nation Department Class
MentorName LabNo DorNo QQ Email PhoneNo Hometown Graduated Hobbies ImageUrl
数据类型 int
Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar
字段大小 5 20 20 20 5 20 20 20 20 20 20 20 20 20 20 50 50 100 200
备注 主键
是否可为空 否 否 否 否 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是
字段说明 自动增1 学号 姓名 密码 性别 生日 民族 专业 所在班级 导师姓名 实验室号 宿舍地址 QQ号 邮箱 手机号 家乡
毕业院校 兴趣爱好 头像
3.2选课表(selectivecourse)
表3-2 selectivecourse表
字段名称 Gid
StudentId CourseNo Grade
5
数据类型 int
Varchar Varchar Float
字段大小 5 20 10 10
备注 主键 外键 外键
是否可为空 否 否 否 是
字段说明 自动增1 学号 课程号 成绩
3.3课程表(courses)
表3-3 course表
字段名称 Cid
CourseNo CourseName Teacher ClassTime Location TotleHours CourseDetails CourseType
数据类型 int
Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar
字段大小 5 10 20 20 20 20 20 100 20
备注 主键 主键
是否可为空 否 否 否 是 是 是 是 是
是
字段说明 自动增1 课程号 课程名 任课老师 上课时间 上课地点 课时 课程介绍 课程类型
3.4.管理员(administrators)
表3-4 administrators表
字段名称 Aid AdminId AdminName PassWord
数据类型 int Varchar Varchar Varchar
字段大小 5 20 20 20
备注 主键 主键
是否可为空 否 否 否 否
字段说明 自动增1 管理员编号 管理员姓名 密码
3.5.新闻表(news)
表3-5 news表
字段名称 NewsId NewsType NewsTitle Writer PublicDate NewsDetails
数据类型 Int Varchar Varchar Varchar Varchar Varchar
字段大小 2 10 20 20 20 500
备注 主键
是否可为空 否 否 是 是 是 是
字段说明 新闻号 新闻类型 新闻标题 撰稿者 发表日期 详细内容
3.6.照片管理表(photos)
表3-6 photos表
字段名称
数据类型 字段大小 备注 是否可为空 字段说明
6
PhotoId PhotoName UploadDate Path Publisher Description ClickNo
Int Varchar Varchar Varchar Varchar Varchar int 5 20 20 200 20 100 10 主键 否 是 是 是 是 是 是 照片编号 照片名称 上传日期 路径 发布人 照片描述 点击量
3.7 帖子管理表(topics)
表3-7 topics表
字段名称 TopicId TopicTitle TopicWriter PublicTime TopicDetails ClickNo
数据类型 Int Varchar Varchar Varchar Varchar int
字段大小 5 20 20 20 500 10
备注 主键
是否可为空 否 是 是 是 是 是
字段说明 主题编号 标题 作者 发布日期 详细内容 点击量
3.8.回复表(reply)
表3-8 reply表
字段名称 TopicId RepName ReplyTime ReplyDetails
数据类型 Int Varchar Varchar Varchar
字段大小 5 5 20 20 500
备注 主键 外键
是否可为空 否 否 是 是 是
字段说明 回复id 主题编号 回复人 回复时间 回复内容
RepId Int
3.9相册表(photogroup)
表3-9 photogroup表
字段名称 PhotogroupId PhotogroupName Creator Description CreateDate FirstImage
数据类型 int Int Varchar Varchar Varchar Varchar
字段大小 5 20 20 20 20 20
备注 主键
是否可为空 否 否 是 是 是 是
字段说明 自动增1 相册名称 创建者 相册描述 创建时间 第一张照片
7
PhotoNo
Int 5 是 相片总数量
3.10资源表(source)
表3-9 source表
字段名称 SourseId SourseName UploadDate Path Publisher Description DownloadNo
数据类型 Int Varchar Varchar Varchar Varchar Varchar int
字段大小 5 20 20 200 20 100 10
备注 主键
是否可为空 否 否 是 是 是 是 是
字段说明 资源编号 资源名称 上传日期 路径 发布人 资源描述 下载量
4.表实现
所采用的数据库软件:MySQL,Navicat。
`TotleHours` varchar(20) DEFAULT NULL,
`CourseDetails` varchar(100) DEFAULT NULL,
`CourseType` varchar(20) DEFAULT NULL,
PRIMARY KEY (`Cid`,`CourseNo`), KEY `CourseNo` (`CourseNo`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.1.管理员表(administrators)
CREATE TABLE `administrators` (
`Aid` int(5) NOT NULL AUTO_INCREMENT, `AdminId` varchar(20) NOT NULL DEFAULT '', `AdminName` varchar(20) NOT NULL, `PassWord` varchar(20) NOT NULL, PRIMARY KEY (`Aid`,`AdminId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.2课程表(courses)
CREATE TABLE `courses` (
`Cid` int(5) NOT NULL AUTO_INCREMENT, `CourseNo` varchar(10) NOT NULL, `CourseName` varchar(20) NOT NULL, `Teacher` varchar(20) DEFAULT NULL, `ClassTime` varchar(20) DEFAULT NULL, `Location` varchar(20) DEFAULT NULL,
4.3成绩表(grades)
CREATE TABLE `grades` ( `Gid` int(5) NOT NULL AUTO_INCREMENT,
`StudentId` varchar(20) NOT NULL, `CourseNo` varchar(10) NOT NULL, `Grade` float(10,0) DEFAULT NULL, PRIMARY KEY (`Gid`),
8
KEY `StudentId` (`StudentId`), KEY `CourseNo` (`CourseNo`),
CONSTRAINT `StudentId` FOREIGN KEY
(`StudentId`) REFERENCES `students` (`StudentId`) ON UPDATE CASCADE,
CONSTRAINT `CourseNo` FOREIGN KEY (`CourseNo`) REFERENCES `courses` (`CourseNo`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.4新闻表( news)
CREATE TABLE `news` ( `NewsId` int(2) NOT NULL AUTO_INCREMENT,
`NewsType` varchar(10) NOT NULL,
`NewsTitle` varchar(20) DEFAULT NULL, `Writer` varchar(20) DEFAULT NULL, `PublicDate` varchar(20) DEFAULT NULL, `NewDetails` varchar(500) DEFAULT NULL, PRIMARY KEY (`NewsId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.5照片表( photos)
CREATE TABLE `photos` ( `PhotoId` int(5) NOT NULL AUTO_INCREMENT,
`PhotoName` varchar(20) DEFAULT NULL, `UploadDate` varchar(20) DEFAULT NULL, `Path` varchar(200) DEFAULT NULL, `Publisher` varchar(20) DEFAULT NULL, `Description` varchar(100) DEFAULT NULL, `ClickNo` int(10) DEFAULT NULL, PRIMARY KEY (`PhotoId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.6回复表(reply)
CREATE TABLE `reply` ( `RepId` int(5) NOT NULL AUTO_INCREMENT,
`TopicId` int(5) DEFAULT NULL, `RepName` varchar(20) DEFAULT NULL,
`ReplyTime` varchar(20) DEFAULT NULL,
`ReplyDetails` varchar(500) DEFAULT NULL,
PRIMARY KEY (`RepId`), KEY `TopicId` (`TopicId`),
CONSTRAINT `TopicId` FOREIGN KEY (`TopicId`) REFERENCES
`topics` (`TopicId`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.7学生表(students)
CREATE TABLE `students` ( `Sid` int(5) NOT NULL AUTO_INCREMENT,
`StudentId` varchar(20) NOT NULL, `StudentName` varchar(20) NOT NULL,
`PassWord` varchar(20) NOT NULL, `Gender` varchar(5) DEFAULT NULL,
`Brithday` varchar(20) DEFAULT NULL,
`Nation` varchar(20) DEFAULT NULL,
`Department` varchar(20) DEFAULT NULL,
`Class` varchar(20) DEFAULT NULL,
`MentorName` varchar(20) DEFAULT NULL,
`LabNo` varchar(20) DEFAULT NULL,
`DorNo` varchar(20) DEFAULT NULL,
`QQ` varchar(20) DEFAULT NULL, `Email` varchar(20) DEFAULT
9
NULL,
`PhoneNo` varchar(20) DEFAULT NULL, `Hometown` varchar(50) DEFAULT NULL, `Graduated` varchar(50) DEFAULT NULL, `Hobbies` varchar(100) DEFAULT NULL, `ImageUrl` varchar(200) DEFAULT NULL, PRIMARY KEY (`Sid`),
KEY `StudentId` (`StudentId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; `SourseId` int(5) NOT NULL,
`SourseName` varchar(20) DEFAULT NULL,
`UploadDate` varchar(20) DEFAULT NULL,
`Path` varchar(20) DEFAULT NULL, `Publisher` varchar(20) DEFAULT NULL,
`Description` varchar(100) DEFAULT
4.8 帖子表(topics)
CREATE TABLE `topics` ( `TopicId` int(5) NOT NULL AUTO_INCREMENT,
`TopicTitle` varchar(20) DEFAULT NULL, `TopicWriter` varchar(20) DEFAULT NULL, `PublicTime` varchar(20) DEFAULT NULL, `TopicDetails` varchar(500) DEFAULT NULL, `ClickNo` int(10) DEFAULT NULL, PRIMARY KEY (`TopicId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.9相册表( photogroup)
CREATE TABLE `photogroup` ( `PhotogroupId` int(5) NOT NULL AUTO_INCREMENT,
`PhotogroupName` int(20) DEFAULT NULL, `Creator` varchar(20) DEFAULT NULL, `Description` varchar(20) DEFAULT NULL, `FirstImage` varchar(20) DEFAULT NULL, `PhotoNo` int(5) DEFAULT NULL, PRIMARY KEY (`PhotogroupId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
4.10 资源表( source)
CREATE TABLE `source` (
NULL,
`DownloadNo` int(10) DEFAULT NULL,
PRIMARY KEY (`SourseId`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
10
因篇幅问题不能全部显示,请点此查看更多更全内容