数据库课程设计报告+详解+答案.doc

上传人:小飞机 文档编号:4264409 上传时间:2023-04-12 格式:DOC 页数:15 大小:512KB
返回 下载 相关 举报
数据库课程设计报告+详解+答案.doc_第1页
第1页 / 共15页
数据库课程设计报告+详解+答案.doc_第2页
第2页 / 共15页
数据库课程设计报告+详解+答案.doc_第3页
第3页 / 共15页
数据库课程设计报告+详解+答案.doc_第4页
第4页 / 共15页
数据库课程设计报告+详解+答案.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据库课程设计报告+详解+答案.doc》由会员分享,可在线阅读,更多相关《数据库课程设计报告+详解+答案.doc(15页珍藏版)》请在三一办公上搜索。

1、1.需求分析系统需求分析:随着互联网的发展,计算机的软硬件不断的更新迭代,这时计算机已经可以管理超大规模的数据,文件系统远远不能满足各种应用的需求,数据库使得数据实现了结构化存储,数据更容易被共享。数据库管理系统既便于数据的集中管理,控制冗余,提高数据的利用率和一致性,又利于应用程序的开发和维护。随着高校学生人数越来越多,课程越来越丰富,学生多老师少,迫切需要一个数据库管理系统来管理、存取大量的信息,则建立一个学生毕业设计选题系统具有非常大的实际应用意义。我们知道计算机具有运算速度快,处理能力强等特点。因此,为了保证学校信息的流畅,工作高效,学生毕业设计选题系统应运而生。这不但能使教务人员从复

2、杂的管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。系统功能需求分析:教师和学生进行双向选择,即学生可选择相应的毕业设计题目,教师也可选择学生。1)教师:1.1 教师可以增加毕业设计题目,人数,及要求。1.2 教师可录取报名的学生,查看学生的详细信息如学生的基本信息等内容。1.3针对不同的用户,可进行相关的统计、查询可查看报自己的学生人数,基本信息等。2)学生:2.1 可浏览教师的毕业设计题目及教师的简介等内容。2.2 可查看自己的个人信息(基本信息)。2.3 可以报毕业设计题目,每人限报两个,第一选题志愿和第二选题志愿。3)管理员3.1 可对每个教师、学生进行统计分析与维护。2.

3、概念设计(E-R图)根据需求分析结果,学生、教师、管理员、题目、班级、专业、学院等可建模为基本实体集。各基本实体集的属性定义如下:1. 学生(Student)实体集。其属性有:学号(studentNo)、(studentName)、性别(sex)、出生日期(birthday)、籍贯(native)、民族(nation)等。2. 教师(Teacher)实体集。其属性有:教师编号(teacherNo)、(teacherName)、性别(sex)、学位(degree)等。3. 班级(Class)实体集。其属性有:班级编号(classNo)、班级名称(className)等。4. 专业(Special

4、ity)实体集。其属性有:专业编号(specialityNo)、专业名称(specialityName)等。5. 学院(Institute)实体集。其属性有:学院编号(instituteNo)、学院名称(instituteName)等。6. 题目(Title)实体集。其属性有:题目编号(titleNo)、题目名称(titleName)、要求(requirement)、人数(population)等。7. 管理员(Manager)实体集。其属性有:工号(managerNo)、(managerName)、性别(sex)、联系方式(phoneNum)。定义联系集及属性:1. 选题(SelectTit

5、le)联系集:它是题目实体集与学生实体集的一对多联系集,其描述属性有:题目编号(titleNo)、学号(studentNo)、教师编号(teacherNo)、志愿(wish)、录取情况(admission)等。2. 出题(SetTitle)联系集:它是教师实体集与题目实体集的一对多联系集,没有联系属性。3. 指导(Guidance)联系集:它是教师实体集与学生实体集的一对多联系集,没有联系属性。4. 包含(Include)联系集:它是班级实体集与学生实体集的一对多联系集,没有联系属性。5. 拥有(Hold)联系集:它是专业实体集和班级实体集的一对多联系集,没有联系属性。6. 属于(Belong

6、)联系集:它是学院实体集与教师实体集的一对多联系集,没有联系属性。7. 设置(Establish)联系集:它是学院实体集与专业实体集的一对多联系集,没有联系属性。权限设置:(1)用户(User):账号(userNo)、登录密码(password)、(userName)、身份(identity)等。3.逻辑设计(下划线加粗代表主码,斜体加粗代表外码 )(1)学生Student表:由学生关系实体集转化而来。学生Student(studentNo,studentName,sex,birthday,native,nation,classNo);属性名称数据类型属性描述studentNochar(12)

7、学号studentNamevarchar(20)sexchar(2)性别birthdaydatetime出生日期nativevarchar(20)籍贯nationvarchar(10)民族classNochar(8)班级编号(2)教师Teacher表:由教师实体集转化而来。教师Teacher(teacherNo,teacherName,sex,degree,instituteNo);属性名称数据类型属性描述teacherNochar(6)教师编号teacherNamevarchar(20)sexchar(2)性别degreevarchar(10)学位instituteNochar(3)学院编号

8、(3)班级Class表:由班级实体集转化而来。班级Class(classNo,className,specialityNo);属性名称数据类型属性描述classNochar(8)班级编号classNamevarchar(20)班级名称specialityNochar(5)专业编号(4)专业Speciality表:由专业实体集转化而来。专业Speciality(specialityNo,specialityName,instituteNo);属性名称数据类型属性描述specialityNochar(5)专业编号specialityNamevarchar(20)专业名称instituteNocha

9、r(3)学院编号(5)学院Institute表:由学院实体集转化而来。学院Institute(instituteNo,instituteName);属性名称数据类型属性描述instituteNochar(3)学院编号instituteNamevarchar(20)学院名称(6)题目Title表:由题目实体集转化而来。题目Title(titleNo,titleName,requirement,population,teacherNo);属性名称数据类型属性描述titleNochar(9)题目编号titleNamevarchar(20)题目名称requirementvarchar(100)要求po

10、pulationint人数teacherNochar(6)教师编号(7)管理员Manager实体集转化的关系模式。管理员Manager(managerNo,managerName,sex,phoneNum);属性名称数据类型属性描述managerNochar(4)工号managerNamevarchar(20)sexchar(2)性别phoneNumvarchar(13)联系方式(8)选题SelectTitle联系集转化的关系模式。选题SelectTitle(titleNo,studentNo,teacherNo,wish,admission);属性名称数据类型属性描述titleNochar(

11、9)题目编号studentNochar(12)学号teacherNochar(6)教师编号wishchar(4)志愿admissionchar(1)录取情况(9)用户User关系模式。用户User(userNo,password,userName,identity);属性名称数据类型属性描述userNovarchar(12)账号passwordvarchar(20)登录密码userNamevarchar(20)identityvarchar(3)身份4.模式求精(1)学生Student(studentNo,studentName,sex,birthday,native,nation,class

12、No);分析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-classN

13、ame,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,pop

14、ulation,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表(

15、specialityNo,specialityName,instituteNo);(5)学院Institute表(instituteNo,instituteName);(6)题目Title表(titleNo,titleName,requirement,population,teacherNo);(7)管理员Manager表(managerNo,managerName,sex,phoneNum);(8)选题SelectTitle表(titleNo,studentNo,teacherNo,wish,admission);(9)用户User表(userNo,password,userName,ide

16、ntity);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 班级名称,s

17、pecialityNo 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 institu

18、te (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 = Compa

19、ct;- - 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

20、_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

21、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 教师编号,

22、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 = Co

23、mpact;- - 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)

24、 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(1

25、2) 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(2

26、0) 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

27、= 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

28、_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 学院编号,P

29、RIMARY 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

30、) 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 COMMEN

31、T 教师编号,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

32、(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 = I

33、nnoDB 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

34、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

35、title WHERE titleNo=.;(8)删除已被录取的学生的另一个未录取的选题信息DELETE FROM selecttitle WHERE admission=否 AND studentNo=.;(9)教师查看报了自己题目的某个学生的信息SELECT a.studentNo,studentName,sex,birthday,native,nation,classNoFROM student a,selecttitle bWHERE a.studentNo=b.studentNo AND b.studentNo=.;(10)学生查看自己选题的教师的基本信息SELECT b.teach

36、erNo,teacherName,sex,degree,instituteNameFROM selecttitle a,teacher b,institute cWHERE a.teacherNo=b.teacherNo AND b.instituteNo=c.instituteNoAND a.teacherNo=.;(11)查询学生所在班级,专业SELECT studentNo,studentName,className,specialityNameFROM student a LEFT JOIN class b ON a.classNo=b.classNoRIGHT JOIN speciality c ON b.specialityNo=c.specialityNoWHERE studentNo=.;(12)查询选了某个题目的学生的信息SELECT studentNo,studentName,sex,classNoFROM studentWHERE studentNo IN(SELECT studentNo FROM selecttitle WHERE titleNo=.);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号