3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
資料庫系統及應用知識梳理什麼是信息?對人們有用的、有意義的數據或內容稱之為信息什麼是系統?有一組成員組成,各個成員間相互系統、相互作用,每個成員又有獨立作用並完成一定功能,這一組成語你的集合稱之為系統什麼是信息系統?以方便管理和決策為目的,以DBMS平台為支撐,用於信息處理的系統資料庫系統及應用思維導圖資料庫系統資料庫系統組成所存儲的資料庫相關數據的集成 DBMS用於定義,構造和操作資料庫 應用用某個程序語言開發的操作資料庫的程序 用戶通過DBMS界面或通過應用程序來使用資料庫的人員為什麼用資料庫系統?資料庫提供了對數據和元數據的集中存儲,這樣- 應用程序相對獨立與數據- 為多用戶提供共享存取的機制- 將應用開發的程序員從繁重乏味的數據管理中解放出來- 提供了無須修改程序就能更改數據的機制資料庫概念什麼是資料庫?————相關資料或內容的集成資料庫的設計與實現是信息系統開發最有意義、最基本的組成部分資料庫管理系統(DBMS)概念Database Management System定義資料庫對資料庫中的數據成員定義數據類型、結構和約束 構造資料庫存儲數據到介質上 操作資料庫查詢和更新資料庫DBMS的各個功能控制冗餘 限制未授權存取 提供多種用戶介面 表示複雜的聯繫 強制完整性約束 提供備份與恢復關係模型概念介紹數據模型數據模型是對數據的提煉,它排除了那些與用戶無關的、或者複雜的細節,它由有關的邏輯概念,如對象或實體的特徵和聯繫等組成模式和實例模式是指原數據,或者說是描述數據的數據,是在資料庫設計定義的,且不常更改 實例是指資料庫中相應於某個模式的具體數據,經常被更新關係模型關係是關係模型中表示數據的主要結構* 每個關係是一張表。每個表不一定是關係* 域是一組原子值(原子值是不可再分的),每個域有一個數據類型或格式 表中的每個列都有其名字,對應於表中的某個列所起的名字稱之為該列的屬性,屬性個數稱之為度同樣的屬性名不必是表示同樣的域,不同的屬性不一定表示不用的域 對應於二維表中每個屬性的一組取值稱之為元組關係模式和實例關係模式包括關係名字和屬性列表 關係實例是一個n-元組次序特徵元組的次序 元組內各個值的次序元組內各個值的次序不影響關係的任何操作關係資料庫的設計與約束完整性約束是針對資料庫模式完整性約束的種類靜態和動態的約束 單關係和多關係的約束 結構和語義的約束其中,結構的,靜態的,單個的關係域約束關係中的每個屬性都有一定的取值範圍,即屬於某個域上的取值 關鍵字約束關係中的每一個 元組必須是可以區分的,也就是說關係中不允許存在兩個或兩個以上的元組其各個屬性的取值都相同,此為唯一性約束關鍵字是最小的超鍵,能夠唯一區分元組的最小的屬性集合一個模式可以由一個或多個關鍵字,每個關鍵字被稱之為候選鍵,其中被選中的那一個被稱之主鍵實體完整性約束(主鍵的值不能為NULL)結構的,靜態的,多個的關係引用完整性約束定義在兩個關係之間,外鍵約束其他完整性約束語義上的約束 變換的約束關係資料庫模式與實例模式:關係模式的集合完整性約束的集合 實例:關係實例的集合,滿足關係模式的完整性約束設計一個關係資料庫確定關係中的每一個屬性 為每個關係選擇合適的名字 為每個屬性定義數據類型和格式 找出每個關係的候選鍵,並選中其中之一為主鍵 定義所有的外鍵實體-聯繫模型概念設計階段,ER圖,用戶數據需求的描述邏輯設計階段,概念模型(ER)被用以生成實現模型(Relational)物理設計階段,資料庫設計的主題是存儲和執行概念設計實體實體,現實世界中存在的客觀對象,一個實體可以用一組屬性來描述 實體集合,類似的實體的組成,一個實體集合中的所有實體都有同樣的屬性的集合 實體類型,定義具有同樣屬性的實體的集合,每一個實體類型是通過名字和屬性加以描述屬性鍵屬性,一個鍵屬性有一個帶有下劃線的名字 屬性的值集,值集對應於關係的域 空值屬性屬性類型- 複合,簡單屬性- 單值,多值屬性- 導出,存儲屬性屬性表示方式圓括弧表示複合屬性,花括弧{}表示多值屬性聯繫聯繫類型和聯繫集合 聯繫的度,一個聯繫的度是參與該聯繫的實體類型的數目 角色和遞歸聯繫 聯繫約束聯繫約束是又描述這些聯繫的應用目標所決定,聯繫類型的約束限制了那些參與相應聯繫集合的實體的可能的組合。結構約束,包括基數約束和參與約束聯繫類型的屬性沒有自己的關鍵字屬性的實體類型稱為「弱實體」。通常有一個」部分鍵「,它是一個唯一的標識同一個所有者實體之弱實體的屬性集合。並非所有的存在依賴導致弱實體的產生實體類型進一步被分為超類和子類,子類實體類型從超類實體類型繼承子類是超類的特殊化,超類是子類的普遍化ER到關係模型變換變換步驟實體變換生成一個關係R,把E的所有簡單屬性作為R的屬性,選擇一個E的關鍵字屬性作為主鍵(若E的關鍵字是複合屬性, 則它的簡單屬性集為R主鍵)弱實體變換對每一個弱實體類型W,生成一個關係R,把W的所有簡單屬性作為R的屬性,選擇一個W的所有者實體的關鍵字屬性和W本身的部分鍵屬性一起作為R的主鍵二度1:1聯繫對於每一個二度1:1 聯繫類型RT,參與該聯繫的兩端的實體類型分別為S和T,則其變換步驟如下:選定S與T中完全參與該聯繫的那一端的實體類型,若都完全參與或都部分參與,則任選其中之一的實體類型,假定選為S 將實體類型T的關鍵字屬性做為外鍵加到S所變換的關係模型中 將RT的所有簡單屬性加到S所變換的關係模型中二度1:N聯繫對於每一個二度1:N 聯繫類型RT,參與該聯繫的兩端的實體類型分別為S和T,則其變換步驟如下:選定S與T參與該聯繫為N的那一端的實體類型,假定選為S 將實體類型T的關鍵字屬性做為外鍵加到S所變換的關係模型中 將RT的所有簡單屬性加到S所變換的關係模型中二度M:N聯繫生成一個關係R,吧RT中的所有簡單屬性作為R的屬性加到R中,吧參與RT的兩個實體類型的關鍵字屬性一起作為R的主鍵。多值屬性生成一個關係R,把屬於多值屬性的所有簡單屬性作為R的屬性,把E的關鍵字屬性和該多值屬性的所有簡單屬性一起作為R的主鍵N-度聯繫類型生成一個關係R,把RT中的所有簡單屬性作為R的屬性加到R中,把參與RT的所有實體類型的關鍵字屬性一起作為R的主鍵如果參與N-度聯繫的某個實體類型E其參與約束(min,max)有max=1,則E的關鍵字屬性僅做為N-度聯繫變換后所得到的關係R的外鍵存在, 而不做為主鍵的一部分ER的表示幾種類型的約束可以在ER圖中表示出來,如鍵約束,參與約束 一些外鍵約束也可以隱含在聯繫定義中 一些約束如函數依賴不能再ER模型中表示出來 一些另外的結構沒有討論:如ISA層和聚合函數依賴與形式化非形式化設計指南屬性的含義要明確,構成關係的屬性包含著實際的含義 減少元組中冗餘的值 減少元組中的空值 不允許有虛假的元組異常 插入異常————插入新的元組將出現問題 刪除異常————刪除元組將可能導致信息丟失的問題 修改異常————修改屬性值將可能導致數據不一致問題函數依賴一個函數依賴是關係模式R上兩個屬性集之間的一個約束,記為X←Y函數依賴規定了作為R中所有可能元組的限制X←Y成立當且僅當無論何時,兩個元組只要X值想用,必有Y值相同函數依賴的主要功能就是進一步規定關係中的各屬性組之間所訊在的約束推導公式為了從已有的函數依賴集推導新的函數依賴集,我們需要一個推導規則體系IR1:自反規則。屬性集總是決定自身和其子集 IR2:增元規則,增加同樣的屬性集到函數依賴的左邊和右邊將得到新的FD IR3:傳遞規則。 IR4:分解規則。我們可以除去函數依賴的右手邊的屬性,以分解函數依賴 IR5:並規則。我們可以合併同一屬性集所決定的函數依賴關係的右手邊,形成單個函數依賴 IR6:偽傳遞規則。X←Y,WY←Z|=WX←Z形式化形式化是利用已知的語義信息獲得好的關係形式化過程就是讓關係模式經過一系列測試區確定其是否滿足一定條件滿足一定條件的我們稱之屬於或符合範式 不滿足條件的就通過分解的方法得到新的滿足條件的關係超鍵:一個可以區分關係中任何元組的屬性集鍵:最小的超鍵,如果關係中有多於一個鍵,則稱之為候選鍵主屬性:屬於任何候選鍵的屬性非主屬性:不屬於任何候選鍵的屬性第一範式 1NF一個關係模式是屬於1NF當且僅當該關係屬性的域是原子且屬性的值是單值一般化定義:一個關係模式屬於 2NF,如果它屬於 1NF, 並且每個非主屬性都完全依賴於R中的每一個鍵第二範式 2NF一個關係模式屬於2NF,如果它屬於1NF,並且每個非主屬性都完全依賴於主鍵2NF 關係可以通過分解而產生, 而非主屬性完全依賴於分解后它所在的那個關係的主鍵第三範式 3NF關係模式是在3NF必須滿足它是在2NF,且沒有非主屬性傳遞依賴主鍵(一個 FD X←Y 被稱做 「傳遞的」 ,如果存在非任何關鍵字子集的屬性組Z 使得 X←Z 和 X←Y 成立)一般化定義:一個關係模式R屬於3NF,如果對R中成立每一個函數依賴X←A,有』X是R的超鍵『或者』A是R的主屬性『(這個定義可以直接用以測試 3NF而不必先測試其是否為2NF)BCNF一個關係模式R屬於BCNF,如果對R中成立的每一個函數依賴:X←A,X是R的超鍵形式化的限制孤立 執行分解特性形式化還必須一起考慮關係模式擁有的其他特性:依賴保留特性非形式地, F中的每個FD 要麼直接出現在分解后的某個關係中,要麼可以從這些關係的函數依賴中推導出不丟失信息的連接特性,意思是不增加虛假元組一個分解如果是丟失信息的話,在對分解關係進行連接之後,就可能產生虛假元組關係代數關係查詢:插入 刪除 修改 檢索關係查詢語言中的關係查詢被列式化:關係代數(RA) SQL 表格化查詢(QBE)關係代數操作SELECTPROJECT關係賦值與命名UNION並的可兼容性INTERSECTION操作特點DIFFERENCER1-R2:生成一個關係,該關係包含在R1出現但不在R2中出現的所有元組(R1與R2必須是並可兼容) CARTESIAN PRODUCTJOIN:Θ連接、相等連接、自然連接Θ連接:筆記相等連接:連接條件只有相等比較符自然連接:類似於相等連接,但用於連接的相等連接條件的兩端的屬性名相同,相等連接不將重複屬性去掉,而自然連接去掉重複屬性DIVISIONR1/R2的結果所得關係包含R1的列,且排除在R2出現的列,(必須滿足除法可兼容性)SQL數據定義語言(DDL) 數據操縱語言(DML) 數據控制語言DDL語句表定義CREATE TABLEDROP TABLE ALTER TABLEDML語句SELECT INSERTDELETE UPDATE結構化查詢語言(SQL)選取(WHERE子句)投影(SELECT子句)排序(ORDER子句)聚集函數SUMDISTINCT AVGDISTINCT COUNTDISTINCT COUNT(*) MAX MIN成組連接操作SQL的嵌入式查詢嵌套查詢的概念:一個查詢語句嵌有另一個查詢語句的情形 關聯的和非關聯的類型非關聯的嵌套式查詢:從內查詢中返回給外查詢一個結果,外查詢將根據內查詢的結果而動作關聯的嵌套式查詢:關聯的子查詢在其WHERE子句的條件中引用了外查詢所陳述的關係的一些屬性,子查詢對每一個外部關係元組之被引用的屬性進行一次比較和判斷。連接與子查詢使用子查詢,只能顯示外查詢關係中的數據,能夠計算出聚合函數的值返回給外層去比較連接可以顯示EROM子句中列出的、所有的表中數據(當你需要列出多表的屬性列時,用連接) 使用IN查詢使用EXISTS函數子查詢的構造規則緊隨比較操作符(和 ANY/ALL) 或 IN之後的子查詢的選取屬性序列 只能包含一個表達式或一個列名. 外層語句的WHERE子句中的表達式或屬性要與子查詢所選取的屬性序列可比較 緊隨EXISTS的子查詢的選取序列幾乎總是星號(*) 子查詢, 其結果不用 ANY/ALL來比較, 通常不包含 GROUP BY(和HAVING)子句除非你能預先確定成組操作將返回一個單值 子查詢不能包含ORDER BY 子句. 選項 DISTINCT 關鍵字可以有效地排序子查詢的結果, 而大多數的系統 通過首先排序查詢結果刪除了重複的值DBMS結構數據模型種類低層/物理,描述數據是都怎樣在存儲設備上表示和組織的 邏輯/實現,提供用戶既能理解,又能反映數據結構和特徵的概念 高層/概念,提供的概念更接近農戶對數據的理解資料庫方法的特點:隔離程序與數據 支持數據的多種視圖 使用目錄去存儲關係模式邏輯數據獨立不需要用物理指針去存取數據,列由列名所確定而性由主鍵所確定行或列的次序可能改變,而一個查詢總是提供一樣的結果許多情況下,列可以被增加和刪除而不影響已存在的表邏輯數據獨立性導致視圖的使用 一個視圖是從別的表中導出的虛表 視圖被定義為查詢。視圖定義存儲在數據目錄中,和基表定義在一起一個視圖是從別的表或視圖中導出的單標,視圖可以是虛表————它不需要在磁碟有真正的物理存儲 實表————在物理上創建視圖表。這將要跟隨基表的更新而更新數據的邏輯獨立性是指當資料庫重構造時,如增加新的關係或對原有的關係增加新的欄位,用戶的應用程序不會受影響。物理數據獨立索引索引是一個與表及其結構有關的數據結構的選項,加快檢索記錄的速度,適當使用的話稱為減少磁碟I/O的主要手段索引可以隨時創建和刪除,但不影響基表和其他索引唯一索引就是制定列所做的索引表中沒有兩行值是重複的簇簇是存儲表數據的可選擇的方法,一個簇就是一組表共享磁碟上同樣的數據塊,因為它們有相同的列並且經常連接使用DBMS語言DDL語言事務控制、授權和優先權管理、語義完整性約束如觸發器和斷言斷言觸發器,定義一個陳述性的條件以及過程性的動作,兩者結合去實現觸發器的約束,當觸發器條件為真是,過程性的動作將自動執行DML語言嵌入式SQL是基於游標的概念通常,應用程序使用變數存儲數據都是一個一個地存取,一個游標是一個指向查詢結果的當前記錄的指針,一開始指向查詢結果的第一個記錄,這樣可以逐個得到返回記錄的所有數據DBMS環境DBMS是一個由幾個成員模塊組成的複雜軟體DBMS的分類歷史的角度文件系統 層次資料庫系統 網狀資料庫系統 關係資料庫系統 現代商務資料庫系統數據模型的角度從結構的角度

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦