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 ...
随机推荐
- Sina App Engine(SAE)入门教程(8)- SaeFetchurl使用
fetchurl是什么? FetchURL是SAE为开发者提供的分布式网页抓取服务,用来同步的抓取http页面,FetchURL针对国内的网络的做了优化,内部有调度系统,尽可能保证用户快速的抓取到目标 ...
- Java学习笔记之:Java流程控制
一.介绍 Java流程控制包括顺序控制.条件控制和循环控制. 顺序控制,就是从头到尾依次执行每条语句操作.条件控制,基于条件选择执行语句,比方说,如果条件成立,则执行操作A,或者如果条件成立,则执行操 ...
- Orcle数据库查询练习复习:二
一.题目 1.找出所有成绩均低于80的学生姓名 select sname from student where sid in( ) select sname from student where si ...
- IDEA15 File工具栏中没有 Import Project
使用IDEA准备导入项目时发现没有Import Project选项... 解决办法: Settings > Appearance & Bechavior > Menus and T ...
- Python基本程序结构
条件判断: 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断.比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:
- Android Handler传值方式
前面介绍handler的时候,也用到过几种传值方式,今天来总结一下,并且重点说一下bundle方式,代码如下: package com.handlerThread; import android.ap ...
- JCIFS是很不稳定的
我以前也试过这样登录失败,第二天就能登录成功了. JCIFS是很不稳定的. 如果是域登录可以这样 //DOMAIN_IP 域名服务(其实域名和域名服务器IP可以,不过用IP解析速度快很 ...
- (六)CSS伪元素
CSS伪元素用于向某些选择器设置特殊效果. 伪元素的用法和伪类相似: selector:pseudo-element {property:value;} CSS类也可以与伪元素配合使用: select ...
- java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Drawable;I)V in class Landroid/support/v4/graphics/drawable/DrawableCompat
Bug: java.lang.NoSuchMethodError: No static method setLayoutDirection(Landroid/graphics/drawable/Dra ...
- JAVA中获取项目文件路径
在java中获得文件的路径在我们做上传文件操作时是不可避免的. web 上运行 1:this.getClass().getClassLoader().getResource("/" ...
