数据库实验报告-汽车俱乐部管理系统文档格式.doc
《数据库实验报告-汽车俱乐部管理系统文档格式.doc》由会员分享,可在线阅读,更多相关《数据库实验报告-汽车俱乐部管理系统文档格式.doc(24页珍藏版)》请在冰豆网上搜索。
系统帮助。
1.2设计环境
①
MicrosoftSQLServer2000
②
MicrosoftVisualstudio2010
二需求分析
2.1系统功能要求设计
此系统实现如下系统功能:
1对本系统登录账户的管理。
提供两种登录模式,即管理员登录模式和普通登录模式(有权限限制)。
其中管理员权限最高,可以进行系统中的所有操作。
普通登录用户,对部门管理和工作人员管理没有权限操作。
普通登录用户在对系统用户进行管理时须进行管理员密码认证。
2管理会员:
实现对会员的增加,删除,修改,查找,以及会员交费的操作。
3管理车辆:
对俱乐部的救援车辆进行增加,删除,修改的管理。
4管理部门:
实现对俱乐部内各个部门的增加,删除的管理及统计各个部门的人数。
5管理员工:
实现对俱乐部内工作人员增,删,查及部门间调度的管理。
6系统用户管理:
该功能仅提供给管理员用户,或者拥有管理员密码的用户。
系统只允许有且只有一个名为fzw的管理员,且其用户名不可更改。
在对系统用户进行增加,删除操作时,可以允许一个客户拥有不同的几个密码(均为普通用户级别)。
7提供救援服务:
为本俱乐部会员提供救援服务,同时记录救援情况。
8提供旅行服务:
为本俱乐部以交会费的会员提供旅行服务,同时可为未交费会员交费。
2.3数据字典
数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。
利用SQLServer2000建立“汽车俱乐部”数据库,其基本表清单及表结构描述如下:
表2-1数据库表名清单
序号
中文表名
表功能说明
1
车辆
存储俱乐部救援车辆状态
2
部门
存储俱乐部中各个部门人数
3
会员
存储俱乐部会员的个人信息
4
员工
存储俱乐部员工信息
5
用户
存储该管理系统的登录用户账号及密码
表2-2车辆
字段名
类型
取值约束
空否
默认值
主键/外键
索引否
carid
文本
否
主键
id
忙/闲
闲
索引
表2-3部门
自动编号
大于等于1
bumenname
renshu
大于等于0
表2-4用户
字段中文名
编号
自动编号
username
password
表2-5会员
name
sex
男/女
男
tel
6
Car_id
7
fee
是/否
是
8
lvxing
表2-6员工
bumen
shengri
日期格式
三概念模型设计
由需求分析的结果可知,本系统设计的实体包括:
车辆、部门,用户,会员,员工
经分析得到系统的E—R图:
四逻辑和物理结构设计
4.1由系统E—R图转化而得到的关系模式如下:
会员(姓名,电话,性别,会费,旅行,身份证号,车牌号)
员工(姓名,性别,电话,入职时间,所属部门)
部门(部门名,人数)
车辆(车牌号,状态)
救援(姓名,车牌号,救援情况)
4.2确定关系模型的存取方法
在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。
可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。
在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:
在经常需要搜索的列上建立索引;
在主关键字上建立索引;
在经常用于连接的列上建立索引,即在外键上建立索引;
在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。
才能充分利用索引的作用避免因索引引起的负面作用。
4.3确定数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。
五数据库的实施与维护
5.1数据库的实施:
1QuanXianClass(ModuleName)
1.1描述(Description)
该类存储当前用户的权限
1.2代码(Program)
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespace汽车俱乐部
{
classQuanXianClass
{
publicstaticintQuanXian;
}
}
2Form1(ModuleName)
2.1描述(Description)
登录代码
2.2代码(Program)
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Windows.Forms;
usingSystem.Data.OleDb;
publicpartialclassLoad:
Form
publicLoad()
{
InitializeComponent();
Tag=0;
}
DBClassdb1=newDBClass();
privatevoidbutton1_Click(objectsender,EventArgse)
if(name.Text.Trim()=="
"
||pwd.Text.Trim()=="
)
{
MessageBox.Show("
请完整填写用户信息"
"
提示"
);
}
else
db1.OleDbConn.Open();
stringstr="
select*from用户whereusername='
+name.Text.ToString()+"
'
andpassword='
+pwd.Text.ToString()+"
;
OleDbCommandcomm=newOleDbCommand(str,db1.OleDbConn);
if(comm.ExecuteScalar()!
=null)
{
db1.OleDbConn.Close();
Tag=1;
this.Close();
if(name.Text.ToString()=="
fzw"
{
QuanXianClass.QuanXian=1;
}
else
{
QuanXianClass.QuanXian=0;
}
else
MessageBox.Show("
用户信息有误,请重新登录!
privatevoidbutton2_Click(objectsender,EventArgse)
this.Close();
3AddMemberForm(ModuleName)
3.1描述(Description)
添加会员代码
3.2代码(Program)
usingSystem.ComponentModel