1课程设计成果学院:__计算机工程学院________班级:计算机科学与技术2班学生姓名:学号:设计地点(单位):计算机应用实验室A5—101设计题目:_学生选课系统___完成日期:2012年6月15日指导教师评语:_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________成绩(五级记分制):________________教师签名:_________________________2目录第一章需求分析报告....................................................................................错误!未定义书签。1.1需求分析..........................................................................................................................31.2设计目的..........................................................................................错误!未定义书签。1.3设计内容..........................................................................................错误!未定义书签。1.4功能..................................................................................................................................3第二章数据字典...........................................................................................................................42.1表(a)系数据字典………………………………………………………………………42.2表(b)课程数据字典……………………………………………………………………42.3表(c)学生数据字典……………………………………………………………………42.4表(d)教师数据字典……………………………………………………………………52.5表(e)选课数据字典……………………………………………………………………5第三章E-R图与关系模型………………………………………………………………………53.1各实体集及其属性图……………………………………………………………………53.2E-R图..............................................................................................................................7第四章编码与管理.......................................................................................................................94.1SQL的特点……………………………………………………………………94.2代码生成………………………………………………………………………94.2.1建表代码………………………………………………………………………94.2.2录入数据代码…………………………………………………………………104.2.3基表操作代码…………………………………………………………………154.2.3.1:查询……………………………………………………………………154.2.3.2:插入……………………………………………………………………154.2.3.3:更新……………………………………………………………………164.2.3.4:删除……………………………………………………………………174.2.3.4:综合操作…………………………………………………………………18第五章总结………………………………………………………………………19致谢..........................................................................................................................................193第一章需求分析报告1.1需求分析对待开发系统的一般概述:立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性强、实用的系统,以提高学生课程信息的现代化管理水平,实现信息资源共享。学生课程信息管理系统是一种基于集中统一规划的数据库管理新模式。在对学生课程信息、读者的管理,其实是对学生课程信息,选课信息的管理。本系统的建成无疑会为管理者对学生课程信息管理系统提供极大的帮助。使用该系统之后,可以减少相关人员的工作量,使学校的学生课程信息管理工作真正做到科学、合理的规划,系统、高效地实施。1.2设计目的根据所学的数据库原理与程序设计的知识,针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。1.3设计内容1)系基本情况模块2)学生信息模块3)教师信息模块4)课程信息模块5)选课信息模块1.4功能系基本情况:查询、添加、修改、删除、退出学生信息:查询、添加、修改、删除、退出教师信息:查询、添加、修改、删除、退出课程信息:查询、添加、修改、删除、退出选课信息:查询、添加、修改、删除、退出4第二章数据字典2.1表(a)系数据字典:项目数据类型长度空值约束约束系编号Char(6)6是主键系名Varchar(20)20是唯一位置Varchar(30)30否2.2表(b)课程数据字典:项目数据类型长度空值约束约束课程号Char(10)10是主键系编号Char(6)6否教师编号Varchar(20)20否课程名称Varchar(20)20是唯一开课学期Varchar(6)6否2.3表(c)学生数据字典:项目数据类型长度空值约束约束学号Char(9)9是主键姓名Varchar(16)16是性别Char(2)2是男或女地址Varchar(50)50是52.4表(d)教师数据字典:项目数据类型长度空值约束约束教师编号Char(9)9是主键教师姓名Vatchar(16)16否系编号Char(6)6否办公室号Char(4)4否2.5表(e)选课数据字典:项目数据类型长度空值约束约束学号Char(9)9是主键课程号Char(10)10是主键选课日期datetime否实践成绩Tinyint1否0=成绩=100考试成绩Tinyint1否0=成绩=100第三章E-R图与关系模型概念设计的任务包括两个方面:数据库概念模式设计和事务设计。其中事务设计的任务是,考察需求分析阶段提出的数据库操作任务,形成数据库事务的高级说明。数据库概念模式设计的任务是,以需求分析阶段所识别的数据项和应用领域的未来改变信息为基础,使用高级数据模型建立数据库概念模式。3.1各实体集及其属性图:6系系编号系名位置学生学号姓名性别地址教师教师编号教师姓名系编号办公室号课程课程号开课学期系编号课程名称教师编号7图3.13.2关系模型得到以下学院数据库关系模式:系基本情况表(系编号,系名,位置)④课程表(课程号,系编号#,教师编号#,课程名称,开课学期)学生基本情况表(学号,姓名,性别,地址)教师基本情况表(教师编号,教师姓名,系编号#,办公室号)⑤学生选课表(学号#,课程号#,选课日期,实践成绩,考试成绩)3.2E-R图:选课学号考试成绩课程号实践成绩选课日期8学生学号性别姓名地址课程号选课考试成绩选课日期实践成绩学号系编号课程号教师编号课程名称课程开课学期教师系编号教师编号教师姓名办公室号系编号系位置系名工作管理从属客体主体9第四章编码与管理SQL是结构化查询语言(StructuredQueryLanguage)的英文缩写,可读作“sequel”,它是一种最常用的关系数据库语言,通过它可以对数据库进行查询和更新。4.1SQL的特点(1)高度非过程化(2)面向集合的操作方式(3)简洁易学,灵活易用4.2代码生成4.2.1建表代码:CREATETABLE系基本情况表(系编号Char(6)PRIMARYKEY,系名Varchar(20)NOTNULLUNIQUE,位置Varchar(30),)CREATETABLE学生基本情况表(学号CHAR(9)PRIMARYKEY,姓名VARCHAR(16)NOTNULL,性别CHAR(2)check(性别='男'or性别='女'),地址VARCHAR(20)notNULL,)CREATETABLE教师基本情况表(教师编号Char(9)primarykey,教师姓名Varchar(16)notnull,系编号Char(6)references系基本情况表(系编号),办公室号Char(4),)CREATETABLE课程表10(课程号CHAR(10)PRIMARYKEY,系编号Char(6)references系基本情况表(系编号),教师编号Char(9)references教师基本情况表(教师编号),课程名VARCHAR(20)NOTNULLUNIQUE,开课学期Varchar(6),)CREATETABLE学生选课表(学号char(9)NOTNULLREFERENCES学生基本情况表(学号),课程号CHAR(10)NOTNULLREFERENCES课程表(课程号),选课日期datetime,实践成绩TINYINTCHECK(实践成绩=0AND实践成绩=100),考试成绩TINYINTCHECK(考试成绩=0AND考试成绩=100),primarykey(学号,课程号),)4.2.2录入数据代码:Use课程设计实验数据库goinsertinto系基本情况表values('D03001','计算机系','A5')insertinto系基本情况表values('D03002','电子工程系','D1')insertinto系基本情况表values('D03003','外语系','B3')insertinto系基本情况表values('D03004','机械工程系','B1')insertinto系基本情况表values('D03009','师范系','四合院')代码运行效果:11insertinto学生基本情况表values('S08007001','张红','女','荆门')insertinto学生基本情况表values('S08007002','刘东成','男','洪湖')insertinto学生基本情况表values('S08007003','王珍英','女','天门')insertinto学生基本情况表values('S08007004','赵成东','男','天门')insertinto学生基本情况表values('S08007005','许文一