荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Jobs (温少), 信区: Visual
标  题: Re: 好冷清啊!
发信站: BBS 荔园晨风站 (Mon Mar 27 13:08:36 2000), 转信


经常设计数据库的时候,通常为不同的实体建立不同的表。


例如,我们的bbs上信息是用数据库管理的。所有斑竹的信息包含在一个表BMADMs中,
BMADMs包含的字段有:id、name等。

所有的文章的标题用一个表来管理,而文章的内容也用一个表管理。

所有的文章标题做一个表titles,
这个表包含文章的标识ID和文章的标题title和作者id。而另一个表contents包含
文章的标识ID和具体文章内容content。

如果我要查询所有斑竹所发表过的所有文章的标题,就要使用outer join。如:

select name,title
   from BMADMs as a left join as b
   on ( a.id = b.id)

我觉得使用outer join是一种技巧,而不是数据库设计失误的救命草。在OLAP系统中
使用outer join是大量的,当然我还没有OLAP方面的经验,我所谈的只能是理论上的。
经常对数据库进行规范化后,即让它符合1NF(The First Normal Form)或2NF
(The Second Normal)或3NF......或更高。当数据库越规范化的时候,数据库的表
就会越多,数据库就会越复杂,通常一般的开发人员不能很好掌握这些复杂的查询关
系,这时候,就可以使用View来隐藏数据库的复杂性,而建立视图的时候,通常大量
使用inner join和outer join甚至cross join。........

   这是我的一些看法,欢迎师兄指教!



【 在 tang (独孤九剑〖玄铁重剑〗) 的大作中提到: 】
: 【 在 Jobs (温少) 的大作中提到: 】
: : 的确是比较冷清,这段时间比较忙,没空去转载文章!!!
: : 我为此表示歉意!
: : 我会自己写一些文章或转载一些文章的,当然希望各位大虾光顾
: : Visual版,这样Visual版才有可能繁荣起来。
: :    非常欢迎Minatl来Visual版发文。同时也诚意邀请tang和lg这些
: : “绝代高手”来一起参与各种技术问题的讨论。
: :    tang在Program版关于outer join的论述,我对tang的观点有保留!
: : outer join不是解决数据库设计不好的救命草,相反,我觉得设计的
: : 好的数据库经常需要使用outer join,因为一个数据库的设计如果符合
: : The First Normal Form以上,也就是说,不把全部数据都放在一张表中
: : 时候,必须经常使用到outer join.......我觉得使用outer join应该是
: : 一种技巧。特别在视图来掩盖数据库的复杂性的时候,outer jion就特
: 你举个例子吧!这样讨论起来才不会空洞!(这几天在BBS上有点懒,只好让你先说了)
: : 别有用。
: :     我才设计几个数据库,同时接触关系数据库的时间还不长,希望tang
: : 师兄多多指教!!!


--

   好好学习,天天向上!!!!

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.11.111]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店