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. C# Log4Net配置

    Log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件.数据库.EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题.日志的作用:将运 ...

  2. shop++ 安装

    1.安装tomcat后 ,G:\apache-tomcat-6.0.35\conf\server.xml 中设置tomcat 编码为utf-8. 增加URIEncoding = "UTF-8 ...

  3. REST_FRAMEWORK加深记忆-加了API_ROOT及超链接的CASE

    urls.py from django.conf.urls import url from rest_framework.urlpatterns import format_suffix_patter ...

  4. 看来要学 Asp.Net 了

    C#大部分招聘都要这个:对个人用而言,太庞大了,所以对其的感观一直不咋,也就没想学了.

  5. hdu 2582 f(n) 数学

    打表找规律: 当n为质数是,GCD(n)=n; 当n为质数k的q次方时,GCD(n)=k; 其他情况,GCD(n)=1. 代码如下: #include<iostream> #include ...

  6. dynamic介绍

    Visual C# 2010 引入了一个新类型 dynamic. 该类型是一种静态类型,但类型为 dynamic 的对象会跳过静态类型检查. 大多数情况下,该对象就像具有类型 object 一样. 在 ...

  7. *[hackerrank]Algorithmic Crush

    https://www.hackerrank.com/contests/w4/challenges/crush 第一眼觉得要用线段树,但据说会超时.其实这个可以通过生成pair排序来做. #inclu ...

  8. 关于Linux的时间与时区

    转:http://linux.chinaunix.net/techdoc/beginner/2007/06/22/960790.shtml 首先要说明的是我的系统是fedora,其他系统可能不完全相同 ...

  9. JQuery与DOM中的区别

    一.Query与DOM的区别 1.页面加载: DOM:window.onload=function(){}; JQuery:$(function(){ }); 2.获取对象:JQuery中有“#” D ...

  10. Android Handler传递参数动态更新UI界面demo

    package com.example.demo_test; import android.app.Activity; import android.os.Bundle; import android ...