1. 程式人生 > >關係資料模型相關概念

關係資料模型相關概念

1

關係資料庫:基於關係模型,是一個或多個關組成的集合,關係通俗來講是表(由行和列構成)。SQL語言用於建立,操作和查詢關係資料庫,而關係模型是其基礎。

關係的每個屬性都有一個名稱;域:每個屬性的取值集合稱為屬性的域。屬性值必須是原子的,即不可分割的(如多值屬性值、複合屬性值不是原子的)

特殊值null是每一個域的成員。

2、關係型資料庫常用概念:冗餘(本不應存在卻存在了)

                      完整性(資料的正確性)

                      欄位(域、表頭、列頭)(域完整性:型別、範圍、格式)

                      元組(由行組成)(無序的,但一個關係中不能有重複的元組)

                      行(記錄)

                      

                      主鍵(具有唯一性且其不能為空,主鍵常用下劃線標記,如學號)

                      外來鍵(引用主鍵中的內容)(引用完整性、實體完整性)

                      K是一個屬性集合,若K值能在一個關係中唯一地標誌一個元組,KR的超碼,如果K是最小超碼,則K是候補碼,如K是候補碼,並由使用者明確定義,則K是主鍵。

3、關係涉及兩個概念:關係模式和關係例項

關係模式描述關係的結構;

                   關係例項表示一個關係的特定例項,也就是所包含的一組特定的行;

               區別:可理解成: 變數<>關係;

變數型別<>關係模式;

變數值<>關係例項。

如:A1,A2,···,An是屬性,則R=A1,A2···,An)是一個關係模式;rR)是在關係模式R上的關係。關係的當前值即關係例項,其由表指定。

4、關係代數:SQL的基礎;六個基本運算Select(選擇)Project(投影)Union(並)set difference(差或集合差)Cartesian product(笛卡兒積)Rename(更名或重新命名)

                     四個附加運算:Set intersection(交)

Natural join(自然連線)Division(除)Assignment(賦值)

① 選擇運算:σpr={t|t屬於r  and  pt}σ讀作sigma,其中p是選擇謂詞:由邏輯連詞與,或,非連線起來的公式。

② 投影運算:∏ A1、A2、···、Ak(r),讀作pi,A1,···Ak是屬性名,r為關係名,其結果為保留此k列的值,並刪除重複的行。

③ 並運算:r U s={t|t屬於r  or  t屬於s}運算條件:等目,同元,即屬性數目相同;對任意i,r的第i個屬性域和s的第i個屬性域相同。

④ 差運算:r - s={t|t屬於r  and  t不屬於s}運算條件:同上。

廣義笛卡兒積:r x s={{t q} | t屬於r  and  q屬於s}若r(R)和s(S)的屬性有交集,那麼必須重新命名這些有交集的屬性。

⑤ 複合運算:可以使用多種運算子構建表示式。

⑥ 更名運算:使用其他名字指代關係: ρx(E),ρ讀作rho,返回表示式E的結果,並把名字x賦給它。  

⑦ 附加運算:集合交:r s={t | t屬於r  and  t屬於s}

⑧ 自然連線:rs:就是對模式R U S運算後的關係;(要求同名屬性項相等)

⑨ 除:r ÷ s其結果來自於R-S(r) 適用於包含了“對所有的”此類短語的查詢。  

⑩ 賦值:<—  將箭頭右側的表示式的結果賦給箭頭左側的關係變數,該變數可以在後續的表示式中使用。

5、運算的優先順序:投影;選擇;笛卡兒積;連線、除;交;並、差。

6廣義投影:允許在投影列表中使用算術函式來對投影操作進行擴充套件。

聚集函式:輸入一個值集合 ,然後返回單一值作為結果

            avg(平均值)min(最小值)max(最大值)sum(值的總和)count(值的數量)

gavgbalance)account):求平均存款餘額。

聚集運算的結果是沒有名稱的,可以使用更名運算。

7、外連線:是連線運算的擴充套件,可以處理缺失資訊;使用空值(不知道或不存在)

8、空值(null):涉及空的任何算術表示式的結果為空;聚集函式會忽略空值。與空值的比較將返回一個特殊值:unknown

資料庫內容的刪除、插入、更新操作都是使用賦值操作表示。