Ⅰ 資料庫關系運算
這個知識點一般出現在上午題。
這個知識點最為重要,需要多加記憶和理解。其中有 並 、 交 、 差 、 笛卡爾積 、 選擇 、 投影 、 連接 、 除 。其中一元運算符只有 選擇 和 投影 ,剩餘的都是二元運算符。
1、Θ連接運算定義一個關系,它包含R和S的笛卡爾積中所有滿足謂詞F的元組,其中謂詞F是比較運算符(<、≤、>、≥、=、≠)之一。
其中兩個運算公示是相等的:
2、自然連接運算對兩個關系中所有具有相同名稱的屬性執行等接運算。自然連接的維數等於關系R與S的維數之和減去X中屬性的個數。
3、外連接運算是在連接兩個關系時,經常會出現一個關系中某些元組無法在另一個關系中找到匹配元組的情況,換句話說,就是這些元組在連接屬性上不存在匹配值。但可能仍希望這些元組出現在結果中,這時就要用到外連接。
4、半連接運算執行了兩個關系的連接後,再將結果投影到第一個參與運算的關系的所有屬性上。半連接的優點之一就是減少必須參與連接的元組的數目。
Ⅱ 資料庫——關系代數運算
關系代數是一門抽象的查詢語言,它用對關系的運算來表達查詢。
運算對象、運算符、運算結果是運算的三大要素。關系代數的運算對象是關系,運算結果也是關系。
設R和S是n元關系,而且兩者各對應屬性的數據類型也相同。R和S的並操作定義為:
條件:① 等目、同元,即他們的屬性數目必須相同 ② 對任意i,r的第i個屬性域和s的第i個屬性域相同
如:Πname(instructor)∪Πname(student)
簡單來說就是: R和S所有關系都組合在一起, 重復的就不寫
p是選擇操作,p用的是邏輯連接詞,如∧、∨、┐
註:執行選擇時,選擇條件必須是針對同一元組中的相應屬性值代入進行比較
簡單來說就是: 把符合元組的拿出來
a1,a2等是屬性名,r是關系名。其結果為保留此k列的值,並刪除重復的行
條件:①等目、同元,即他們的屬性數目必須相同 ②對任意i,r的第i個屬性域和s的第i個屬性域相同(和並運算一樣的條件)
簡單來說就是:因為是R-S, 找R在S關系中沒有的
假設R的屬性和S的屬性沒有交集就如圖一,如果R和S的屬性有交集,那麼必須重命名這些有交集的屬性
返回表達式E的結果,並賦給它名字X,同時將屬性重命名為A1,A2....An
例一:找出貸款額大於1200的元組
例二:找出貸款大於1200的貸款號
例三:找出有貸款或有賬戶兩者兼有的所有客戶姓名
例四:找出至少有一個貸款及一個賬戶的客戶姓名
例五:找出Perryridge分支機構有貸款的顧客姓名
這個查詢運用了兩個關系,這個時候就要運用笛卡爾積
為什麼要做「σ borrow.loan-number = loan.loan-number」的判斷?因為這裡面的組合很多,而我們要去除掉沒有意義的組合
查詢二要比查詢一更好一點,因為borrower x loan的數據有可能是很龐大的,降低了查詢效率,而查詢二先做了選擇再進行笛卡爾積運算,數據量相較小一點。
例六:找出在Perryridge分支機構有貸款,但在其他分支機構沒有賬號的顧客姓名
例七:找出銀行中最大的賬戶余額
Ⅲ 資料庫並交差運算條件中具有相同屬性什麼意思
資料庫並交叉運算的條件具有相同屬性的意思就是要屬性相同的才可以計算。
Ⅳ 資料庫中專門的關系運算包括那三種
關系基本運算包括:選擇、投影和連接。選擇是篩選出符合條件的記錄;投影是選擇若干屬性;連接是兩個關系通過關聯欄位合並為一個新的關系。
1、選擇(selection)
選擇運算是單目運算,它從一個關系R中選擇出滿足給定條件的所有元組,並同R具有相同的結構。
關系R的選擇運算是從關系R中選擇滿足指定條件(用F表示)的元組構成的新關系.換言之,選擇運算的結果是一個表的水平方向的子集。關系R的選擇運算記為:σF(R)。
2、投影(projection)
投影運算也是單目運算,它從一個關系R所有屬性中選擇某些指定屬性,組成一個新的關系。選擇運算選取關系的某些行,而投影運算選取關系的某些列,是從一個關系出發構造其垂直子集的運算。
3、連接(join)
連接運算是關系的二目運算.關系R與關系S的連接運算是從兩個關系的廣義笛卡爾積中選取屬性間滿足一定條件(稱為連接條件,記為AθB)的元組形成一個新關系。
(4)資料庫運算條件擴展閱讀:
關系運算符有6種關系,分別為小於、小於等於、大於、等於、大於等於、不等於。
1、小於a<b,a小於b時返回真;否則返回假。
2、小於等於a<=b;a小於等於b時返回真;否則返回假。
3、大於a>b;a大於b時返回真;否則返回假。
4、大於等於a>=b;a大於等於b時返回真;否則返回假。
5、等於a=b;a等於b時返回真;否則返回假。
6、不等於a!=b;a不等於b時返回真;否則返回假。
關系運算符的值只能是0或1。關系運算符的值為真時,結果值都為1。關系運算符的值為假時,結果值都為0。
前4種關系運算符的優先順序別相同,後兩種也相同。前四種高於後兩種。關系運算符的優先順序低於算術運算符。關系運算符的優先順序高於賦值運算符。
Ⅳ 關系資料庫中關系代數的基本運算有哪些
五種基本操作:並,差,積,選擇,投影;構成關系代數完備的操作集。其他非基本操作:可以用以上五種基本操作合成的所有操作。並(U)、交(⌒)、投影(π)選擇(σ)和笛卡兒積(×)。
傳統的集合運算:
1、並(UNION)設有兩個關系R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算符為∪。記為T=R∪S。
2、差(DIFFERENCE)R和S的差是由屬於R但不屬於S的元組組成的集合,運算符為-。記為T=R-S。
3、交(INTERSCTION)R和S的交是由既屬於R又屬於S的元組組成的集合,運算符為∩。記為T=R∩S。R∩S=R-(R-S)。
(5)資料庫運算條件擴展閱讀:
在資料庫世界裡,後關系資料庫仍舊泰然自若,保持其本色。
在現代IT界,sql和XML已經成為資料庫的非常重要組成部分,這二者成為資料庫系統結構組成部分的歷史也很長久了,至於開始的時間我也很難記得了。
在60年代末和70年代初,出現了具備靈活欄位長度、嵌套表格、鬆散數據類型選擇的資料庫構架,這樣的資料庫系統不僅受市場歡迎,也得到大家的青睞。這些早期的資料庫系統雖然缺乏像XML一樣的標記功能,但是它們在實際工作中卻表現出和XML極為類似的功能。
描述這些資料庫系統的術語是「後關系」或者「多值」,它們沒有SQL關系資料庫知名,是因為這些資料庫系統缺乏許多新聞的宣傳度,我們很容易把它認為是一個實驗而已,然後這些實驗在人們的印象中就會半途而廢了,最終慢慢的消失。
Ⅵ 資料庫如何進行有條件的查詢
條件
使用where子句對表中的數據篩選,結果為true的行會出現在結果集中
語法如下:
select * from 表名 where 條件;
例:
select * from students where id=1;
1
2
3
where後面支持多種運算符,進行條件的處理
比較運算符
邏輯運算符
模糊查詢
范圍查詢
空判斷
比較運算符
等於: =
大於: >
大於等於: >=
小於: <
小於等於: <=
不等於: != 或 <>
例1:查詢編號大於3的學生
select * from students where id > 3;
例:查詢編號不大於4的學生
select * from students where id <= 4;
1
2
3
4
5
6
邏輯運算符
and
or
not
例:查詢編號大於3的女同學
select * from students where id > 3 and gender=0;
1
2
3
模糊查詢
like
%表示任意多個任意字元
_表示一個任意字元
例:查詢姓黃的學生
select * from students where name like '黃%';
1
2
3
范圍查詢
in表示在一個非連續的范圍內
空判斷
注意:null與』'是不同的
判空is null
例:查詢沒有填寫身高的學生
select * from students where height is null;
判非空is not null
1
2
3
4
優先順序
優先順序由高到低的順序為:小括弧,not,比較運算符,邏輯運算符
and比or先運算,如果同時出現並希望先算or,需要結合()使用
————————————————
Ⅶ 資料庫中選擇運算的條件可以有多個嗎
首先自己和自己比沒有意義,所以要過濾掉;然後就是出生日期大12年的問題,我們寫出的語句如下:
SELECT * FROM Profile A, Profile B
WHERE (NOT (A.Name = B.Name)) AND
(DATEPART(Year,A.BirthDate)- DATEPART(Year,B.BirthDate)>= 12)
這里我們使用了DatePart()函數,這個函數可以單獨取回某個日期型數據的年份、月份或日,返回數據類型為整型。在Oracle中,可以計算兩個日期型數據的差,months_between(datetime1,datetime2)
實際上,有了笛卡爾積、並集、差集、投影和選擇運算,基本上我們的普通的數據處理的需求都可以得到滿足。
例子:綜合征管軟體 稅務登記信息 和稅務登記信息的擴展。
Ⅷ 資料庫常用的關系運算是什麼
在關系資料庫中,基本的關系運算有三種,它們是選擇、投影和連接。關系的基本運算有兩類:一類是傳統的集合運算(並、差、交等),另一類是專門的關系運算(選擇、投影、連接、除法、外連接等),有些查詢需要幾個基本運算的組合,要經過若干步驟才能完成。
一、傳統的集合運算
1、並(UNION)設有兩個關系R和S,它們具有相同的結構。R和S的並是由屬於R或屬於S的元組組成的集合,運算符為∪。記為T=R∪S。
2、差(DIFFERENCE)R和S的差是由屬於R但不屬於S的元組組成的集合,運算符為-。記為T=R-S。
3、交(INTERSECTION)R和S的交是由既屬於R又屬於S的元組組成的集合,運算符為∩。記為T=R∩S。R∩S=R-(R-S)。
二、選擇運算
從關系中找出滿足給定條件的那些元組稱為選擇。其中的條件是以邏輯表達式給出的,值為真的元組將被選取。這種運算是從水平方向抽取元組。在FOXPRO中的短語FOR和WHILE均相當於選擇運算。
如:LISTFOR出版單位='高等教育出版社'AND單價<=20
三、投影運算
從關系模式中挑選若干屬性組成新的關系稱為投影。這是從列的角度進行的運算,相當於對關系進行垂直分解。在FOXPRO中短語FIELDS相當於投影運算。如:LISTFIELDS單位,姓名
四、連接運算
連接運算是從兩個關系的笛卡爾積中選擇屬性間滿足一定條件的元組。
五、除法運算
在關系代數中,除法運算可理解為笛卡爾積的逆運算。
設被除關系R為m元關系,除關系S為n元關系,那麼它們的商為m-n元關系,記為R÷S。商的構成原則是:將被除關系R中的m-n列,按其值分成若干組,檢查每一組的n列值的集合是否包含除關系S,若包含則取m-n列的值作為商的一個元組,否則不取。
(8)資料庫運算條件擴展閱讀:
資料庫除運算:
除運算的含義–給定關系R (X,Y) 和S (Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關系P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。
R÷S的結果為a1,x相當於A y 相當於B,C z相當於D,按照除運算規則,我們不必關注D。只需比較B,C當S關系中的B,C所有的組合(b1,c2)(b2,c3)(b2,c1)都出現在R關系中時,結果才為A
R÷S = {tr[X] | trÎR∧πY (S) íYx },Yx:x在R中的象集,x = tr[X]。除操作是同時從行和列角度進行運算。
Ⅸ 資料庫中邏輯運算符有哪些
資料庫中邏輯運算符有:「非」(¬)、「與」(∧)、「或」(∨)、「條件」(→)以及「雙條件」(↔)。「非」是一個一元操作符,它只操作一項(¬ P)等。
注意,符號「與」(∧)和交集(∩),「或」(∨)和並集(∪)的相似性。這不是巧合:交集的定義使用「與」,並集的定義是用「或」。
在形式邏輯中,邏輯運算符或邏輯聯結詞把語句連接成更復雜的復雜語句。例如,假設有兩個邏輯命題,分別是「正在下雨」和「我在屋裡」,我們可以將它們組成復雜命題「正在下雨,並且我在屋裡」或「沒有正在下雨」或「如果正在下雨,那麼我在屋裡」。
一個將兩個語句組成的新的語句或命題叫做復合語句或復合命題。
(9)資料庫運算條件擴展閱讀
sql語句結構
1、數據查詢語言(DQL:Data Query Language):其語句,也稱為「數據檢索語句」,用以從表中獲得數據,確定數據怎樣在應用程序給出。
保留字SELECT是DQL(也是所有SQL)用得最多的動詞,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。這些DQL保留字常與其它類型的SQL語句一起使用。
2、數據操作語言(DML:Data Manipulation Language):其語句包括動詞INSERT、UPDATE和DELETE。它們分別用於添加、修改和刪除。
3、事務控制語言(TCL):它的語句能確保被DML語句影響的表的所有行及時得以更新。包括COMMIT(提交)命令、SAVEPOINT(保存點)命令、ROLLBACK(回滾)命令。