惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
罗磊的独立博客
The GitHub Blog
The GitHub Blog
V
V2EX
Last Week in AI
Last Week in AI
博客园 - 聂微东
MyScale Blog
MyScale Blog
美团技术团队
L
LangChain Blog
博客园 - Franky
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
S
SegmentFault 最新的问题
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Stack Overflow Blog
Stack Overflow Blog
量子位
小众软件
小众软件
宝玉的分享
宝玉的分享
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
D
Docker
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 刚说

高效批量计量单位转换 不同计价方式对存货核算的影响 大数据量删除算法 .net操纵xml文件类(c#) WebWagon - An HTML Container Class asp.net1.1和asp.net 2.0共存 不敢相信吧!很灵的缘分配对软件! 免费动态网站空间申请(asp and asp.net and access or other)----(最新更新)收藏 哪位大虾给我找一个反编译工具 ASP遗留的二十大积习 Microsoft Visual Studio .NET 2005的更新 Windows死机密码 网站测试的郁闷 为Blog打造个性日历 XP安装全攻略---------(个性化) 看看C# 给asp.net 一个礼物 XP命令集 换换鼠标→看看怎么样
层次结构计量单位数据库设计以及组内组间转换率
刚说 · 2010-11-24 · via 博客园 - 刚说


/*
1.计量单位数据库设计
2.批量进行计量单位转换
3.统一单位模型
*//*
计量单位表
用于存储计量单位基本信息
*/
If OBJECT_ID('Base_UOM') IS NOT NULL
Drop Table Base_UOM
Go
Create Table Base_UOM
(
ID
BigInt,
Name
Nvarchar(50), --计量单位名称
BUOM BigInt, --基础单位
Class Int, --计量单位组,如长度,时间,重量
Ratio Decimal(24,9) --转换率
)/*
计量单位组之间的转换率表
用于存储计量单位组之间的基准单位转换率
*/
If OBJECT_ID('Base_UOMRatio') IS NOT NULL
Drop Table Base_UOMRatio
Go
Create Table Base_UOMRatio
(
ID
BigInt,
FromUOM
BigInt, --从单位
ToUOM BigInt, --到单位
Ratio Decimal(24,9) --转换率
)/*
业务数据表
存储有基本业务数据
*/
If OBJECT_ID('Base_BizData') IS NOT NULL
Drop Table Base_BizData
Go
Create Table Base_BizData
(
ID
BigInt,
Item
Nvarchar(50),
UOM
BigInt,
Qty
Decimal(24,9)
)
/*
初始化测试数据:数量仅作为演示,不代表业务意思

1.基准单位的基准单位为空
2.假设 秒到毫米 单位之间的转换率为 2

*/--计量单位数据
Truncate Table Base_UOM
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (1,'',1,1,1)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (2,'',1,1,60)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (3,'小时',2,1,60)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (4,'',3,1,24) Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (10,'毫米',10,2,1)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (11,'厘米',10,2,10)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (12,'分米',11,2,10)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (13,'',10,2,1000)
Insert Into Base_UOM(ID,Name,BUOM,Class,Ratio) Values (14,'千米',13,2,1000)
--计量单位之间转换率
Truncate Table Base_UOMRatio
Insert Into Base_UOMRatio(ID,FromUOM,ToUOM,Ratio) Values (1,1,10,2)--业务数据
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (1,'a',3,120)
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (2,'a',4,20)
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (3,'a',4,90)
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (4,'a',4,40)
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (5,'a',3,50)
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (6,'b',1,30)
Insert Into Base_BizData(ID,Item,UOM,Qty) Values (7,'b',13,20)