關係代數是一種抽象的查詢語言,它用對關係的運算來表達查詢。 任何一種運算都是將一定的運算子作用於一定的運算物件上,得到預期的結果。所以運算物件、運算子、運算結果是運算的三大要素。 按運算子的不同分為傳統的集合運算和專門的關係運算兩類: 傳統的集合運算包括:並(∪)、差(−)、交(∩)、笛卡爾積(×)。 專門的關係運算包括:選擇(σ)、投影(π)、連線(⋈)、除運算(÷)。
mysql基礎-傳統的集合運算
傳統的集合運算是二目運算,並(∪)、差(−)、交(∩)、笛卡爾積(×)四種運算。 設關係 r 和關係 s 具有相同的目 n(即兩個關係都有 n 個屬性),且相應的的屬性取自同乙個域,t 是元組變數,t∈r 表示 t 是 r 的乙個元組。
並運算
關係 r 與關係 s 的並由屬於 r 或屬於 s 的元組組成。其結果關係仍為 n 目關係r ∪ s = select * from `r` union select * from `s`;
交運算
關係r與關係s的交由既屬於r又屬於s的元組組成。其結果關係仍為n目關係r ∩ s = select * from `r` intersect select * from `s`mysql版本不支援以上sql,則用下面替代select * from `r` where name in (select name from `s`)
差運算
關係r與關係s的差由屬於r而不屬於s的所有元組組成。其結果關係仍為n目關係r-s = select * from `r` except select * from `s`mysql版本不支援以上sql,則用下面替代select * from `r` where name not in (select name from `s`)
笛卡爾積
兩個分別為n目和m目的關係r和s的廣義笛卡爾積是乙個(n+m)列的元組的集合。元組的前n列是關係r的乙個元組,後m列是關係s的乙個元組。若r有k1個元組,s有k2個元組,則關係r和關係s的廣義笛卡爾積有k1×k2個元組r × s = select * from r,s或select * from r inner join s
專門的關係運算包括選擇、投影、連線、除等
投影
是從r中選擇出若干屬性列組成新的關係 π a (r )= π1,2(r)或者πno,name(r)關係r上的投影是從r中選擇出若干屬性列組成新的關係select name,password from r
選擇
是在關係r中選擇滿足給定條件的諸元組б f (r )= б 1=1(r)或者no=1(r)select * from r where id=2
連線
是從兩個關係的廣義笛卡爾積中選取屬性間滿足一定條件的元組形成乙個新的連線r ⋈ sselect * from r,s where r.id=s.id
二目關係屬於4nf 規範化 關聯式資料庫的三大正規化
設r u 是乙個屬性集u上的關係模式,x 和y是u的子集。若對於r u 的任意乙個可能的關係r,r 中不可能存在兩個元組在x上的屬性值相 等,而在y上的屬性值不等,則稱x函式確定 y或y函式依賴於x,記作x y x y,但y x則稱x y是非平凡的函式依賴 x y,但y x 則稱x y是平凡的函式依...
以下屬於4nf的分解為 資料庫技術期末考試試題
c顯示所有學時數大於100的課程名 d顯示所有學時數大於100的課程名和學時數 36.窗體中的每個控制項都有一組屬性,其中用於設定控制項外觀的是 a a.格式屬性 b.資料屬性 c.外觀屬性 d.事件屬性 37.在access中,不能輸入和編輯資料的物件是 c a.查詢 b.窗體 c.報表 d.資料...
mysql屬於關係型資料庫嗎
mysql是一種關係型資料庫管理系統,關聯式資料庫將數程式設計客棧據儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性。mysql所使用的 sql 語言是用於訪問資料庫的最常用標準化語言。mysql 軟體採用了雙授權政策,分為社群版和商業版,由於其體積小 速度快 總體...