由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 怎样建立这个Data Model (军队序列)
相关主题
请问XML还有前途么?哪位同学推荐本数据库设计方面的好书??
A question about normalization有很多fields但是稀疏的数据库会占很多内存么?
请问那个normal form在production最popular?大家看下这样的project有参与的价值吗? 谢谢!
问一个初级的问题关于数据仓库的维度what is Data modeling?
多对多relation?请教sql中有没有办法在表中嵌表?
什么软件用来对matrix的row 和column 进行normalization?mySQL有多大的市场?
要面试了 怎么准备新鲜出炉的微软 DB 面试题
有什么优化query的常用方法求助:将multiple checkbox改为一个column多个redord写入数据库
相关话题的讨论汇总
话题: table话题: 师长话题: 上级话题: model话题: data
进入Database版参与讨论
1 (共1页)
d*******n
发帖数: 109
1
军队序列最高长官是军长,军长手下可以有〉=1师长,师长手下〉=1旅长,以此类推。
但是我们不知道Hierrachy一共有几层,可以是3层,也可以是30层。数据库里还需要存
储每个人的年龄。
有一个办法是创建一个Table,没有PK,FK,有四个Column,
上级,发生序列,下级,年龄
这样可以从上级是什么职务,这个职务是同样职务中的第几个,下级职务来最终确认一
个人的年龄。
还有什么好方法,比如用recursive reference key (self reference key) 来设计这
个data model吗? 我自己测试,花了很多时间,但是没有做出来。
谢谢
s**********o
发帖数: 14359
2
一个TABLE肯定不是NORMALIZED的了,人员升级变动是很经常的,都在一个TABLE很困难
虽然职位本身有一个上下级关系,但是不一定是直属上下级,多数都是这样搞的。
ID 人名 年龄 职位
1 张三 20 营长
2 李四 30 团长
3 王二 35 旅长
4 赵五 40 师长
HIGHID LOWID RELATIONSHIP
4 3 直属上下级
3 2 直属上下级
2 1 直属上下级
d*******n
发帖数: 109
3
我这个数据库不需要名字信息的,也不需要考虑到职务升迁变动的可能性。
而且,query的时候是这样的
“请问军长手下第二序号的师长手下第三序号的旅长手下第一序号的团长的年龄是多少
?”
这样是不是难度增大了?
s**********o
发帖数: 14359
4
什么叫第二序号,第三序号,你有一个默认的军长手下的师长是有序号的,
你的军队到底有多少序号,别跟红军似的今天一个三一五师明天一个二一
八师,每个军底下有多少师,每个师的号是什么都要有单独的TABLE,否则
没规律可循了,你的年龄没有人做ID,根本就没有实用价值。

【在 d*******n 的大作中提到】
: 我这个数据库不需要名字信息的,也不需要考虑到职务升迁变动的可能性。
: 而且,query的时候是这样的
: “请问军长手下第二序号的师长手下第三序号的旅长手下第一序号的团长的年龄是多少
: ?”
: 这样是不是难度增大了?

d*******n
发帖数: 109
5
一个军长,但军长手下有〉=1师长,每个师长从他出现在花名册的顺序开始排序号,1
,2,3,以此类推。每一个上级有〉=1个直接下级,每一个下级只有一个直接上级,但
是在展开花名册之前,我们是不知道上级有几个直接下级,也不知道这个Hierarchy有
几层的,但是涉及数据库是要考虑到这个情况,不能设计好之后再改数据结构的。
按照我先前的设想是这样的:
ID(int, PK) 上级, 上级出现序号, 上级年龄, 下级
在树状的花名册里,我读取数据先走完最左边的数据
就是军长1,师长1....排长1,工兵1
读完工兵1后,如果排长1下有其他比如工兵2,我再读取工兵2,如果工兵2之下还有下
级比如民兵1,民兵2,民兵3等,我再依次读取民兵1,民兵2,民兵3。
这不是Normalized,但可以用,我想不出来,recursive foreign key之类的好的方法
来做。或是否有其他方法解决。
s**********o
发帖数: 14359
6
你这不是搞了个LIST么,跟数据库有什么关系,关系型数据库就是讲NORMALIZATION
NORMAL以后可以对付各种不同的QUERY,你这次问的是年龄,下次问的是性别怎么办,
大下次又问身高怎么办?拆了重新存啊,你这什么数据库啊

1

【在 d*******n 的大作中提到】
: 一个军长,但军长手下有〉=1师长,每个师长从他出现在花名册的顺序开始排序号,1
: ,2,3,以此类推。每一个上级有〉=1个直接下级,每一个下级只有一个直接上级,但
: 是在展开花名册之前,我们是不知道上级有几个直接下级,也不知道这个Hierarchy有
: 几层的,但是涉及数据库是要考虑到这个情况,不能设计好之后再改数据结构的。
: 按照我先前的设想是这样的:
: ID(int, PK) 上级, 上级出现序号, 上级年龄, 下级
: 在树状的花名册里,我读取数据先走完最左边的数据
: 就是军长1,师长1....排长1,工兵1
: 读完工兵1后,如果排长1下有其他比如工兵2,我再读取工兵2,如果工兵2之下还有下
: 级比如民兵1,民兵2,民兵3等,我再依次读取民兵1,民兵2,民兵3。

d*******n
发帖数: 109
7
这个是不叫RDB,是想拿来处理XML的数据的,说了半天师长军长的,我还没有说清楚。
s**********o
发帖数: 14359
8
那你存在XML里不挺好吗,如果百万数据的会死慢

【在 d*******n 的大作中提到】
: 这个是不叫RDB,是想拿来处理XML的数据的,说了半天师长军长的,我还没有说清楚。
d*******n
发帖数: 109
9
项目大致是这样的:
从web service来的数据,是XML的格式,那么现在需要读取这个数据,用SQL把我们需
要的数据显示出来。所以就想是用一个Table还是用几个Table(RDB)来存储数据的问
题了,还有就是你说的Performance Tuning了,需要Developer决定用什么形式的Table
了。
d*****e
发帖数: 151
10
data model有很多现成的模板,可以套用的。
1 (共1页)
进入Database版参与讨论
相关主题
求助:将multiple checkbox改为一个column多个redord写入数据库多对多relation?
怎样才能提高database呢 (转载)什么软件用来对matrix的row 和column 进行normalization?
怎样处理normalization和performance的关系要面试了 怎么准备
Database design question for dummy有什么优化query的常用方法
请问XML还有前途么?哪位同学推荐本数据库设计方面的好书??
A question about normalization有很多fields但是稀疏的数据库会占很多内存么?
请问那个normal form在production最popular?大家看下这样的project有参与的价值吗? 谢谢!
问一个初级的问题关于数据仓库的维度what is Data modeling?
相关话题的讨论汇总
话题: table话题: 师长话题: 上级话题: model话题: data