一卡通数据库表结构.docx
- 文档编号:9019476
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:53
- 大小:33.82KB
一卡通数据库表结构.docx
《一卡通数据库表结构.docx》由会员分享,可在线阅读,更多相关《一卡通数据库表结构.docx(53页珍藏版)》请在冰点文库上搜索。
一卡通数据库表结构
一卡通数据库表结构
1.数据库结构文档书写规范
正文字体,包括所有中文字符和英文字符,统一采用“宋体五号字”(便于对齐)。
中文表名、视图名、存储过程名、函数名、触发器名作标题,格式采用标题四(便于在文档结构图中查找),中文表名后跟括号和实际英文表名(视图名、存储过程名等同表名)。
droptable、createtable、createindex等语句顶头书写(无缩进),表中每个字段占一行,行前空出4个空格(不是缩进),字段名、字段类型、缺省值、是否允许空值、注释说明等分列左对齐(表内对齐即可,中间用空格填充)。
每个字段必须有注释,注释内容包括字段含义、取值范围、取值意义等。
创建主键、外键、索引必须有注释说明。
创建存储过程、函数、触发器时必须详细注释其功能。
注释均采用/*注释内容*/格式。
具体格式见4.1范例。
2.数据库命名规范
--数据库名:
libcard;用户名:
card;口令:
card
--数据库文件名:
数据文件:
libcard_data.mdf;日志文件:
libcard_log.ldf
--表名命名规范:
表名长度不超过30个字符,表名使用一个单词或多个单词,单词选择能够概括表内容的一个或多个英文单词,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间使用连接符号“_”,如User_Info,User_Type。
若表名只有一个单词,不使用缩写;超过一个单词,则每个单词均采用缩写,缩写后单词长度介于2个到5个字符之间。
如管理员表Administrator,用户信息表User_Info。
关联表命名规则为R_表A_表B,R是Relative的缩写,如:
R_User_Dept。
--字段命名规范:
字段名为对字段属性的有意义的描述,可以用英语单词、单词缩写、汉语拼音、字段实际含义的拼音缩写等,单词首字母大写。
一般每一个表都有一个ID字段作为主键,统一以“ID”作后缀。
字段名中单词间不用任何分隔符。
举例:
UserID,UserName,Address等。
字段命名时应尽量统一,用同样的缩写方式和命名方式,不要出现在不同的表中同样的字段名表达不同的含义,甚至字段类型不同。
--视图命名规范:
格式:
V_表A_表B_表C,V表示视图。
这个视图由几个表产生就用”_”连接几个表的名,如果表过多可以将表名适当简化,必须列出所有表名。
--存储过程命名规范:
SP_表名_存储过程名(缩写),比如SP_User_Del,SP_User_AddData。
--函数命名规范:
FN_表名_函数名(缩写)。
--触发器命名规范:
TR_表名_[插入加I,修改加U,删除加D];
操作前触发器(INSTEAD OF):
TR_表名_OF[插入加I,修改加U,删除加D]。
--主键、外键关系、索引命名规范:
主键:
PK_表名(缩写);
外键关系:
FK_主表(缩写)_从表(缩写);
索引:
IDX_列名(缩写),复合索引列名间用_隔开。
--SQL语句编写规范:
关键字大写,其他书写按上述命名规范。
在SQL语句比较长时,可以一个关键字新起一行。
比如:
SELECTUserID,UserName
FROMUser
WHEREUserID=‘tom’;
CREATETABLECyber_Lab_Info(...);
CREATEINDEXIDX_UserIDON...;
--术语与缩写解释:
术语、缩写
解释、备注
1.PlatF
平台,PlatForm;平台管理系统表名前缀,数据库用户名
2.CardM
卡管理,CardManage;卡管理系统表名前缀,数据库用户名
3.Finan
财务,Finance;财务清算系统表名前缀,数据库用户名
4.Rechg
充值,Recharge;充值管理系统表名前缀,数据库用户名
5.Cyber
计算机的,Cyber;机房计费管理系统表名前缀,数据库用户名
6.Consu
消费,Consume;综合消费管理系统表名前缀,数据库用户名
7.Query
查询,Query;查询服务系统表名前缀,数据库用户名
8.Monit
监控,Monitor;监控系统表名前缀,数据库用户名
9.Attend
参加,Attend;考勤系统表名前缀,数据库用户名
10.Check
门禁,Check;门禁系统表名前缀,数据库用户名
以上术语前编号为各子系统编号,请在“4.表结构”一节中按此编号,参见下例。
WS
工作站,Workstation
Lab
实验室,Laboratory
History
历史,History
Org
单位(组织),Organization
Dept
部门,Department
Level
级别,Level
Major
专业,Major
Class
班级,Class
Type
类型,Type
Prior
权限,Prior
System
子系统,System
Num
编号,Number
Desc
描述,Descriptio
Reg
注册,Register
Config
配置,Config
FromTime
起始时间
ToTime
终止时间
ExpireTime
过期时间
ReleaseTime
发卡时间
Map
字典、映射
UserID
用户ID
UserNum
用户逻辑ID,如学号、教师编号、工资号等
RecordID
记录编号
CardID
卡号
CardSerialNum
卡序列号
CardType
卡类型
3.数据库修改记录
修改时间
修改人
修改内容
2004.7.11
陈晓旭
初步设计、整理库结构;UserID(Char(11)),CardID(Char(6))
4.表结构
一卡通系统采用Oracle数据库,在定义表结构时注意Oracle与其他DBMS在数据类型上的不同。
4.0公共用户表(UserPWDSeed)
CreateTableUserPWDSeed(
UserNamevarchar2(64)PrimaryKey,
PwdSeedvarchar2(16)notnull
);
CreatePublicSynonymUserPWDSeedForLibcard.UserPWDSeed;
CreateUserdummyuserIdentifiedBydummypwd
DefaultTableSpaceUsersAccountUnlock;
GrantConnectTodummyuser;
GrantSelectofUserPWDSeedTodummyuser;
4.1平台管理系统(PlatF)
基础系列信息表
/***************
将部门、专业、班级、子系统、工作站临时表删除,修改管理员表、子系统表、工作站表,并添加管理员子系统关系表、子系统工作站关系表、管理员工作站关系表。
2004-07-25
**************/
1、单位信息表(LIBCARD.PlatF_Org_Info)
CREATETABLELIBCARD.PlatF_Org_Info(
OrgIDnumber(6)notnull,/*单位ID*/
OrgNamevarchar2(40)notnull,/*单位名称*/
OrgSymbolblobnull,/*单位标志*/
CONSTRAINTPK_OrgInfoPRIMARYKEY(OrgID)/*定义主键*/
);
2、单位地址信息表(LIBCARD.PlatF_Org_Addr)
CREATETABLELIBCARD.PlatF_Org_Addr(
AddrIDnumber(6)notnull,/*单位地址ID*/
Addressvarchar2(100)null,/*单位地址*/
Zipcodechar(6)null,/*邮政编码*/
OrgPhonevarchar2(100)null,/*单位电话*/
CONSTRAINTPK_OrgAddrPRIMARYKEY(AddrID)/*定义主键*/
);
3、建筑物信息表(LIBCARD.PlatF_Buil_Info)
CREATETABLELIBCARD.PlatF_Buil_Info(
BuilIDnumber(8)notnull,/*建筑物ID*/
BuilNamevarchar2(20)null,/*建筑物名称*/
AddrIDnumber
(1)notnull,/*单位地址ID*/
CONSTRAINTPK_BuilInfoPRIMARYKEY(BuilID),/*定义主键*/
/*BuilID字段与“单位地址信息表”中的“单位地址ID”关联之外键*/
CONSTRAINTFK_BuilInfo_AddrFOREIGNKEY(AddrID)REFERENCESLIBCARD.PlatF_Org_Addr(AddrID)
);
4、部门信息表(LIBCARD.PlatF_Dept_Info)
CREATETABLELIBCARD.PlatF_Dept_Info(
DeptIDnumber(8)notnull,/*部门ID*/
DeptNamevarchar2(40)notnull,/*部门名称*/
DeptNumbernumber(4)null,/*部门人数*/
FromDatedatenull,/*起始时间*/
ToDatedatenull,/*终止时间*/
IsStudentNumber
(1)notnull,/*是否下属学生*/
IsteacherNumber
(1)notnull,/*是否下属教工*/
DeptDescvarchar2(200)null,/*部门描述*/
CONSTRAINTPK_DeptInfoPRIMARYKEY(DeptID)/*定义主键*/
);
/***********************************已删除该表
5、部门级别表(根据学校本身情况,可暂设为3级)(LIBCARD.PlatF_Dept_Level)
CREATETABLELIBCARD.PlatF_Dept_Level(
LevelIDnumber
(1)notnull,/*级别ID*/
LevelDescvarchar2(50)notnull,/*级别描述*/
CONSTRAINTPK_DeptLevelPRIMARYKEY(LevelID)/*定义主键*/
);**********************/
6、部门部门关系表(LIBCARD.PlatF_R_Dept)
CREATETABLELIBCARD.PlatF_R_Dept(
FromDeptIDnumber(8)notnull,/*上级部门ID*/
ToDeptIDnumber(8)notnull,/*下级部门ID*/
FromDatedatenotnull,/*起始时间*/
ToDatedatenull,/*终止时间*/
CONSTRAINTPK_RDeptPRIMARYKEY(FromDeptID,ToDeptID,FromDate)/*定义主键*/
);
7、专业信息表(LIBCARD.PlatF_Major_Info)
CREATETABLELIBCARD.PlatF_Major_Info(
MajorIDnumber(8)notnull,/*专业ID*/
MajorNamevarchar2(50)notnull,/*专业名称*/
MajorDescvarchar2(200)null,/*专业描述*/
FromDatedatenull,/*起始时间*/
ToDatedatenull,/*终止时间*/
CONSTRAINTPK_MajorInfoPRIMARYKEY(MajorID)/*定义主键*/
);
8、部门专业关系表(LIBCARD.PlatF_R_Dept_Major)
CREATETABLELIBCARD.PlatF_R_Dept_Major(
DeptIDnumber(8)notnull,/*部门ID*/
MajorIDnumber(8)notnull,/*专业ID*/
FromDatedatenotnull,/*起始时间*/
ToDatedatenull,/*终止时间*/
CONSTRAINTPK_RDeptMajorPRIMARYKEY(DeptID,MajorID,FromDate),/*定义主键*/
/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/
CONSTRAINTFK_RDeptMajor_DeptFOREIGNKEY(DeptID)REFERENCESLIBCARD.PlatF_Dept_Info(DeptID),
/*MajorID字段与“专业信息表”中的“专业ID”关联之外键*/
CONSTRAINTFK_RDeptMajor_MajorFOREIGNKEY(MajorID)REFERENCESLIBCARD.PlatF_Major_Info(MajorID)
);
9、班级信息表(LIBCARD.PlatF_Class_Info)
CREATETABLELIBCARD.PlatF_Class_Info(
ClassIDnumber(12)notnull,/*班级ID*/
ClassNamevarchar2(20)notnull,/*班级名称*/
ClassDescvarchar2(100)null,/*班级描述*/
FromDatedatenull,/*起始时间*/
ToDatedatenull,/*终止时间*/
Gradevarchar2(6)null,/*年级*/
CONSTRAINTPK_ClassInfoPRIMARYKEY(ClassID)/*定义主键*/
);
10、部门班级关系表(LIBCARD.PlatF_R_Dept_Class)
CREATETABLELIBCARD.PlatF_R_Dept_Class(
DeptIDnumber(8)notnull,/*所属最低级部门ID*/
ClassIDnumber(12)notnull,/*班级ID*/
CONSTRAINTPK_RDeptClassPRIMARYKEY(DeptID,ClassID),/*定义主键*/
/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/
CONSTRAINTFK_RDeptClass_DeptFOREIGNKEY(DeptID)REFERENCESLIBCARD.PlatF_Dept_Info(DeptID),
/*ClassID字段与“班级信息表”中的“班级ID”关联之外键*/
CONSTRAINTFK_RDeptClass_ClassFOREIGNKEY(ClassID)REFERENCESLIBCARD.PlatF_Class_Info(ClassID)
);
用户信息系列表
11、用户表(LIBCARD.PlatF_User)
CREATETABLELIBCARD.PlatF_User(
UserIDchar(11)notnull,/*用户ID,由9位组成,1用户类别,2-3一级机构,4-5年份,6-9顺序号
用户类别:
0中专,1大专,2本科,3硕士,4博士,5教工,6管理员,9临时用户;
*/
UserClasschar
(1)notnull,/*用户身份
1学生,2教工,3管理员,4临时用户
*/
CONSTRAINTPK_UserPRIMARYKEY(UserID)/*定义主键*/
);
用户类别标识表(libcard.PlatF.UserClass)
CREATETABLELIBCARD.PlatF_UserClass(
ClassIDchar
(1)notnull,/*用户类别ID*/
ClassNamevarchar2(20)notnull,/*用户类别名称*/
IsUsednumber
(1)notnull,/*是否使用*/
CONSTRAINTPK_UserClassPRIMARYKEY(ClassID)/*定义主键*/
);
一级机构表(LIBCARD.PlatF_FirstDept)
CREATETABLELIBCARD.PlatF_FirstDept(
DeptIDnumber(8)notnull,/*一级机构部门ID*/
DeptSignchar
(2)notnull,/*机构标识*/
/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/
CONSTRAINTFK_FirstDept_DeptFOREIGNKEY(DeptID)REFERENCESLIBCARD.PlatF_Dept_Info(DeptID)
);
12、学生基本信息表(LIBCARD.PlatF_SUser_Info)
CREATETABLELIBCARD.PlatF_SUser_Info(
UserIDchar(11)notnull,/*用户ID*/
Namevarchar2(30)notnull,/*姓名*/
Sexvarchar2
(2)null,/*性别*/
UserNumbervarchar2(20)null,/*学号*/
/*
Gradevarchar2(6)null,/*年级*/
*/
UserTypechar
(1)null,/*类别*/
/*
DeptIDnumber(8)notnull,/*所属最低级部门ID*/
*/
MajorIDnumber(8)notnull,/*专业ID*/
ClassIDnumber(12)notnull,/*班级ID*/
EnroDatevarchar2(10)null,/*入学时间*/
Hometownvarchar2(20)null,/*籍贯*/
Nationvarchar2(10)null,/*民族*/
BirthDatechar(10)null,/*出生年月*/
IDcardchar(18)null,/*身份证编号*/
PolitStatevarchar2(12)null,/*政治面貌*/
FaimlyAddrvarchar2(100)null,/*家庭地址*/
ZipCodechar(6)null,/*家庭邮政编码*/
ContWayvarchar2(40)null,/*联系方式*/
PersPhotolongrawnull,/*个人照片*/
BookBarCodevarchar2(20)null,/*图书条码*/
SignNumber
(1)null,/*操作标志*/
CONSTRAINTPK_SUserInfoPRIMARYKEY(UserID),/*定义主键*/
/*UserID字段与“用户表”中的“用户ID”关联之外键*/
CONSTRAINTFK_SUserInfo_UserFOREIGNKEY(UserID)REFERENCESLIBCARD.PlatF_User(UserID),
/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/
CONSTRAINTFK_SUserInfo_DeptFOREIGNKEY(DeptID)REFERENCESLIBCARD.PlatF_Dept_Info(DeptID),
/*MajorID字段与“专业信息表”中的“专业ID”关联之外键*/
CONSTRAINTFK_SUserInfo_MajorFOREIGNKEY(MajorID)REFERENCESLIBCARD.PlatF_Major_Info(MajorID),
/*ClassID字段与“班级信息表”中的“班级ID”关联之外键*/
CONSTRAINTFK_SUserInfo_ClassFOREIGNKEY(ClassID)REFERENCESLIBCARD.PlatF_Class_Info(ClassID)
);
13、教工信息表(LIBCARD.PlatF_TUser_Info)
CREATETABLELIBCARD.PlatF_TUser_Info(
UserIDchar(11)notnull,/*用户ID*/
Namevarchar2(30)notnull,/*姓名*/
Sexchar
(2)null,/*性别*/
UserNumbervarchar2(20)null,/*教工号*/
Headshipvarchar2(20)null,/*职务*/
Titlevarchar2(20)null,/*职称*/
EnroDatevarchar2(10)null,/*入校时间*/
Hometownvarchar2(20)null,/*籍贯*/
Nationvarchar2(10)null,/*民族*/
BirthDatechar(10)null,/*出生年月*/
IDcardchar(18)null,/*身份证编号*/
PolitStatevarchar2(12)null,/*政治面貌*/
FaimlyAddrvarchar2(100)null,/*家庭地址*/
DeptIDnumber(8)notnull,/*所属最低级部门ID*/
BuilIDnumber(8)notnull,/*建筑物ID*/
RoomNumbervarchar2(10)null,/*房间号*/
ContWayvarchar2(40)null,/*联系方式*/
Emailvarchar2(20)null,/*电子邮件*/
PersPhotolongrawnull,/*个人照片*/
BookBarCodevarchar2(20)null,/*图书条码*/
SignNumber
(1)null,/*操作标志*/
CONSTRAINTPK_TUserInfoPRIMARYKEY(UserID)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一卡通 数据库 结构