關係資料模型相關概念
1、
關係資料庫:基於關係模型,是一個或多個關組成的集合,關係通俗來講是表(由行和列構成)。SQL語言用於建立,操作和查詢關係資料庫,而關係模型是其基礎。
關係的每個屬性都有一個名稱;域:每個屬性的取值集合稱為屬性的域。屬性值必須是原子的,即不可分割的(如多值屬性值、複合屬性值不是原子的)
特殊值null是每一個域的成員。
2、關係型資料庫常用概念:冗餘(本不應存在卻存在了)
完整性(資料的正確性)
欄位(域、表頭、列頭)(域完整性:型別、範圍、格式)
元組(由行組成)(無序的,但一個關係中不能有重複的元組)
行(記錄)
列
主鍵(具有唯一性且其不能為空,主鍵常用下劃線標記,如學號)
外來鍵(引用主鍵中的內容)(引用完整性、實體完整性)
設K是一個屬性集合,若K值能在一個關係中唯一地標誌一個元組,則K是R的超碼,如果K是最小超碼,則K是候補碼,如K是候補碼,並由使用者明確定義,則K是主鍵。
3、關係涉及兩個概念:關係模式和關係例項
關係模式描述關係的結構;
關係例項表示一個關係的特定例項,也就是所包含的一組特定的行;
區別:可理解成: 變數<—>關係;
變數型別<—>關係模式;
變數值<—>關係例項。
如:A1,A2,···,An是屬性,則R=(A1,A2···,An)是一個關係模式;r(R)是在關係模式R上的關係。關係的當前值即關係例項,其由表指定。
4、關係代數:SQL的基礎;六個基本運算:Select(選擇)Project(投影)Union(並)set difference(差或集合差)Cartesian product(笛卡兒積)Rename(更名或重新命名)
四個附加運算:Set intersection(交)
① 選擇運算:σp(r)={t|t屬於r and p(t)},σ讀作sigma,其中p是選擇謂詞:由邏輯連詞與,或,非連線起來的公式。
② 投影運算:∏ A1、A2、···、Ak(r),∏讀作pi,A1,···Ak是屬性名,r為關係名,其結果為保留此k列的值,並刪除重複的行。
③ 並運算:r U s={t|t屬於r or t屬於s}運算條件:等目,同元,即屬性數目相同;對任意i,r的第i個屬性域和s的第i個屬性域相同。
④ 差運算:r - s={t|t屬於r and t不屬於s}運算條件:同上。
廣義笛卡兒積:r x s={{t q} | t屬於r and q屬於s}若r(R)和s(S)的屬性有交集,那麼必須重新命名這些有交集的屬性。
⑤ 複合運算:可以使用多種運算子構建表示式。
⑥ 更名運算:使用其他名字指代關係: ρx(E),ρ讀作rho,返回表示式E的結果,並把名字x賦給它。
⑦ 附加運算:集合交:r ∩s={t | t屬於r and t屬於s}
⑧ 自然連線:r⋈s:就是對模式R U S運算後的關係;(要求同名屬性項相等)
⑨ 除:r ÷ s其結果來自於∏R-S(r) 適用於包含了“對所有的”此類短語的查詢。
⑩ 賦值:<— 將箭頭右側的表示式的結果賦給箭頭左側的關係變數,該變數可以在後續的表示式中使用。
5、運算的優先順序:投影;選擇;笛卡兒積;連線、除;交;並、差。
6廣義投影:允許在投影列表中使用算術函式來對投影操作進行擴充套件。
聚集函式:輸入一個值集合 ,然後返回單一值作為結果
avg(平均值)min(最小值)max(最大值)sum(值的總和)count(值的數量)
gavg(balance)(account):求平均存款餘額。
聚集運算的結果是沒有名稱的,可以使用更名運算。
7、外連線:是連線運算的擴充套件,可以處理缺失資訊;使用空值(不知道或不存在)
8、空值(null):涉及空的任何算術表示式的結果為空;聚集函式會忽略空值。與空值的比較將返回一個特殊值:unknown
資料庫內容的刪除、插入、更新操作都是使用賦值操作表示。