1、相关技术简介
1.1RDBMS简介
SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT 系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server 。
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
1.2Eclipse简介
Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值
4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续
开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上。
Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用,反之,任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正
在关注的器件。事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件,这
类似于微软公司的Visual Studio和Sun 微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。Eclipse 联盟已经宣布将在2004年中期发布其3.0版软
件。这是一款非常受欢迎的java开发工具,这国内的用户越来越多,实际上实用它java开发人员是最多的。缺点就是较复杂,对初学者来说,理解起来比较困难。
2、需求分析
2.1数据流图
说明:
1、用户请求包括:
(1)  学生基本信息管理
新生信息录入。
学生信息修改:按学号查询出某学生的信息并做信息修改。
(2)  系基本信息管理:系的基本信息输入、修改、删除
(3)  课程信息管理:课程信息的输入、修改、删除
(4)  教职工信息管理:教职工信息的输入、修改、删除
(5)  选课管理:
每学期所选课程的学分不能超过15分。
学生可以同时选修一门或多门课程。
可以同时为多个学生选修某一门或某几门课程。
删除和修改选课信息。
(6)  成绩管理
按课程输入和修改成绩。
按学生输入和修改成绩。
(7)  信息查询
按学号、姓名、系号查询学生基本信息。
按职工号、姓名、系号查询教职工基本信息。
按系号、系名称查询系的基本信息。
按课程号、课程名称、上课教师姓名查询课程基本信息。
按学号、学生姓名、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩)。
(8)  统计报表
成绩登记表,内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分、上课时间、上课
地点、考试时间)、选课学生名单(学号、姓名、性别),每个学生的平时成绩(空格)、考试成绩(空格)和总评成绩(空格),按学号排序:
顺序输出所有课程的成绩登记表。
按课程号、课程名称、教师姓名输出对应课程的成绩登记表。
2、以上的用户请求经应用程序的转化,化为对数据库中的相应的表或视图的操作,数据库再把处理的结果(或都是错误信息)返回结应用程序。
3、应用程序把结果返回给用户,该结果可能为一个对表操作的结果(如插入,删除等),也可能为一个查询的结果,甚至可能为一个错误的信息。
2.2数据字典
根据题目的需求,教学系统主要是对学生,教职工,学院,课程,成绩等的管理。由此分析得到如下数据结构:
数据库的表结构的设计,数据项如下,表名分别为:users,  score,  department,  student,  teach_job,    course:
java连接sqlserver数据库
2.3安全性和完整性要求
安全性和完整性要求:
 通过设置外键,建立它们之间的关系,并使它们级联更新相关的字段,级联删除相关的记录。对于构成了环的级联更新或删除,而不能建立级联更新或删除的,通过建立触发器,使得它们保持数据的完整性。通过不同权限的人登录而设置其对数据的增删改的权限增强数据的安全性。
本系统的外键设置和级联操作有:外键:stuent表的depth_id。 course表的t_id。
score表的stu_id和c_id等。由于score表的两个键若都级联操作会构成环,所以级联不成功。所以在这里建立两个触发器取代级联操作,从而实现数据库的完整性。
3、概念结构设计
3.1E-R图
ER图
4、逻辑结构设计
4.1关系模型
4.1.1关系模型的设计
学生(学号、姓名、性别、出生日期、入学成绩、所在系号、密码)
教师(职工号、姓名、性别、出生年月、所在系号、职称、专业及教学方向)系(系号、系名称、系的简介)
课程(课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间)
成绩(学号、课程号、平时成绩、考试成绩、总评成绩)
拥有(学号、系号)
属于(职工号、系号)
讲授(职工号、课程号、上课时间)
选修(学号、课程号、上课时间)
4.2用户子模式