ylbtech-Recode(记录)-数据库设计

ylbtech-dbs:ylbtech-Recode(记录)-数据库设计

-- =============================================
-- DatabaseName:Recode
-- desc:记录(生活记录)
-- 创作思路:历史不能修改,但可以修正,追溯演变历程。
-- pubdate:16:46 2015/1/12
-- author:ylbtech
-- =============================================

1.A,数据库关系图(Database Diagram) 返回顶部
1.B,数据库设计脚本(Database Design Script)返回顶部

1.B.1,

-- =============================================
-- DatabaseName:Recode
-- desc:记录(生活记录)
-- 创作思路:历史不能修改,但可以修正,追溯演变历程。
-- pubdate:16:46 2015/1/12
-- author:ylbtech
-- =============================================
USE master
GO

-- Drop the database if it already exists
IF  EXISTS (
    SELECT name
        FROM sys.databases
        WHERE name = N‘Recode‘
)
DROP DATABASE Recode
GO

CREATE DATABASE Recode
go
use Recode
GO
-- =============================================
-- ylb:类别表
-- desc:
-- =============================================
create table Category
(
categoryId uniqueidentifier primary key,    --编号
categoryName varchar(200),        --类别
flagVisible bit            --是否启用
)
go
go
-- =============================================
-- opt:1,添加类别
-- =============================================
-- insert into Category(categoryId,categoryName,flagVisible) values(‘‘,‘未分类‘,0)
go
-- =============================================
-- opt:1,查看类别列表
-- =============================================
select categoryId,categoryName,flagVisible from Category
order by categoryName

go
-- =============================================
-- ylb:记录表
-- desc:记录、记录版本历史
-- 2)只允许修改一级记录、不许修改历史记录
-- =============================================
create table Recode
(
recodeId int identity(1,1) primary key,    --编号
content varchar(2000),        --内容
pubdate datetime default(getdate()),    --发布日期
endEditDate datetime,    --最后修改日期
flagBase int,    -- 0:一级:其他二级(即上级单位编号)
categoryId uniqueidentifier references Category(categoryId)    --类别编号【FK】
)

go
-- =============================================
-- opt:1,添加记录
-- =============================================
-- insert into Recode(content,pubdate,flagBase,categoryId) values(‘Hi, Rain‘,‘2015-1-12‘,0,‘‘)

go
-- =============================================
-- opt:2,修改记录并添加备注(修改原记录内容、更新最后修改日期,同时插入修改备注)
-- =============================================
-- update Recode set content=‘Hi,Gr rain‘,endEditDate=getdate() where recode=‘101‘
go
-- insert into Recode(content,pubdate,flagBase,categoryId) values(‘Hi, Rain‘,‘2015-1-12‘,101,‘‘)

go
-- =============================================
-- opt:3,记录列表
-- =============================================
select recodeId,content,pubdate,endEditDate,flagBase,categoryId from Recode
where flagBase=0
order by recodeId
go
-- =============================================
-- opt:3.2,记录修改备注列表
-- =============================================
select recodeId,content,pubdate,endEditDate,flagBase,categoryId from Recode
where flagBase=101
order by recodeId

1.B.2,

1.C,功能实现代码(Function Implementation Code)返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
时间: 2024-11-05 21:41:18

ylbtech-Recode(记录)-数据库设计的相关文章

数据库设计学习记录

1.将范围缩小到最小添加到表中如果有个人资产还得添加个人资产表.我们只需要直接添加一个表就能实现.直接缩小到最小范围.直接设计库库存表包含个人ID字段和部门ID字段(部门字段存在原因是可能一个人多重身份无法区分)这样就能通过个人找到所属那个部门的资产.找到所属那个公司的资产.2.合并条件死值字段,同一种展示功能可以考虑合并字段成一个字段,,公告状态ID和重新编辑ID效果都是用来是否展示公告信息,两个字段完全可以合并成(1发布,2未发布已编辑,3未发布未编辑)这样能达到同样的语气效果.但是是否置顶

使用django开发博客过程记录1——数据库设计

1.数据库设计 2.插入测试数据 3.配置相关问题 1.数据库设计 数据库有简单的三张表:Article.Category.Tag以下是代码 1 # -*- coding:utf-8 -*- 2 from __future__ import unicode_literals 3 4 from django.db import models 5 6 7 class Article(models.Model): 8 STATUS_CHOICES = ( 9 ('d', 'Draft'), 10 ('

数据库设计时不得不违背三范式的情景

1.在进销存系统中,订单信息中关联到好多其他的基本信息,比如:客户,付款方式,货运方式等,这些信息是有专门表进行维护的,在下订单时也是用下拉框选择的,但在保存订单信息时,不能只记录所谓的外键ID,而是应该同时记录名称等其他的信息. 这是因为订单不能因为没有了客户ID或是付款方式ID而不知道客户与付款方式了.对于订单这种客观存在的事物,是具有一定的历史性质的,因此在设计时应该与其他的关联信息可以“断开”,这也就是保证了订单的独立性. 摘自:http://www.cnblogs.com/tongtk

从零开始编写自己的C#框架(9)——数据库设计与创建

对于千万级与百万级数据库设计是有所区别的,由于本项目是基于中小型软件开发框架来设计,记录量相对会比较少,所以数据库设计时考虑的角度是:与开发相结合:空间换性能:空间换开发效率:减少null异常......当然不同的公司与项目要求不同,初学者要学会适应不同的项目开发要求,使用本框架开发时,必须严格按照本章节的要求来设计数据库,不然可能会产生不可控的异常. 从零开始编写自己的C#框架 数据库设计规范   文件状态: [√] 草稿 [  ] 正式发布 [  ] 正在修改 文件标识: C#框架 当前版本

数据库设计的三大范式

数据库设计的三大范式 为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一定的范式. 在实际开发中最为常见的设计范式有三个: 1.第一范式 第一范式是最基本的范式.如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式. 第一范式的合理遵循需要根据系统的实际需求来定.比如某些数据库系统中需要用到"地址"这个属性,本来直接将"

MySql三大范式与数据库设计和表创建常用语句

[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: '山东省烟台市 13181621008' => userAds:'山东省烟台市' tel:'13181621008' 2.第二范式(2NF):满足1NF后,要求:表中所有的列,都必须功能依赖于主键,而不能有任何一列与主键没有关系.(一张表值描述一件事情) 3.第三范式(3NF):满足2NF后,要求:

MVC实战之排球计分(一)—— 需求分析与数据库设计

一.需求分析: 这个程序是排球计分程序,其业务非常简单,具体如下: 1.本程序可以选择用户身份,通过不同角度记录比赛分数. 2.不同身份记录的比赛成绩将会存储在不同的数据表(目前适合运动员和观众使用). 3.用户键入数据后,可以继续对数据进行操作(如:删除.修改.查看详情). 4,不同的身份的用户 ,不能修改非己的数据.只能修改自己的数据. 这个项目的用例图如下: 数据库设计:设计数据表之前,首先进行实体和关系的识别与确定.通过需求分析,可以观察得出,本项目的实体有:观众,运动员.(观众可以修改

ACCP7.0优化MYSCHOOL数据库设计内测笔试题总结

) 在SQL Server 中,为数据库表建立索引能够(C ). 索引:是SQL SERVER编排数据的内部方法,是检索表中数据的直接通道 建立索引的作用:大大提高了数据库的检索速度,改善数据库性能 A. 防止非法的删除操作 B. 防止非法的插入操作 C. 提高查询性能 D. 节约数据库的磁盘空间 2) 在SQL SERVER中,创建一个表使用(C  )语句. A. INSERT   增加数据 B. DROP      删除数据库,表,约束,视图,索引,存储过程 C. CREATE   创建数据

mysq数据库设计(主键与外键)

主键可以是真实实体的属性,但是常用的好的解决方案是,利用一个与实体信息不相关的属性,作为唯一标示(加个id字段)主键与业务逻辑不发生关系,只用来标示记录 可以在定义完字段后,再定义多列主键(组合主键) 例:primary key(id,name,age);(不是说3个字段都是主键,因为一个表只能有一个主键,可以是3个字段组合成的主键) 设计: 两个实体表内,存在相同的主键字段 如果记录的主键值等于另一个关系表内记录的主键则两天记录对应 1:1对应  数据库设计的时候(常用的信息和不常用的信息分开