database-normalization相关内容
我从一张表格开始,按日期列出了 1958 年到 1980 年的前 100 首歌曲.对于每个日期,有 100 条记录.显然,随着歌曲每周改变位置,许多将是重复的.此外,艺术家将被多次复制(想想猫王).表中有 ~ 116,000 条记录. 这个表有以下字段 uniq,日期,艺术家,标题,位置 为了消除重复项(我理解的标准化),我修改了表格,现在看起来像这样 uniq,日期,艺术家代码,标题
..
我的数据库中目前有多个表,它们由相同的“基本字段"组成,例如: 名称字符变化(100),说明文字,网址字符变化(255) 但我对该基本表有多个专业化,例如 tv_series 具有字段 season、episode、airing,而movies表有release_date、budget等 现在起初这不是问题,但我想创建第二个表,称为linkgroups,并带有这些专用表的外键.这意味着我
..
我是 SQL 新手(仍在学习),我必须为场地创建一个数据库.客户预订的活动房间.问题是客户并不总是提供他们的姓名、电子邮件和电话号码.大多数情况下,要么是姓名和电子邮件,要么是姓名和电话.很少是全部 3,但它发生了.我需要将这些存储在各自的属性中(姓名、电子邮件、电话).但是他们给我他们的信息的方式,我有很多空值.我可以用这些空值做什么?有人告诉我最好不要有空值.之后我还需要规范化我的表格.请提出
..
我已经查看了这篇文章,但我并不真正理解所使用的术语(非平凡的函数依赖,超键) 从我读过的内容来看,第二范式似乎与复合键有关,而第三范式与主键有关. 我不确定这是否正确. 所以第二范式 - 有一个复合键,表中的所有字段都必须与两个复合键字段相关.如果某些内容不相关,则应将其重构到另一个表中. 第三范式 - 一切都必须依赖于主键 - 所以我猜在第三范式中只有 1 个键,而不是在
..
我已阅读报价:数据取决于密钥[1NF],整个密钥[2NF],除了密钥[3NF]什么都没有. 但是,我无法理解所谓的 3.5NF 或 BCNF.这是我的理解: BCNF 比 3NF 更严格 表中任何 FD 的左侧必须是超键(或至少是候选键) 那么为什么有些 3NF 表不在 BCNF 中呢?我的意思是,3NF 引用明确表示“只有键",这意味着所有属性都仅依赖于主键.主键毕竟是一个候
..
我发现这种情况经常出现,但我不确定处理它的最佳方法. 我的问题是如何决定使用外键查找表,还是直接在请求它的表中使用查找表值,完全避免查找表关系. 注意事项: 用第二种方法你会需要对所有人进行大规模更新记录引用数据,如果它在查找表中更改. 这个更专注对有很多表该列引用了许多查找桌子.所以很多外国钥匙意味着很多每次查询时加入表. 此数据将来自 drop将被拉下的列表从查找
..
我阅读了不同的教程,看到了不同的规范化示例,特别是第一范式中“重复组"的概念.从他们那里我收集到重复组是“某种"多值属性(例如 此处 和此处). 但是在将 ERM(实体关系模型)映射到 RDM(关系数据模型)的过程中,我们已经通过包含来自父表的外键为每个多值属性制作了单独的表?参考:这个 其次,那些“重复组"本质上是水平排列在同一行中,还是相同的值可以一次又一次地出现在同一列中,即一个
..
在关系型数据库设计中,有一个数据库规范化或简称规范化的概念,是一个组织列(属性)和表(关系)以减少数据冗余,提高数据完整性的过程.(如维基百科上所写). 由于大多数文章都有些技术性,因此更难理解,我希望有人根据有关 1NF、2NF、3NF 甚至 3.5NF (Boyce-Codd) 含义的示例编写更易于理解的解释. 解决方案 1NF是最基本的范式——表格中的每个单元格只能包含一条信息
..
想象一个带有一组复选框的网络表单(可以选择任何一个或全部).我选择将它们保存在以逗号分隔的值列表中,这些值存储在数据库表的一列中. 现在,我知道正确的解决方案是创建第二个表并正确规范化数据库.实施简单的解决方案更快,而且我希望快速获得该应用程序的概念验证,而不必在上面花费太多时间. 我认为在我的情况下,节省的时间和更简单的代码是值得的,这是一种防御性的设计选择,还是应该从一开始就将其标
..
我在 DBMS 的 1NF 形式中读到类似下面的内容. 有一句话是这样的: “每一列都应该是原子的." 谁能用一个例子向我彻底解释一下? 解决方案 “每一列都应该是原子的." Chris Date 说,“请非常小心地注意,合法值不仅仅是像整数 3 这样简单的东西.相反,值可以是任意复杂的;例如,一个值可能是几何点、多边形、X 射线、XML 文档、指纹、数组、堆栈
..
我有很多实例需要在我的数据库中实现某种多态关联.我总是浪费大量时间重新考虑所有选项.这是我能想到的3个.我希望有 SQL Server 的最佳实践. 这里是多列方法 这里是无外键方法 这是基表方法 解决方案 我用下面的方案解决了类似的问题: 基于Many-Many的设计:即使ObjectN和Something之间的关系是1-Many,它也等同于关系表PK修改后的Ma
..
使用提供的架构,我想以某种方式强制每个显示都有唯一的 reserved_seat:seat_id.换句话说,如果该放映中已经预订了特定座位,则您无法预订该座位. 一种选择是同时将showing_id添加到reservation_seat(这是多余的),然后对(showing_id,seat_id)进行唯一约束. 这可以在 sql 中完成还是落在应用程序代码中? DDL: CRE
..
根据第二规范化形式“所有非键属性的功能都完全依赖于主键".这意味着所有非键属性都不能依赖于主键的子集.在 Facebook 中,我们可以通过 email_id、user_name 或 mobile_number 登录(因此 email_id、user_name 或 mobile_number 是主键).使用这些方法中的任何一种登录后,我们就可以访问整个帐户.我的问题是“非键属性是否部分依赖于主键的
..
我一直在从“Elmasri 和 Navathe 的数据库系统基础(第 6 版)"中学习规范化,但我无法理解以下关于 2NF 的部分. 下图是课本中2NF下的一个例子 候选键是{SSN,Pnumber}依赖项是SSN,Pnumber -> hours, SSN -> ename, pnumber->pname, pnumber -> plocation 正式定义: 如果 R 中的
..
我有一些-公司,位置和产品详细信息可存储在数据库中. 样本数据公司定位产品------------------------------abc山顶alphaabc山顶betaabc河滨阿尔法abc河滨beta越野车下桥伽马越野车地下桥越野车下桥欧米茄 据我了解,这种关系是多值的.而且数据需要按照MVD进行归一化 不是从候选密钥(公司不是候选密钥的公司->>位置和公司->>产品衍生) 或
..
我正在调查数据仓库.我有一个关于星型模式的问题. 在 Oracle®OLAP应用程序开发人员指南 10g第1版(10.1) 3.2.1尺寸表:TIME_DIM https://docs.oracle.com/cd/B13789_01/olap.101/b10333/global.htm#CHDCGABE 要表示层次结构MONTH-> QUARTER-> YEAR,我们需要一些键
..
我试图解决一个有关证明给定分解是有损还是无损的问题 通过应用测试无损连接属性.F = {AB→C,C→E,B→D,E→A}是功能依赖项的集合在R上一世.R(ABCDE)分解为R1(AB),R2(ADE)和R3(BCD)ii.R(ABCDE)分解为R1(BCD),R2(ACE)和R3(BD) ** 我对解决方案的尝试: ** 仅当给定表之间具有公共属性并且公共属性是候选
..
我正在为一个Web应用程序项目设计一个数据库,得出的结论是,我可能有很少的查询,这些查询需要很多联接表才能进行一次检查. 我想知道将外键存储在减少这些查询所需的联接数量的途中有多糟? 给你一个我现在所拥有的例子:服务=>预订=>交易=>钱包=> BonusOffer 我需要检查该服务是否已经用与奖金相关联的钱包购买了.将BonusOffer ID存储为Transaction的外键
..
我观看了 YouTube上的一个有关数据库规范化的教程./p> 该表如下所示: | Item(PK)|供应商|供应商电话|价格|---------------------------------------------|Xbox One |微软|1234 |250 |---------------------------------------------|PS4 |索尼|4321 |300
..
我正在Postgres中选择一些对象及其标签.模式非常简单,只有三个表: 对象 id 标记 id |object_id |tag_id 标签 id |标签 我使用 array_agg 将这些标签汇总到一个字段中,从而加入这些表: SELECT对象.*,array_agg(tags.tag)AS标签,从对象LEFT JOIN标记在objects.id = taggings
..