oracle中dbms_DBMS中的功能依賴性和屬性關閉

oracle中dbms

功能依賴 (Functional Dependency)

A relational Database management System (RDBMS) represents the database o a collection of relations/tables. A functional dependency is a constraint between two sets of attributes in a relation. It is the property of semantics or meaning of attribute. Functional dependency is also a property of relational schema "R" and not a particular legal relation "r" of "R".

關系數據庫管理系統(RDBMS)代表數據庫是關系/表的集合。 功能依賴性是關系中兩組屬性之間的約束。 它是語義的屬性或屬性的含義。 功能依賴性也是關系模式“ R”的屬性,而不是“ R”的特定法律關系“ r”

Now let us consider, a relational "a" schema "R" and let "x" and "y" be the two set of attributes, now there is a functional dependency from "x" to "y"

現在讓我們考慮一個關系“ a”模式“ R”,并讓“ x”和“ y”成為兩組屬性,現在存在一個從“ x”到“ y”的功能依賴關系。

If, t1[x] = t2[x] then, t1[y] = t2[y]

如果t1 [x] = t2 [x],t1 [y] = t2 [y]

Here, "x" is the determinant and "y" is the dependent or "x" determines "y".

在此 ,“ x”是行列式,“ y”是從屬項,“ x”確定“ y”。

  • Some functional dependency is directly visible in relational model but some either set of dependencies also hold good which are not directly visible.

    一些功能依賴關系在關系模型中是直接可見的,但是某些依賴關系集也可以保持良好狀態,而不能直接看到。

  • The entire set of functional dependency is called as complete set.

    整個功能依賴性集稱為完整集。

  • Therefore, we must know how to calculate closure set of functional dependencies before Normalization.

    因此,我們必須知道如何在歸一化之前計算函數依賴的閉包集。

  • A functional dependency from "A" to "B" is said to be trivial if "B" is a subset of "A".

    如果“ B”是“ A”的子集,則從“ A”到“ B”的功能依賴關系被認為是微不足道的。

Example: In the corresponding relation,

示例:在對應關系中,

    Tuple   A       C
t1      a1      c1
t2      a1      c1
t3      a2      c2
t3      a2      c2
t4      a3      c3
t5      a3      c2
A → C holds as
t1[A] = t2[A] then t1[C] = t2[C]
t3[A] = t3[A] then t3[C] = t4[C]
but, C → A does not holds as.
t3[C] = t4[C] = t3[C] but t3[A] = t4[A] does not equal t5[A].

如何查找功能依賴項有效還是無效? (How to find whether a functional Dependency is valid or invalid?)

There are some steps to find whether a functional dependency is valid or invalid:

有一些步驟可以確定功能依賴項是有效的還是無效的

Step 1) Check if all the values of "A" are distinct than it is valid otherwise invalid.

步驟1)檢查“ A”的所有值是否均不同,否則有效。

Step 2) Check if all the values of the "B" are same than the functional dependency is also valid.

步驟2)檢查“ B”的所有值是否均與功能依賴項相同是否有效。

Step 3) Otherwise we have to find at least one value of "A" on which are having different values of "B" than the functional dependency is invalid.

步驟3)否則,我們必須找到至少一個值“ A”,在該值上具有不同于功能依賴項無效的“ B”值。

屬性關閉 (Attribute Closure)

The set "A*" is said to be the closure set of "A" if the set of attributes are functionally dependent on the attributes of "A"

如果屬性集在功能上取決于“ A”的屬性,則將集合“ A *”稱為“ A”的閉包集合。

一些計算封閉集的推理規則 (Some inference rules to calculate the closure set)

  1. Reflexive rule: A rule is said to be reflexive if B is a subset of a then A → B. This is called trivial functional dependency rule.

    自反規則:如果B是A→B的子集,則規則說是自反的。這稱為瑣碎功能依賴規則。

  2. Augmentation rule: A rule is said to be augmented if A → B then Ar → Br holds good.

    增強規則:如果A→B然后Ar→Br保持良好,則可以說是增強規則。

  3. Transitive rule: A rule is said to be transitive if A → B, B → r then A → r.

    傳遞規則:如果A→B,B→r然后是A→r,則稱為傳遞規則

These three rules are functionally complete and known as RAT rule or RAT axioms and also called Armstrong rule which means only theses rules are sufficient enough to find closure set.

這三個規則在功能上是完整的,稱為RAT規則或RAT公理,也稱為Armstrong規則,這意味著僅這些規則足以找到閉合集。

4) Union rule

4)聯盟規則

A rule is said to be union if A → B, B → r then A → Br also holds good.

如果A→B,B→r那么A→Br也成立,則規則稱為并集。

  1. Decomposition rule: A rule is said to be decomposed if A → Br, A → B then A → r.

    分解規則:如果A→Br,A→B然后A→r,則稱為分解規則

  2. Pseudo transitivity rule: If A → B and BW → r then WA → r.

    偽傳遞性規則:如果A→B和BW→r,則WA→r。

翻譯自: https://www.includehelp.com/dbms/functional-dependency-and-attribute-closure.aspx

oracle中dbms

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541933.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541933.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541933.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java invoke 泛型_利用Java反射機制和泛型,全自動解析json

有啦這個簡直,太爽啦,利用Java 反射機制,利用Class 就可以得到 類的 變量 Field[] fieldscls.getDeclaredFields();還可以通過類中 的方法名字 去執行這個方法m1 cls.getDeclaredMethod(getMothodName(fields[j].getName()), String.class)…

2_C語言中的數據類型 (四)整數與無符號數

1.1 sizeof關鍵字 sizeof是c語言關鍵字,功能是求指定數據類型在內存中的大小,單位:字節 sizeof與size_t類型 1.1 int類型 1.1.1 int常量,變量 int就是32位的一個二進制整數,在內存當中占據4個字節…

python 示例_Python TextCalendar類別| pryear()方法與示例

python 示例Python TextCalendar.pryear()方法 (Python TextCalendar.pryear() Method) pryear() method is an inbuilt method of the TextCalendar class of calendar module in Python. It works on text calendars. It uses an instance of TextCalendar class and prints …

Spring實戰——通過Java代碼裝配bean

上篇說的是無需半行xml配置完成bean的自動化注入。這篇仍然不要任何xml配置,通過Java代碼也能達到同樣的效果。 這么說,是要把上篇的料拿出來再煮一遍? 當然不是,上篇我們幾乎都在用注解的方式如ComponentScan Component等就完成了…

java 謂詞_java8-謂詞(predicate)

傳遞代碼我們首先看一個例子,假設你有一個 Apple 類,它有一個getColor方法,還有一個變量inventory保存著一個Apples的列表。你可能想要選出所有的綠蘋果,并返回一個列表。通常我們用篩選(filter)一詞來表達這個概念。在 Java 8之前…

getlong_Java LocalDateTime類| 帶示例的getLong()方法

getlongLocalDateTime類的getLong()方法 (LocalDateTime Class getLong() method) getLong() method is available in java.time package. getLong()方法在java.time包中可用。 getLong() method is used to get the value as long for the given temporal field from this dat…

java.io和util的區別_Java NIO與IO的區別和比較

Java NIO與IO的區別和比較導讀J2SE1.4以上版本中發布了全新的I/O類庫。本文將通過一些實例來簡單介紹NIO庫提供的一些新特性:非阻塞I/O,字符轉換,緩沖以及通道。一. 介紹NIONIO包(java.nio.*)引入了四個關鍵的抽象數據類型,它們共…

Java LocalDate類| isSupported()方法與示例

LocalDate類isSupported()方法 (LocalDate Class isSupported() method) Syntax: 句法: public boolean isSupported (TemporalField t_field);public boolean isSupported (TemporalUnit t_unit);isSupported() method is available in java.time package. isSupp…

區塊鏈+稅務的思考

2016年,區塊鏈技術火了!各大金融公司、互聯網巨頭都競相參加到區塊鏈技術的研究中。我們公司的業務是稅務的信息化領域,也希望通過區塊鏈技術的應用,來提升為財稅領域的服務。 區塊鏈技術優缺點總結 下圖是對區塊鏈技術的一些特點…

java hasset 順序_java集合排序問題

List: 元素是有序的,元素可以重復,因為該集合體系有索引(腳標)常用的子類對象:1————ArrayList 底層的數據結構是使用的數組結構特點:查詢速度快,但是增刪比較慢2————LinkedList底層的數據結構使用的是鏈表結構…

如何使用JavaScript刪除CSS屬性?

In this article, well see how we can remove a CSS property from a certain element using JavaScript? We can remove only those properties that we assign ourselves and the pre-default ones cannot be removed by this method. 在本文中,我們將看到如何使…

Django 緩存系統

Django 是動態網站,一般來說需要實時地生成訪問的網頁,展示給訪問者,這樣,內容可以隨時變化,但是從數據庫讀多次把所需要的數據取出來,要比從內存或者硬盤等一次讀出來 付出的成本大很多。 緩存系統工作原理…

java web截屏_java_WebDriver中實現對特定的Web區域截圖方法,用過 WebDriver 的同學都知道,We - phpStudy...

WebDriver中實現對特定的Web區域截圖方法用過 WebDriver 的同學都知道,WebDriver 可以對瀏覽器中的頁面進行截圖。例如:public byte[] takeScreenshot() throws IOException {TakesScreenshot takesScreenshot (TakesScreenshot) driver;return takesSc…

c語言 關鍵字const_C ++ const關鍵字| 查找輸出程序| 套裝1

c語言 關鍵字constProgram 1: 程序1&#xff1a; #include <iostream>using namespace std;void fun(int& A) const{A 10;}int main(){int X 0;fun(X);cout << X;return 0;}Output: 輸出&#xff1a; [Error] non-member function void fun(int) cannot ha…

【喜報】JEEWX榮獲“2016 年度碼云新增熱門開源軟件排行榜”第一名!

為什么80%的碼農都做不了架構師&#xff1f;>>> 2016 年度碼云新增項目排行榜 TOP 50 正式出爐&#xff01;根據 2016 年在碼云上新增開源項目的 Watch、Star、Fork 數量以及其他角度的統計&#xff0c;JEEWX捷微管家榮獲“2016 年度碼云新增熱門開源軟件排行榜”第…

java 二叉樹特點_瘋狂java筆記之樹和二叉樹

樹的概述樹是一種非常常用的數據結構&#xff0c;樹與前面介紹的線性表&#xff0c;棧&#xff0c;隊列等線性結構不同&#xff0c;樹是一種非線性結構1.樹的定義和基本術語計算機世界里的樹&#xff0c;是從自然界中實際的樹抽象而來的&#xff0c;它指的是N個有父子關系的節點…

編輯距離 dp_使用動態編程(DP)編輯距離

編輯距離 dpProblem: You are given two strings s1 and s2 of length M and N respectively. You can perform following operations on the string. 問題&#xff1a;給您兩個長度分別為M和N的字符串s1和s2 。 您可以對字符串執行以下操作。 Insert a character at any posi…

tomcat +apache 配置集群

2019獨角獸企業重金招聘Python工程師標準>>> APACHE2.2.25TOMCAT6.0.37配置負載均衡 目標: 使用 apache 和 tomcat 配置一個可以應用的 web 網站&#xff0c;要達到以下要求&#xff1a; 1. Apache 做為 HttpServer &#xff0c;后面連接多個 tomcat 應用實例&…

java雙緩存機制_詳解JVM類加載機制及類緩存問題的處理方法

前言大家應該都知道&#xff0c;當一個Java項目啟動的時候&#xff0c;JVM會找到main方法&#xff0c;根據對象之間的調用來對class文件和所引用的jar包中的class文件進行加載(其步驟分為加載、驗證、準備、解析、初始化、使用和卸載)&#xff0c;方法區中開辟內存來存儲類的運…