数据库设计高手请进!讨论数据库设计问题。(有好思路另开主题给分)

ifengfeng 2003-02-11 11:52:17
有至少200张A4纸的表格需要数据库化。
每个表格至少有几十个数据项。
每张表基本没有关联。
有可能在使用过程中单个表的数据项会有改变。
表格字段包括: 数字(整、浮点)字符、时间、BOOL。
需要对表进行插入、修改、删除和统计(包括多表统计)

现在需要用程序读取该数据库,求数据库设计思路。
不能每个表对应数据库一个表吧,那样就疯了。
...全文
24 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
ifengfeng 2003-02-21
  • 打赏
  • 举报
回复
啊,有没有搞错啊。
是需要做电子化输入的表格有200张。表之间基本没联系。表之间一定要有联系吗?呵呵

我正在想用UML见摸成不成...

楼上的那位兄弟,用存储过程怎么简单了,劳烦你说一下?:)


谢谢楼上发言的朋友们,还望多指教啊:)
gks_cn 2003-02-17
  • 打赏
  • 举报
回复
一个报表对应一个数据库表。绝对不行。那样的话你的应用程序要做疯。
特别是以后报表发生变化或是要从基础数据上面得出新的报表的时候。

数据库的设计过程不想多说了。随便一本书都有
hyryxgs 2003-02-16
  • 打赏
  • 举报
回复
写个招聘广告,请200个MM帮你输入不就行了吗?
保证一天搞掂。
leichenglin 2003-02-16
  • 打赏
  • 举报
回复
用存储过程,巨简单的就搞定了!!!
huanggx 2003-02-16
  • 打赏
  • 举报
回复
纵向表设计,不适合数据量很大,或者变化太多的数据(即总是有修改更新操作),因为效率很低下。
如果你说的“数据项有改变”只是说数据项又增减,那就干脆按最多的数据项冗余设计好了。
无论如何,我觉得“每张表基本没有关联”这句话很有问题。
enmity 2003-02-16
  • 打赏
  • 举报
回复
基本没有,就是有了

除非这个“系统”根本不是一个系统

除非,这个“系统”超过200个功能,一个功能一个表,每个表没有任何关系
huanggx 2003-02-16
  • 打赏
  • 举报
回复
所谓纵向设计的提示:
你考虑这样一个需求:
在一个web页面中显示任意商品的属性(例如:长度、高度、电压、重量……)。问题是,不同的商品有不同的属性,你如何设计一个数据库系统来支持这种不确定的属性呢?
huanggx 2003-02-16
  • 打赏
  • 举报
回复
ifengfeng (fengfeng) :

看起来,你应当从业务需求开始研究。通常,研究一个系统,确实是从输出着手研究的。但不应该混淆表格和数据库表的概念。你所说的200多张A4表,大约应该是系统所要求的输出吧?如果这些输出是对一个业务系统的要求的话,不可能“每张表基本没有关联”。如果每张表“基本没有关联”,也就“基本上”不是一个业务系统了。
上面已经有人建议你先从业务逻辑开始研究,很正确。还有人指出,你说的这200多张表应该是系统数据库表的视图,我觉得也是正确的说法。
对于你提出的,每张表的字段可能有变化,这句话很模糊。究竟是你说的那200张表格的栏目有变化,还是按照你的理解设计出的数据库表字段有变化?
如果是前者,可采用纵向设计解决问题;如果是后者,那就是你的理解或者设计问题了。

总之,我觉得你提出的问题比较模糊。也许是因为你经验不足,把你自己理解后的问题提出来了。也就是说,问题本身可能不是你描述的那样。

仅供参考。

Flying_kkd 2003-02-15
  • 打赏
  • 举报
回复
关注中
lizongqi 2003-02-15
  • 打赏
  • 举报
回复
占个位子,听课
gks_cn 2003-02-14
  • 打赏
  • 举报
回复
数据库设计不应该以报表为主线,应该以业务流程为主线
首先建立系统的业务模型,然后利用case工具建立概恋模型(er图)
再转化为物理模型(表)
你说的系统比较大,应该严格按照上面的步骤实施,200多张报表反映到数据库物理模型可能就没有那么多。实际上200多张报表都是有业务基础数据生成的视图。

最好是找个数据库工程师帮忙分析。
pengdali 2003-02-14
  • 打赏
  • 举报
回复
你设计表的时候不要考虑,未来的报表,你只需要收集需求和元数据!
在你设计完表后在考虑报表是实现!
stwx 2003-02-14
  • 打赏
  • 举报
回复
应该将你的应用分解成可以互相独立的应用,作成子系统计和多个数据库.
如果太多业务不相连的表合在一个数据库的话,这样做就算做好了以后速度和维护都很困难!
x_xy 2003-02-14
  • 打赏
  • 举报
回复
我建的数据库的建表文件打出来都有60来张纸,有个表有90多个字段。。。。。你的200张也不算太过分。
估计你和我一样,是很多分散的业务集合在一起了,能不能先抓抓重点,根据每种不同的业务归类,然后提炼出共同的部分,再建一些共同需要的表,然后就可以去掉一些不需要的。


pgh 2003-02-13
  • 打赏
  • 举报
回复
对业务流程分析后,可能找得到数据合并的方法
odb5172 2003-02-13
  • 打赏
  • 举报
回复
既然每张表都要进行维护,你还有什么可以考虑的!
既然表之间没有关联你也减少了很多的麻烦,我还是建议你每个表对应数据库一个表吧,这也不算多啊!你就认了吧!!!!!!!!
OnA 2003-02-13
  • 打赏
  • 举报
回复
等辅助工具,作数据库原始设计图.这样建库,修改比较方便!
试试比较好的如ORACLE.我就是在2年前从SQL SERVER改行ORACLE的
几十张表也没有什么可怕的.
80多张表的系统我都看到过(当时我已经晕倒了)
现在我做的系统,表在100以上......
OnA 2003-02-13
  • 打赏
  • 举报
回复
这么多表,还用微软的东西,你可真瞧得起它.
先找找他们的关系,不可能一个系统全是离散的数据,业务上肯定有关联.
建议使用CASE,VISIO,POWER DESINGNER
haipeng2950 2003-02-13
  • 打赏
  • 举报
回复
你的表是干什么用的?我觉得还是从业务流程上着手设计
ftteven 2003-02-13
  • 打赏
  • 举报
回复
如:有1到10000,共10000个字段,分别属于200张表,(每张表50个),表一共有10000条记录,每条是id,name,father,表二有200条记录,每条是id,name。id均为标识,表一的father字段就是表二的id。
加载更多回复(13)

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧