日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

关系数据库——关系数据语言

發(fā)布時(shí)間:2023/12/13 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关系数据库——关系数据语言 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)系

  • 域:一組具有相同數(shù)據(jù)類型的值的集合(即取值范圍)

  • 笛卡爾積:域上的一種集合運(yùn)算。結(jié)果為一個(gè)集合,集合的每一個(gè)元素是一個(gè)元組,元組的每一個(gè)分量來(lái)自不同的域。

  • 基數(shù):一個(gè)域允許的不同取值個(gè)數(shù)。

  • 笛卡爾積的基數(shù):每個(gè)域不同取值的個(gè)數(shù)的乘積,或者說(shuō)元組的個(gè)數(shù)

  • 關(guān)系:域的笛卡爾積的子集叫做在域上的關(guān)系,域的個(gè)數(shù)叫做關(guān)系的目或度。(即列數(shù),屬性的數(shù)目),注意廣義上的笛卡爾積一般不能稱為關(guān)系,因?yàn)榇嬖跓o(wú)效的數(shù)據(jù)。

  • 關(guān)系:表

    列:屬性

    行:元組

  • 候選碼:某一屬性組的值能唯一地標(biāo)示一個(gè)元組,而其子集不能,則稱該屬性組為候選碼

  • 主屬性:候選碼中的屬性都稱為主屬性,注意:主屬性非空。

  • 非主屬性:候選碼之外的屬性稱為非主屬性

  • 全碼:關(guān)系模式的所有屬性是這個(gè)關(guān)系模式的候選碼

  • 主碼:從候選碼中選取一組能唯一確定一個(gè)元組的屬性組作為主碼。

  • 三類關(guān)系:

    1)基本關(guān)系:實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示

    2)查詢表:查詢結(jié)果對(duì)應(yīng)的表

    3)視圖表:由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。

    注意:關(guān)系數(shù)據(jù)模型中的關(guān)系必須是有限集合。

    關(guān)系的每一個(gè)列必須附加一個(gè)屬性名,屬性名不能重名,這種方法取消了關(guān)系屬性的有序性。

  • ① 列是同質(zhì)的(Homogeneous):每一列中的分量來(lái)自同一個(gè)域,是同一類型的數(shù)據(jù)

    ② 不同的列可出自同一個(gè)域

    • 其中的每一列稱為一個(gè)屬性

    • 不同的屬性要給予不同的屬性名

    ③ 列的順序無(wú)所謂, 列的次序可以任意交換

    ④ 任意兩個(gè)元組的候選碼不能相同:相同就不是候選碼了

    ⑤ 行的順序無(wú)所謂,行的次序可以任意交換

    ⑥ 分量必須取原子值(不允許表中套表)

  • 關(guān)系模式

    ?

  • 關(guān)系模式:對(duì)關(guān)系的描述,是靜態(tài)的、穩(wěn)定的

  • 關(guān)系:是關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容,是動(dòng)態(tài)的、隨時(shí)間不斷變化的,指后邊的那個(gè)關(guān)系

  • 關(guān)系模式的形式化表示:

  • //關(guān)系模式 R(U, D, DOM, F) R 關(guān)系名 U 組成該關(guān)系的屬性名集合 D 屬性組U中屬性所來(lái)自的域 DOM 屬性向域的映象集合 F 屬性間的數(shù)據(jù)依賴關(guān)系集合//可以簡(jiǎn)記為 R (U) 或 R (A1,A2,…,An) R: 關(guān)系名 A1,A2,…,An : 屬性名 注:域名及屬性向域的映象常常直接說(shuō)明為屬性的類型、長(zhǎng)度

    關(guān)系數(shù)據(jù)庫(kù)

  • 在一個(gè)給定的應(yīng)用領(lǐng)域中,所有關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)

  • 關(guān)系數(shù)據(jù)庫(kù)的型與值,不是關(guān)系的型與值

    1)關(guān)系數(shù)據(jù)庫(kù)的型也稱關(guān)系數(shù)據(jù)庫(kù)模式,是對(duì)關(guān)系數(shù)據(jù)庫(kù)的描述

    2)關(guān)系數(shù)據(jù)庫(kù)的值是關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,簡(jiǎn)稱為關(guān)系數(shù)據(jù)庫(kù)

  • 基本的關(guān)系操作

  • 常用的基本操作:

    **查詢:**選擇、投影、連接、除、并、交、差

    **數(shù)據(jù)更新:**插入、刪除、修改

  • **5種基本操作:**選擇、投影、并、差、笛卡爾積?注意:不算交

  • 關(guān)系操作的特點(diǎn):

    集合操作方式:操作的對(duì)象和結(jié)果都是集合,一次一集合的方式,操作對(duì)象是集合,操作結(jié)果亦為集合。

  • ?

    關(guān)系的完整性

    實(shí)體完整性(即主屬性非空)

  • 若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值
  • 參照完整性

  • 關(guān)系間的引用:關(guān)系與關(guān)系之間存在著聯(lián)系

  • 外碼:設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的主碼Ks是基本關(guān)系S的主碼。如果F與Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼,外碼所在的基本關(guān)系叫做參照關(guān)系,Ks所在的關(guān)系叫做被參照關(guān)系。

    注:

    1)R、S不一定是不同的關(guān)系。

    2)目標(biāo)關(guān)系S的主碼Ks 和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上

    3)外碼并不一定要與相應(yīng)的主碼同名,當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別

    4)外碼的取值:如果外碼是參照關(guān)系的主屬性,則不能為空(實(shí)體完整性),只能為被參照關(guān)系中主碼的取值。如果外碼不是參照關(guān)系的主屬性,則可以取空或者被參照關(guān)系主碼的取值

  • 兩個(gè)不變性:指實(shí)體完整性和參照完整性

  • 用戶定義完整性

  • 針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求

  • 關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能

  • 關(guān)系代數(shù)

    傳統(tǒng)的集合運(yùn)算

  • 傳統(tǒng)的關(guān)系運(yùn)算:

    并、交、差、笛卡爾積

  • 操作對(duì)象關(guān)系:

    操作方式:同數(shù)學(xué)中的并、交、差、笛卡爾積。只不過(guò)操作對(duì)象的元素是元組。另外需要注意能進(jìn)行運(yùn)算所需要滿足的條件。

    對(duì)于并、交、差需要滿足的關(guān)系:1)屬性的數(shù)目相同;2)相應(yīng)的屬性取自同一個(gè)域

  • 專門的關(guān)系運(yùn)算

    常見的關(guān)系運(yùn)算有選擇、投影、連接、除

    選擇:

    在關(guān)系R中選擇滿足給定條件的諸元組。

    表達(dá)式:$\sigma_F(R) = {t | t \in R \and F(t) = ''true''}$

    F:為選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為:$X_1 \theta Y_1$,其中$\theta$為大于、小于、等于、不等于等。

    舉例:

    選擇:$\sigma_{Sdept = "IS"}(Student)$

    ???????

    投影:

    從R中選擇出若干屬性列組成新的關(guān)系

    表達(dá)式:$\prod_{A} (R)= {t[A] | t\in R}$

    A為屬性列,即從R中選擇A中屬性列的元組,當(dāng)然選擇之后可能會(huì)刪掉一些元組,因?yàn)楸苊庵貜?fù)。

    舉例:還是上方的關(guān)系,經(jīng)過(guò)投影$\prod_{Sname, Sdept}(Student)$,結(jié)果如下:

    ?

    連接

    ?

    1)**一般連接:**從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組

    (1)表達(dá)式:$R\bowtie_ {A \theta B} S = {t_r^ \frown t_s | t_r \in R \and t_s \in S \and t_r[A] \theta t_s[B] }$

    (2)A和B:分別為R和S上度數(shù)相等且可比的屬性組

    (3)$\theta$表示比較運(yùn)算符,

    (4)連接運(yùn)算從R和S的廣義笛卡爾積R×S中選取(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系θ的元組

    2)**等值連接:**當(dāng)上述的運(yùn)算符為等于號(hào)的時(shí)候

    (1)含義:從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:

    (2)表達(dá)式:$R\bowtie_ {A = B} S = {t_r^ \frown t_s | t_r \in R \and t_s \in S \and t_r[A] = t_s[B] }$

    (3)仍然是從行的角度進(jìn)行運(yùn)算,而不涉及列

    (4)屬性組可以不同

    3)**自然連接:**一種特殊的等值連接

    (1)與等值連接的不同:兩個(gè)關(guān)系R和S必須具有相同的屬性組

    (2)將結(jié)果中相同的屬性列去掉

    (3)表達(dá)式:$R\bowtie S = {t_r^ \frown t_s | t_r \in R \and t_s \in S \and t_r[A] = t_s[B] }$

    4)由自然連接所引發(fā)的一系列問(wèn)題:

    (1)懸浮元組:在做自然連接的時(shí)候被舍棄的元組

    (2)外連接:如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接,外連接 = 左外連接 + 右外連接

    (3)左外連接:如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接

    (4)右外連接:如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接

    1)除運(yùn)算的意義:

    (1)假設(shè)關(guān)系R,S,RS,R關(guān)系擁有的屬性是姓名,S關(guān)系擁有的屬性是課程,RS關(guān)系擁有的屬性是姓名和課程的聯(lián)系,則RS/S表示選出所有至少選了表S中所列課程的學(xué)生的元組。

    (2)如下圖:

    注:RS/S得到的關(guān)系:張三和李四構(gòu)成的表,表示選修了全部課程的同學(xué)的集合。

    舉例:

    R:

    ABC
    a1b1c2
    a2b3c7
    a3b4c6
    a1b2c3
    a4b6c6
    a2b2c3
    a1b2c1

    S:

    BCD
    b1c2d1
    b2c1d1
    b2c3d2

    R÷S

    A
    a1

    (1) 找S與R的共同屬性,即公式中的Y屬性

    (2)計(jì)算R中每個(gè)X屬性的象集,如果某個(gè)象集包含S在Y屬性上的投影,則該屬為R/S結(jié)果中的一個(gè)值。

    解答如下:

    在關(guān)系R中,A可以取四個(gè)值{a1,a2,a3,a4},其中:

    a1的象集為:{(b1,c2),(b2,c3),(b2,c1)}

    a2的象集為:{(b3,c7),(b2,c3)}

    a3的象集為:{(b4,c6)}

    a4的象集為:{(b6,c6)}

    S在(B,C)上的投影為{(b1,c2),(b2,c3),(b2,c1)}。

    顯然只有R的象集a1包含S在(B,C)屬性組上的投影,所以R÷S={a1}。

    總結(jié)

    以上是生活随笔為你收集整理的关系数据库——关系数据语言的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。