眾所周知,關聯式資料庫常見的關係操作有:查詢,插入,刪除,修改這四種操作,而這四種操作有可以分為兩大類
在查詢操作中,選擇,投影,並,差,笛卡兒積是5種基本操作,其他操作可以由這幾種操作匯出,就比如乘法可以用加法來定義和匯出一樣。
在詳細講述之前,我要著重說明的是,關係模型的操作具有乙個非常鮮明的特點,即它操作的物件和結果都是集合,而不像層次模型和網狀模型操作的物件和結果都是一次一條記錄。
下面我們來講一下資料查詢下面的一些關係運算。
傳統的集合運算
1、 並(union)a並b = 在a中或者在b中
2、 差(except)a-b=在a中而不再b中
3、 交(intersection)a交b = 既在a中又在b中
4、 笛卡爾積
這裡的笛卡爾積是廣義的笛卡爾積,操作的基本單位為乙個元組。
所謂笛卡爾積其實就是乙個全排列,所有元組各種方式的組合。
專門的關係運算
專門的關係運算包括:選擇、投影、連線、除運算
1、 選擇(selection)
選擇又稱為限制(restriction),它是在關係r中選擇滿足給定條件的諸元組。
它裡面可以出現一些邏輯表示式,邏輯表示式形如:
a x b
這個x不是乘號,它在這裡表示比較運算子,比如>,<,=
等等,a和b在這裡要麼是常量,要麼是乙個屬性名,亦或是簡單函式。
同時多個邏輯表示式之間可以用邏輯運算子連線,比如:交、並、非
2、 投影(projection)
投影就是從乙個表中選擇若干屬性列組成乙個新的關係
比如:
學生(學號,姓名)
可以將它的學號投影出來,即
投影名(學號)
3、 連線(join)
連線是從兩個關係的笛卡爾積中選取屬性間滿足一定條件的元組。
根據連線所選取的條件的不同,可以將連線細分成一些比較特殊的連線情況。
舉個例子:假如下面的連線都是表a和表b的連線
關於自然連線,又出現了幾個概念:
4、 除運算(division)
設關係r除以關係s的結果為t,則t包含所有在r但不在s中的屬性及其值,且t的元組與s的元組的所有組合都在r中。
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關聯式資料庫與非關聯式資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
mysql關聯式資料庫 關聯式資料庫概述
為什麼需要資料庫?因為應用程式需要儲存使用者的資料,比如word需要把使用者文件儲存起來,以便下次繼續編輯或者拷貝到另一台電腦。要儲存使用者的資料,乙個最簡單的方法是把使用者資料寫入檔案。例如,要儲存乙個班級所有學生的資訊,可以向檔案中寫入乙個csv檔案 id,name,gender,score 1...