首页 新闻 会员 周边 捐助

菜鸟急救,倾所有积分请教数据库建表

0
悬赏园豆:200 [已解决问题] 解决于 2013-01-08 15:39

这个表的意思是:

标准状态下,air的密度是1.29280,H2的密度是0.08994,N2的密度是1.25050,密度是定值,不随温度变化;

0℃时air的粘度是0.0171,H2的粘度是0.0084,N2的粘度是0.0166;

5℃时air的粘度是0.0173,H2的粘度是0.0085,N2的粘度是0.0168;

10℃时air的粘度是0.0176,H2的粘度是0.0086,N2的粘度是0.0171;

这只是气体表的一部分,源数据有27种气体,30个温度值;

此外还有水表,水表多了个压力字段,密度、粘度随温度变化,有80个温度值如下图:

小弟现在要把这两个表里的数据放到数据库表里,不知该如何安排字段,请高人指点

灿飞屋的主页 灿飞屋 | 初学一级 | 园豆:5
提问于:2013-01-05 09:41
< >
分享
最佳答案
0

上图俩表,字段不同,

第一个表是气体属性表,没有压力字段。密度和气体名称相对应,不随温度变化。

第二个表是水属性表,多一压力字段。密度随温度变化。【附:我是灿飞同事,共同解决此问题】

收获园豆:200
小小伍子子 | 菜鸟二级 |园豆:389 | 2013-01-05 15:28
其他回答(6)
0

30个温度值和80个温度值是一个枚举,也可以说是一个字典,当你把这些值当字典来用时,数据记录可以直接用一个字段表示,

把记录的值当多条数据库记录来处理好像可以完成你的需求

az235 | 园豆:8483 (大侠五级) | 2013-01-05 09:44

本人愚钝,不太明白

支持(0) 反对(0) 灿飞屋 | 园豆:5 (初学一级) | 2013-01-05 10:27

@灿飞屋: 流体种类,流体名称、算法公式等这个放一张表就是数据字典

另一张表就是产生的数据

程序去处理其他逻辑

支持(0) 反对(0) az235 | 园豆:8483 (大侠五级) | 2013-01-05 11:00
0

你是要把这两个表里的数据整合到一个数据库表里么?

W宁宁 | 园豆:522 (小虾三级) | 2013-01-05 10:02

只要能解决问题,多个表或一个表都可以

支持(0) 反对(0) 灿飞屋 | 园豆:5 (初学一级) | 2013-01-05 10:20

@灿飞屋: 额 ,俺不会加图片呢....把我常用的数据库建表的代码给你吧,仅供参考啊。

先见两个码表 温度和 物质名称(水和各种气体)

/*===========================================*/
/* Table: Temperature                                           */
/*===========================================*/
create table Temperature (
   ID                   uniqueidentifier     not null,
   C                    nvarchar(50)         null,
   F                    nvarchar(50)         null,
   constraint PK_TEMPERATURE primary key (ID)
)
go
/*============================================*/
/* Table: Material                                              */
/*============================================*/
create table Material (
   ID                   uniqueidentifier     not null,
   Type                 nvarchar(50)         null,
   Name                 nvarchar(50)         null,
   constraint PK_MATERIAL primary key (ID)
)
go

然后是物质属性表

/*============================================*/
/* Table: Attributes                                            */
/*============================================*/
create table Attributes (
   ID                   uniqueidentifier     not null,
   Material             uniqueidentifier     null,
   TemperatureId        uniqueidentifier     null,
   Density              nvarchar(100)        null,
   Viscosity            nvarchar(100)        null,
   Pressure             nvarchar(100)        null,
   constraint PK_ATTRIBUTES primary key (ID)
)
go

这样子的表可以组合出来你想要的结果吧

支持(0) 反对(0) W宁宁 | 园豆:522 (小虾三级) | 2013-01-05 11:23
0

这个表的设计方式比较多,你能否总结一些常用的使用这些数据的场景。

Launcher | 园豆:45050 (高人七级) | 2013-01-05 10:17

输入压力0.1和温度20后自动生成粘度和密度

支持(0) 反对(0) 灿飞屋 | 园豆:5 (初学一级) | 2013-01-05 10:25

@灿飞屋: 从你这个场景来看:

输入为:流体种类,流体名称,压力,温度;

输出为:粘度,密度;

用于粘度和密度相对于输入条件的值得组合并不相同,同时考虑到可能还有其它的由输入条件映射的指标(同粘度、密度,在这里,我们把它们定义为指标),那么那么最简单的表结构就是:

流体种类,流体名称,压力,温度,指标类别,指标值

考虑到流体和指标的扩展性,那么我们可以分成三张表:

表一(流体表):流体种类,流体名称

表二(指标类别表):指标类别,指标名称

表三(指标表):流体种类,压力,温度,指标类别,指标值

支持(0) 反对(0) Launcher | 园豆:45050 (高人七级) | 2013-01-05 10:45
0

表一 类别:类型ID,类别名

表二 流体表:  流体ID,流体名称, 类型ID

表三 属性表:流体ID,温度,密度,压力,粘度,其他属性

Tom.汤 | 园豆:3058 (老鸟四级) | 2013-01-05 12:54
0

表一:物质Id,物质名称,物质密度

表二:Id,物质Id,温度,粘度,饱和蒸气压

psforever | 园豆:461 (菜鸟二级) | 2013-01-06 01:02
0

温度表与粘度表示多对多的关系,简言之再建一个关联表即可

dong.net | 园豆:205 (菜鸟二级) | 2013-01-06 14:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册