ylbtech-DatabaseDesgin:ylbtech-Model-Account(通用账户模块设计)

ylbtech-Model-Account(通用账户模块设计)

1.A,数据库关系图(Database Diagram)

1.B,数据库设计脚本(Database Design Script)
-- =============================================
-- 用户模块设计
-- 2013-8-24
-- author:yuanbo
-- =============================================
USE master
GO -- Drop the database if it already exists
IF EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'ylbtech_account'
)
DROP DATABASE ylbtech_account
GO CREATE DATABASE ylbtech_account
GO USE ylbtech_account
GO
-- =============================================
-- ylb:1,账户表【主表】
-- desc
-- 1,邮箱验证成功账户才可以使用
-- 2.0,注册【填写信息】---》系统【向注册邮箱发送验证信息邮件】
-- 2.1,---》用户登录邮箱【单击验证连接】---》邮箱验证成功【开启账户】
-- =============================================
create table account
(
account_id int primary key identity(100000,1), --编号【PK,ID】
pwd varchar(40) not null, --密码
email varchar(50) unique not null, --验证邮箱
email_enabled bit default(0), --邮箱是否验证 0:已验证;1:未验证
login_enabled bit default(0) --账户状态 0:正常;1:禁用
) GO
-- =============================================
-- ylb:1.2-3,账户表【附属表】
-- desc
-- ============================================= -- ============================================= GO
-- =============================================
-- ylb:2,权限项目表【角色表】
-- desc
-- =============================================
create table account_role_project
(
project_id uniqueidentifier not null primary key, --编号【PK】
project_name varchar(40) not null, --项目名称
project_desc varchar(200), --项目描述
project_enabled bit --角色状态 0:正常;1:禁用
) GO
-- =============================================
-- ylb:2,用户和权限项目表【角色表】
-- desc
-- =============================================
create table account_role
(
role_id uniqueidentifier not null primary key,
project_id uniqueidentifier not null references account_role_project(project_id), --【FK】
account_id int references account(account_id), --【FK】
role_enabled bit --角色状态 0:正常;1:禁用
) GO
-- =============================================
-- ylb:7,邮箱验证【邮箱验证|找回密码】
-- =============================================
create table account_emailcheck
(
[guid] uniqueidentifier not null, --guid
email varchar(100) not null, --emial
[type] varchar(20) not null, --email|getpwd
pubdate datetime default(getdate()), --申请时间
account_id int references account(account_id) --【FK】
) GO
-- =============================================
-- ylb:1,
-- desc
-- =============================================
1.C,功能实现代码(Function Implementation Code)
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

ylbtech-Model-Account(通用账户模块设计)的更多相关文章

  1. [Spring cloud 一步步实现广告系统] 4. 通用代码模块设计

    一个大的系统,在代码的复用肯定是必不可少的,它能解决: 统一的响应处理(可以对外提供统一的响应对象包装) 统一的异常处理(可以将业务异常统一收集处理) 通用代码定义.配置定义(通用的配置信息放在统一的 ...

  2. Abp通用配置模块的设计

    引言 约定优于配置,配置趋于灵活 约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处, ...

  3. Java开源生鲜电商平台-通知模块设计与架构(源码可下载)

    Java开源生鲜电商平台-通知模块设计与架构(源码可下载) 说明:对于一个生鲜的B2B平台而言,通知对于我们实际的运营而言来讲分为三种方式:           1. 消息推送:(采用极光推送)   ...

  4. 解析大型.NET ERP系统 权限模块设计与实现

    权限模块是ERP系统的核心模块之一,完善的权限控制机制给系统增色不少.总结我接触过的权限模块,以享读者. 1 权限的简明定义 ERP权限管理用一句简单的话来说就是:谁 能否 做 那些 事. 文句 含义 ...

  5. ABP模块设计

    ABP模块设计 返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术 ...

  6. asp.net通用查询模块设计

    asp.net通用查询模块设计 前言 自从上次狂喷了devexpress for asp.net面向互联网的app的各种不合理,好像骂的dev无处容身了,不过说实话,dev在做互联网的app时,生成的 ...

  7. thinkphp 5.0 模块设计

    模块设计 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─ap ...

  8. Atitit 通用接口的设计与实现attilax 总结

    Atitit 通用接口的设计与实现attilax 总结 1.1. 现存的情况1 1.2. 接口返回类型,与返回序列化格式1 1.3. 异常传递 代替返回值模式1 1.4. 通用接口原理1 1.5. A ...

  9. thinkphp5.0模块设计

    5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─applica ...

随机推荐

  1. java基础知识回顾之java Thread类学习(九)--wait和notify区别

    wait和sleep区别:  相同点:调用wait,sleep方法都可以是线程进入阻塞状态,让出cpu的执行权. 不同点:1.sleep必须指定时间,但是wait方法可以指定时间,也可以不指定时间. ...

  2. ****Git 常用命令和使用思维导图

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. 本来想着只把最有用.最常用的 Git 命令记下来,但是总觉得这个也挺有用.那个也用 ...

  3. [转]Ubuntu 12.04 安装屏保

    From:http://www.howtogeek.com/114027/how-to-add-screensavers-to-ubuntu-12.04/ How to Add Screensaver ...

  4. Project Euler 78:Coin partitions

    Coin partitions Let p(n) represent the number of different ways in which n coins can be separated in ...

  5. java io流缓冲理解

    bufferedinputstream和bufferedoutputstream:这两个类是在inputstream和outputstream的基础上增加了一个buffer的缓冲区,从而使数据不直接写 ...

  6. JAVA学习路线图---(JAVA1234)

    第一阶段-Java基础   这一阶段很重要,关系到你后面阶段的学习,所以务必把这一阶段掌握好: 如果你是0基本,我推荐一本比较好的,适合初学者看的书:明日科技的<Java从入门到精通>,最 ...

  7. 64位下好神奇啊(增加了PatchGuard技术保护自己,SSDT是相对地址,参数通过寄存器与rdi来传递)

    近期可能会有一个64位平台的驱动开发任务,找了些资料,对64位平台下的驱动开发略知一二了,好神奇. 一.在64位系统下,有一项PatchGuard技术,它是微软为了防止自己的代码被Patch,进而影响 ...

  8. IntelliJ IDEA集成svn

    IntelliJ IDEA如何集成svn呢? 1. 首先配置下载并配置svn软件,推荐使用SlikSvn. 下载地址https://sliksvn.com/download/,下载最近版本

  9. NSSize

    #import <Foundation/Foundation.h>   int main(int argc, const char * argv[]) {    @autoreleasep ...

  10. YASKAWA电机控制(1)---接线

    实验室所购置电机型号为YASKAWA-AC SERVO MOTOR SGM7J-01AFC6S型,配SGD7S-R90A00A002伺服控制器.电机和控制器的操作说明书由安川中文官网安川电机资料提供. ...