軟考中級 資料庫系統工程師複習知識點解釋(二)

2021-09-12 18:39:26 字數 2563 閱讀 7581

3.關係代數表示式

首先,關聯式資料庫的關係代數指什麼?

書本概念:由關係代數運算經有限次復合而成的式子稱為關係代數表示式。這種表示式的運算結果仍然是乙個關係。可以用關係代數表示式表示對資料庫的查詢和更新操作。

通俗一點來說,就是通過關係代數的運算方式,來計算出目標關係。比如1+1這種算術關係式,只不過其中的1變成了乙個關係。

關係代數的運算有9種操作,分別是:並、交、差、乘、選擇、投影、聯接、除、自然聯接等。

其中並(∪)、差(-)、笛卡爾積(×)、投影(π)、選擇(σ)是5個基本操作,交(∩)、聯接(等值聯接)、自然聯接(r是4個組合操作,可以用前面的5個基本操作來定義,不過會稍微複雜些。

現在我們乙個個的來看看。以下sql語句皆根據oracle資料庫來寫。

1、並(∪)

並是傳統的二目運算,且其結果,認為n目關係,由屬於r或屬於s的元組組成。

資料庫當中的union就是並運算

2、差(-)

和並一樣為二目運算。資料庫中的minus就是乙個代表。

3、笛卡爾積(×)

笛卡爾積就是全表連線,比如r有x個元組,s有y個元組,這r、s笛卡爾積有x*y個元組

其中資料庫中的cross join,或select r.*,s.* from r,s

4、投影(π)

投影就是在原表的基礎上,重新選出若干屬性,組成乙個新的關係。從列的角度去篩選。

比如:

/*

* 學生關係如下

* student(sno,sname,sage)

*/select s.sno,s.name from sutdent s

5、選擇(σ)選擇是在原表的基礎上,加上一些特定的篩選條件,來篩選出我們需要的特定資料。

資料庫中的where就是選擇。

select * from student s where s.sno <= 1010
6、交(∩)r和s進行交運算,由即屬於s和r的元組組成,交可以用差來表示,即r∩s=r-(r-s)。

資料庫中的intersect就是交操作。

7、聯接(等值聯接)和非等值鏈結

等值是在笛卡爾積的結果基礎上新增某兩列屬性值相等的篩選條件,列名可以相同,也可以不同。

反之,非等值連線,就是在篩選出某兩列屬性值不相等的條件,列名可以相同也可以不同。

--等值連線

select * from stu a

join school b on a.sno = b.no

--非等值連線

select * from stu a

join school b on a.sno <> b.no

8、自然聯接自然連線是一種特殊的等值連線,要求兩個表必須有相同的屬性列,不然無法完成「自發」的匹配。

sql中的natural join就是自然連線。

比如**1和**2自然連線之後得到的結果就是**3。

**1 ab

c123

456**2 b

de23

4456

**3 ab

cde1

2334

因為自然連線,本身存在自發的匹配,會根據相同的屬性列去匹配,自己就帶有限制條件了,所以自然連線不能有where 或 on去限制篩選。並且等值連線要求相等的分量,不一定是公共屬性(即相同的列名),但是自然連線必須要求相等的列名。

9、除法(÷)

除法這個計算還是相對來說比較簡單的。

書本中的介紹是這樣的:設關係r除以關係s的結果為關係t,則關係t包含所有在r但不在s中的屬性及其值,且t的元組與s的元組的所有組合都在r中。

但畢竟都是拿來計算的,從算數表示式中的除法,我們也能以此類推出來。

我個人是這麼計算除法的。以**4和5為例。

**4 r a

ca1c1a1

c2a1

c3a2

c1a2

c3a3

c1**5 s c

dc1d1c3

d2計算r÷s:

第一步,找出重複列,即c

第二步,s在(c)上的投影為,r中a在(c)上象集有

a1的象集k1=

a2的象集k2=

a3的象集k2=

第三步,從k1~k3三個象集中,可以看到k1和k2包含了s在c列的投影,所以r÷s=

軟考中級 資料庫系統

1.軟考 1 指計算機技術與軟體專業技術資格 水平 考試。2 由國家人事部和資訊產業部舉辦的,是國家專業技術資格考試,納入全國專業技術人員職業資格證書制度統一規劃。3 每年兩次,第二季度和第四季度,上半年考試與下半年考試的種類不盡相同,所以,大多數類別的考試每年舉行一次。4 中 初級資格考試設基礎知...

軟考 資料庫系統工程師

sql語言 例題 9.1建立乙個 商和乙個零件資料庫。其中 商 表s sno,sname,status,city 的屬性分別表示 商 商名 商狀態以及 商所在的城市。零件 表p pno,pname,color,weight,city 的屬性分別表示零件號 零件名 顏色 重量以及產地。其中,資料庫需要...

課程分享 Oracle資料庫系統工程師

對這個課程有興趣的朋友可以加我的qq2059055336和我聯絡 一 本課程是怎麼樣的一門課程 1.1 課程的背景 該課程是oracle資料庫系統工程師培訓課程 oracledatabase,又名oraclerdbms,或簡稱oracle。是甲骨文公司的一款關聯式資料庫管理系統。到目前仍在資料庫市場...