数据库课程设计+详解+答案_第1页
数据库课程设计+详解+答案_第2页
数据库课程设计+详解+答案_第3页
数据库课程设计+详解+答案_第4页
数据库课程设计+详解+答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐数据库课程设计+详解+答案1.需求分析

系统需求分析:

随着互联网的进展,计算机的软硬件不断的更新迭代,这时计算机已经可以管理超大规模的数据,文件系统远远不能满足各种应用的需求,数据库使得数据实现了结构化存储,数据更简单被分享。数据库管理系统既便于数据的集中管理,控制冗余,提高数据的利用率和全都性,又利于应用程序的开发和维护。

随着大学同学人数越来越多,课程越来越丰盛,同学多教师少,迫切需要一个数据库管理系统来管理、存取大量的信息,则建立一个同学毕业设计选题系统具有十分大的实际应用意义。我们知道计算机具有运算速度快,处理能力强等特点。因此,为了保证小学信息的流畅,工作高效,同学毕业设计选题系统应运而生。这不但能使教务人员从复杂的管理中解脱出来,而且对于推进教学的进展也起到十分重要的作用。

系统功能需求分析:

老师和同学举行双向挑选,即同学可挑选相应的毕业设计题目,老师也可挑选同学。

1)老师:

1.1老师可以增强毕业设计题目,人数,及要求。

1.2老师可录用报名的同学,查看同学的具体信息如同学的基本信息等内容。

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

2)同学:

2.1可扫瞄老师的毕业设计题目及老师的简介等内容。

2.2可查看自己的个人信息(基本信息)。

2.3可以报毕业设计题目,每人限报两个,第一选题志愿和其次选题志愿。

3)管理员

3.1可对每个老师、同学举行统计分析与维护。

2.概念设计(E-R图)

按照需求分析结果,同学、老师、管理员、题目、班级、专业、学院等可建模为基本实体集。

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

1.同学(Student)实体集。其属性有:学号(studentNo)、(studentName)、性别(sex)、

诞生日期(birthday)、籍贯(native)、民族(nation)等。

2.老师(Teacher)实体集。其属性有:老师编号(teacherNo)、(teacherName)、性别

(sex)、学位(degree)等。

3.班级(Class)实体集。其属性有:班级编号(classNo)、班级名称(className)等。

4.专业(Speciality)实体集。其属性有:专业编号(specialityNo)、专业名称(specialityName)

等。

5.学院(Institute)实体集。其属性有:学院编号(instituteNo)、学院名称(instituteName)

等。

6.题目(Title)实体集。其属性有:题目编号(titleNo)、题目名称(titleName)、要求

(requirement)、人数(population)等。

7.管理员(Manager)实体集。其属性有:工号(managerNo)、(managerName)、性

别(sex)、联系方式(phoneNum)。

定义联系集及属性:

1.选题(SelectTitle)联系集:它是题目实体集与同学实体集的一对多联系集,其描述属性有:

题目编号(titleNo)、学号(studentNo)、老师编号(teacherNo)、志愿(wish)、录用状况(admission)等。

2.出题(SetTitle)联系集:它是老师实体集与题目实体集的一对多联系集,没有联系属性。

3.指导(Guidance)联系集:它是老师实体集与同学实体集的一对多联系集,没有联系属性。

4.包含(Include)联系集:它是班级实体集与同学实体集的一对多联系集,没有联系属性。

5.拥有(Hold)联系集:它是专业实体集和班级实体集的一对多联系集,没有联系属性。

6.属于(Belong)联系集:它是学院实体集与老师实体集的一对多联系集,没有联系属性。

7.设置(Establish)联系集:它是学院实体集与专业实体集的一对多联系集,没有联系属性。权限设置:

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

3.规律设计

(下划线加粗代表主码,斜体加粗代表外码)(1)同学Student表:由同学关系实体集转化而来。

同学Student(studentNo,studentName,sex,birthday,native,nation,classNo);

(2)老师Teacher表:由老师实体集转化而来。

老师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(titleNo,studentNo,teacherNo,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表(titleNo,studentNo,teacherNo,wish,admission);

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

SETNAMESutf8mb4;

SETFOREIGN_KEY_CHECKS=0;

--

--Tablestructureforclass

--

DROPTABLEIFEXISTS`class`;

CREATETABLE`class`(

`classNo`char(8)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'班级编号',

`className`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'班级名称',

`specialityNo`char(5)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'专业编号',

PRIMARYKEY(`classNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureforinstitute

--

DROPTABLEIFEXISTS`institute`;

CREATETABLE`institute`(

`instituteNo`char(3)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'学院编号',

`instituteName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'学院名称',

PRIMARYKEY(`instituteNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureformanager

--

DROPTABLEIFEXISTS`manager`;

CREATETABLE`manager`(

`managerNo`char(4)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'管理员编号',

`managerName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'',

`sex`char(2)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'性别',

`phoneNum`varchar(13)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'联系方式',

PRIMARYKEY(`managerNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureforselecttitle

--

DROPTABLEIFEXISTS`selecttitle`;

CREATETABLE`selecttitle`(

`titleNo`char(9)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'题目编号',

`studentNo`char(12)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'学号',

`teacherNo`char(6)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'老师编号',

`wish`char(4)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'第一志愿/其次志愿',

`admission`char(1)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'是/否',

PRIMARYKEY(`titleNo`,`studentNo`,`teacherNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureforspeciality

--

DROPTABLEIFEXISTS`speciality`;

CREATETABLE`speciality`(

`specialityNo`char(5)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'专业编号',

`specialityName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'专业名称',

`instituteNo`varchar(3)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'学院编号',

PRIMARYKEY(`specialityNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureforstudent

--

DROPTABLEIFEXISTS`student`;

CREATETABLE`student`(

`studentNo`char(12)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'学号',

`studentName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'',

`sex`char(2)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'性别,男、女',

`birthday`dateNULLDEFAULTNULLCOMMENT'诞生日期',

`native`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'籍贯',

`nation`varchar(10)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'民族',

`classNo`char(8)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'班级编号',

PRIMARYKEY(`studentNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureforteacher

--

DROPTABLEIFEXISTS`teacher`;

CREATETABLE`teacher`(

`teacherNo`char(6)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'老师编号',

`teacherName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'',

`sex`char(2)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'性别',

`degree`varchar(10)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'学位',

`instituteNo`char(3)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'学院编号',

PRIMARYKEY(`teacherNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructurefortitle

DROPTABLEIFEXISTS`title`;

CREATETABLE`title`(

`titleNo`char(9)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'题目编号',

`titleName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'题目名称',

`requirement`varchar(100)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'要求',

`population`int(11)NULLDEFAULTNULLCOMMENT'人数',

`teacherNo`varchar(6)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'老师编号',

PRIMARYKEY(`titleNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

--

--Tablestructureforuser

DROPTABLEIFEXISTS`user`;

CREATETABLE`user`(

`userNo`varchar(12)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'账号',

`password`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'密码',

`userName`varchar(20)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULLCOMMENT'用户名称',

`identity`varchar(3)CHARACTERSETutf8COLLATEutf8_general_ciNOTNULLCOMMENT'身份:同学、老师、管理员',

PRIMARYKEY(`userNo`)USINGBTREE

)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;

SETFOREIGN_KEY_CHECKS=1;

6.功能设计

(1)查看某位同学的基本信息

SELECT*FROMstudentWHEREstudentNo=’...’;

查看某位老师的基本信息

SELECT*FROMteacherWHEREteacherNo='...';

(2)同学扫瞄老师的毕业设计题目

SELECT*FROMtitle

(3)老师可录用报名的同学

UPDATEselecttitleSETadmission='是'

WHEREstudentNo='...'ANDwish='...';

(4)老师更新题目信息

UPDATEtitleSET...WHEREtitleNo='...';

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

SELECTtitleNo,te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论