ylbtech-Model-Account(通用账户模块设计)
| 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(通用账户模块设计)的更多相关文章
- [Spring cloud 一步步实现广告系统] 4. 通用代码模块设计
一个大的系统,在代码的复用肯定是必不可少的,它能解决: 统一的响应处理(可以对外提供统一的响应对象包装) 统一的异常处理(可以将业务异常统一收集处理) 通用代码定义.配置定义(通用的配置信息放在统一的 ...
- Abp通用配置模块的设计
引言 约定优于配置,配置趋于灵活 约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量,获得简单的好处, ...
- Java开源生鲜电商平台-通知模块设计与架构(源码可下载)
Java开源生鲜电商平台-通知模块设计与架构(源码可下载) 说明:对于一个生鲜的B2B平台而言,通知对于我们实际的运营而言来讲分为三种方式: 1. 消息推送:(采用极光推送) ...
- 解析大型.NET ERP系统 权限模块设计与实现
权限模块是ERP系统的核心模块之一,完善的权限控制机制给系统增色不少.总结我接触过的权限模块,以享读者. 1 权限的简明定义 ERP权限管理用一句简单的话来说就是:谁 能否 做 那些 事. 文句 含义 ...
- ABP模块设计
ABP模块设计 返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术 ...
- asp.net通用查询模块设计
asp.net通用查询模块设计 前言 自从上次狂喷了devexpress for asp.net面向互联网的app的各种不合理,好像骂的dev无处容身了,不过说实话,dev在做互联网的app时,生成的 ...
- thinkphp 5.0 模块设计
模块设计 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─ap ...
- Atitit 通用接口的设计与实现attilax 总结
Atitit 通用接口的设计与实现attilax 总结 1.1. 现存的情况1 1.2. 接口返回类型,与返回序列化格式1 1.3. 异常传递 代替返回值模式1 1.4. 通用接口原理1 1.5. A ...
- thinkphp5.0模块设计
5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改). 目录结构 标准的应用和模块目录结构如下: ├─applica ...
随机推荐
- java基础知识回顾之java Thread类学习(九)--wait和notify区别
wait和sleep区别: 相同点:调用wait,sleep方法都可以是线程进入阻塞状态,让出cpu的执行权. 不同点:1.sleep必须指定时间,但是wait方法可以指定时间,也可以不指定时间. ...
- ****Git 常用命令和使用思维导图
Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. 本来想着只把最有用.最常用的 Git 命令记下来,但是总觉得这个也挺有用.那个也用 ...
- [转]Ubuntu 12.04 安装屏保
From:http://www.howtogeek.com/114027/how-to-add-screensavers-to-ubuntu-12.04/ How to Add Screensaver ...
- Project Euler 78:Coin partitions
Coin partitions Let p(n) represent the number of different ways in which n coins can be separated in ...
- java io流缓冲理解
bufferedinputstream和bufferedoutputstream:这两个类是在inputstream和outputstream的基础上增加了一个buffer的缓冲区,从而使数据不直接写 ...
- JAVA学习路线图---(JAVA1234)
第一阶段-Java基础 这一阶段很重要,关系到你后面阶段的学习,所以务必把这一阶段掌握好: 如果你是0基本,我推荐一本比较好的,适合初学者看的书:明日科技的<Java从入门到精通>,最 ...
- 64位下好神奇啊(增加了PatchGuard技术保护自己,SSDT是相对地址,参数通过寄存器与rdi来传递)
近期可能会有一个64位平台的驱动开发任务,找了些资料,对64位平台下的驱动开发略知一二了,好神奇. 一.在64位系统下,有一项PatchGuard技术,它是微软为了防止自己的代码被Patch,进而影响 ...
- IntelliJ IDEA集成svn
IntelliJ IDEA如何集成svn呢? 1. 首先配置下载并配置svn软件,推荐使用SlikSvn. 下载地址https://sliksvn.com/download/,下载最近版本
- NSSize
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasep ...
- YASKAWA电机控制(1)---接线
实验室所购置电机型号为YASKAWA-AC SERVO MOTOR SGM7J-01AFC6S型,配SGD7S-R90A00A002伺服控制器.电机和控制器的操作说明书由安川中文官网安川电机资料提供. ...
