Aheo询问是否为ok to have a table with just one column。如果没有列,或者由于在大多数现代“关系型”数据库管理系统中似乎很难实现,没有属性的关系?带关键属性
带关键属性
回答
DEE和笛卡尔积形成一个幺半群。在实践中,如果你有Date的关系总结操作符,你可以使用DEE作为你的分组关系来获得总数。还有很多其他例子,其中DEE实际上是有用的,例如,在具有二元连接运算符的函数设置中,您将获得n-ary连接= foldr连接dee
单列表是一组表 - 只要您不关心排序值或关联任何其他信息,它似乎很好。你可以检查它的成员身份,基本上这就是你所能做的。 (如果您对单列没有UNIQUE
约束,我想您也可以统计出现次数......多重集)。
但火焰中会出现一个没有列的表格(或没有属性的关系)意思是 - 或者,它会有什么好处?
这是什么意思,它是否会有什么好处是两件完全不同的事情...... – 2009-06-07 02:13:30
嗯。所以缺乏“真实世界的例子”给了我,我尽力了。也许令人惊讶的是,我走到了一半!
cjs=> CREATE TABLE D(); CREATE TABLE cjs=> SELECT COUNT (*) FROM D; count ------- 0 (1 row) cjs=> INSERT INTO D() VALUES(); ERROR: syntax error at or near ")" LINE 1: INSERT INTO D() VALUES();
确切地说有两个没有属性的关系,一个有空元组,一个没有。在The Third Manifesto中,Date和Darwen(有点)幽默地将它们分别命名为TABLE_DEE
和TABLE_DUM
(分别)。
它们在很大程度上是有用的,它们是各种关系运算符的身份,在普通代数中扮演相当于1和0的角色。
具有单列的表格将作为简单的查找变得有意义。比方说,你有一个你想过滤用户输入文本的字符串列表。该表格会存储您想要过滤的字词。
“确实存在两个没有属性的关系,一个具有空元组,一个没有;在第三个宣言中, Date和Darwen(有点)幽默地将它们分别命名为TABLE_DEE和TABLE_DUM(分别)
它们在各种关系运算符的身份上起作用,在普通代数中扮演相当于1和0的角色。 “
当然他们在布尔代数中也扮演了“真”和“假”的角色。这意味着当“店铺开放”和“闹钟已设置”等提案在数据库中表现出来时,它们很有用。
这样做的一个结果是它们也可以在关系代数的任何表达式中用作“充当IF/ELSE”的属性:连接到TABLE_DUM意味着根本不保留其他参数中的元组,加入TABLE_DEE意味着全部保留它们。因此,将R连接到可等于TABLE_DEE或TABLE_DUM的relvar S是“if S then R else FI”的RA等效项,FI代表空关系。
从SQL数据库的角度很难看到TABLE_DEE和TABLE_DUM的实用程序。毕竟不能保证你最喜欢的数据库供应商允许你创建一个或另一个。
在关系代数中看到TABLE_DEE和TABLE_DUM的效用也很困难。一个人不得不超越那个。为了让你了解这些常量如何生机勃勃,请考虑将关系代数放入恰当的数学形状,即尽可能接近布尔代数。 D & D代数A是朝这个方向迈出的一步。然后,可以通过更基本的代数表达经典的关系代数运算,这两个常数变得非常方便。
- 1. jquery关键属性选择
- 2. 关键的导航属性
- 3. 加入非关键属性
- 4. NHibernate确定关键属性
- 5. 关键非属性查询
- 6. “重复属性键”的错误时,属性不是关键
- 7. 从关键值列表属性键=值
- 8. XHTML元描述和带有lang属性的关键字
- 9. 带自引用属性键的GqlQuery
- 10. 带复合键的MVC4导航属性
- 11. 属性'Dish_ID'不能用作实体上的关键属性
- 12. 查询DynamoDB非关键属性
- 13. DynamoDB:扫描多个非关键属性
- 14. 获取dictonary关键对象属性
- 15. 弱关键字与计算属性
- 16. xcode属性列表,获取关键值
- 17. 如何设置关键属性?
- 18. SVN关键字属性添加到
- 19. Python事件没有关键属性
- 20. 没有关键属性的复合PK
- 21. Objective-C的属性关键词
- 22. C++中是否有“属性”关键字?
- 23. 为svg设置关键帧属性
- 24. 通过将另一个属性关键
- 25. 作为属性的'this'关键字
- 26. Python:如何淡化关键字“属性”?
- 27. 如何将C#保留关键字用作不带@前缀的属性名称?
- 28. rails3 link_to:带属性?
- 29. SQL Server为非关键属性提供“重复键”错误?
- 30. 独特的键/属性/属性在ZODB
这是什么意思? “什么是没有属性的关系?”你能给出任何一种现实世界的例子吗? – 2009-06-07 02:03:21
我认为问题在于没有真实世界的例子...... – jerryjvl 2009-06-07 02:06:13
“CREATE TABLE dee()”后跟“INSERT INTO DEE VALUES()”应该有效,如果你的DBMS是真正的关系型的话。 – 2009-09-18 10:11:01