数据库原理实验和课程设计指导书.doc_第1页
数据库原理实验和课程设计指导书.doc_第2页
数据库原理实验和课程设计指导书.doc_第3页
数据库原理实验和课程设计指导书.doc_第4页
数据库原理实验和课程设计指导书.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理及应用实验和课程设计指导书数据库原理实验和课程设计指导书目 录实验一 创建和修改数据库1实验二 创建和修改数据表6实验三 添加记录并建立查询10实验四 创建视图13实验五 创建索引14实验六 创建触发器15实验七 创建存储过程16实验八 备份和恢复数据库17实验九 数据安全性19实验十 数据库设计20课程设计21实验一 创建和修改数据库目的和意义学习创建和修改用户数据库的方法。实验内容分别使用SQLServer2000企业管理器和Transact-SQL语句,按下列要求创建和修改用户数据库。1. 创建一个数据库,要求如下:(1) 数据库名testDB。(2) 数据库中包含一个数据文件,逻辑文件名为 testDB_data,磁盘文件名为testDB_data.mdf,文件初始容量为5MB,最大容量为5MB,文件容量递增值为1MB。(3) 事务日志文件,逻辑文件名为TestDB_log, 磁盘文件名为TestDB_log.ldf,文件 初始容量为5MB, 最大容量为10MB,文件容量递增值为1MB。2. 对该数据库做如下修改:(1) 添加一个数据文件,逻辑文件名为TestDB2_data,实际文件为TestDB2_data.ndf,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB。(2) 将日志文件的最大容量增加为15MB,递增值改为2MB。实现步骤方法一:使用企业管理器创建和修改数据库TestDB1. 设置常规选项卡(1) 在企业管理器的控制面板目录中选中结点数据库,单击鼠标右键,在弹出菜单中选择新建数据库命令。(2) 设置新建数据库的常规选项卡,在名称文本框中键入数据库名称TestDB。如图1-l所示。图A12. 设置数据文件选项卡在“文件名”字段中键入数据文件名“TestDB_data”。设置该文件初始大小为5MB。图1-1选中“文件属性”对话框中的复选框“文件自动增长”,并选中“按兆字节”设置文件容量递增值为1。在“最大文件大小”对话框中选择“将文件增长限制为(MB)”为15。如图1-2所示。图1-23. 设置事务日志选项卡(1) 在文件名字段中键入事务日志文件的逻辑文件名TestDB_log。设置该文 件初始大小为5MBo(2) 选中文件属性对话框中复选框文件自动增长,并选中按兆字节设置文件容量递增值为1。(3) 在最大文件大小对话框中选择将文件增长限制为(MB)为10。如图1-3所示。(4) 单击确定按钮,完成数据库的创建。 图1-3设置事务日志选项卡4. 修改事务日志文件属性(1) 从树状目录窗口中找到刚刚创建的数据库TestDB,单击鼠标右键,从弹出菜单中选择命令属性,打开数据库TestDB的属性窗口。(2) 选择数据文件选项卡。在该选项卡中添加数据文件TestDB2_data,方法是:在文件名字段中键入数据文件逻辑文件名TestDB2_data,设置该文件初始大小为 1MB,然后选中文件属性对话框中复选框文件自动增长,并选中按兆字节设置文件容量递增值为1,最后在最大文件大小对话框中选择将文件增长限制为(MB)6。如图1-4所示。图1-4(3) 选择事务日志选项卡,在该选项卡中将事务日志文件的最大容量改为15,递增量改为2。如图1-5所示。图1-5方法二:使用Transact-SQL语句创建和修改数据库TestDB1. 创建数据库TestDBCREATE DATABASE TestDBON(NAME = TestDB_data,FILENAME=”C:Program filesMicrosoft sql servermssqldataTestDB_data.mdf”,SIZE=5,MAXSIZE=15,FILEGROWTH=1)LOG ON(NAME = TestDB_log,FILENAME=”C:Program filesMicrosoft sql servermssqldataTestDB_log.ndf”,SIZE=5,MAXSIZE=10,FILEGROWTH=1)2. 修改数据库TestDBALTER DATABASE TestDBADD FILE(NAME = TestDB2_data,FILENAME=“C:Program filesMicrosoft sql servermssqldataTestDB2_data.ndf”,SIZE=1,MAXSIZE=6,FILEGROWTH=1)GOALTER DATABASE TestDBMODIFY FILE(NAME=TestDB_log,MAXSIZE=15)GOALTER DATABASE TestDBMODIFY FILE(NAME=TestDB_log,FILEGROWTH=2)GO习题 建立学生选课的数据库stuDB, 逻辑文件名为 stuDB_data,磁盘文件名为stuDB_data.mdf,文件初始容量为10MB,最大容量为15MB,文件容量递增值为2MB。事务日志文件,逻辑文件名为stuDB_log, 磁盘文件名为stuDB_log.ldf,文件初始容量为5MB, 最大容量为10MB,文件容量递增值为1MB。体会实验二 创建和修改数据表目的和意义熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用企业管理器和CREATE TABLE、ALTER TABLE等Transact-SQL语句对数据表的操作方法。实验内容分别使用企业管理器和Transact-SQL语旬按下列要求创建两个数据表: 表B1项目数据表,表B2员工数据表,并按照步骤完成对表的相关修改和约束设置。项目表(Project)字段名数据类型字段长度注释项目编号int4主键名称varchar50长度为50负责人int4客户int4开始日期datetime8结束日期datetime8员工数据表(Employee)字段名数据类型字段长度注释编号int4主键姓名varchar20长度为50性别char2长度为50所属部门varchar50长度为50工资money8长度为8实现步骤方法一:使用企业管理器创建数据表并添加约束1. 打开企业管理器,在树状目录窗口中找到数据库节点TestDB,并选中下一级节点表。2. 单击鼠标右键,从弹出菜单中选择命令新建表,打开表设计窗口,在窗口中按照上机任务中所列的项目数据表的字段及要求键入列名、数据类型、长度等属性,并将项目编号设置为主键。如图2-l所示。图2-l创建项目数据表3. 单击保存按钮,在弹出的对话框中输入表名称项目数据表,关闭表设计窗口,完成表项目数据表的刨建。4. 重复1-3步,创建另一个数据表员工数据表,表设计窗口如图2-2所示。图2-2创建员工数据表5. 添加外键约束:在项目数据表的负责人字段上添加外键约束,参照字段为员工数据表中的字段编号,约束名为FK_pm。实现方法为:首先在企业管理器中选中项目数据表并单击鼠标右键,在弹出菜单中选择命令设计表打开设计表窗口。然后在该窗口中单击按钮表和索引属性按钮,打开表的属性对话框。最后选择关系选项卡,在改选项卡中做如下的操作。单击新建按钮;从主键表中选择员工数据表,并选择字段编号;从外键表中选择项目数据表,并选择字段负责人;在关系名中输入FK_pm。单击关闭按钮,完成外键约束的设置。6. 添加检查约束:将员工数据表中的字段工资的值限定在1000-10000,约束名CK_Salary。操作方法为:首先在企业管理器中选中员工数据表并单击鼠标右键,在弹出菜单中选择命令设计表打开设计表窗口。然后在该窗口中单击按钮表和索引属性按钮,打开表的属性对话框。最后选择CHECK约束选项卡,在改选项卡中做如下的操作:单击标签中新建按钮;在约束表达式文本框中输入一个条件表达式;(工资=1000 AND 工资=1000 AND 工资2000;3书写查询语句查询来自CCH公司的项目名称(以CCH开始)和负责人姓名。参考答案: SELECT a.名称,b.姓名 FROM 项目数据表 AS a , 员工数据表 AS bWHERE a.负责人=b.编号AND a.名称 LIKE “CCH%”;4书写语句查询每个部门的平均工资,结果按照平均工资的多少排序SELECT 所属部门,AVG(工资)FROM 员工数据表GROUP BY 所属部门ORDER BY AVG(工资);5使用外向联接输出所有的员工姓名和负责人的项目名称SELECT员工数据表.姓名,项目数据表.名称FROM 员工数据表 LEFT JOIN项目数据表ON员工数据表.编号=项目数据表.负责人;6使用子查询输出所有负责 CCH公司项目(以CCH开始)的员工姓名,以及没有负责REALIDEA公司(以REALIDEA开始)项目的员工姓名 。SELECT 姓名 FROM 员工数据表 WHERE 编号 IN (SELECTDISTINCT 负责人 FROM 项目数据表WHERE 名称 LIKECCH%) SELECT 姓名 FROM 员工数据表WHERE 编号 NOT IN (SELECT DISTINCT 负责人 FROM 项目数据表WHERE 名称 LIKEREALIDEA%);7将所有REALIDEA公司的项目的结束日期更改为2002年1月8日 。UPDATE 项目数据表SET 结束日期= January 8, 2002WHERE 名称 LIKE REALIDEA%;8录入部的张晓峰决定辞职,请将员工数据库中有关他的记录删除,并将他负责的项目移交给杨亭亭。书写语句对数据表做相应的更改。DELETE员工数据表WHERE 姓名=“张晓峰”UPDATE 项目数据表 SET负责人=8WHERE负责人=3;习题在student , course , sc中 添加元组1)从student , course , sc表中选择出当年年龄在20岁以上的学生的学号和姓名。2)统计平均年龄价格。3)“张三”同学要退学,请删除他的所有信息。 体会实验四 创建视图目的和意义掌握使用T -SQL语句创建视图的方法,包括视图的建立、删除、修改;了解如何应用视图有选择地查看所需数据,并熟悉通过视图更改数据表中数据的方法。实验内容在数据库Company_Data中,基于表项目数据表和员工数据表创建视图,要求为:(1) 视图名为员工项目。(2) 包含字段编号、姓名、名称和开始日期。(3) 字段别名分别是员工编号、”员工姓名、项目名称、项目开始日期。实现步骤 (1)打开查询分析器。在查询窗口书写CREATE VIEW语句创建视图,并指定字段别名:USE TestDBGOCREATE VIEW员工项目(员工编号,员工姓名,项目名称,项目开始日期)ASSELECT a编号,a姓名,b名称,b开始日期,FROM员工数据表AS a INNER JOIN项目数据表AS bON a编号=b负责人WHERE a编号=b负责人GO(2)使用INSERT语句通过视图向员工数据表中添加一条记录,要求姓名字段值为马中兴。USETestDBGOINSERTINTO 员工项目(员工姓名)VALUES(马中兴)GO (3)使用UPPDATE语句通过视图将第二步中插入记录的员工姓名改为马中新。USETestDBGOUPDATE员工项目SET 项目负责人= 马中新,WHERE 项目负责人=马中兴GO (4)执行系统存储过程 sp_rename将视图更名为employee_project_VIEW 。USETestDBGOEXEC sp_rename 员工项目, emp1oyee_project_VIEW;实验五 创建索引目的和意义掌握创建索引的方法。实验内容分别使用企业管理器和Transact-SQL语句在实验四的数据表员工数据表中基于姓名创建索引,要求索引名为IDX_Name,索引类型为非聚集索引。实现步骤方法一,使用企业管理器 (1)打开企业管理器,在树状目录中展开数据表员工数据表所在的数据库节点TestDB,并选择其下一级节点表。 (2)选择表员工数据表,并单击鼠标右键。在弹出菜单中选择命令所有任务管理索引,打开管理索引对话框。 (3)在管理索引对话框中的数据库下拉菜单中选择数据库表。 (4)选择新建按钮,弹出新建索引对话框。 (5)在新建索引对话框的索引名文本框中输入索引名称IDX_Name,然后选择字段姓名并设置索引属性。如图5-l所示。图5-l创建索引(6)设置索引选项以后,单击确定按钮,返回到管理索引对话框。(7)单击关闭按钮,退出管理索引对话框,完成索引的创建。方法二:使用T-SQL语旬USE TestDBGOCREATE INDEX IDX_Name ON 员工数据表(姓名)GO实验六 创建触发器目的和意义理解触发器的触发过程和类型,掌握创建触发器的方法。实验内容在数据库 Company_Data的表项目数据表和员工数据表中分别创建触发器。实现步骤 (1)打开查询分析器。 (2)在查询窗口书写 CREATE TRIGGER语句,基于表员工数据表创建AFTER INSERT 触发器 Tigger_NewEmployeeSalary,将插入员工的工资额限制在 5000以内。USETestDB.GOCREATE TRIGGERTrigger_NewEmployeeSalaryON 员工数据表AFTER INSERTASIF (SELECT 工资 FROM inserted) 5000BEGINPRINT 新员工工资不能超过5000ROLLBACKENDGO(3)在查询窗口书写CREATE TRIGGER语句,基于表员工数据表创建AFTER UPDATE触发器Trigger_SalaryChange,将员工工资变动额限制在2000以内。CREATE TRIGGER Trigger_SalaryChangeON员工数据表AFTER UPDATEASIFUPDATE(工资)BEGIN IF (SELECT MAX(ABS(inserted.工资一de1eted.工资) FROMinsertedJOINdeleted ONinserted.编号 = deleted.编号) 2000BEGIN PRINT 工资变动不能超过 2000 ROLLBACKTRANSACTIONENDF.ND实验七 创建存储过程目的和意义了解存储过程的概念和作用,掌握创建存储过程的方法。实验内容在数据库Company_Data中创建存储过程Procedure_SalaryByDept,要求返回某一特定部门所有员工的工资总和,其中特定部门的名称以存储过程的输入参数进行传递。实现步骤 (1)打开查询分析器。 (2)在查询窗口书写 CREATE PROCEDURE Transact-SQL语句创建存储过程Procedure_SalaryByDept,并带有一个输入参数Department用于传递部门名称,一个输出参数TotalSalary用于传递输出结果。CREATE PROCEDURE Procedure_SalaryByDept Department varchar(40),TotalSalary money OUTPUTAS (3)选择所属部门为该参数传递的部门名称的所有记录,并对其工资字段求和。 SELECT Tota1Sa1ary=sum(工资)FROM员工数据表WHERE所属部门=DepartmentGO(4)报告该部门的工资总额。PRINT该部门的工资总额+CONVERT(varchar,TotalSalary)GO(5)执行这个创建存储过程的语句。(6)执行系统存储过程sp_help查看该存储过程的一般信息。(7)执行该存储过程,分别计算项目部、录入部、和检验部的工资总额。(8)用ALTTER PROCEDURE语句将存储过程加密。实验八 备份和恢复数据库目的和意义理解数据库备份的过程和属性设置,掌握使用企业管理器备份数据库的方法。实验内容使用SQLServer2000企业管理器备份和恢复数据库TestDB.实现步骤 (1)打开企业管理器,在控制面板目录中选择数据库TestDB。 (2)单击鼠标右键,从弹出菜单中选择命令所有任务备份数据库。 (3)在出现的SQLServer备份对话框中选择常规选项卡。 (4)在该选项卡中的名称文本框中键入TestDB数据库备份。 (5)在描述文本框中键入备份集1。 (6)在备份对话框中选中数据库-完全选项,如图8-1所示。 (7)单击添加按钮,在弹出的对话框中选择备份设备,然后从下拉列表中选择备份使用的备份设备(注意:如果没有现成的备份设备,应在备份以前创建一个 具体方法参见相关章节)。(8)单击重写现有媒体选项按钮。 (9)单击选项选项卡,在该选项卡中选中完成后验证备份复选框。 (10)单击确定按钮,出现备份进度对话框,备份完成后,将弹出消息框备份操作及其验证已成功完成”。 (11)单击确定完成数据库的备份。 (12)完成数据库的还原,方法如下: 从企业管理器的树状目录窗口中选择需要还原的数据库TestDB,单击鼠标右键,从弹出菜单中选取命令所有任务/还原数据库,打开还原数据库”对话框。如图8-2所示。然后在该对话框中选择还原-从设备,单击选择设备按钮,并从弹出的对话框中选择备份设备TestDB_backup。 最后选择还原备份集下的数据库-完全,单击确定按钮执行数据库的还原。图8-1图8-2课程设计指导一、开发平台不限(如、,ASP.NET等)。二、课程名称: 图书管理系统 教务管理数据库 人事管理数据库 库存管理数据库 工资管理数据库 家庭理财数据库 病案管理数据库 客房管理数据库 学生宿舍管理数据库 图书管理数据库 工厂产品管理数据库同学们也可以自己另找课题,但必须得到指导老师的同意。三、要求:(一)设计分析报告要求:1需求分析内容: 用户需求说明; 顶层上下文数据流图,选择画出一个一层的数据流图; 选择说明一个完整的数据字典。2概念设计内容: 画出完整的E-R模型图; 包括实体、联系以及实体、联系的属性。3逻辑设计:把E-R图转换为关系表。 实体类型的转换 联系的转换4系统模块设计: 系统的功能划分及描述; 主要用户界面; 系统使用说明和安装说明等。(二)系统功能要求1基本实体类型: 图书借阅者实体 图书实体 图书管理员实体 违规类型实体2管理功能: 用户(管理员和借阅者)登录帐户管理 图书借阅/归还管理 违规处罚管理(要记录每次处罚情况) 各种必要的查询和报表功能3查询界面和条件 要有两个以上的多表连接查询; 要有两个以上的多个条件组合(与、或)查询; 每类基本的实体都有增、删、改和查询界面;(三)其它要求1界面要求:要求界面美观,操作方便。2安全性需求(可简化) 限制用户对数据的访问范围 限制用户操作级别(普通用户、设备管理员、系统管理员) 限制对数据表修改权限3作业提交要求: 课程设计说明书,内容见上述要求。 提交可以执行的源程序。四、成绩评定课程设计主要的主要目的是培养学生综合利用所学知识分析和解决实际问题的能力,提高学生的综合设计和实践能力。学生的课程设计成绩主要从出勤情况、工作量、操作演示、设计讲解、回答问题、设计能力、设计说明书等方面评定: 出勤情况:能否服从指导教师安排,是否无故缺勤,有无迟到早退现象等; 工作量:考查学生完成设计的工作量大小,从难度、完成情况等方面考察; 操作演示:主要考查学生的操作能力、熟练程度等; 设计讲解:考查学生对整体设计的认识和把握; 回答问题:是否能够正确回答指导教师所提的问题; 设计能力:是否具有独立分析、解决问题的能力,主要考查在规定时间内完成任务情况,或是否满足生产要求; 课程设计报告:是否认真撰写课程设计报告,内容是否客观实际。由实习指导教师对每个学生的以上七个方面分别给出成绩,出勤情况(10%)、工作量(10%)、操作演示(10%)、设计讲解(10%)、回答问题(20%)、设计能力(20%)、设计说明书(20%),相加得到每个学生的实习成绩并换算成五分制记作为本课程设计成绩。附录:使用VB开发学生信息管理系统示例1 系统设计在数据库系统开发的前期,一般要对系统的开发目的、使用对象、实现的功能等进行详细的分析,确定系统的开发方案。 系统功能分析 系统功能模块设计 操作流程图1.1 系统功能分析开发目的:学生信息管理系统的开发目的是管理全校学生的各种信息,方便学生信息的查询。系统的使用对象是学生管理部门,如教务处工作人员、校院系领导、班主任、教师等。本章所开发的系统的主要使用对象是教务处。主要功能: 学生基本信息的录入,包括:学号、姓名、性别、班级、出生日期、籍贯等; 学生基本信息的修改维护; 学生学籍变动情况的记录,包括:休学、复学、转系、结业、毕业等; 学生奖惩情况的记录和修改,包括:奖励和处罚; 学生信息的查询; 院系设置管理,包括院系的添加、修改和删除等; 班级设置管理,包括班级的添加、修改和删除等。1.2 系统功能模块设计根据系统所要实现的功能,按照结构化程序设计的原则,可以将整个系统划分为若干个功能模块。 1.3 操作流程图通过操作流程分析,不但可以具体化系统的功能模块的组成,还可以明确系统中的数据流程,明确系统中所要保存的数据以及数据间的关系,为下一步的数据库设计打好基础。本书中采用以下的符号表示操作流程。 大家对学生信息管理是比较熟悉的,因此不难画出右图所示的学生信息管理操作流程图。需要说明的是各所学校的实际情况可能有所不同,同学们可以根据自己学校的实际情况画出符合本校特点的操作流程图。2 数据库设计 数据库是信息管理系统的基础,在系统中占有重要的地位,数据库结构是否合理直接关系到系统功能的实现和运行的效率。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性,也有利于系统的编程实现。数据库系统设计一般包括如下几个步骤: 需求分析; 概念结构设计; 逻辑结构设计; 物理结构设计; 应用程序设计及调试; 性能测试与确认。2.1 数据库需求分析需求分析是整个数据库设计过程中最重要的步骤之一,是后继各阶段的基础。在需求分析阶段,需要从多方面对整个系统进行调查,收集和分析系统对信息和处理两个方面的需求。收集资料是数据库设计人员和用户共同完成的。必须强调用户的参与,这是数据库应用系统设计的特点。收集资料的目的是明确用户的需求。用户的需求主要包括第三个方面: 信息需求,用户要从数据库获取的内容; 处理需求,即完成什么处理功能以及采用何种处理方式; 安全性及完整性需求。分析的过程是对所收集的数据进行抽象的过程。抽象是对实际事物或事件的人为处理,抽取共同的本质特征,忽略细微末节,并用各种概念进行精确描述,这些概念组成某种数据模型。在上节对学生信息管理系统操作流程分析的基础上,可以列出以下学生信息管理系统所需的数据项和数据结构: 院系设置:院系编号、院系名称、院系描述、院系领导、领导联系方式等; 班级设置:班级编号、班级名称、班级创建时间、班级描述、所属院系、班主任、班主任联系方式等; 学生基本情况:学号、姓名、性别、出生日期、籍贯、所属班级等; 学籍变更记录:记录号、学号、变更类别、记录时间、详细描述等; 奖励记录:记录号、学号、奖励类别、记录时间、详细描述等; 处罚记录:记录号、学号、处罚类别、记录时间、详细描述等。 2.2 数据库概念结构设计E-R模型(Entity-Relationship Module)简称E-R图,是描述概念世界,建立概念模型的实用工具。数据库设计工作比较复杂,将现实世界的数据组织成符合具体数据库管理系统所采用的数据模型一般情况下不可能一次到位,P.P.S.Chen于1976年提出形象的实体-联系方法。通过绘制E-R图,可以描述组织模式,并可以进一步转化为任何一种DBMS所支持的数据模型。E-R图有三要素: 实体:用矩形框表示,框内标注实体名称; 属性:用圆角矩形形表示,并用连线与实体连接起来,表示实体的有关属性; 实体间的联系:用菱形框表示,框内注明联系名称,并用连线将菱形框与有关实体连接,在连线上注明联系的类型。 在关系复杂的数据库系统的设计中,E-R图的设计包括局部E-R图设计、综合E-R图设计、E-R图优化等步骤。本章的学生信息管理系统的功能比较简单,其E-R图如右图所示。 2.3 数据库逻辑结构设计概念结构设计的结果得到一个与计算机、软硬件的具体性能无关的全局概念模式。数据库逻辑设计的任务是将概念结构转换成特定DBMS所支持的数据库模型。从E-R图所表示的概念模型可以转换成任何一种具体DBMS所支持的数据模型。本系统采用关系模型,转换的原则是: 每个实体转化成一个关系模式(即数据表),实体的属性就是关系的属性,实体的关键字就是关系的关键字; 每个1:1的联系转换成一个关系模式。每个实体的关键字都是该关系模式的候选关键字; 每个1:n的联系转换成一个关系模式。多方的实体的关键字是该关系模式的关键字; 每个m:n的联系转换成一个关系模式。联系中各实体关键字的组合组成该关系模式的组合关键字; 具有相同关键字的关系可以合并。 在进行完概念结构的转化以后,还需要进行规范化处理,通过模式合并和模式分解,优化数据逻辑结构,使数据库既能有效减少冗余信息,又能提高数据库的查询、操纵性能。根据学生信息管理系统的E-R图,通过简单的优化,可以设计6个关系模式(即数据表)来存储所有的信息。为了操作的简便,系统中DBMS选用Access 2000。6个数据表的结构如表1到6所示。 表1 院系设置信息表(Department)字段名 数据类型(长度)必添字段说 明DepartID文本(2)是院系编号(主关键字)DepartName文本(20)是院系名称DepartHead文本(8)否院系领导Telephone文本(13)否领导联系电话Description备注否院系描述表2 班级设置信息表(Class)字段名 数据类型(长度)必添字段说 明ClassID文本(6)是班级编号(主关键字)ClassName文本(20)是班级名称DepartID文本(2)是所属院系(外关键字)BeginDate短日期是班级创建日期Master文本(8)否班主任MasterTel文本(13)否班主任联系电话Description备注否班级描述表3 学生基本信息表(Student)字段名 数据类型(长度)必添字段说 明StudentID文本(8)是学号(主关键字)Name文本(8)是姓名Sex文本(2)是性别ClassID文本(6)是班级编号Birthday短日期否出生日期Native文本(16)否籍贯表4 学籍变更记录表(Change)字段名 数据类型(长度)必添字段说 明CID自动编号是记录号(主关键字)StudentID文本(8)是学号Change文本(4)是学籍变更类型RecDate短日期是记录日期Description备注否说明表5 奖励记录表(Reward)字段名 数据类型(长度)必添字段说 明RID自动编号是记录号(主关键字)StudentID文本(8)是学号Reward文本(20)是奖励类型RecDate短日期是记录日期Description备注否奖励具体说明表6 处罚记录表(Punish)字段名数据类型(长度)必添字段说 明PID自动编号是记录号(主关键字)StudentID文本(8)是学号Punish文本(8)是处罚类型RecDate短日期是记录日期Description备注否处罚具体说明2.4 数据库结构的实现数据库逻辑结构设计完成以后,就可以在DBMS上创建数据库和数据表了。一般情况下可以根据DBMS的SQL语法建立相应的SQL语句,相对于直接操作建立数据库而言,通过SQL创建数据库的好处是便于数据库的重复创建。2.5 初始数据的录入在某些数据库系统的开发中,需要录入一些初始据。在完成数据库的创建以后,便可以在DBMS中录入初始数据。本章的数据库中不需要初始数据。数据库创建完毕以后,还需要对数据库的性能进行一些测试,以确保数据库设计的合理性,避免在系统软件开发过程中发现数据库不合理而修改数据库。3 系统主窗体的创建 数据设计完成后,下一步的工作就是使用某种程序开发语言实现系统的具体功能,本书采用的语言为微软公司的中文版Visual Basic 6.0程序开发语言。本节内容包括如下几个方面: 创建工程文件 ; 主窗体的设计 ; 主菜单设计 ; 部分程序的实现 。3.1 创建工程文件启动Visual Basic 6.0,直接单击【打开】按钮,Visual Basic创建工程文件,并自动产生一个窗体文件。根据Visual Basic配置的不同,有时会出现不同的运行界面,系统会直接创建新的工程文件。此外,也可以通过单击【文件】【新建工程】菜单项来创建工程。 为了构造便于用户操作的程序界面,需要在工程中添加相应的部件。单击【工程】【部件】菜单项,打开“部件”对话框,在“控件”选项卡的列表框中将下面所列控件前面的方框勾选,然后单击“确定”按钮。相应的控件就会被添加到工具箱上。本程序需要添加如下几个部件: Microsoft Data Bound Grid Control 5.0 (SP3) Microsoft Tabbed Dialog Control 6.0 Microsoft Windows Common Controls-2 6.0 3.2 主窗体的设计在设计复杂的应用程序时,为了方便用户的操作,往往要考虑系统的界面框架结构,常用的框架结构有SDI(单文档界面)和MDI(多文档界面)两种。为简便起见,本例采用单文档界面。打开主窗体(文件名为FormMain),设置窗体的有关属性。 属性名属性值说 明名称frmMain主窗体的名称Caption学生信息管理系统主窗体标题BackColor&H8000000C&主窗体背景颜色WindowState2 - Maximized主窗体启动后最大化3.3 主菜单的设计单击【工具】【菜单编辑器】菜单项,打开菜单编辑器设计窗体的主菜单。为每个菜单项取一个比较有意义的名称。在系统开发时,应该养成良好的命名习惯。推荐使用驼峰式格式,即每个标识符开头字母要大写,内嵌单词的首字母也要大写,其他字母用小写。在给控件命名时,每个控件名称前面加上该控件的缩写,一般取24个字母,采用小写,缩写时取控件名的主要辅音,以元音开头的控件可以取第一个元音字母。本书中所有标识符都采用这个约定。 菜单项结构菜单项名称说 明系统维护(&S)mntSystem一级菜单(mnt是MenuItem的缩写)院系设置(&D)mntSysDepart二级菜单项班级管理(&C)mntSysClass二级菜单项-mntSysSP二级菜单项,分隔线退出系统(&Q)mntSysQuit二级菜单项学生管理(&t)mntStudent一级菜单学生管理(&M)mntStuManage二级菜单项-mntStuSP二级菜单项,分隔线学生信息查询(&Q)mntStuQuery二级菜单项教务管理(&E)mntEduAdmin一级菜单学籍变更(&C)mntEduChange二级菜单项奖励情况(&R)mntEduReward二级菜单项处罚情况(&P)mntEduPunish二级菜单项3.4 部分程序的实现先实现退出功能。单击主窗体的“退出系统”菜单项,系统自动生成相应事件过程框架,并切换到代码窗口,添加退出过程代码如下:Private Sub mntSysQuit_Click() EndEnd Sub主窗体中其它菜单项功能的实现在后面介绍。4 院系设置模块 院系设置模块是学生信息管理系统的辅助功能模块,实现院系添加、删除以及院系信息浏览、修改等功能。本节内容包括如下几个方面: 模块功能分析; 窗体的创建; 模块用户界面的设计; 模块功能的实现。4.1 模块功能分析实现思路在窗体上添加控件和数据控件,将其它控件与数据控件绑定,就可以实现院系数据的显示和浏览。为了便于用户直观浏览院系设置信息,本系统采用数据表格的形式显示数据。数据的添加、删除、修改可以通过数据控件和数据绑定控件来实现。为了验证数据的有效性,保持数据库的完整性,在添加、删除、修改数据时必须对数据进行验证,可以在窗体上再添加一个数据控件,通过它查询相关数据表来验证数据。在添加记录时,通过字段内容检验来实现域值和非空字段验证,通过对新添加的院系编号的查询,验证院系编号的唯一性(记录层验证)。在删除记录时,通过查询是否有属于该院系的班级来确保数据的完整性。实现步骤 添加、保存窗体,设置窗体属性; 添加控件,设置控件属性,构造窗体界面; 编写代码,实现相应功能; 和主窗体连接,测试模块功能。4.2 主窗体的设计在Visual Basic中单击【工程】【添加窗体】(或者工具栏的“添加窗体”按钮),给工程添加一个新窗体,将窗体保存为FormDepartment.frm。窗体的主要属性设置如下表所示:属性名属性值说 明名称frmDepartment窗体名称Caption院系设置窗体标题BorderStyle1 - Fixed Single窗体为固定边界,禁止用户改变大小StartUpPosition1 - 所有者中心窗体启动后居于主窗体中央4.3 模块用户界面的设计在窗体上添加若干标签、文本框、按钮,并添加一个数据表格控件、两个数据控件。窗体布局如下图所示:其中dbgDepart是数据表格控件,如果看不到该控件,请参考相关操作。将该控件绑定到数据控件上后(设置该控件的DataSource属性),在该控件上单击右键,选择【Retrieve Fields】菜单项,将数据控件的所有字段绑定到表格上。再次单击右键,选择【Properties】菜单项,打开属性对话框,对数据表格的各项属性进行设置。其中在General选项卡中可以设置表格标题,去掉AllowUpdate

温馨提示

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

评论

0/150

提交评论