查看“︁域关系演算”︁的源代码
←
域关系演算
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
在[[计算机科学]]中,'''域关系演算'''('''DRC''')是[[Michel Lacroix]]和[[ Alain Pirotte]]为[[关系模型|关系数据模型]]发明的的作为[[声明性编程|声明性]][[查询语言|数据库查询语言]]<ref name="LP77">Michel Lacroix, Alain Pirotte: Domain-Oriented Relational Languages. VLDB 1977: 370-378</ref>。 在 DRC 中,“查询”有如下形式: :<math> {<X1, X2, ...., Xn> | p(<X1, X2, ...., Xn>) } </math> 这里的 X<sub>i</sub> 要么是一个域变量要么是一个常量,而 p(<X1, X2, ...., Xn>) 指示一个 DRC “公式”。 查询的结果为使得这个 DRC 为真的元组 X<sub>i</sub> 到 X<sub>n</sub> 的集合。 域关系演算可以使用[[量化 (数理逻辑)|量词]],同时使用[[逻辑与|与]]<math>\wedge</math>、[[逻辑或|或]]<math>\vee </math>、[[逻辑非|非]]<math>\neg </math>(以及[[蕴含]]算符); 尽管如此,域关系演算的表达能力同非递归的[[Datalog]]程序是一样的<ref>{{cite book|author=Carlo Zaniolo|title=Advanced Database Systems|url=https://archive.org/details/advanceddatabase00zani|year=1997|publisher=Morgan Kaufmann Publishers|isbn=1-55860-443-X|pages=[https://archive.org/details/advanceddatabase00zani/page/n179 169]}}</ref> ,也等价于[[关系代数 (数据库)|关系代数]]<ref name="Codd72a">E. F. Codd: Relational Completeness of Data Base Sub-languages. In R. Rustin, editor, Data Base Systems. Prentice Hall, 1972</ref>。 ==例子== 设 A, B, C 为 Rank, Name, ID 而 D, E, F 为 Name, DeptName, ID 找到星际飞船 [[联邦星舰进取号 (NCC-1701)|USS Enterprise]] 的所有首领: * {<A, B, C> | <A, B, C> ∈ Enterprise ∧ A = "Captain" } 在这个例子中,A, B, C 同时指示结果集合和在表 Enterprise 中的一个集合。 找到在 Stellar Cartography 部门工作的 Enterprise 船员的名字: * {<B> | ∃ A, C ( <A, B, C> ∈ Enterprise ∧ ∃ D, E, F(<D, E, F> ∈ Departments ∧ F = C ∧ E = "Stellar Cartography" ))} 在这个例子中,我们只查找名字,所以 <B> 指示列名。F = C 是个要求,因为我们需要找到 Enterprise 船员并且他们在 Stellar Cartography 部门工作。 前面例子的另一个可替代表示为: * {<B> | ∃ A, C (<A, B, C> ∈ Enterprise ∧ ∃ D (<D, "Stellar Cartography", C> ∈ Departments))} 在这个例子中,要求的 F 域的值被直接的放置在公式中,而 C 域变量重新用于部门存在性的查询中,因为它已经持有了一个船员的 id。 == 参考资料 == <references/> {{Authority control}} [[Category:關聯模型]] [[Category:数据建模]] [[Category:逻辑演算]]
该页面使用的模板:
Template:Authority control
(
查看源代码
)
Template:Cite book
(
查看源代码
)
返回
域关系演算
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息