• 数据库设计说明书


     

       

     

    卷内编号

     

       

     

     

     

     

     

     

     

     

    项目编号: S×××-

    <Single Sign On>

    分 类:

    <模板>

     

     

     

    数据库设计说明书

    Version: Preview 1.0

     

     

    项 目 承 担 部 门:                

     

    撰 写 人(签名):          

     

           期:    2009/4/4     

     

    本文档 使 用部门:□主管领导     ■项目组

    □客户(市场) ■维护人员 □用户 

     

    评审负责人(签名)                

     

          日 期:              

                            


    1.      引言

    1.1        编写目的

    1.2        背景

    1.3        定义

    1.4        参考资料

    2.      外部设计

    2.1        类型划分

    2.2        标识符和约定

    2.3        支持软件

    2.4        结构设计

    3.      运用设计

    3.1        数据字典设计

    3.2        安全保密设计

     


    1.     引言

    1.1   编写目的

    本文档旨在详细描述SSO系统中的数据库结构与设计。本文的读者可为SSO系统的开发者,也可以是SSO系统的维护都。

    1.2   背景

    当前企业信息建设进程中,各种各样的应用系统相互独立,用户在每套应用中都有独立的一套账号,这造成了用户在带来了一定的不便利,也不便于企业用户信息资源共享。为解决上述问题而开发的一套单点登录(Single Sign On)系统,需要一套底层数据库的支持。本文旨在对单点登录系统所使用的数据库进行详细阐述。

    1.3   定义

    SSOSingle Sign On,单点登录

    CDMConceptual Data Model,概念数据模型

    PDMPhysical Data Model,物理数据模型

    1.4   参考资料

     

    2.     外部设计

    2.1   类型划分

    按功能来说,该数据库表可分可以下两种类型:

    ü         实现单点登录用的表:这些是SSO系统记录核心数据的表,主要有用户表、应用系统表、应用系统与用户对应关系表、SSO用户与应用系统用户映射表。

    ü         鉴权表:这些是为鉴别用户权限而设计的表,有角色表与角色与用户对应关系表。

    ü         日志类表:日志为记录系统运行状况的产生,对系统维护也有一定作用,有日志表与用户登录日志表。

    2.2   标识符和约定

    本数据库约定如下:

    ü         本数据库中的所有表均以“sso_”为前缀,如用户表名称为sso_Account

    ü         对于表示实体间对应关系的表以“sso_”前缀加两个实体名组成,如果用户表为Account,应用系统表为App,则用户与应用系统对应关系表名为sso_AccountApp

    ü         本数据库的表中的字段均不加前缀

    ü         本数据库的视图均以“sso_view_”为前缀

    ü         本数据库中的存储均以“sso_sp_”为前缀

    ü         本数据库中的函数均以“sso_fn_”为前缀

    ü         本数据库中的参数均以“@”前缀

    ü         本数据库约定所有要求概念数据模型(CDM)中的实体所对应的表以GUID为主键,其它表以int自增类型字段为主键。如:用户实体对应的用户表的主键为GUID类型,而用户实体与应用系统的对应关系的主键以int自增为主键类型

    2.3   支持软件

    本数据库支持Microsoft Sql Server 2005MySql, SqlLite等数据库管理系统。

    2.4   结构设计

    本数据库物理数据模型(PDM)如下:

     

     

     

     

     

     

     

     

     

     

     

    3.      运用设计

    3.1   数据字典设计

    1.      用户表

    编号

    1

    表名

    sso_Account

    表描述

    记录系统的用户

    字段

    类型

    备注

    ID

    uniqueidentifier not null primary key

    用户标识

    Email

    varchar(50) not null

    用户Email地址

    Password

    varchar(50) not null

    用户密码

    PictureAddress

    varchar(225) null

    用户头像地址

    Telephone

    varchar(20) null

    用户联系电话

    CreateTime

    datetime not null

    添加用户时间

    2.      应用系统表

    编号

    2

    表名

    sso_App

    表描述

    记录注册到SSO系统中的应用系统

    字段

    类型

    备注

    ID

    uniqueidentifier not null primary key

    应用系统标识

    Name

    varchar(255) not null unique

    应用系统名称

    Url

    varchar(200) not null

    应用系统的地址

    Port

    int null

    应用系统的端口

    CreateTime

    datetime not null

    添加应用系统时间

    3.      应用系统与用户对应关系表

    编号

    3

    表名

    sso_AccountApp

    表描述

    记录应用系统所拥有的用户

    字段

    类型

    备注

    ID

    uniqueidentifier not null primary key

    应用与用户对应关系标识

    AccountID

    uniqueidentifier

    用户标识

    AppID

    uniqueidentifier

    应用系统标识

    CreateTime

    datetime not null

    添加时间

    ExpireTime

    datetime null

    用户使用应用的失效时间

    4.      SSO用户与应用系统用户映射表

    编号

    4

    表名

    sso_AccountAppUser

    表描述

    记录SSO用户与应用系统中的用户的映射关系

    字段

    类型

    备注

    ID

    uniqueidentifier not null primary key

    映射关系标识

    AccountAppID

    uniqueidentifier not null

    用户与应用系统对应关系标识

    Name

    varchar(20) not null

    应用系统中的用户登录名

    Password

    varchar(50) null

    应用系统中的用户登录密码

    CreateTime

    datetime not null

    添加记录时间

    5.      角色

    编号

    5

    表名

    sso_Role

    表描述

    记录SSO系统中角色

    字段

    类型

    备注

    ID

    int identity primary key

    角色标识

    Name

    varchar(255) not null

    角色名称

    6.      角色与用户对应关系表

    编号

    6

    表名

    sso_RoleAccount

    表描述

    记录角色与用户的对应关系

    字段

    类型

    备注

    RoleID

    int not null primary key

    角色标识

    AccountID

    uniqueidentifier not null primary key

    用户标识

    CreateTime

    datetime not null

    记录时间

    7.      日志表

    编号

    7

    表名

    sso_Log

    表描述

    记录系统运行日志

    字段

    类型

    备注

    ID

    int identity primary key

    日志标识

    AccountID

    uniqueidentifier null

    执行操作的用户标识

    Message

    varchar(1000) not null

    日志信息

    CreateTime

    datetime not null

    记录时间

    8.      用户登录记录

    编号

    8

    表名

    sso_AccountLoginLog

    表描述

    记录用户的登录记录

    字段

    类型

    备注

    ID

    int identity primary key

    标识

    AccountID

    uniqueidentifier not null

    用户标识

    IP

    varchar(30) not null

    登录IP

    CreateTime

    datetime not null

    登录时间

    注:上述数据字典为在Microsoft Sql Server 2005中呈现的方式,数据类型uniqueidentifier在其它数据库产品中为varchar(36)

    3.2   安全保密设计

    本数据库系统采用安全的用户名加口令方式登录。用户名的权限限制为只能进行基本的增删改查数据功能。

    download: template_database_design_sample.rar

  • 相关阅读:
    二分查找算法
    http协议。会话控制cookie、session
    154. Find Minimum in Rotated Sorted Array II
    8. String to Integer (atoi)
    528. Random Pick with Weight
    415. Add Strings
    158. Read N Characters Given Read4 II
    157. Read N Characters Given Read4
    19. Remove Nth Node From End of List
    29. Divide Two Integers
  • 原文地址:https://www.cnblogs.com/emanlee/p/1513436.html
Copyright © 2020-2023  润新知