首页 > 酒水资讯 > 酒水功效

数据库系统课程设计题目,数据库系统课程设计

酒易淘 酒水功效 2022-09-19 14:22:10

品牌名称:酱香白酒加盟 所属行业:酒水 > 白酒

基本投资:10~50万元 投资热度:

加盟意向:1634 门店数量:534家

索要资料 查看详情

  

  1.系统需求分析:需求分析   

  

  随着互联网的发展,计算机的软硬件也在不断更新迭代。此时计算机已经可以管理超大规模的数据,文件系统远远不能满足各种应用的需求。数据库以结构化的方式存储数据,使数据更容易共享。数据库管理系统不仅便于集中管理数据,控制冗余,提高数据利用率和一致性,而且便于应用程序的开发和维护。   

  

  随着高校学生人数的不断增加,课程的不断丰富,学生越来越多,教师越来越少,迫切需要一个数据库管理系统来管理和访问大量的信息,因此建立一个学生毕业设计选题系统具有重要的现实意义。我们知道,计算机具有运算速度快、处理能力强的特点。因此,为了保证学校信息的畅通和工作的高效,学生毕业设计选题系统应运而生。这不仅把教务人员从繁杂的管理中解放出来,而且对教学的发展起到了非常重要的推动作用。   

  

  系统功能需求分析:   

  

  师生双向选择,即学生可以选择相应的毕业设计题目,教师也可以选择学生。   

  

  1)教师:   

  

  1.1教师可以增加毕业设计题目、数量和要求。   

  

  1.2教师可以录取已注册的学生,并查看学生的详细信息,如学生的基本信息。   

  

  1.3针对不同的用户,可以进行相关的统计和查询,查看自己报的学生人数,基本信息等。   

  

  2)学生:   

  

  2.1可以浏览教师的毕业设计题目、教师简介等。   

  

  2.2您可以查看您的个人信息(基本信息)。   

  

  2.3可以申请毕业设计课题,每人限两个课题,第一个课题,第二个课题。   

  

  3)管理员   

  

  3.1可以对每个老师和学生进行统计分析和维护。   

  

  2.概念设计(E-R图)根据需求分析的结果,学生、老师、管理员、课题、班级、专业、学院等。可以建模为基本的实体集。   

  

  各基本实体集的属性定义如下:   

  

  学生实体集。其属性有:学号(studentNo)、姓名(studentName)、性别(sex)、出生日期(生日)、籍贯(籍贯)、民族等。教师的实体集。其属性包括:教师编号(教师编号)、教师姓名(教师姓名)、性别(性别)、学位等。类实体集。它的属性有:类号(classNo),类名(className)等。专业实体的集合。其属性有:专业号(specialityNo)、专业名(specialty name)等。研究所的实体集。其属性有:研究所编号(instituteNo)、研究所名称(instituteName)等。实体标题集。其属性有:题号(titleNo)、题名(titleName)、需求、人口等。经理实体集。其属性为:工号(managerNo)、姓名(managerName)、性别(sex)和联系方式(phoneNum)。定义联系集及属性:   

  

  SelectTitle联系集:是一个一对多的联系集,介于Title实体集和student实体集之间,其描述性属性包括:titleNo、studentNo、teacherNo、wish、admission等。SetTitle联系集:是教师实体集和主题实体集之间的一对多联系集,没有联系属性。指导联系集:是教师实体集和学生实体集之间的一对多联系集,没有联系属性。包含联系集:是介于班级实体集和学生实体集之间的一对多联系集,没有联系属性。持有联系集:是专业实体集和类实体集一对多的联系集,没有联系属性。归属联系集:是学院实体集和教师实体集之间的一对多联系集,没有联系属性。建立联系集:是学院实体集和专业实体集之间的一对多联系集,没有联系属性。权限设置:   

  

  (1)用户:账号(userNo)、登录密码(password)、姓名(userName)、身份等。   

  

     

  

  3.逻辑设计(下划线粗体表示主代码,斜体粗体表示外部代码)   

  

  (1)学生学生表:它是由学生关系的实体集转换而来的。   

  

  学生(studentNo,学生姓名,性别,生日,籍贯,民族,http://www . Sina . com/);   

  

     

  

  classNo教师c   

her表:由教师实体集转化而来。

  

教师Teacher(teacherNo,teacherName,sex,degree,instituteNo);

  

  

(3)班级Class表:由班级实体集转化而来。

  

班级Class(classNo,className,specialityNo);

  

  

(4)专业Speciality表:由专业实体集转化而来。

  

专业Speciality(specialityNo,specialityName,instituteNo);

  

  

(5)学院Institute表:由学院实体集转化而来。

  

学院Institute(instituteNo,instituteName);

  

  

(6)题目Title表:由题目实体集转化而来。

  

题目Title(titleNo,titleName,requirement,population,teacherNo);

  

  

(7)管理员Manager实体集转化的关系模式。

  

管理员Manager(managerNo,managerName,sex,phoneNum);

  

  

(8)选题SelectTitle联系集转化的关系模式。

  

选题SelectTitle(titleNostudentNoteacherNo,wish,admission);

  

  

(9)用户User关系模式。

  

用户User(userNo,password,userName,identity);

  

  

4.模式求精(1)学生Student(studentNo,studentName,sex,birthday,native,nation,classNo);

  

分析Student关系模式得函数依赖关系为:

  

tudentNo->{studentName,sex,birthday,native,nation,classNo}

  

满足BCNF范式。

  

(2)教师Teacher(teacherNo,teacherName,sex,degree,instituteNo);

  

分析Teacher关系模式得函数依赖关系为:

  

teacherNo->{teacherName,sex,degree,instituteNo}

  

满足BCNF范式。

  

(3)班级Class(classNo,className,specialityNo)

  

分析Class关系模式得函数依赖关系为:

  

classNo->{className,specialityNo}

  

满足BCNF范式。

  

(4)专业Speciality(specialityNo,specialityName,instituteNo);

  

分析Speciality关系模式得函数依赖关系为:

  

specialityNo->{specialityName,instituteNo}

  

满足BCNF范式。

  

(5)学院Institute(instituteNo,instituteName);

  

分析Speciality关系模式得函数依赖关系为:

  

instituteNo->{instituteName}

  

满足BCNF范式。

  

(6)题目Title(titleNo,titleName,requirement,population,teacherNo);

  

分析Speciality关系模式得函数依赖关系为:

  

titleNo->{titleName,requirement,population,teacherNo}

  

满足BCNF范式。

  

5.表的设计(1)学生Student表(studentNo,studentName,sex,birthday,native,nation,classNo

  

  

(2)教师Teacher表(teacherNo,teacherName,sex,degree,instituteNo

  

  

(3)班级Class表(classNo,className,specialityNo);

  

  

(4)专业Speciality表(specialityNo,specialityName,instituteNo);

  

  

(5)学院Institute表(instituteNo,instituteName);

  

  

(6)题目Title表(titleNo,titleName,requirement,population,teacherNo);

  

  

(7)管理员Manager表(managerNo,managerName,sex,phoneNum);

  

  

(8)选题SelectTitle表(titleNostudentNoteacherNo,wish,admission);

  

  

(9)用户User表(userNo,password,userName,identity);

  

  

SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; -- ------------------------------ Table structure for class-- ----------------------------DROP TABLE IF EXISTS `class`;CREATE TABLE `class` ( `classNo` char(8) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '班级编号', `className` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '班级名称', `specialityNo` char(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专业编号', PRIMARY KEY (`classNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for institute-- ----------------------------DROP TABLE IF EXISTS `institute`;CREATE TABLE `institute` ( `instituteNo` char(3) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学院编号', `instituteName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学院名称', PRIMARY KEY (`instituteNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for manager-- ----------------------------DROP TABLE IF EXISTS `manager`;CREATE TABLE `manager` ( `managerNo` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '管理员编号', `managerName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名', `sex` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别', `phoneNum` varchar(13) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '联系方式', PRIMARY KEY (`managerNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for selecttitle-- ----------------------------DROP TABLE IF EXISTS `selecttitle`;CREATE TABLE `selecttitle` ( `titleNo` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '题目编号', `studentNo` char(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学号', `teacherNo` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '教师编号', `wish` char(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '第一志愿/第二志愿', `admission` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '是/否', PRIMARY KEY (`titleNo`, `studentNo`, `teacherNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for speciality-- ----------------------------DROP TABLE IF EXISTS `speciality`;CREATE TABLE `speciality` ( `specialityNo` char(5) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '专业编号', `specialityName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '专业名称', `instituteNo` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学院编号', PRIMARY KEY (`specialityNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for student-- ----------------------------DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `studentNo` char(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学号', `studentName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名', `sex` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别,男、女', `birthday` date NULL DEFAULT NULL COMMENT '出生日期', `native` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '籍贯', `nation` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '民族', `classNo` char(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '班级编号', PRIMARY KEY (`studentNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for teacher-- ----------------------------DROP TABLE IF EXISTS `teacher`;CREATE TABLE `teacher` ( `teacherNo` char(6) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '教师编号', `teacherName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名', `sex` char(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别', `degree` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学位', `instituteNo` char(3) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学院编号', PRIMARY KEY (`teacherNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for title-- ----------------------------DROP TABLE IF EXISTS `title`;CREATE TABLE `title` ( `titleNo` char(9) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '题目编号', `titleName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '题目名称', `requirement` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '要求', `population` int(11) NULL DEFAULT NULL COMMENT '人数', `teacherNo` varchar(6) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '教师编号', PRIMARY KEY (`titleNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `userNo` varchar(12) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '账号', `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码', `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名称', `identity` varchar(3) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '身份:学生、教师、管理员', PRIMARY KEY (`userNo`) USING BTREE) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; SET FOREIGN_KEY_CHECKS = 1;6.功能设计(1)查看某位学生的基本信息

  

SELECT * FROM student WHERE studentNo=’...’;

  

查看某位教师的基本信息

  

SELECT * FROM teacher WHERE teacherNo='...';

  


  

(2)学生浏览教师的毕业设计题目

  

SELECT * FROM title

  

(3)教师可录取报名的学生

  

UPDATE selecttitle SET admission='是'

  

WHERE studentNo='...' AND wish='...';

  


  

(4)教师更新题目信息

  

UPDATE title SET ... WHERE titleNo='...';

  


  

(5)教师查看每个题目的选题人数

  

SELECT titleNo,teacherNo,COUNT(DISTINCT studentNo)

  

FROM selecttitle GROUP BY titleNo HAVING teacherNo='...';

  


  

(6)统计每位教师的出题数

  

SELECT teacherNo,COUNT(DISTINCT titleNO)FROM title GROUP BY teacherNo;

  


  

(7)教师删除某个题目信息(删除)

  

DELETE FROM title WHERE titleNo=’...’;

  


  

(8)删除已被录取的学生的另一个未录取的选题信息

  

DELETE FROM selecttitle WHERE admission='否' AND studentNo='...';

  


  

(9)教师查看报了自己题目的某个学生的信息

  

SELECT a.studentNo,studentName,sex,birthday,native,nation,classNo

  

FROM student a,selecttitle b

  

WHERE a.studentNo=b.studentNo AND b.studentNo='...';

  


  

(10)学生查看自己选题的教师的基本信息

  

SELECT b.teacherNo,teacherName,sex,degree,instituteName

  

FROM selecttitle a,teacher b,institute c

  

WHERE a.teacherNo=b.teacherNo AND b.instituteNo=c.instituteNo

  

AND a.teacherNo='...';

  


  

(11)查询学生所在班级,专业

  

SELECT studentNo,studentName,className,specialityName

  

FROM student a LEFT JOIN class b ON a.classNo=b.classNo

  

RIGHT JOIN speciality c ON b.specialityNo=c.specialityNo

  

WHERE studentNo='...';

  

(12)查询选了某个题目的学生的信息

  

SELECT studentNo,studentName,sex,classNo

  

FROM student

  

WHERE studentNo IN

  

(SELECT studentNo FROM selecttitle WHERE titleNo='...');

免费咨询
免费获取加盟资料