一卡通数据库表结构

一卡通数据库表结构
一卡通数据库表结构

一卡通数据库表结构

1. 数据库结构文档书写规范

正文字体,包括所有中文字符和英文字符,统一采用“宋体五号字”(便于对齐)。中文表名、视图名、存储过程名、函数名、触发器名作标题,格式采用标题四(便于在文档结构图中查找),中文表名后跟括号和实际英文表名(视图名、存储过程名等同表名)。drop table、create table、create index等语句顶头书写(无缩进),表中每个字段占一行,行前空出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语句比较长时,可以一个关键字新起一行。比如:

SELECT UserID, UserName

FROM User

WHERE UserID = ‘tom’;

CREATE TABLE Cyber_Lab_Info(...);

CREATE INDEX IDX_UserID ON ...;

--术语与缩写解释:

3. 数据库修改记录

4. 表结构

一卡通系统采用Oracle数据库,在定义表结构时注意Oracle与其他DBMS在数据类型上的不同。

4.0 公共用户表(UserPWDSeed)

Create Table UserPWDSeed(

UserName varchar2(64) Primary Key,

PwdSeed varchar2(16) not null

);

Create Public Synonym UserPWDSeed For https://www.360docs.net/doc/0f8502985.html,erPWDSeed;

Create User dummyuser Identified By dummypwd

Default TableSpace Users Account Unlock;

Grant Connect To dummyuser;

Grant Select of UserPWDSeed To dummyuser;

4.1 平台管理系统(PlatF)

基础系列信息表

/***************

将部门、专业、班级、子系统、工作站临时表删除,修改管理员表、子系统表、工作站表,并添加管理员子系统关系表、子系统工作站关系表、管理员工作站关系表。2004-07-25

**************/

1、单位信息表(LIBCARD.PlatF_Org_Info)

CREATE TABLE LIBCARD.PlatF_Org_Info(

OrgID number(6) not null, /*单位ID*/

OrgName varchar2(40) not null, /*单位名称*/

OrgSymbol blob null, /*单位标志*/

CONSTRAINT PK_OrgInfo PRIMARY KEY (OrgID) /*定义主键*/

);

2、单位地址信息表(LIBCARD.PlatF_Org_Addr)

CREATE TABLE LIBCARD.PlatF_Org_Addr(

AddrID number(6) not null, /*单位地址ID*/

Address varchar2(100) null, /*单位地址*/

Zipcode char(6) null, /*邮政编码*/

OrgPhone varchar2(100) null, /*单位电话*/

CONSTRAINT PK_OrgAddr PRIMARY KEY (AddrID) /*定义主键*/

);

3、建筑物信息表(LIBCARD.PlatF_Buil_Info)

CREATE TABLE LIBCARD.PlatF_Buil_Info(

BuilID number(8) not null, /*建筑物ID*/

BuilName varchar2(20) null, /*建筑物名称*/

AddrID number(1) not null,/* 单位地址ID*/

CONSTRAINT PK_BuilInfo PRIMARY KEY (BuilID), /*定义主键*/

/*BuilID字段与“单位地址信息表”中的“单位地址ID”关联之外键*/

CONSTRAINT FK_BuilInfo_Addr FOREIGN KEY (AddrID) REFERENCES LIBCARD.PlatF_Org_Addr(AddrID)

);

4、部门信息表(LIBCARD.PlatF_Dept_Info)

CREATE TABLE LIBCARD.PlatF_Dept_Info(

DeptID number(8) not null, /*部门ID*/

DeptName varchar2(40) not null, /*部门名称*/

DeptNumber number(4) null, /* 部门人数*/

FromDate date null, /*起始时间*/

ToDate date null, /*终止时间*/

IsStudent Number(1) not null, /*是否下属学生*/

Isteacher Number(1) not null, /*是否下属教工*/

DeptDesc varchar2(200) null, /*部门描述*/

CONSTRAINT PK_DeptInfo PRIMARY KEY (DeptID) /*定义主键*/

);

/***********************************已删除该表

5、部门级别表(根据学校本身情况,可暂设为3级)(LIBCARD.PlatF_Dept_Level)CREATE TABLE LIBCARD.PlatF_Dept_Level(

LevelID number(1) not null, /*级别ID*/

LevelDesc varchar2(50) not null, /*级别描述*/

CONSTRAINT PK_DeptLevel PRIMARY KEY (LevelID) /*定义主键*/

);**********************/

6、部门部门关系表(LIBCARD.PlatF_R_Dept)

CREATE TABLE LIBCARD.PlatF_R_Dept (

FromDeptID number(8) not null, /*上级部门ID*/

ToDeptID number(8) not null, /*下级部门ID*/ FromDate date not null, /*起始时间*/

ToDate date null, /*终止时间*/

CONSTRAINT PK_RDept PRIMARY KEY (FromDeptID,ToDeptID,FromDate) /*定义主键*/ );

7、专业信息表(LIBCARD.PlatF_Major_Info)

CREATE TABLE LIBCARD.PlatF_Major_Info(

MajorID number(8) not null, /*专业ID*/

MajorName varchar2(50) not null, /*专业名称*/

MajorDesc varchar2(200) null, /*专业描述*/

FromDate date null, /*起始时间*/

ToDate date null, /*终止时间*/

CONSTRAINT PK_MajorInfo PRIMARY KEY (MajorID) /*定义主键*/

);

8、部门专业关系表(LIBCARD.PlatF_R_Dept_Major)

CREATE TABLE LIBCARD.PlatF_R_Dept_Major (

DeptID number(8) not null, /*部门ID*/

MajorID number(8) not null, /*专业ID*/

FromDate date not null, /*起始时间*/

ToDate date null, /*终止时间*/

CONSTRAINT PK_RDeptMajor PRIMARY KEY (DeptID,MajorID,FromDate), /*定义主键*/ /*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_RDeptMajor_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*MajorID字段与“专业信息表”中的“专业ID”关联之外键*/

CONSTRAINT FK_RDeptMajor_Major FOREIGN KEY (MajorID) REFERENCES LIBCARD.PlatF_Major_Info (MajorID)

);

9、班级信息表(LIBCARD.PlatF_Class_Info)

CREATE TABLE LIBCARD.PlatF_Class_Info(

ClassID number(12) not null, /*班级ID*/

ClassName varchar2(20) not null, /*班级名称*/

ClassDesc varchar2(100) null, /*班级描述*/

FromDate date null, /*起始时间*/

ToDate date null, /*终止时间*/

Grade varchar2(6) null, /*年级*/

CONSTRAINT PK_ClassInfo PRIMARY KEY (ClassID) /*定义主键*/

);

10、部门班级关系表(LIBCARD.PlatF_R_Dept_Class)

CREATE TABLE LIBCARD.PlatF_R_Dept_Class (

DeptID number(8) not null, /*所属最低级部门ID*/

ClassID number(12) not null, /*班级ID*/

CONSTRAINT PK_RDeptClass PRIMARY KEY (DeptID,ClassID), /*定义主键*/

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_RDeptClass_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*ClassID字段与“班级信息表”中的“班级ID”关联之外键*/

CONSTRAINT FK_RDeptClass_Class FOREIGN KEY (ClassID) REFERENCES LIBCARD.PlatF_Class_Info (ClassID)

);

用户信息系列表

11、用户表(LIBCARD.PlatF_User)

CREATE TABLE LIBCARD.PlatF_User(

UserID char(11) not null, /*用户ID,由9位组成,1用户类别,2-3一级机构,4-5年份,6-9顺序号

用户类别:0 中专,1 大专,2 本科,3 硕士,4 博士,5 教工,6 管理员,9 临时用户;

*/

UserClass char(1) not null, /*用户身份

1 学生,

2 教工,

3 管理员,

4 临时用户

*/

CONSTRAINT PK_User PRIMARY KEY (UserID) /*定义主键*/

);

用户类别标识表(https://www.360docs.net/doc/0f8502985.html,erClass)

CREATE TABLE LIBCARD.PlatF_UserClass(

ClassID char(1) not null, /*用户类别ID */

ClassName varchar2(20) not null, /*用户类别名称*/

IsUsed number(1) not null, /*是否使用*/

CONSTRAINT PK_UserClass PRIMARY KEY (ClassID) /*定义主键*/

);

一级机构表(LIBCARD.PlatF_FirstDept)

CREATE TABLE LIBCARD.PlatF_FirstDept(

DeptID number(8) not null, /*一级机构部门ID */ DeptSign char(2) not null, /*机构标识*/

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_FirstDept_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID)

);

12、学生基本信息表(LIBCARD.PlatF_SUser_Info)

CREATE TABLE LIBCARD.PlatF_SUser_Info(

UserID char(11) not null, /*用户ID*/

Name varchar2(30) not null, /*姓名*/

Sex varchar2(2) null, /*性别*/

UserNumber varchar2(20) null, /*学号*/

/*

Grade varchar2(6) null, /*年级*/

*/

UserType char(1) null, /*类别*/

/*

DeptID number(8) not null, /*所属最低级部门ID */

*/

MajorID number(8) not null, /*专业ID*/

ClassID number(12) not null, /*班级ID*/

EnroDate varchar2(10) null, /*入学时间*/

Hometown varchar2(20) null, /*籍贯*/

Nation varchar2(10) null, /*民族*/

BirthDate char(10) null, /*出生年月*/

IDcard char(18) null, /*身份证编号*/

PolitState varchar2(12) null, /*政治面貌*/

FaimlyAddr varchar2(100) null, /*家庭地址*/

ZipCode char(6) null, /*家庭邮政编码*/

ContWay varchar2(40) null, /*联系方式*/

PersPhoto long raw null, /*个人照片*/

BookBarCode varchar2(20) null, /*图书条码*/

Sign Number(1) null, /*操作标志*/

CONSTRAINT PK_SUserInfo PRIMARY KEY (UserID), /*定义主键*/

/*UserID字段与“用户表”中的“用户ID”关联之外键*/

CONSTRAINT FK_SUserInfo_User FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_User (UserID),

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_SUserInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*MajorID字段与“专业信息表”中的“专业ID”关联之外键*/

CONSTRAINT FK_SUserInfo_Major FOREIGN KEY (MajorID) REFERENCES LIBCARD.PlatF_Major_Info (MajorID),

/*ClassID字段与“班级信息表”中的“班级ID”关联之外键*/

CONSTRAINT FK_SUserInfo_Class FOREIGN KEY (ClassID) REFERENCES LIBCARD.PlatF_Class_Info (ClassID)

);

13、教工信息表(LIBCARD.PlatF_TUser_Info)

CREATE TABLE LIBCARD.PlatF_TUser_Info(

UserID char(11) not null, /*用户ID*/

Name varchar2(30) not null, /*姓名*/

Sex char(2) null, /*性别*/

UserNumber varchar2(20) null, /*教工号*/

Headship varchar2(20) null, /*职务*/

Title varchar2(20) null, /*职称*/

EnroDate varchar2(10) null, /*入校时间*/

Hometown varchar2(20) null, /*籍贯*/

Nation varchar2(10) null, /*民族*/

BirthDate char(10) null, /*出生年月*/

IDcard char(18) null, /*身份证编号*/

PolitState varchar2(12) null, /*政治面貌*/

FaimlyAddr varchar2(100) null, /*家庭地址*/

DeptID number(8) not null, /*所属最低级部门ID */

BuilID number(8) not null, /*建筑物ID */

RoomNumber varchar2(10) null, /*房间号*/

ContWay varchar2(40) null, /*联系方式*/

Email varchar2(20) null, /*电子邮件*/

PersPhoto long raw null, /*个人照片*/

BookBarCode varchar2(20) null, /*图书条码*/

Sign Number(1) null, /*操作标志*/

CONSTRAINT PK_TUserInfo PRIMARY KEY (UserID), /*定义主键*/

/*UserID字段与“用户表”中的“用户ID”关联之外键*/

CONSTRAINT FK_TUserInfo_User FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_User (UserID),

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_TUserInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*BuilID字段与“建筑物信息表”中的“建筑物ID”关联之外键*/

CONSTRAINT FK_TUserInfo_Buil FOREIGN KEY (BuilID) REFERENCES LIBCARD.PlatF_Buil_Info (BuilID)

);

14、部门教工关系(LIBCARD.PlatF_R_Dept_TUser)

CREATE TABLE LIBCARD.PlatF_R_Dept_TUser (

DeptID number(8) not null, /*部门ID*/

UserID char(11) not null, /*用户ID*/

FromDate date not null, /*起始时间*/

ToDate date null, /*终止时间*/

CONSTRAINT PK_RDeptTUser PRIMARY KEY (DeptID,UserID,FromDate), /*定义主键*/ /*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_RDeptTUser_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*UserID字段与“教工信息表”中的“用户ID”关联之外键*/

CONSTRAINT FK_RDeptTUser_TUser FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_TUser_Info (UserID)

);

15、管理员信息表(LIBCARD.PlatF_Admin_Info)

CREATE TABLE LIBCARD.PlatF_Admin_Info(

UserID char(11) not null, /*用户ID*/

UserName varchar2(20) not null, /*用户名*/

PassWord varchar2(20) null, /*密码*/

Name varchar2(30) not null, /*姓名*/

/*

SystemID number(8) not null, /*子系统ID */

WSID number(8) not null, /*工作站ID */

RightID number(1) not null, /*权限标志ID */

*/

DeptID number(8) not null, /*所属最低级部门ID */

BuilID number(8) not null, /*建筑物ID */

RoomNumber varchar2(10) null, /*房间号*/

ContWay varchar2(40) null, /*联系方式*/

Email varchar2(20) null, /*电子邮件*/

Sign Number(1) null, /*操作标志*/

CONSTRAINT PK_AdminInfo PRIMARY KEY (UserID), /*定义主键*/

/*UserID字段与“用户表”中的“用户ID”关联之外键*/

CONSTRAINT FK_AdminInfo_User FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_User (UserID),

/***********************

/*SystemID字段与“子系统信息表”中的“子系统ID”关联之外键*/

CONSTRAINT FK_AdminInfo_System FOREIGN KEY (SystemID) REFERENCES LIBCARD.PlatF_System_Info (SystemID),

/*WSID字段与“工作站信息表”中的“工作站ID”关联之外键*/

CONSTRAINT FK_AdminInfo_WS FOREIGN KEY (WSID) REFERENCES LIBCARD.PlatF_WS_Info (WSID),

/*RightID字段与“权限标志表”中的“权限标志ID”关联之外键*/

/*******CONSTRAINT FK_AdminInfo_Right FOREIGN KEY (RightID) REFERENCES LIBCARD.PlatF_Right_Info (RightID),**********/

**************************/

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_AdminInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*BuilID字段与“建筑物信息表”中的“建筑物ID”关联之外键*/

CONSTRAINT FK_AdminInfo_Buil FOREIGN KEY (BuilID) REFERENCES LIBCARD.PlatF_Buil_Info (BuilID)

);

权限系列表

16、权限标志表(LIBCARD.PlatF_Right_Info)

CREATE TABLE LIBCARD.PlatF_Right_Info (

RightID number(1) not null, /*权限标志ID*/

SystemID char(1) not null, /*子系统ID*/

RightDesc varchar2(100) null, /*权限描述*/

CONSTRAINT PK_RightInfo PRIMARY KEY (RightID,SystemID), /*定义主键*/

/*SystemID字段与“子系统信息表”中的“子系统ID”关联之外键*/

CONSTRAINT FK_RightInfo_System FOREIGN KEY (SystemID) REFERENCES LIBCARD.PlatF_System_Info (SystemID)

);

子系统系列表

17、子系统信息表(LIBCARD.PlatF_System_Info)

CREATE TABLE LIBCARD.PlatF_System_Info (

SystemID char(1) not null, /*子系统ID*/

SystemName varchar2(30) null, /*子系统名称*/

CONSTRAINT PK_SystemInfo PRIMARY KEY (SystemID) /*定义主键*/

);

18、工作站信息表(LIBCARD.PlatF_WS_Info)

CREATE TABLE LIBCARD.PlatF_WS_Info (

WSID number(8) not null, /*工作站ID*/

IPAddr varchar2(15) not null, /*IP地址*/

MACAddr varchar2(30) not null, /*MAC地址*/

RegDesc varchar2(50) null, /*注册信息*/

ConfigDesc varchar2(100) null, /*配置描述*/

BuilID number(8) not null, /*建筑物ID*/

RoomNumber varchar2(10) null, /*房间号*/

ContWay varchar2(40) null, /*联系方式*/

CONSTRAINT PK_WSInfo PRIMARY KEY (WSID), /*定义主键*/

/*BuilID字段与“建筑物信息表”中的“建筑物ID”关联之外键*/

CONSTRAINT FK_WSInfo_Buil FOREIGN KEY (BuilID) REFERENCES LIBCARD.PlatF_Buil_Info (BuilID)

/**********************

/*SystemID字段与“子系统信息表”中的“子系统ID”关联之外键*/

CONSTRAINT FK_WSInfo_System FOREIGN KEY (SystemID) REFERENCES LIBCARD.PlatF_System_Info (SystemID)

***************/

);

管理员子系统关系表(libcard.PlatF_R_Admin_System)

CREATE TABLE LIBCARD.PlatF_R_Admin_System (

UserID char(11) not null, /*管理员ID*/

SystemID char(1) not null, /*子系统ID*/

RightID number(1) not null, /*权限标志ID*/

CONSTRAINT PK_RAdminSystem PRIMARY KEY (UserID,SystemID), /*定义主键*/

/*SystemID字段与“子系统信息表”中的“子系统ID”关联之外键*/

CONSTRAINT FK_RAdminSystem_System FOREIGN KEY (SystemID) REFERENCES LIBCARD.PlatF_System_Info (SystemID),

/*UserID字段与“管理员信息表”中的“管理员ID”关联之外键*/

CONSTRAINT FK_RAdminSystem_Admin FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_Admin_Info (UserID)

);

管理员工作站关系表(libcard.PlatF_R_Admin_WS)

CREATE TABLE LIBCARD.PlatF_R_Admin_WS (

UserID char(11) not null, /*管理员ID*/

WSID number(8) not null, /*工作站ID*/

CONSTRAINT PK_RAdminWS PRIMARY KEY (UserID,WSID), /*定义主键*/

/*WSID字段与“工作站信息表”中的“工作站ID”关联之外键*/

CONSTRAINT FK_RAdminWS_WS FOREIGN KEY (WSID) REFERENCES LIBCARD.PlatF_WS_Info (WSID),

/*UserID字段与“管理员信息表”中的“管理员ID”关联之外键*/

CONSTRAINT FK_RAdminWS_Admin FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_Admin_Info (UserID)

);

子系统工作站关系表(libcard.PlatF_R_System_WS)

CREATE TABLE LIBCARD.PlatF_R_System_WS (

SystemID char(1) not null, /*子系统ID*/

WSID number(8) not null, /*工作站ID*/

CONSTRAINT PK_RSystemWS PRIMARY KEY (SystemID,WSID), /*定义主键*/

/*SystemID字段与“子系统信息表”中的“子系统ID”关联之外键*/

CONSTRAINT FK_RSystemWS_System FOREIGN KEY (SystemID) REFERENCES LIBCARD.PlatF_System_Info (SystemID),

/*WSID字段与“工作站信息表”中的“工作站ID”关联之外键*/

CONSTRAINT FK_RSystemWS_WS FOREIGN KEY (WSID) REFERENCES LIBCARD.PlatF_WS_Info (WSID)

);

临时系列表

该系列表的表结构与其正式表结构基本相同,但ID字段不是主键,其中操作标志字段为空表示新增申请,为1表示修改申请,为0表示删除申请。

/*********************************

20、临时部门信息表(LIBCARD.PlatF_Temp_Dept_Info)

CREATE TABLE LIBCARD.PlatF_Temp_Dept_Info(

DeptID number(8) null, /*部门ID*/

DeptName varchar2(40) not null, /*部门名称*/

DeptNumber number(4) null, /* 部门人数*/

FromDate date null, /*起始时间*/

ToDate date null, /*终止时间*/

IsStudent Number(1) not null, /*是否下属学生*/

Isteacher Number(1) not null, /*是否下属教工*/

Sign Number(1) null, /*操作标志*/

DeptDesc varchar2(200) null /*部门描述*/

);

21、临时专业信息表(LIBCARD.PlatF_Temp_Major_Info)

CREATE TABLE LIBCARD.PlatF_Temp_Major_Info(

MajorID number(8) null, /*专业ID*/

MajorName varchar2(50) not null, /*专业名称*/ MajorDesc varchar2(200) null, /*专业描述*/

FromDate date null, /*起始时间*/

ToDate date null, /*终止时间*/

Sign Number(1) null /*操作标志*/

);

22、临时班级信息表(LIBCARD.PlatF_Temp_Class_Info)

CREATE TABLE LIBCARD.PlatF_Temp_Class_Info(

ClassID number(12) null, /*班级ID*/

ClassName varchar2(20) not null, /*班级名称*/

ClassDesc varchar2(100) null, /*班级描述*/

FromDate date null, /*起始时间*/

ToDate date null, /*终止时间*/

Sign Number(1) null /*操作标志*/

);

*************************************/

23、临时学生信息表(LIBCARD.PlatF_Temp_SUser_Info)

CREATE TABLE LIBCARD.PlatF_Temp_SUser_Info(

UserID char(11) null, /*用户ID*/

Name varchar2(30) not null, /*姓名*/ Sex varchar2(2) null, /*性别*/

UserNumber varchar2(20) null, /*学号*/

Grade varchar2(6) null, /*年级*/

UserType char(1) null, /*类别*/

DeptID number(8) not null, /*所属最低级部门ID */

MajorID number(8) not null, /*专业ID*/

ClassID number(12) not null, /*班级ID*/

EnroDate varchar2(10) null, /*入学时间*/

Hometown varchar2(20) null, /*籍贯*/

Nation varchar2(10) null, /*民族*/

BirthDate char(10) null, /*出生年月*/

IDcard char(18) null, /*身份证编号*/

PolitState varchar2(12) null, /*政治面貌*/

FaimlyAddr varchar2(100) null, /*家庭地址*/

ZipCode char(6) null, /*家庭邮政编码*/

ContWay varchar2(40) null, /*联系方式*/

PersPhoto long raw null, /*个人照片*/

BookBarCode varchar2(20) null, /*图书条码*/

Sign Number(1) null, /*操作标志*/

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_Temp_SUserInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*MajorID字段与“专业信息表”中的“专业ID”关联之外键*/

CONSTRAINT FK_Temp_SUserInfo_Major FOREIGN KEY (MajorID) REFERENCES LIBCARD.PlatF_Major_Info (MajorID),

/*ClassID字段与“班级信息表”中的“班级ID”关联之外键*/

CONSTRAINT FK_Temp_SUserInfo_Class FOREIGN KEY (ClassID) REFERENCES LIBCARD.PlatF_Class_Info (ClassID)

);

24、临时教工信息表(LIBCARD.PlatF_Temp_TUser_Info)

CREATE TABLE LIBCARD.PlatF_Temp_TUser_Info(

UserID char(11) null, /*用户ID*/

Name varchar2(30) not null, /*姓名*/

Sex char(2) null, /*性别*/

UserNumber varchar2(20) null, /*教工号*/

Headship varchar2(20) null, /*职务*/

Title varchar2(20) null, /*职称*/

EnroDate varchar2(10) null, /*入校时间*/

Hometown varchar2(20) null, /*籍贯*/

Nation varchar2(10) null, /*民族*/

BirthDate char(10) null, /*出生年月*/

IDcard char(18) null, /*身份证编号*/

PolitState varchar2(12) null, /*政治面貌*/

FaimlyAddr varchar2(100) null, /*家庭地址*/

DeptID number(8) not null, /*所属最低级部门ID */

BuilID number(8) not null, /*建筑物ID */

RoomNumber varchar2(10) null, /*房间号*/

ContWay varchar2(40) null, /*联系方式*/

Email varchar2(20) null, /*电子邮件*/

PersPhoto long raw null, /*个人照片*/

BookBarCode varchar2(20) null, /*图书条码*/

Sign Number(1) null, /*操作标志*/

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_Temp_TUserInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*BuilID字段与“建筑物信息表”中的“建筑物ID”关联之外键*/

CONSTRAINT FK_Temp_TUserInfo_Buil FOREIGN KEY (BuilID) REFERENCES LIBCARD.PlatF_Buil_Info (BuilID)

);

25、临时管理员信息表(LIBCARD.PlatF_Temp_Admin_Info)

CREATE TABLE LIBCARD.PlatF_Temp_Admin_Info(

UserID char(11) null, /*用户ID*/

UserName varchar2(20) not null, /*用户名*/

PassWord varchar2(20) null, /*密码*/

Name varchar2(30) not null, /*姓名*/

DeptID number(8) not null, /*所属最低级部门ID */

BuilID number(8) not null, /*建筑物ID */

RoomNumber varchar2(10) null, /*房间号*/

ContWay varchar2(40) null, /*联系方式*/

Email varchar2(20) null, /*电子邮件*/

Sign Number(1) null, /*操作标志*/

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_Temp_AdminInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*BuilID字段与“建筑物信息表”中的“建筑物ID”关联之外键*/

CONSTRAINT FK_Temp_AdminInfo_Buil FOREIGN KEY (BuilID) REFERENCES LIBCARD.PlatF_Buil_Info (BuilID)

);

/*************************

25、临时子系统信息表(LIBCARD.PlatF_Temp_System_Info)

CREATE TABLE LIBCARD.PlatF_Temp_System_Info (

SystemID char(1) null, /*子系统ID*/

SystemName varchar2(30) null, /*子系统名称*/

);

26、临时工作站信息表(LIBCARD.PlatF_Temp_WS_Info)

CREATE TABLE LIBCARD.PlatF_Temp_WS_Info (

WSID number(8) null, /*工作站ID*/

IPAddr varchar2(15) not null, /*IP地址*/

MACAddr varchar2(30) not null, /*MAC地址*/

SystemID number(8) not null, /*子系统ID*/

RegDesc varchar2(50) null, /*注册信息*/

ConfigDesc varchar2(100) null, /*配置描述*/

Sign Number(1) null, /*操作标志*/

/*SystemID字段与“子系统信息表”中的“子系统ID”关联之外键*/

CONSTRAINT FK_Temp_WSInfo_System FOREIGN KEY (SystemID) REFERENCES LIBCARD.PlatF_System_Info (SystemID)

);

****************************/

历史系列表

该系列表的表结构与其正式表结构基本相同,只是将操作标志字段替换为终止日期字段。

27、历史学生信息表(LIBCARD.PlatF_History_SUser_Info)

CREATE TABLE LIBCARD.PlatF_History_SUser_Info(

UserID char(11) not null, /*用户ID*/

Name varchar2(30) not null, /*姓名*/

Sex varchar2(2) null, /*性别*/

UserNumber varchar2(20) null, /*学号*/

Grade varchar2(6) null, /*年级*/

UserType char(1) null, /*类别*/

DeptID number(8) not null, /*所属最低级部门ID */

MajorID number(8) not null, /*专业ID*/

ClassID number(12) not null, /*班级ID*/

EnroDate varchar2(10) null, /*入学时间*/

Hometown varchar2(20) null, /*籍贯*/

Nation varchar2(10) null, /*民族*/

BirthDate char(10) null, /*出生年月*/

IDcard char(18) null, /*身份证编号*/

PolitState varchar2(12) null, /*政治面貌*/

FaimlyAddr varchar2(100) null, /*家庭地址*/

ZipCode char(6) null, /*家庭邮政编码*/

ContWay varchar2(40) null, /*联系方式*/

PersPhoto long raw null, /*个人照片*/

BookBarCode varchar2(20) null, /*图书条码*/

EndDate date null, /*终止日期*/

CONSTRAINT PK_History_SUserInfo PRIMARY KEY (UserID), /*定义主键*/

/*UserID字段与“用户表”中的“用户ID”关联之外键*/

CONSTRAINT FK_History_SUserInfo_User FOREIGN KEY (UserID) REFERENCES LIBCARD.PlatF_User (UserID),

/*DeptID字段与“部门信息表”中的“部门ID”关联之外键*/

CONSTRAINT FK_History_SUserInfo_Dept FOREIGN KEY (DeptID) REFERENCES LIBCARD.PlatF_Dept_Info (DeptID),

/*MajorID字段与“专业信息表”中的“专业ID”关联之外键*/

CONSTRAINT FK_History_SUserInfo_Major FOREIGN KEY (MajorID) REFERENCES LIBCARD.PlatF_Major_Info (MajorID),

/*ClassID字段与“班级信息表”中的“班级ID”关联之外键*/

CONSTRAINT FK_History_SUserInfo_Class FOREIGN KEY (ClassID) REFERENCES LIBCARD.PlatF_Class_Info (ClassID)

);

28、历史教工信息表(LIBCARD.PlatF_History_TUser_Info)

CREATE TABLE LIBCARD.PlatF_History_TUser_Info(

UserID char(11) not null, /*用户ID*/

Name varchar2(30) not null, /*姓名*/

Sex char(2) null, /*性别*/

UserNumber varchar2(20) null, /*教工号*/

Headship varchar2(20) null, /*职务*/

Title varchar2(20) null, /*职称*/

EnroDate varchar2(10) null, /*入校时间*/

Hometown varchar2(20) null, /*籍贯*/

Nation varchar2(10) null, /*民族*/

BirthDate char(10) null, /*出生年月*/

IDcard char(18) null, /*身份证编号*/

PolitState varchar2(12) null, /*政治面貌*/

FaimlyAddr varchar2(100) null, /*家庭地址*/

数据库表结构设计参考

数据库表结构设计参考

表名外部单位表(DeptOut) 列名数据类型(精度范围)空/非空约束条件 外部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 交换类型变长字符串(50) N 交换、市机、直送、邮局单位邮编变长字符串(6) 单位标识(英文) 变长字符串(50) 排序号整型(4) 交换号变长字符串(50) 单位领导变长字符串(50) 单位电话变长字符串(50) 所属城市变长字符串(50) 单位地址变长字符串(255) 备注变长字符串(255) 补充说明该表记录数约3000条左右,一般不做修改。初始化记录。 表名外部单位子表(DeptOutSub) 列名数据类型(精度范围)空/非空约束条件 外部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 补充说明该表记录数一般很少 表名内部单位表(DeptIn) 列名数据类型(精度范围)空/非空约束条件 内部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 工作职责 排序号整型(4) 单位领导变长字符串(50) 单位电话(分机)变长字符串(50) 备注变长字符串(255)

补充说明该表记录数较小(100条以内),一般不做修改。维护一次后很少修改 表名内部单位子表(DeptInSub) 列名数据类型(精度范围)空/非空约束条件内部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 单位类型变长字符串(50) 领导、部门 排序号Int 补充说明该表记录数一般很少 表名省、直辖市表(Province) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 名称变长字符串(50) N 外键 投递号变长字符串(255) N 补充说明该表记录数固定 表名急件电话语音记录表(TelCall) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 发送部门变长字符串(50) N 接收部门变长字符串(50) N 拨打电话号码变长字符串(50) 拨打内容变长字符串(50) 呼叫次数Int 呼叫时间Datetime 补充说明该表对应功能不完善,最后考虑此表 表名摄像头图像记录表(ScreenShot) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 拍照时间Datetime N 取件人所属部门变长字符串(50) N 取件人用户名变长字符串(50) 取件人卡号变长字符串(50) 图片文件BLOB/Image

SQL数据库修改表结构

S Q L数据库修改表结构-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

SQL数据库修改表结构 修改表结构包括: 增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。 所有这些动作都是用 ALTER TABLE 命令执行的。 1、增加字段 ALTER TABLE products ADD description text; 你也可以同时在该字段上定义约束,使用通常的语法: ALTER TABLE products ADD description text CHECK (description <> ''); 实际上,所有在CREATE TABLE里描述的可以应用于字段之选项都可以在这里使用。不过,我们要注意的是缺省值必须满足给出的约束,否则ADD 将会失败。另外,你可以在你正确填充了新字段的数值之后再增加约束(见下文)。 2、删除字段 要删除一个字段,使用下面这样的命令: ALTER TABLE products DROP COLUMN description; 不管字段里有啥数据,都会消失。和这个字段相关的约束也会被删除。不过,如果这个字段被另外一个表的外键所引用,PostgreSQL 则不会隐含地删除该约束。你可以通过使用 CASCADE 来授权删除任何依赖该字段的东西:ALTER TABLE products DROP COLUMN description CASCADE; 3、增加约束 要增加一个约束,使用表约束语法。比如: ALTER TABLE products ADD CHECK (name <> ''); ALTER TABLE products ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE products ADD FOREIGN KEY (product_group_id) REFERENCES product_groups; ALTER TABLE Teacher add constraint df_sex default('男') for sex 要增加一个不能写成表约束的非空约束,使用下面语法: ALTER TABLE products ALTER COLUMN product_no SET NOT NULL; 这个约束将立即进行检查,所以表在添加约束之前必须符合约束条件。 4、删除约束 要删除一个约束,你需要知道它的名字。如果你给了它一个名字,那么事情就好办了。否则系统会分配一个生成的名字,这样你就需要把它找出来

进销存数据库表结构设计

1.帐类表(KIND) 无索引 序号中文名称英文名称类型备注 1 帐类编号K_SERIAL byte 2 帐类名称K_NAME text*10 本表系统自动建立,共划分为15种帐类,不可增删 帐类编号帐类名称备注 0 上期结存进货,不参加进货统计 1 购入进货,购入时必需输入供货单位名称 2 自制进货 3 投资转入进货 4 盘盈进货 5 领料出库,领料必需输入领料部门名称 6 调拨出库 7 报损出库 8 盘亏出库 9 退库对低值易耗品,在用品退为在用库存 10 直接报废对于低值易耗品,在用品转报废 11 领用对于低值易耗品,在用库存转在用 12 调拨对于低值易耗品,在用库存减少 13 报废对于低值易耗品,在用库存报废 14 直进直出进出库,购入与领料对库存无影响 2.物品表(GOODS) 序号索引名称索引域唯一? 主索引? 1 G_CODING +G_CODING Y N 2 G_SERIAL +G_SERIAL Y Y 序号中文名称英文名称类型备注 1 物品内部编号G_SERIAL INT->long 系统内部唯一标识该物品 2 物品编号G_CODING TEXT * 10 用户使用此编号访问物品 &3 物品名称G_NAME TEXT*40 非空 &4 物品单位G_UNIT TEXT*8 非空 &5 物品规格G_STATE TEXT*20

6 物品类别G_CLASS INT 取自表CLASS 7 备注G_REMARKS MEMO 8 最小库存量G_MIN CURRENCY 为零,即无最小库存 9 最大库存量G_MAX CURRENCY 为零,即无最大库存 10 库存数量G_QUANT CURRENCY 控制出库数量 11 虚拟库存数量G_VQUANT CURRENCY 出库时用 12 库存金额G_AMOUNT CURRENCY 3.类别表(CLASS) 序号索引名称索引域唯一? 主索引? 1 C_CODING +C_CODING Y N 2 C_SERIAL +C_SERIAL Y Y 序号中文名称英文名称类型备注 1 类别内部序号C_SERIAL INT 系统内部唯一标识该物品 2 类别编号C_CODING TEXT *10 用户使用该编号访问类别信息 3 类别名称C_NAME TEXT*20 非空 4 出库类型C_KIND BYTE 1.移动平均 2..先进先出 3.后进先出 4.实际计价 *5.月末平均 5 备注C_REMARKS MEMO *6 底标志C_BOTTOM BOOLEAN *7 类别级别C_LEVEL BYTE 4.供货单位、使用部门(DEPART) 序号索引名称索引域唯一? 主索引? 1 D_CODING +D_CODING Y N 2 D_SERIAL +D_SERIAL Y Y 序号中文名称英文名称类型备注 1 内部序号D_SERIAL INT 系统内部唯一标识该部门 >0 供货单位 =0 库房 <0 使用部门 2 单位编号D_CODING TEXT*10

mysql修改表结构命令大全

Mysql数据库表结构修改命令大全一、原表的结构如下: CREATE TABLE person( number int(11) DEFAULT NULL, name varchar(255) DEFAULT NULL, birthday date DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 二、表结构修改及代码 2.1 删除列birthday ALTER TABLE person DROP COLUMN birthday; 2.2 添加列birthday ALTER TABLE person ADD COLUMN birthday datetime; 2.3 修改列number类型为bigint ALTER TABLE person MODIFY number BIGINT NOT NULL; 2.4 修改列number为id,类型为bigint ALTER TABLE person CHANGE number id BIGINT; 2.5 添加主键 ALTER TABLE person ADD PRIMARY KEY (id); 2.6 删除主键 ALTER TABLE person DROP PRIMARY KEY; 2.7 添加唯一索引 为name这一列创建了唯一索引,索引的名字是name_unique_index.

ALTER TABLE person ADD UNIQUE name_unique_index (`name`); 2.8 添加普通索引 ALTER TABLE person ADD INDEX birthday_index (`birthday`); 2.9 删除索引 ALTER TABLE person DROP INDEX birthday_index; ALTER TABLE person DROP INDEX name_unique_index; 2.10 禁用非唯一索引 ALTER TABLE...DISABLE KEYS让MySQL停止更新MyISAM表中的非唯一索引。 ALTER TABLE person DISABLE KEYS; 2.11 激活非唯一索引 ALTER TABLE ... ENABLE KEYS重新创建丢失的索引。 ALTER TABLE person ENABLE KEYS; 2.12 把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集 ALTER TABLE person CONVERT TO CHARACTER SET utf8; 2.13 修改表某一列的编码 ALTER TABLE person CHANGE name name varchar(255) CHARACTER SET utf 8; 2.14 仅仅改变一个表的默认字符集 ALTER TABLE person DEFAULT CHARACTER SET utf8; 2.15 修改表名 RENAME TABLE person TO person_other;

数据库结构设计

一、数据库结构设计步骤 二、需求分析 三、概念结构设计 四、逻辑结构设计 五、数据库物理设计 数据库结构设计 一、数据库结构设计步骤 一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。 下面各节分别介绍各阶段设计内容和具体方法。 二、需求分析 需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。一般需求分析的操作步骤如下所述。 1.了解组织、人员的构成 子系统的划分常常以现有组织系统为基础,再进行整合,而新系统首先必须达到的目的是尽可能地完成当前系统中有关信息方面的工作,在原有系统中,信息处理总是由具体人来实施的。我们要了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告、报表、凭证、单据)往来联系情况。 具体弄清各个数据的名称,产生的时间与传递所需时间与周期,数据量的大小,所涉及(传送)的范围,使用数据的权限要求,数据处理过程中容易发生的问题及其影响,各个部门所希望获得的数据的情况等。 然后了解每个人对每一具体数据处理的过程,基本数据元素来源于哪些地方、获取的途径、处理的要求、数据的用途,进而弄清数据的构成、数据元素的类型、性质、算法、取值范围、相互关系。 在上述调查基础上,首先画出组织机构及工作职能图。我们以一个学校的基层单位——某大学一个系的管理为例来简要说明。 系的组织机构及工作职能如图7.1所示。

图7.1 系管理体系结构图 作为管理层经常需要的信息和工作有: .查询老师个人基本情况及打印相应内容 .查询与统计科研项目情况及相关报表 .查询与统计论文著作情况及相关报表 .上级部门及其他部门来文管理与查询(要求能全文检索) .系部发文管理 .任务下达、检查及管理 .信件、通知的收发及管理 .日程安排调度及管理 .设备仪器计划及管理 .设备入库与库存情况管理与查询 .设备借还领用管理及相应报表 .耗材计划与领发管理及相应统计报表 .图书管理及借还情况查询 .学生毕业设计文档管理 .专业与班组编制与查询 .教学文档管理及查询(安排与检查,包括课表、考试日程安排、监考安排等).学生成绩管理与查询和统计 .教师、学生、实验室课表管理及查询 .学生基本情况管理与查询(包括社会活动、奖惩、家庭情况及学校校友管理)

数据库结构分类

1、层次数据库结构 层次数据库结构将数据通过一对多或父结点对子结点的方式组织起来。一个层次数据库中,根表或父表位于一个类似于树形结构的最上方,它的子表中包含相关数据。层次数据库模型的结构就像是一棵倒转的树。 优点: ?快速的数据查询 ?便于管理数据的完整性 缺点: ?用户必须十分熟悉数据库结构 ?需要存储冗余数据 2、网状数据库结构 网状数据库结构是用连接指令或指针来组织数据的方式。数据间为多对多的关系。矢量数据描述时多用这种数据结构。 优点: ?快速的数据访问 ?用户可以从任何表开始访问其他表数据 ?便于开发更复杂的查询来检索数据 缺点: ?不便于数据库结构的修改 ?数据库结构的修改将直接影响访问数据库的应用程序 ?用户必须掌握数据库结构 3、关系数据库结构 这就目前最流行的数据库结构了。数据存储的主要载体是表,或相关数据组。有一对一、一对多、多对多三种表关系。表关联是通过引用完整性定义的,这是通过主码和外码(主键或外键)约束条件实现的。

优点: ?数据访问非常快 ?便于修改数据库结构 ?逻辑化表示数据,因此用户不需要知道数据是如何存储的 ?容易设计复杂的数据查询来检索数据 ?容易实现数据完整性 ?数据通常具有更高的准确性 ?支持标准SQL语言 缺点: ?很多情况下,必须将多个表的不同数据关联起来实现数据查询 ?用户必须熟悉表之间的关联关系 ?用户必须掌握SQL语言 4、面向对象数据库结构 它允许用对象的概念来定义与关系数据库交互。值得注意的是面向对象数据库设计思想与面向对象数据库管理系统理论不能混为一谈。前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。 面向对象数据库中有两个基本的结构:对象和字面量。对象是一种具有标识的数据结构,这些数据结构可以用来标识对象之间的相互关系。字面量是与对象相关的值,它没有标识符。 优点: ?程序员只需要掌握面向对象的概念,而不要掌握与面向对象概念以及关系数据库有关的存储 ?对象具有继承性,可以从其他对象继承属性集 ?大量应用软件的处理工作可以自动完成 ?从理论上说,更容易管理对象 ?面向对象数据模型与面向对象编程工具更兼容 缺点:

数据库表结构设计参考

数据库表结构设计参考. )表名外部单位表(DeptOut 约束条件非空空数据类型(精度范围) /列名外部单位ID N 变长字符串(50) 主键 N 变长字符串类型 (50)

N 单位名称(255) 变长字符串 (50) 单位简称变长字符变长字符(255)单位全交换类交换、市机、直送、邮变长字符(50)N (6)单位邮变长字符 变长字符(50))单位标英整排序(4) (50)交换变长字符变长字符(50)单位领 变长字符单位电(50) 变长字符所属城(50) 变长字符(255)单位地 备(255) 变长字符 补充说300条左右,一般不做修改。初始化记录该表记录数 表外部单位子表DeptOutSu 数据类型(精度范围列非约束条 变长字符(50)外部子单IDN 外ID变长字符(50)N单位名N变长字符(255) 变长字符单位编(50) 该表记录数一般很补充说 表内部单位表DeptI

数据类型(精度范围非列约束条IDN(50)变长字符主内部单类N变长字符(50) (255)变长字符N单位名 (50)变长字符单位简 变长字符单位全(255) 工作职 排序整(4) 单位领导(50) 变长字符串 (50) 单位电话(分机)变长字符串 (255) 变长字符串备注. 条以内),一般不做修改。维护一次后很少修改补充说明该表记录数较小(100 内部单位子表(DeptInSub)表名 约束条件数据类型(精度范围)空列名/非空 (50) N 变长字符串内部子单位ID 变长字符串(50) 父ID N 外键 (255) 单位名称 N 变长字符变长字符(50)单位编领导、部变长字符(50)单位类 Int 排序 该表记录数一般很补充说 省、直辖市表Provinc表

数据库表结构

数据库表结构: Admin(管理员表) 字段名描述类型约束备注ID唯一标示int Primary Key自增AdminType管理员类型int NOT NULL AdminName管理员姓名Char(12)NOT NULL LoginName管理员登录名CHAR(12)NOT NULL LoginPwd管理员登录密 码 CHAR(12)NOT NULL cart(购物车基本信息表) 字段名描述类型约束备注 ID唯一标示int Primary Key 自增 Member会员号int NOT NULL Money消费金额decimal(9,2)NOT NULL CartStatus购物车状态int NOT NULL 0代表商品放入购物车还未下单,1代表商品放入购物车且已下单 cartselectedmer 字段名描述类型约束备注ID唯一标示int Primary自增

Key Cart购物车int NOT NULL Merchandise商品int NOT NULL Number数量int NOT NULL Price商品市场价decimal(8,2)NOT NULL Money消费总额demical(9,2)NOT NULL category(商品类别表) 字段名描述类型约束备注 自增ID唯一标示int Primary Key CateName商品类别Char(40)NOT NULL CateDesc商品描述tex NOT NULL Leaveword(顾客留言表) 字段名描述类型约束备注 自增ID唯一标示int Primary Key Member会员号int NOT NULL Admin管理员int NOT NULL Number数量int NOT NULL Price商品单价decimal(8,2)NOT NULL Money消费总额demical(9,2)NOT NULL

产品表与分类表数据库设计

原文地址:https://www.360docs.net/doc/0f8502985.html,/index.php/archives/95/ 问题的提出:网上商城对产品进行了很多分类,不同的分类产品又有不同的属性,比如,电脑的属性有:CUP,内存,主板,硬盘等等,服装的属性有:布料,尺寸,颜色等等,那么产品表以及产品分类表应该如何设计才能满足不同类型产品的区别呢? 解决方案: 1、产品分类表的设计 第一种设计思路:使用树形结构,递归的形式,可以对产品进行N级分类,只要你喜欢,树形结构在数据库的设计中经常用到,比如功能菜单表等。以下是一个简单的产品分类表。 说明:上级类别ID为该表的外键,并关联到本级类别ID,这样就可以对产进行N级分类了,这种设计思想十分灵活,是无限分类中最常用到的。 第二种设计思路:定义N个类别表,并对他们进行关联,如图:

说明:这种设计在项目中没有人会使用它,因为产品的分类是不固定的,很难在数据库设计的时候确定类别表的个数,很不灵活。不过省分城市分类有用这样子的设计 2、产品表的设计 第一种设计思路:直接在产品表预留N个字段,用到的时候直接插入数据,如图 可行性:会产生很多字段的冗余,并且不知道到底需要多少个字段,数据类型也不能确定,可行性比较低,但是这种设计也有它的优点,就是表的数量少,其他的优点我实在找不出来了,所以,在项目中这种设计思想也不会用到。 第二种设计思路:在提及这种设计思路前,首先得了解数据表可以分为两种结构,一种是横表,也就是我们经常用到的表结构,另外一种是纵表,这种结构平时我们用到的表少,所以我也是今天通过请教别人才知有这种表结构的。什么是纵表,它有哪些优点和缺点呢?通过两张图片对比来了解或许会更清楚 横表的结构: 纵表的结构: 可以看出横表的优点是很直观,它是根据现行业务逻辑定制,设计简单,易操作,缺点是当业务逻辑发生拓展时,大多情况下要更改表的结构。纵表的数据让人看

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

数据库表结构分析

5.3.1新闻发布统计分析1.分析逻辑设计 2.数据组织设计 1)分析来源表

2)数据组织设计 表:YongRi_NewsArticles_Category 表:yongri_newsarticles_article

存储过程JZ_GetReport_XWFB USE[Zjsme] GO /****** Object: StoredProcedure [dbo].[JZ_GetReport_XWFB] Script Date: 05/28/2013 17:00:10 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= ALTER PROCEDURE[dbo].[JZ_GetReport_XWFB] @dtmBeginDate DATETIME, @dtmEndDate DATETIME AS

SELECT CASE WHEN ISNULL(parentname,'')=''THEN'其他'ELSE parentname END,SUM(TM) FROM(select parentname,parentname as name,sum(isnull(sl,0))tm from ( select a.categoryid,name,parentid, parentname= case when parentid= 0 then name when parentid<> 0 then (select name from YongRi_NewsArticles_Category b where parentid= 0 and a.parentid=b.categoryid) end, d.sl from YongRi_NewsArticles_Category a left join( select categoryid,isnull(count(1),0)sl from yongri_newsarticles_article WHERE UpdatedDate BETWEEN@dtmBeginDate AND@dtmEndDate group by categoryid) d on a.categoryid=d.categoryid )c group by parentname union all select parentname,name,sl from ( select a.categoryid,name,parentid, parentname= case when parentid= 0 then name when parentid<> 0 then (select name from YongRi_NewsArticles_Category b where parentid= 0 and a.parentid=b.categoryid) end, d.sl from YongRi_NewsArticles_Category a left join( select categoryid,count(1)sl from yongri_newsarticles_article group by categoryid)d on a.categoryid=d.categoryid

数据库表结构文档

数据库表结构文档 1 表名 USERS (系统用户) 主键 USERID 序号字段名称字段说明类型位数属性备注 1 USERID 用户账号 Int 非空主键,自增 2 LOGINNAME 登陆账户 Varchar 32 非空唯一键 3 USERNAME 用户姓名 Varchar 32 非空 4 PASSWORD 登陆口令 Varchar 32 非空 5 FLAG 用户状态 Varchar 1 6 非空 1、正常2、退休 3、离职 6 ROLEID 角色账号 SmallInt 短整型 2 表名 PERSONALDATA (用户个人基本信息) 主键 USERID 序号字段名称字段说明类型位数属性备注 1 USERID 用户账号 Int 非空主键,与USERS一 对一 2 IDCARD 身份证 Varchar 20 可空 3 USERNAME 用户姓名 Varchar 32 可空允许冗余,提高查 询性能 4 SEX 用户性别 Nchar 1 可空一个汉字,check约 束在(男,女) 5 BIRTH 出生年月Varchar 20 可空数据库中日期都设 日计为字符串,方便 操作,以下一样 6 CALLBE 职称系列 Varchar 16 可空与BASEDATAS表 关联 7 CALLCONCRETELY 职称具体 Varchar 16 可空与BASEDATAS表 关联

现职称任职8 NOWCALLDATE Varchar 20 可空 时间 9 LONGEVITY 资历 Varchar 16 可空与BASEDATAS表 关联 10 NOWSTATION 现岗位 Varchar 16 可空与BASEDATAS表 关联 11 NSENGAGETIME 现岗位聘Varchar 20 可空 任时间 12 BELONGTOCOLLEGE 所属学院 Varchar 16 可空与BASEDATAS表 关联 13 BELONGTODEPARTMENT 所属部门 Varchar 16 可空与BASEDATAS表关联 14 POLITYVISAGE 政治面貌 Varchar 16 可空与BASEDATAS表 关联 15 ATTENDJOBTIME 参加工作Varchar 20 可空 时间 16 FINALSTUDY 最后学历 Varchar 16 可空与BASEDATAS表 关联 17 FINALDEGREE 最后学位 Varchar 16 可空与BASEDATAS表 关联 18 FINALSDDEMO 最后学历Text 可空 学位说明 19 IDENTITYS 身份 Varchar 16 可空与BASEDATAS表 关联(教学人员和 非教学人员) 20 CALLDETAIL 职称详细 Varchar 可空与BASEDATAS表 关联 21 FILLINTIME 填入时间 Varchar 20 可空 22 FINALMODIFYTIME 最后修改Varchar 20 可空 时间 23 CHECKSTATE 审核状态 Varchar 16 非空与BASEDATAS表 关联(1、已审核2、 未审核3、已作废) 24 CHECKUSER 审核人 Int 可空领导对个人资料进

数据库结构与概念

三、数据库的概念与用途 ? 数据库的概念 什么是数据库呢?当人们从不同的角度来描述这一概念时就有不同的定义(因此是描述性的)。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。因此,这种讲法尽管形象,但并不严谨。严格地讲,数据库是“按照数据结构来组织、存储和治理数据的仓库”。在经济治理的日常工作中,常常需要把某些相关的数据放进如此“仓库”,并依照治理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的差不多情况(职工号、姓名、年龄、性不、籍贯、工资、简历等)存放在表20.6.3中,这张表就能够看成是一个数

据库。有了那个“数据仓库”我们就能够依照需要随时查询某职工的差不多情况,也能够查询工资在某个范围内的职工人数等等。这些工作假如都能在计算机上自动进行,那我们的人事治理就能够达到极高的水平。此外,在财务治理、仓库治理、生产治理中也需要建立众多的这种“数据库”,使其能够利用计算机实现财务、仓库、生产的自动化治理。 J.Martin给数据库下了一个比较完整的定义:数据库是存 储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用 它的程序;对数据库插入新数据,修改和检索原有数据均能按 一种公用的和可操纵的方式进行。当某个系统中存在结构上完

全分开的若干个数据库时,则该系统包含一个“数据库集合”。 ? 数据库的优点 使用数据库能够带来许多好处:如减少了数据的冗余度,从而大大地节约了数据的存储空间;实现数据资源的充分共享等等。此外,数据库技术还为用户提供了特不简便的使用手段使用户易于编写有关数据库应用程序。特不是近年来推出的微型计算机关系数据库治理系统dBASELL,操作直观,使用灵活,编程方便,环境适应广泛(一般的十六位机,如IBM/PC/XT,国产长城0520等均可运行种软件),数据处理能力极强。数据库在我国正得到愈来愈广泛的应用,必将成为经济治理的有力工具。 数据库是通过数据库治理系统(DBMS-DATA BASE MANAGEMENT SYSTEM)软件来实现数据的存储、治理与使用的dBASELL确实是一种数据库治理系统软件。 ? 数据库结构与数据库种类

用友T数据库表结构表

用友软件T3 用友通数据库表结构、表名 fa_Control 30_ 记录互斥fa_Departments 07_ 部门fa_Depreciations 11_ 折旧方法 fa_DeprList 34_ 折旧日志fa_DeprTransactions 19_ 折旧fa_DeprVoucherMain 23_ 折旧分配凭证主表fa_DeprVouchers 24_ 折旧分配凭证 fa_DeprVouchers_pre 24_ 折旧分配凭证_准备fa_Dictionary 12_ 常用参照字典 fa_EvaluateMain 21_ 评估单主表 fa_EvaluateVouchers 22_ 评估单fa_Items 12_ 项目fa_ItemsManual 32_ 自定义项目 fa_ItemsOfModel 14_ 对应各样式的项目 fa_ItemsOfQuery 35_ 查询项目fa_Log 33_ 日志fa_Models 13_ 样式fa_Msg 29_ 信息 fa_Objects 03_ 对象表fa_Operators 02_ 操作员fa_Origins 09_ 增减方式fa_QueryFilters 05_ 查询条件fa_Querys 04_ 查询 fa_ReportTemp fa_Status 10_ 使用状况 fa_Total 31_ 汇总表Accessaries 成套件表AccInformation 账套参数表Ap_AlarmSet 单位报警分类设置表Ap_BillAge 账龄区间表 Ap_Cancel 核销情况表Ap_CancelNo 生成自动序号Ap_CloseBill 收付款结算表Ap_CtrlCode 控制科目设置表Ap_Detail 应收/ 付明细账 AP_DispSet 查询显示列设置表Ap_InputCode 入账科目表Ap_InvCode 存货科目设置表 Ap_Lock 操作互斥表 Ap_MyTableSet 查询条件存储表 Ap_Note 票据登记簿 Ap_Note_Sub 票据登记簿结算表 Ap_SStyleCode 结算方式科目表 Ap_Sum应收/ 付总账表 Ap_Vouch 应付/ 收单主表 Ap_Vouchs 应付/ 收单主表的关联表 Ap_VouchType 单据类型表 Ar_BadAge 坏账计提账龄期间表 Ar_BadPara 坏账计提参数表 ArrivalVouch 到货单、质检单主表ArrivalVouchs 到货单、质检单子表AssemVouch 组装、拆卸、形态转换单主表

数据库的体系结构

数据库的体系结构 LEKIBM standardization office【IBM5AB- LEKIBMK08- LEKIBM2C】

数据库的体系结构 1.三级模式结构 数据库的体系结构分为三级:外部级、概念级和内部级(图),这个结构称为数据库的体系结构,有时亦称为三级模式结构或数据抽象的三个级别。虽然现在DBMS的产品多种多样,在不同的操作系统下工作,但大多数系统在总的体系结构上都具有三级结构的特征。 从某个角度看到的数据特性,称为数据视图(Data View)。 外部级最接近用户,是单个用户所能看到的数据特性,单个用户使用的数据视图的描述称为外模式。概念级涉及到所有用户的数据定义,也就是全局性的数据视图,全局数据视图的描述称概念模式。内部级最接近于物理存储设备,涉及到物理数据存储的结构,物理存储数据视图的描述称为内模式。 图三级模式结构 数据库的三级模式结构是对数据的三个抽象级别。它把数据的具体组织留给DBMS去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。

三级结构之间往往差别很大,为了实现这三个抽象级别的联系和转换,DBMS在三级结构之间提供两个层次的映象(Mapping):外模式/模式映象,模式/内模式映象。这里的模式是概念模式的简称。 数据库的三级模式结构,即数据库系统的体系结构如图所示。 图数据库系统的体系结构 2.三级结构和两级映象 (1)概念模式 概念模式是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成,还包含记录间联系、数据的完整性安全性等要求。 数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间点,并使得两级中任何一级的改变都不受另一级的牵制。概念模式必须不

数据库表结构说明文档

国家开放大学学习平台学生使用手册

版本历史

目录 1.国家开放大学学习平台 (4) 2.进入课程网站 (4) 3.上传作业............................................................................................................ 错误!未定义书签。 4.交互式课程........................................................................................................ 错误!未定义书签。 4.1 讨论区 (7) 4.2 聊天 (8) 4.3 投票 (9) 4.4 问卷调查 (10) 4.5 测验模块 (11) 4.6 Wiki (12) 4.7 词汇表 (14) 4.8 互动评论 (16) 4.9 外部工具 (17) 5.查看成绩............................................................................................................ 错误!未定义书签。

1. 国家开放大学学习平台 国家开放大学学习平台是一个线上学习系统,是学校、教师和学生的沟通渠道,允许教师和学生透过网络工具来进行教学及学习,让教师和学生的教学和学习更有规范和更具效率,优化整个教学过程。 Moodle是由澳大利亚教师Martin Dougiamas开发的。Moodle这个词最初是作为模块化的面向对象的动态学习环境(Modular Object-Oriented Dynamic Learning Environment)的首字母的缩写。Moodle这一软件对于教学者与学习者的计算机技能要求不是很高,只要掌握计算机的基本操作并会使用浏览器的人就可以方便的使用。 我们用下面这张表说明Moodle的功能范围。 2.进入课程网站 在浏览器地址栏中输入网址,进入“基于moodle的国家开放大学学习平台”后见到的第一个界面如下:

数据库设计中英文术语表

数据库设计中英文术语表 June 27, 2004, In Focus on 索引 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 正文 1.Access method(访问方法):此步骤包括从文件中存储和检索记录。 2.Alias(别名):某属性的另一个名字。在SQL中,可以用别名替换表名。 3.Alternate keys(备用键,ER/关系模型):在实体/表中没有被选为主健的候选键。 4.Anomalies(异常)参见更新异常(update anomalies) 5.Application design(应用程序设计):数据库应用程序生命周期的一个阶段,包括设 计用户界面以及使用和处理数据库的应用程序。 6.Attribute(属性)(关系模型):属性是关系中命名的列。 7.Attribute(属性)(ER模型):实体或关系中的一个性质。 8.Attribute inheritance(属性继承):子类成员可以拥有其特有的属性,并且继承那些 与超类有关的属性的过程。 9.Base table(基本表):一个命名的表,其记录物理的存储在数据库中。 10.Binary relationship(二元关系):一个ER术语,用于描述两个实体间的关系。例如, panch Has Staff。 11.Bottom-up approach(自底向上方法):用于数据库设计,一种设计方法学,他从标 识每个设计组建开始,然后将这些组件聚合成一个大的单元。在数据库设计中,可以从表示属性开始底层设计,然后将这些属性组合在一起构成代表实体和关系的表。 12.Business rules(业务规则):由用户或数据库的管理者指定的附加规则。 13.Candidate key(候选键,ER关系模型):仅包含唯一标识实体所必须得最小数量的 属性/列的超键。 14.Cardinality(基数):描述每个参与实体的可能的关系数目。 15.Centralized approach(集中化方法,用于数据库设计):将每个用户试图的需求合并 成新数据库应用程序的一个需求集合 16.Chasm trap(深坑陷阱):假设实体间存在一根,但某些实体间不存在通路。 17.Client(客户端):向一个或多个服务器请求服务的软件应用程序。 18.Clustering field(群集字段):记录总的任何用于群集(集合)航记录的非键字段, 这些行在这个字段上有相同的值。 19.Clustering index(群集索引):在文件的群集字段上定义的索引。一个文件最多有一 个主索引或一个群集索引。 20.Column(列):参加属性(attribute)。 https://www.360docs.net/doc/0f8502985.html,plex relationship(复杂关系):度数大于2的关系。 https://www.360docs.net/doc/0f8502985.html,posite attribute(复合属性):由多个简单组件组成的属性。 https://www.360docs.net/doc/0f8502985.html,posite key(复合键):包含多个列的主健。 24.Concurrency control(并发控制):在多用户环境下同时执行多个十五并保证数据完 整性的一个DBMS服务。

相关文档
最新文档