当前位置:文档之家› 学校通讯录管理系统数据库设计

学校通讯录管理系统数据库设计

数据库设计在本实例中使用的是SQLServer 2000数据库管理系统。

数据库服务器安装的位置为本机,数据库名称为commu ni catio nserver 。

下面将介绍数据库分析和设计、数据表的创建、数据表关系图和创建存储过程的内容。

4.2.1 数据库分析和设计在本节中,将根据上一节系统功能的设计分析创建各数据表的实体E-R关系图,它是数据库设计非常重要的一步,下面用E-R图的形式表示出各实体的属性。

1. 用户E-R实体图用户的实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,ER图如图4-5所示。

图4-5 用户E-R实体图2. 地区E-R实体图地区的实体具有地区编号、地区名称2个属性,E-R图如图4-6所示。

图4-6 地区E-R实体图3. 职务E-R实体图职务的实体具有职务编号、职务名称2个属性,E-R图如图4-7所示。

图4-7 职务E-R实体图姓名用户权限性别1用户E-mail地区职务职务名称4. 学校E-R 实体图学校的实体具有学校名称、学校所在地区、在校学生人数3个属性,可用 E-R 图表示,如图4-8所示。

(学校名称X 学校一(在校学生人数图4-8 学校E-R 实体图5. 通讯录E-R 实体图通讯录的实体具有联系人姓名、地址、联系电话、所属职务、所在学校、所在单位、所 属地区7个属性,E-R 图如图4-9所示。

图4-9 通讯录E-R 实体图4.2.2 数据表的创建在上面一节中讲解了实体的E-R 图,本节中将根据E-R 图的内容,创建企业信息管理系统中的各数据表,在此系统中共涉及到5个数据表的应用,分别为如下。

1、 字段采用camel 风格定义2、 用不同颜色区分字段主键:蓝色 外键:白色既是主键又是外键:淡蓝色 普通字段:青绿学校编号学校所在地区联系电话通讯录所在单位*所在学校彳所属职务1. 用户信息表用户信息表(Users)用于存放校园通讯录信息管理系统中所有系统管理用户的信息,用 户管理是每个管理系统中必不可少的,也是比较重要的一部分,本系统中进行了较详细的设计,表中各个字段的数据类型、大小以及简短描述如表4-1所示。

表4-1用户信息表 TB UserssUserName varchar (20) 用户姓名sUserPassword varchar(10) 记录用户登入本系统时的用户密码sUserSex char(2) 用户性别 sUserEmail varchar(20) 用户E-mail sUserPhone varchar(20) 用户的联系电话 sUserPurviewchar(1)用户权限2.地区信息表地区信息表(Client)用于存放校园通讯录信息管理系统中所有地区的信息,地区信息的管理是系统中比较重要的内容,地区的名称是其中的关键信息,表中各个字段的数据类型、 大小以及简短描述如表4-2所示。

表4-2 地区信息表 TB_Area字段名称字段类型字段描述sAreaName varchar(50) 地区名称3. 职务信息表职务信息表(Compact)用于存放校园通讯录信息管理系统中所有职务的信息,职务信息的管理是系统中比较重要的内容,职务的名称是其中的关键信息,表中各个字段的数据类型、 大小以及简短描述如表4-3所示。

字段类型字段描述4. 学校信息表学校信息表(Com_detail)用于存放校园通讯录信息管理系统中所有学校的信息,学校信息的管理是系统中比较重要的内容,学校名称是其中的关键信息,表中各个字段的数据类型、大小以及简短描述如表4-4所示。

表4-4 学校信息表TB_School字段名称字段类型字段描述sSchoolName varchar(50) 学校名称iStude ntNum int 学校人数sArealD_FK varchar(20) 地区编号[FK]5. 通讯录信息表通讯录信息表(product)用于存放校园通讯录信息管理系统中所有通讯录的信息,通讯录信息的管理是系统中比较重要的内容,联系电话是其中的关键信息,表中各个字段的数据类型、大小以及简短描述如表4-5所示。

表4-5 通讯录信息表TB_AddrList字段名称字段类型字段描述sLin kName varchar(50) 联系人姓名sAddress varchar(20) 地址sLin kPh one varchar(20) 联系电话sUn itName varchar(50) 工作单位sSchoolID_FK varchar(20) 学校编号[FK]sDutylD_FK varchar(20) 职务编号[FK]sAreaID_FK varchar(20) 地区编号[PK]创建视图学校信息视图表V_SchoolI nfo字段名称字段类型字段描述sSchoolName varchar(50) 学校名称sAreaName varchar(50) 地区名称create view V_Schooll nfoasselect sSchoolName,sAreaName,sL in kName,sDutyName,sL in kPh onefrom TB_AddrList,TB_School,TB_Duty,TB_Area where = and = and =数据表关系图在学校通讯录信息管理系统中各数据表的关系图,如图4-10所示。

在TB_School数据表中,TB_Area数据表的sDutylD_FK字段作为外键。

在TB_AddrList数据表中,TB_School 数据表的sSchoollD_FK字段、TB_Area数据表中的sAreaID_FK字段和TB_Duty数据表中的sDutylD_FK字段作为外键。

图4-10 数据表关系图创建存储过程因为使用存储过程可以给系统带来优化,所以系统将很大程度地使用存储过程,在系统中共应用了10个存储过程,以Add开头的存储过程为系统中信息添加的存储过程,以Update开头的存储过程为系统中信息修改的存储过程,这些存储过程将会在系统程序文件的后台应用中调用,下面将对系统中应用的存储过程进行解释。

1. AddTB _Users 存储过程AddTB _Users存储过程用于向用户信息表中添加新的用户信息。

以下代码表示了这一存储过程。

CREATE PROCEDURE AddTB_Users @sUserID varchar(10), @sUserName varchar(20), @sUserPassword varchar(10), @sUserSex char(2),@sUserEmail varchar(20), @sUserPhone varchar(20), @sUserPurview char(1) ASINSERT INTO TB_Users( sUserID, sUserName, sUserPassword, sUserSex, sUserEmail, sUserPhone,sUserPurview) VALUES( @sUserID, @sUserName,@sUserPassword, @sUserSex,@sUserEmail, @sUserPhone,@sUserPurview)GO2. Add 存储过程Add TB_Area 存储过程用于往地区信息表中添加新的地区信息。

以下代码表示了这一存储过程。

CREATE PROCEDURE AddTB_Area @sAreaID varchar(20), @sAreaName varchar(50)ASINSERT INTO TB_Area(sAreaID,sAreaName)VALUES(@sAreaID,@sAreaName)GO3. AddTB_Duty 存储过程AddTB_Duty存储过程用于往职务信息表中添加新的职务信息。

以下代码表示了这一存储过程。

@sDutyID varchar(20),@sDutyName varchar(50)ASINSERT INTO TB_Duty(sDutyID,sDutyName)VALUES(@sDutyID,@sDutyName)GO4.AddTB_School 存储过程AddTB_School 该存储过程用于往学校信息表中添加新的学校信息。

以下代码表示了这存储过程。

@sSchoolID varchar(20), @sSchoolName varchar(50), @iStudentNum int, @sAreaID_FK varchar(20) ASINSERT INTO TB_School(sSchoolID,sSchoolName, iStudentNum, sAreaID_FK)VALUES(@sSchoolID,@sSchoolName,@iStudentNum,@sAreaID_FK)GO5. AddTB_AddrList 存储过程AddTB_AddrList 存储过程用于往通讯录信息表中添加新的通讯录信息。

以下代码表示了这一存储过程。

@sLinkName varchar(20),@sAddress varchar(50),@sLinkPhone varchar(20),@sUnitName varchar(20), @sSchoolID_FK varchar(20), @sDutyID_FK varchar(20)ASINSERT INTO TB_AddrList(sLinkName,sAddress, sLinkPhone, sUnitName, sSchoolID_FK, sDutyID_FK)VALUES(@sLinkName,@sAddress,@sLinkPhone,@sUnitName,@sSchoolID_FK,@sDutyID_FK)GO6. UpdateTB _Users 存储过程UpdateTB _Users 存储过程用于修改用户信息表中,符合条件的用户信息,其中密码信息不可以更新。

以下代码表示了这一存储过程。

CREATE PROCEDURE UpdateTB_Users @sUserID varchar(10),@sUserName varchar(20), @sUserSex char(2), @sUserEmail varchar(20), @sUserPhone varchar(20), @sUserPurview char(1)ASUPDATE TB_UsersSET sUserID =@sUserID, sUserName =@sUserName, sUserSex=@sUserSex, sUserEmail=@sUserEmail, sUserPhone=@sUserPhone, sUserPurview=@sUserPurviewWHEREsUserID =@sUserIDGO7. UpdateTB_Area 存储过程UpdateTB_Area 存储过程用于修改地区信息表中的地区信息。

相关主题