2011-05-19 30 views
1

我正在写一个小型网站供员工参考视频胶囊,了解如何使用我们使用的不同程序。我被要求按类别整理视频,并且类别需要任意嵌套。哪个数据模型用于表示小型SQL数据库中的嵌套类别?

我一直在寻找两种方法来建模:嵌套集和邻接列表。他们似乎都有起伏,我想知道是否有人可以帮助我选择最适合我的使用场景的模型。

  • 我想该类别下的
  • 该网站将每周一次,如果要更新与影片的号码一起显示在菜单中的类别。大部分数据库活动将被读取。
  • 该网站不会被大量访问。我希望一次不会超过2-3个用户。
  • 分类可能会在我们建立网站时建立,很少(如果有的话)之后触及。也许会添加一些类别,但我不希望类别在树中被删除或移动。
  • 这是一份暑期工,所以我希望别人在我离开后维护网站。

谢谢你的帮助。

+0

对于什么数据库?有些具有递归/分层查询支持,而另一些(MySQL)不支持 - 这会影响设计。 – 2011-05-24 03:21:26

回答

1

如果它是一个小型轻度使用的数据库,不太可能看到很多变化......我不会为此问题出汗。不要花太多时间考虑它:只需以最简单,最直接,最容易理解/实施的方式来完成。就像他们说的那样,Git'er完成了。

+0

[我同意@尼古拉斯](http://en.wikipedia.org/wiki/KISS_principle)。由于阅读是你的主要活动,所以答案也取决于你将从哪里访问 - SQL存储过程或.NET/C#库?顺便说一句:不要花费一些时间来探索选项,不正确的设计会大幅影响性能 - 特别是在分层数据中。 – YetAnotherUser 2011-05-19 18:48:03

+0

@YetAnotherUser:我正在使用PHP和MySQL。至于探索选项,这就是我一直在做的事情;由于数据库的规模很小,而且可能会很小,所以我肯定会考虑以天真的方式做事(即将所有内容加载到RAM中,并使用PHP来安排数据),但代价是性能下降,因为它不会引起注意。 – gnuvince 2011-05-19 19:00:01

0
category 
-------- 
category_id 
name 

category_nesting 
---------------- 
parent_category_id 
child_category_id 

video 
------- 
video_id 
more_stuff 

video_category 
-------------- 
video_id 
category_id