学生选课系统数据库设计及数据字典
- 格式:doc
- 大小:58.00 KB
- 文档页数:4
学校教务管理的数据库设计I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长.面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
学校为方便教务管理,需开发一个教务管理系统。
为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。
要求系统能有效、快速、安全、可靠和无误的完成上述操作。
并要求系统界面要简单明了,易于操作,程序利于维护。
一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。
(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。
学生如果课程及格,可以取得该课程的学分。
学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。
根据成绩高低,可以计算学分积。
及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。
二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。
对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。
(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩〉90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9)教授某学生必修课程的老师情况10)某学生选修了哪些系的课程11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学13)按总学分积找出某系学习最好的5名同学14)可以毕业的学生三、软、硬件配置程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP,并且系统装有SQL Server2000数据库管理系统.硬件方面,CPU主频500MHz以上,内存128M或更高。
课程设计(数据库系统原理)题目学生选课系统系院专业班级学号姓名二〇一一年六月二十日目录第一章需求分析 (3)1.1 需求分析 (3)1.1.1.1 系统管理员需求分析 (4)1.1.1.2教师需求分析 (4)1.1.1.3 学生需求分析 (5)1.2 任务概述 (6)1.2.1 目标 (6)1.2.2 运行环境 (6)1.3 数据流图 (7)1.4 数据字典 (7)1.5系统完整性、安全性 (9)1.5.1 对服务的要求 (9)1.5.2 对性能的规定 (9)第二章概念结构设计 (10)2.1 概念结构 (10)2.2 学生选课系统概念结构设计 (10)2.2.1 系统实体E-R图 (11)2.2.2学生选课系统的分E-R图 (12)图4 教务处需求管理的E-R图 (13)2.2.3学生选课系统E-R图 (14)第三章逻辑结构设计 (15)3.1 逻辑结构设计 (15)3.2 学生选课系统的逻辑结构设计 (15)第四章物理设计 (17)4.1 关系中的关系模式 (17)4.2 基本表设计 (17)第五章数据库的实施和维护 (21)5.1 数据的载入 (21)5.2 应用程序的调试 (21)5.3 数据库的维护 (22)5.3.1 维护 (22)5.3.2检测并改善数据库性能 (23)5.3.3重新组织和构造数据库 (23)第一章需求分析1.1 需求分析数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:非关系数据库和关系数据库。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。
SQL2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
SQL 的优点在于它集数据查询、数据操纵、数据定义和数据控制功能于一体。
1.1.1 分析阶段本项目所开发的学生选课系统完成学校对学生的选课信息的统计与管理,减少数据漏掉的情况,同时也节约人力、物力和财力,告别以往的人工统计。
数据库系统设计课程设计任务书计算机科学与技术学院制目录1.相关专业背景功能--------------------------------- 12.需求分析--------------------------------------- 43.概念模型与E-R图__________________________________13 4.E-R模型转换-----------------------------------145.数据库设计与建立------------------------------176、连接数据库---------------------------------------237. 个人总结-----------------------------------------248.参考文献--------------------------------------25一、选修课管理系统的相关背景功能选修课管理系统是一个面向学校教务管理人员、教师和学生并为其提供服务的管理系统。
选修课管理系统所经历的三个阶段一、没有电脑的年代,网上选课根本不存在,当时学生根据自己的爱好兴趣等方面,先选择相应的课程,然后由班级上报院系,再通过人工整理所上报的信息的办法,决定每个人的选课信息以及任课老师所教的课程,也就是说几乎谈不上选修课管理系统这么一说。
二、每个院系有了为数不多的几台电脑后,班级上报院系的信息,由院系先在电脑上登记,最后交给教务处,教务处通过选修课管理系统(还不够完善),经过审核决定最终结果并公布;三、电脑普及率很高,也就是现在这样,网上选课已不成问题,教务处直接通过选修课管理系统,了解与审核选课信息,最终决定最后的结果并公布。
有关选修课的概念与定义选修课与“必修课”相对。
主要指高等学校和中等专业学校中学习某一专业的学生可以有选择地学习的课程。
在教学计划中一般不作硬性规定。
分限制性选修课程(某些特定专业指定选修课程,对该专业来说可视为必修课)和非限制性选修课程(任意专业选修课程)两种。
数据字典和数据库设计的关系
数据字典和数据库设计是密不可分的两个概念,它们在数据库管理系统中扮演着至关重要的角色。
数据字典是一个结构化的文档,它用于描述数据元素、数据实体、数据属性、数据类型及它们之间的关系。
数据库设计则是在理解业务规则和数据流程的基础上,建立数据模型并实现数据库的过程。
在数据库设计中,数据字典起到了重要的指导作用。
数据字典是设计过程中的重要文档之一,它记录了数据库中所有数据元素的定义,并对数据库中每个表和字段的含义进行了详细的描述。
在数据库设计的过程中,数据字典可以帮助开发人员和设计人员更好地理解数据库的结构和功能,从而更好地进行数据建模和数据管理。
同时,数据字典在数据库运营中也起到了重要的作用。
它使得维护人员能够快速了解数据库结构,从而更好地进行修改、更新和维护。
数据字典也是数据库文档的重要组成部分,使得数据库的使用者可以更好地理解数据库的结构和数据元素的含义,从而更好地运用数据库进行数据分析和业务操作。
综上所述,数据字典和数据库设计的关系紧密,二者相辅相成。
在数据库设计中,数据字典是指导和记录的重要文档;在数据库运营中,数据字典是维护和使用的重要工具。
只有通过完善的数据字典和合理的数据库设计,才能更好地实现数据库的管理和应用。
- 1 -。
Model: 学生管理系统需求模型Report: Student ManageAuthor: NI_YinZVersion: 1.0Date: 2011年11月20日一、数据库数据字典通过对学生管理系统工作的内容以及相关数据流程分析,根据学生管理系统的需要,可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:在mysql中建立了student_manage数据库,共包含八张表:学生表,成绩表,课程表,考试表,学生操行表,教师表,班级表,班级评估表。
每张表的字段、数据类型具体以及备注的详细情况如下:1、学生表(student)1NI_YinZ学生主键(student_id) Integer (数据库里长度设置为8)学生姓名(student_name) varchar(20)学生密码(student_password) varchar (32)学生所属专业(student_major) varchar (20)学生性别(student_sex) varchar (2)学生年龄(student_age) Integer (数据库里长度设置为3)学生生日(student_birthday) varchar (10)学生地址(student_address) varchar (40)学生兴趣(student_interests) text (学生兴趣以数组形式存入)学生星座(student_constellation) varchar (6)学生QQ(student_qq) Integer (数据库里长度设置为11)学生头像(student_photo) text学生日志(student_log) text学生日志标题(student_log_title) text学生所属班级(studet_class_name)varchar (20)学生所属年级(student_this_semester)varchar (20)2、成绩表(grade)一个学生一条数据每个学生对应的每门课程的成绩成绩主键(grade_id) Integer (数据库里长度设置为8)成绩学生名字(grade_student_name) varchar(20)成绩科目名(grade_curriculum_name) text (以数组形式存入,与成绩对应)2NI_YinZ成绩分数(curriculum_grade_num) text (以数组形式存入,与科目对应)成绩学期名(grade_semester)varchar(20)成绩专业名(grade_major)varchar(20)成绩班级名(grade_class)varchar(20)成绩考试时间/类型(grade_remark)varchar(20)成绩登记时间(grade_time)date成绩学生学号(grade_student_num)varchar(50)3、课程表(curriculum)一天一课一条数据课程主键(curriculum_id) Integer (数据库里长度设置为8)星期数目(week_num) varchar(8) (以如“星期一”形式存入)课程科目名(curriculum_name) varchar(20)课程课次(curriculum_this_week_num_time) varchar(30) (以如“第一节”形式存入)课程所属班级名(curriculum_this_class_name) varchar(20)当前班级的学期(curriculum_this_semester) varchar(20)4、考试表(remark)考试主键(remark_id)Integer (数据库里长度设置为8)考试类型或者时间(remark_grade_time)text (以如“期末”“一月”形式存入)当前考试分数(this_time_all_grade)Integer (数据库里长度设置为8)3NI_YinZ5、学生操行表(student_behavior)操行主键(student_behavior_id)Integer (数据库里长度设置为8)操行学生名(behavior_student_name) varchar(20)操行学期名(behavior_semester) varchar(20)操行班级名(behavior_class) varchar(20)操行学期周数(behavior_week_num) varchar(10)操行星期数(behavior_weekday) varchar(10)操行课次(behavior_class_time) text操行出勤情况(behavior_status) text操行总分(behavior_all_grade_num) varchar(10)6、教师表(teacher)教师主键(teacher_id) Integer (数据库里长度设置为8)教师姓名(teacher_name) varchar(20)教师密码(teacher_password) varchar(32)教师性别(teacher_sex) varchar(2)教师所教班级名(teacher_class_name) text (以数组形式存入)教师所教课程(teacher_teach_curriculum) text (以数组形式存入)教师QQ(teacher_qq) Integer (数据库里长度设置为11)4NI_YinZ教师头像(teacher_photo) text教师日志(teacher_log) text教师日志标题(teacher_log_title) text7、班级表(class)班级主键(class_id) Integer (数据库里长度设置为8)班级名(class_name) varchar(20)班级专业名(class_major_name) varchar(20)班级课程名(class_curriculum_name) text (以数组方式存入与教师名对应)班级教师名(class_teacher_name) text (以数组方式存入与课程名对应)班级学生名(class_student_name) text (以数组方式存入班级数据单位为班级(个))当前学期名(class_this_semester) varchar(20)当前教师所教课程(class_use_curriculum_name) text (以数组方式存入)8、班级评估表(class_evaluating)班级评估主键(class_evaluating_id)Integer (数据库里长度设置为8)班级评估年级名(class_evaluating_semester)varchar(20)班级评估专业名(class_evaluating_major)varchar(20)班级评估班级名(class_evaluating_class)varchar(20)5NI_YinZ班级评估量化理由(class_evaluating_reason)text班级评估当前分值(class_evaluating_this_score)Integer (数据库里长度设置为8)班级评估时间(class_evaluating_time)date班级评估总分值(class_evaluating_all_score)Integer (数据库里长度设置为8)二、代码数据字典通过对学生管理系统工作内容及相关情况的分析,根据学生和老师对管理系统的需要,开发者设计出能满足用户需求的各种模块以及功能,具体情况如下:根据命名规范:首字母小写,后面单词首字母大写。
数据库系统原理及其应用教程课程设计报告设计题目选修课程管理系统的设计与实现指导教师摘要随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。
各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升.本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告.全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计.每一阶段都进行了详细的分析。
接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。
本系统主要功能是对学生选课及相关信息进行管理。
较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。
数据库的安全性更高,对用户访问权限进行了严格控制。
数据存取速度更快,使用年限更长。
可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率.关键字:学生选课管理系统;分析;设计目录一、概述 ...................................................................................................... 错误!未定义书签。
261.1设计背景ﻩ1.2设计目的................................................................................. 错误!未定义书签。
1。
3设计内容...................................................................................... 错误!未定义书签。
二、需求分析ﻩ错误!未定义书签。
2。
1功能分析.................................................................................... 错误!未定义书签。
学生选课管理系统数据库设计数据字典学生表(Students)字段类型描述id INT 主键,学生IDname VARCHAR(50) 学生姓名age INT 学生年龄gender VARCHAR(10) 学生性别major VARCHAR(50) 学生专业GPA DECIMAL(3,2) 学生平均成绩课程表(Courses)字段类型描述id INT 主键,课程IDname VARCHAR(50) 课程名称credits INT 学分teacher VARCHAR(50) 授课教师time VARCHAR(50) 授课时间选课表(Enrollments)字段类型描述id INT 主键,选课IDstudent_id INT 学生ID(外键)course_id INT 课程ID(外键)grade VARCHAR(2) 成绩学生选课管理系统数据库设计详细说明学生表(Students)•学生表包含了学生的基本信息,每位学生对应一条记录,其中id为主键,保证唯一性及快速查询。
•name表示学生姓名,age表示学生年龄,gender表示学生性别,major表示学生所学专业,GPA表示学生的平均成绩。
课程表(Courses)•课程表记录了所有开设的课程信息,每门课程对应一条记录,其中id为主键。
•name表示课程名称,credits表示课程学分,teacher表示授课教师,time表示授课时间。
选课表(Enrollments)•选课表记录了学生选修的课程信息,每条选课记录包含学生ID、课程ID以及成绩。
•id为主键,student_id为外键关联学生表的id字段,course_id为外键关联课程表的id字段,grade表示学生在该门课程的成绩。
以上为学生选课管理系统数据库设计信息,可以根据该数据字典完成数据库表的创建和管理,保证数据的完整性和准确性。
大理学院数学与计算机学院《数据库系统设计》课程设计报告班级:2012级计算机科学与技术1班学号:201211514姓名:刘秀珍系统名称:学生选课系统总分:实验报告内容及撰写要求:一、需求分析程序的主要功能描述,可以用文字、框图、用例等方式。
参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。
主要应当包含分析的过程及分析后得到的数据流图和数据字典。
二、数据库设计2.1 数据库概念设计实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。
2.2数据库的逻辑设计根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。
同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。
三、系统实现3.1 数据库访问1)数据访问类及实现代码2)SQL语句3.2 业务逻辑层类及代码描述业务流程、数据处理功能的模块代码3.3表示层的实现可以用界面截图及其实现类及核心代码描述四、总结一、需求分析1.1背景全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。
随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。
网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。
但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。
1.2系统设计要求:设计出一个学生选课数据库系统的简要要求如下:1)设计要求①建立相应的数据库及相关的表、属性、约束、规则、默认等;②输入相应的记录(每个表不少于20条记录);③编写进行数据管理的存储过程。
数据字典举例数据字典是一种用于描述数据库中各个数据元素的工具,它记录了数据元素的定义、属性、取值范围以及与其他数据元素之间的关系等信息。
数据字典是数据库设计和管理中非常重要的一部份,它能够匡助开辟人员和用户更好地理解和使用数据库中的数据。
以下是一个数据字典的举例,以一个学生信息管理系统为例:1. 学生信息表(Student)- 学号(StudentID):学生的惟一标识符,数据类型为整数。
- 姓名(Name):学生的姓名,数据类型为字符串,长度为50个字符。
- 性别(Gender):学生的性别,数据类型为字符串,取值范围为男、女。
- 年龄(Age):学生的年龄,数据类型为整数。
- 专业(Major):学生所属的专业,数据类型为字符串,长度为100个字符。
- 班级(Class):学生所在的班级,数据类型为字符串,长度为50个字符。
2. 课程信息表(Course)- 课程编号(CourseID):课程的惟一标识符,数据类型为整数。
- 课程名称(CourseName):课程的名称,数据类型为字符串,长度为100个字符。
- 学分(Credit):课程的学分,数据类型为浮点数。
- 授课教师(Teacher):课程的授课教师,数据类型为字符串,长度为50个字符。
3. 成绩信息表(Grade)- 学号(StudentID):学生的惟一标识符,数据类型为整数。
- 课程编号(CourseID):课程的惟一标识符,数据类型为整数。
- 成绩(Score):学生在该课程中的成绩,数据类型为浮点数。
通过以上的数据字典,我们可以清晰地了解到学生信息管理系统中所涉及的数据元素及其属性。
例如,学生信息表中包含学生的学号、姓名、性别、年龄、专业和班级等信息;课程信息表中包含课程的编号、名称、学分和授课教师等信息;成绩信息表中包含学生的学号、课程的编号以及学生在该课程中的成绩等信息。
在实际的数据库设计和管理过程中,数据字典可以匡助开辟人员更好地理解业务需求,规范数据的定义和使用,提高系统的可维护性和扩展性。