为什么在数据库建表时要建一张人员数据库表和一张机构表,为什么不能合成一张表?

只需一步,快速开始
扫一扫,极速登录
后使用快捷导航没有帐号?
报表后台数据库建表和建模的问题
||查看: 1503|回复: 2
经验值 & | &F豆 18 个 &| &F币 0 元
最佳答案 0 条 &| &最后登录
各位达人大家好,
这是我的第一次发帖提问,主要是关于后台数据库方面的,希望得到大家的指点。
1) 一般做稍微大型决策平台时,后台的数据库表一般会是完整的数据仓库来做支撑嘛 ?
& && &还是不同业务系统的抽出来的明细数据就OK ?
2) 一般图标展示数据偏汇总数据,这些汇总数据有着不同的颗粒度 和 不同的分析纬度,
& &&&在后台的建表过程中,一般是什么样的思路、或者规划
3) 关于功能主题的扩展性方面(新增主题报表),有没有什么说法?
话题比较大,希望大家都能各抒己见,谢谢
此帖共有 53 位番薯登录后查看
width:100%">
经验值 & | &F豆 68804 个 &| &F币 17 元
最佳答案 1 条 &| &最后登录
这种问题怕应该是具体问题具体分析,大而论,帮助不大。
width:100%">
经验值 & | &F豆 22664 个 &| &F币 90 元
最佳答案 0 条 &| &最后登录
是的,同意楼上观点。
width:100%">
FineReport 8.0测试勋章
V8.0“一个BUG一百块”活动纪念勋章
活动进行中
截止报名时间: 23:20
截止报名时间: 09:00
截止报名时间: 23:00
截止报名时间: 09:00
截止报名时间: 09:00
Copyright & ||数据库建表原则-设计思想-查询优化-命名规范_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据库建表原则-设计思想-查询优化-命名规范
&&数据库建表原则-设计思想-查询优化-命名规范
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩13页未读,
定制HR最喜欢的简历
你可能喜欢数据库设计中,会为每个注册用户都新建一张表吗
[问题点数:40分,结帖人kangaroo]
本版专家分:0
结帖率 80%
CSDN今日推荐
本版专家分:1435
本版专家分:13607
2014年4月 其他数据库开发大版内专家分月排行榜第一
2016年1月 其他数据库开发大版内专家分月排行榜第二2014年12月 其他数据库开发大版内专家分月排行榜第二2014年11月 其他数据库开发大版内专家分月排行榜第二2014年5月 其他数据库开发大版内专家分月排行榜第二
2014年3月 其他数据库开发大版内专家分月排行榜第三
本版专家分:5
本版专家分:2187
2017年 总版技术专家分年内排行榜第八
2016年10月优秀大版主优秀小版主
2017年1月 总版技术专家分月排行榜第二
2016年12月 总版技术专家分月排行榜第三
本版专家分:470998
2012年 荣获名人称号
2010年 总版技术专家分年内排行榜第二
2009年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第十2011年 总版技术专家分年内排行榜第七
本版专家分:0
本版专家分:470998
2012年 荣获名人称号
2010年 总版技术专家分年内排行榜第二
2009年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第十2011年 总版技术专家分年内排行榜第七
本版专家分:0
本版专家分:14100
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐数据库设计--关于建表的时候选择横标和竖表(纵表)的一点思考
数据库设计--关于建表的时候选择横标和竖表(纵表)的一点思考
在做数据统计类数据库设计的时候,在考虑数据存储的时候,经常会遇到逻辑上同一个BusinessID对应多个数据点的情况,
比如工资表中的员工ID以及各项工资信息,财务表中的各个报表Id和多个数据点之间的信息
面对这种情况,如何来设计表结构,是横表,还是竖表,各有那些优缺点,本文将做一个粗浅的分析。
横标和竖表的表现形式
日常生活中也有很多类似的例子,先用一个Excel画一个例子,比如工资表这么做就是"横表",特点是,一个ID对应所有的值信息,以行Key-Value1-Value2-Value3的方式存储
如下是竖表(纵表),特点是每行仅存储该ID的某一个类别字段的值,以行的方式存储Key-Value的方式存储
横标和竖表的设计示例
下面通过一个具体的例子来说明横标和竖表的一些特点
横表中的数据:
竖表中的数据
可能实际应用中,要比这个示例中的情况更加复杂,那么在设计表结构的时候,如何选择横标或者竖表?首先来看横标的特点
1,同一个Key值对应的列是固定的,比如,比如HorizontalTable中有6个字段
2,各个字段的值是自由的,比如HorizontalTable中的CategoryVal1是varchar类型的,CategoryVal2是decimal的
3,表中并不存储描述性字段本身(相比纵表)
4,相比竖表,存储同样多的数据,行数要少
1,同一个Key值对应的列是动态的,因为是按照行存储的,可以存储成Key1-Value1,Key1-Value2,Key1-Value3的方式存储
2,字段的类型是固定的,但是类似是要兼容的,不能有个性化的字段,比如VerticalTable中的CategoryKey+Val,因为固定了这么一个字段
3,表中需要存储描述字段本身(相比横标),要根据BusinessKey值的不同,重复存储CategoryKey
4,相比横表,存储同样多的数据,行数要多
综上可以看出,
横标的优点:横标的有点事显示的较为清晰直观,同时在字段的选择上更为科学合理,具体的字段可以根据具体情况划分字段类型,
横标的缺点:不方便扩展和公用,也就是说设计了一张横标,只能在固定的某一种特定的相对不变的场景下使用,
比如加字段,或者类似的业务想公用一张横表,都有局限
竖表的优点:最大的特点是可以灵活扩展存储的内容,同时具有一定的公用性
因为竖表的存储结构不受字段个数的限制,可以存储具有一定共性的业务数据。
竖表的缺点:竖表的字段类型要兼容,比如横标可以根据具体的值设计成varchar,decimal,datetime等,
横标为了兼容以上字段类型,只能设计成varchar的,可能会浪费一定的空间
横标和竖表主要考虑的是扩展性和共同性,对于显示方式问题,个人认为倒是问题不大,无非是行转列和列转行的问题 如下是一个将上述设计的横表转竖表和竖表转横标的示例,也不复杂,因此说,显示的问题不是大问题
关于横表和竖表的性能问题
关于性能问题,很难一概而论,还要结合具体的情况作分析,比如查询方式,查询数据了,索引结构等等都有一定的关系。
表面上看,竖表存储了大量冗余的数据,浪费了一定量的磁盘空间是事实,但是极端情况下横表也有可能造成极大的空间浪费
了解SQL Server的同学肯定知道,
SQL Server中正常来来说是行存储,一行数据不能跨页存储(当然forwarded存储方式的数据除外,有机会说这个),
SQL Server的最小存储单位是页(Page),一个页的大小是8kb,除去page信息固定占用的空间之外是8060个字节,
每一行固定的一行数据除了数据自身占用的空间外,至少(不是一定,表结构越复杂占用的额外空间越大)还要占用1+1+2+2+1=7个字节
对于宽表,一旦字段长度达到一定的程度,
比如每行长度为800个字节,理论上将,在一个page上,存储9行记录之后,还剩余800字节的空间(具体剩余多少跟表结构有关,这里只是举例说明),
对不起,第十行数据来了已经存不进去了,只能新开页面分配存储空间,这样,当前这个页面就浪费了800字节的存储空间
反观竖表,因为存储的数据行都非常短,即便发生上述情况,也只会浪费很少的一点数据空间(小于一行数据的空间)
有上述可见,对于横表和竖表,不管是设计上还是存储上,优点和缺点都是看站在哪个角度来看的,
从一个角度来看是有点,从另外一个角度看就可能会变成缺点,只有舍弃一部分,根据实际情况权衡之后做出取舍。
凡事无绝对,适合即可。
本文从适应场景、存储、性能等方面粗浅第分析了表设计时候横标和竖表的特点和优缺点,
具体设计的时候可综合考虑,做出合理的选择。
另外,本文肯定还有没有预计或者说想到的情况以及评估方向,也希望有想法的同学补充,谢谢。from B..tb
--B库tb表,从A库查!
昵称: AcHerat &时间:
2、怎么通过sql语句访问另一个数据库中的某个表呢?--& 先建LinkServer, 访问时用[LinkServer名].[数据库名].[架构名].[Table名] &
昵称: ap0405140 &时间:
昵称: ssp2009 &时间:
昵称: chtzhking &时间:
昵称: nonglizhi &时间:}

我要回帖

更多关于 access数据库管理系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信