相关疑难解决方法(0)

将一个表中的多个外键定义为多个表

我有3个型号:

发布:

  • ID
  • 标题
  • 身体

照片:

  • ID
  • 文件路径

评论:

  • ID
  • POST_ID
  • 身体

DB中的相应表格.现在,如果我只想为我的帖子发表评论,我可以简单地添加以下外键:ALTER TABLE comment ADD FOREIGN KEY (post_id) REFERENCES post (id).但我希望对其他模型(照片,个人资料,视频等)发表评论,并将所有评论保存在一个表格中.在这种情况下,如何定义外键(我肯定需要ORM的FK)?

database-design foreign-keys

14
推荐指数
2
解决办法
2万
查看次数

您喜欢名称数据库设计符号,为什么?

您喜欢哪种符号,方法和数据库设计,建模,图表工具以及为什么?
哪种符号,标准,方法是最广泛使用和涵盖的不同供应商?
哪个是标准的,哪个不是?
即哪些是坚持和哪些要避免

和PerformaneDBA的个人问题:
为什么你更喜欢IDEF1X?
坚持使用内置于RDBMS的旧客户端工具中的工具,符号是否更为舒适?

更新:
我刚刚阅读了您最有用的数据库标准是什么?.
我很惊讶 - 那里有十几个答案,绝对没有名字或参考,只有冗长的描述.
是否所有数据库开发人员都使用定制的术语和约定?

我更新了标题,包括"名称",不包括"方法".
我要求的是名称(可能是参考)而不是描述.
符号,例如,UML,IDEF1X.巴克,信息工程

好吧,我主要是SQL Server dev,正如@dportas所提到的,我在SSMS和msdn docs,书籍,文章的图表中看到了一些符号.

sql database language-agnostic standards database-design

11
推荐指数
2
解决办法
4579
查看次数

可以支持专用属性的数据库模式

我需要存储一组实体,其中有几个专用版本.它们具有一些共同属性,但专用属性包含特定于该实体的属性.

解决方案

数据存储是一个关系型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与基于键/值的商店相比的局限性之一.但是,肯定必须有一些建模技术来适应这种情况.

非常感谢任何反馈!

database-design properties relational-database

8
推荐指数
1
解决办法
3685
查看次数

数据库设计使用子类型与否?

我设计的数据库有3个主要的表:BOOKS,ARTICLES,NOTES.
每本书或文章都可以有多个笔记,我的原始设计就是这样,这意味着书上的注释和文章上的注释都会出现在"笔记"表中.以下是NOTES表格的列:

  • note_id
  • note_type
  • note_type_id
  • note_content

NOTE_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}

哪一个更正或更好?

sql database-design data-modeling

7
推荐指数
1
解决办法
1976
查看次数

数据库设计:OR关系

我有一个包含"用户"表的数据库,其中包含有关我的用户的数据.每个用户都要链接到公司或大学.我希望有两个单独的表"学院"和"公司",每个表都有一个字段"ID".那么如何将users表中的每条记录链接到公司或大学?

基本的是我希望在数据库中建立"OR"关系.

database database-design

3
推荐指数
1
解决办法
430
查看次数