1 資料庫管理系統(dbms)
資料庫管理系統(dbms)是指dbs中對資料進行管理的軟體系統,它是dbs的核心成分。dbs中所有與資料庫打交道的操作,包括建庫、查詢、更新及資料控制,都是通過dbms進行的。資料庫管理系統總是基於某種資料庫模型,可分為網狀型、層次型、關係型和物件導向型dbms。
資料庫管理系統的主要目標:把資料作為可管理的資源處理。
資料庫管理系統的5個重要功能:
◆資料庫的定義功能:dbms提供資料定義語言(ddl)定義資料庫的3級結構,包括外模式、概念模式、內模式及其相互之間的映象,定義資料的完整性約束、保密限制等條件。因此在dbms中包括ddl的編譯程式。
◆資料庫的操縱功能:提供資料操縱語言(dml)實現對資料的操作。有4種基本操作:檢索(查詢)、插入、刪除、修改。在dbms中包括dml的編譯程式或解釋程式。
◆資料庫的保護功能:dbms對資料庫的保護主要通過4個子系統:
a.資料庫恢復(在資料庫被破壞或資料不正確時,系統有能力把資料庫恢復到最近某個正確的狀態
b.資料完整性控制(保證資料庫中資料及語義的正確性和有效性,防止任何對資料錯誤的操作)
c.多使用者環境下的併發控制。
d.資料安全性控制(防止未被授權的使用者蓄謀或無意地訪問資料庫中的資料,以免資料的洩露或破壞)。
◆資料庫的維護功能:這部分包括資料庫的初始資料載入、轉換功能、儲存功能、資料庫的改組、效能監視功能。
◆資料字典(dd):dd管理資料庫3級結構的定義。對於資料庫的操作都要通過查閱dd才能進行。現在有的大型系統中,把dd單獨抽出來自成乙個系統,成為乙個系統工具,使得dd成為乙個比dbms更高階的使用者與資料庫之間的介面。
要注意的是:應用程式並不屬於dbms的範圍。應用程式是用主語言和dml編寫的,程式中的dml語句由dbms執行,而其餘部分仍由主語言編譯程式完成。
資料庫系統(dbs)
資料庫系統是乙個複雜的系統,它是採用了資料庫技術的計算機系統。因此,它不僅僅是一組對資料進行管理的軟體(即dbms),也不僅僅是乙個資料庫。它是乙個實際可執行的、按照資料庫方法儲存、維護和向應用系統提供資料支援的系統。它是儲存介質、處理物件和管理系統的集合體,由資料庫db、硬體支援系統、軟體支援系統和資料庫管理員dba這四部分組成。
2 sql語句
◆基本表的定義可用「create table」語句實現,增加屬性可以用alter...add...」語句,刪除屬性可以用「alter...drop...」語句;刪除已存在的表可用「drop table...」語句。
◆檢視的定義和撤消
◆索引的定義和撤銷
◆select 查詢語句
◆delete刪除語句
◆insert插入語句
◆update語句
3 關係運算
專門的關係運算包括選擇、投影、連線、除等。
⒈選擇(selection)
選擇又稱為限制(restriction)。它是在關係r中選擇滿足給定條件的諸元組,記作:
σf(r) =
其中f表示選擇條件,它是乙個邏輯表示式,取邏輯值『真』或『假』。
邏輯表示式f的基本形式為:
x1 θ y1 [ φ x2 θ y2 ]
θ表示比較運算子,它可以是》、≥、
因此選擇運算實際上是從關係r中選取使邏輯表示式f為真的元組。這是從行的角度進行的運算。
舉例設有乙個學生-課程關聯式資料庫,包括學生關係student、課程關係course和選修關係sc。下面的許多例子將對這三個關係進行運算。
例1 查詢資訊系(is系)全體學生
σsdept='is'(student) 或 σ5='is'(student)
例2 查詢年齡小於20歲的元組
σsage<20(student)
或σ4<20(student) 。
⒉ 投影(projection)
關係r上的投影是從r中選擇出若干屬性列組成新的關係。記作:
πa(r) =
其中a為r中的屬性列。
舉例例3 查詢學生關係student在學生姓名和所在系兩個屬性上的投影:
πsname,sdept(student)
或π2,5(student)
結果如圖2-7(a)。
投影之後不僅取消了原關係中的某些列,而且還可能取消某些元組,因為取消了某些屬性列後,就可能出現重複行,應取消這些完全相同的行。
例4 查詢學生關係student中都有哪些系,即查詢學生關係student在所在系屬性上的投影
πsdept(student)
投影之後不僅取消了原關係中的某些列,而且還可能取消某些元組,因為取消了某些屬性列後,就可能出現重複行,應取消這些完全相同的行。
⒊ 連線(join)
連線也稱為θ連線。它是從兩個關係的笛卡爾積中選取屬性間滿足一定條件的元組。記作:
其中a和b分別為r和s上度數相等且可比的屬性組。θ是比較運算子。連線運算從r和s的笛卡爾積r×s中選取(r關係)在a屬性組上的值與(s關係)在b屬性組上值滿足比較關係θ的元組。
連線運算中有兩種最為重要也最為常用的連線,一種是等值連線(equi-join),另一種是自然連線(natural join)。
θ為「=」的連線運算稱為等值連線。它是從關係r與s的笛卡爾積中選取a、b屬性值相等的那些元組。即等值連線為:
自然連線(natural join)是一種特殊的等值連線,它要求兩個關係中進行比較的分量必須是相同的屬性組,並且要在結果中把重複的屬性去掉。即若r和s具有相同的屬性組b,則自然連線可記作:
一般的連線操作是從行的角度進行運算。但自然連線還需要取消了重複列,所以是同時從行和列的角度進行運算。
4. 除(division)
給定關係r(x,y)和s(y,z),其中x、y、z為屬性組。r中的y與s中的y&127;可以有不同的屬性名,但必須出自相同的域集。r與s的除運算得到乙個新的關係p(x),p是r中滿足下列條件的元組在x屬性列上的投影:元組在x上分量值x的象集yx包含s在y上投影的集合。記作:
其中yx為x在r中的象集,x=tr[x]。
舉例例6 設關係r、s分別為圖2-9中的(a)和(b),r÷s的結果為圖2-9(c)。
在關係r中,a可以取四個值。其中:
a1的象集為
a2的象集為
a3的象集為
a4的象集為
s在(b,c)上的投影為
顯然只有a1的象集(b,c)a1包含s在(b,c)屬性組上的投影,所以r÷s=。rs
r÷sabc
bcda
a1b1
c2b1
c2d1
a1a2
b3c7
b2c1
d1a3
b4c6
b2c1
d1a1
b2c3
b2c3
d2a4
b6c6
a2b2
c3a1
b2c1
(a)(b)
(c)
資料庫管理系統DBMS系統構架
資料庫管理系統dbms系統構架 趙鍇 kai zhao kingaim at gmail dot com 資料庫在大資料分析中仍然占有非常重要的地位。因此,對資料庫核心的掌握也是大資料分析的必要條件。模組化設計是資料庫管理系統核心開發的一種重要的設計思想。將資料庫管理系統的功能進行合理劃分,每乙個功...
資料庫管理系統軟體(DBMS)的幾種簡介(隨筆)
資料庫管理系統軟體 dbms 有哪些呢?目前網際網路上常見的資料庫管理軟體有sybase db2 oracle mysql access visual foxpro ms sql server informix postgresql這幾種。資料庫管理系統軟體的種類有很多,常見的也很多,但是針對不同人...
資料庫 DB DBMS和DBMS分類
資料庫 database,db 是將大量資料儲存起來,通過計算機加工而成的可以進行高效訪問的資料集合。資料庫管理系統 database management syster,dbms 用來管理資料庫的計算機系統。dbms的分類 主要通過資料的儲存格式 資料庫的種類 來進行分類,主要有 1.層次資料庫 ...