我有3个型号:
发布:
照片:
评论:
DB中的相应表格.现在,如果我只想为我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY (post_id) REFERENCES post (id).但我希望对其他模型(照片,个人资料,视频等)发表评论,并将所有评论保存在一个表格中.在这种情况下,如何定义外键(我肯定需要ORM的FK)?
您喜欢哪种符号,方法和数据库设计,建模,图表工具以及为什么?
哪种符号,标准,方法是最广泛使用和涵盖的不同供应商?
哪个是标准的,哪个不是?
即哪些是坚持和哪些要避免
和PerformaneDBA的个人问题:
为什么你更喜欢IDEF1X?
坚持使用内置于RDBMS的旧客户端工具中的工具,符号是否更为舒适?
更新:
我刚刚阅读了您最有用的数据库标准是什么?.
我很惊讶 - 那里有十几个答案,绝对没有名字或参考,只有冗长的描述.
是否所有数据库开发人员都使用定制的术语和约定?
我更新了标题,包括"名称",不包括"方法".
我要求的是名称(可能是参考)而不是描述.
符号,例如,UML,IDEF1X.巴克,信息工程
好吧,我主要是SQL Server dev,正如@dportas所提到的,我在SSMS和msdn docs,书籍,文章的图表中看到了一些符号.
我需要存储一组实体,其中有几个专用版本.它们具有一些共同属性,但专用属性包含特定于该实体的属性.
数据存储是一个关系型DBMS,这不是讨论:-)具体来说,它是Microsoft SQL Server 2005.
我可以轻松地为公共属性创建一个表,然后为每个专用版本创建一个表.但是,以后可能需要将新实体添加到解决方案中,并且我不希望同时维护对象模型和数据库模式.
另一个想法是创建一个表
reading(<common properties>, extended_properties)
Run Code Online (Sandbox Code Playgroud)
并且该extended_properties字段是扩展属性的某种序列化.我在想JSON或XML.我很可能会使用ORM框架,但我还没有决定.无论哪种方式,来自的专用实体的对象表示都reading可以公开{extended_property_name, value}包含来自该extended_properties字段的解析的键/值对的字典.
从这个http://msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx我收集XML字段,结合这些的模式,在DBMS中给出了类型化XML的概念.此外,涉及extended_properties字段中的XML内容的查询也可以考虑这些.
对我的解决方案建议的反馈,主要是具有reading扩展属性的表和序列化的建议.
此外,我意识到这是关系DBMS与基于键/值的商店相比的局限性之一.但是,肯定必须有一些建模技术来适应这种情况.
非常感谢任何反馈!
我设计的数据库有3个主要的表:BOOKS,ARTICLES,NOTES.
每本书或文章都可以有多个笔记,我的原始设计就是这样,这意味着书上的注释和文章上的注释都会出现在"笔记"表中.以下是NOTES表格的列:
note_idnote_typenote_type_idnote_contentNOTE_TYPE可以是"书"或"文章"; NOTE_TYPE_ID是FK的book_id 如果该note_type是"书" 或一篇文章的ID如果note_type是"文章".
现在我开始怀疑这是否是正确的(或最佳标准化的)设计.另一种方法是使用5个表
书籍/文章/笔记/ book_notes/article_notes
通过这种方式,我可以分别保留书籍笔记和文章笔记,列就像
'notes'{note_id,note_content}'book_notes'{book_id,note_id}'article_notes'{articel_id,note_id}
哪一个更正或更好?
我有一个包含"用户"表的数据库,其中包含有关我的用户的数据.每个用户都要链接到公司或大学.我希望有两个单独的表"学院"和"公司",每个表都有一个字段"ID".那么如何将users表中的每条记录链接到公司或大学?
基本的是我希望在数据库中建立"OR"关系.