- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
子关系: [Parent] 1-----* [Children] 现在每个 parent (妈妈或爸爸)在有 child 的-6ren">
我有一个数据库设计问题。为了说明我的问题,请想象以下情况:
一个简单的父->子关系:
[Parent] 1-----* [Children]
现在每个 parent (妈妈或爸爸)在有 child 的时候都有第一个 child 。我需要在数据库中从父级到长子级建立牢固的关系
[Parent] 1-----1 [Children]
我可以简单地将 FirstbornChildId 添加到父表,但我不喜欢这种方法,因为它可能导致数据不一致。 (FirstbornChildId 链接到一个 Child,而 ParentId 链接到另一个父...)
Entity Framework 应该映射关系,以便每个父实体都有一个链接到特定子实体的 FirstbornEntity 属性。
有什么好的方法可以在 Microsoft SQL 2008 R2 中实现这一点?
最佳答案
我觉得你的方法很好。您必须防止应用程序层中的数据损坏。数据库约束只能做这么多。您至少可以为 FirstbornChildId 设置一个外键,以确保 child 确实存在(无论 parent 是谁)。
这个“长子”属性无论如何都是非规范化的:它可以从 child 的“生日”属性中派生出来。感谢您出于性能原因明确存储它,并且没有问题。但是,如果您想让数据库完全处理完整性,这确实会让事情变得棘手。
关于sql - 数据库父 -> 子 "firstborn"关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11119504/
我有一个数据库设计问题。为了说明我的问题,请想象以下情况: 一个简单的父->子关系: [Parent] 1-----* [Children] 现在每个 parent (妈妈或爸爸)在有 child 的
我是一名优秀的程序员,十分优秀!