《資料庫設計入門經典》之第三章筆記

2021-04-15 10:19:43 字數 2113 閱讀 8041

上一次寫了一點第二章的筆記,強調了在做資料庫模型的設計時要注意「人」的作用,這一次,來說點正題。第三章的主題目是:資料庫建模構件塊,看過了以後覺得有些還是在講資料庫的概念性東西,不過,就算是學過了也還是要看一遍,我們總是容易高估自己的記憶,其實很多時候,一些很基礎的東西你不一定隨時都能解釋清楚它們到底是什麼。ready?go!

資料庫建模構件快

資訊、資料和資料完整性

概念:資訊—資訊是知識或知識的交流。在計算機術語中,資訊是儲存在資料庫中的資料,同程式處理,或者通過網路傳送

資料:資料同唯一的、專門格式化的資訊項組成。

電腦程式:程式是精確的指令集,用於操作和處理資料庫的修改

資料型別:資料型別由資料可以採用的形式組成,例如數量、日期、字串和其他形式

資料完整性:資料的完整性是資料的有效性。

表:在資料模型理論中,表是連續存入資料的儲存桶。關聯式資料庫模型和規範化的思想是,特定表中的資料直接與相同表中的所有其他項關聯。表包含欄位和記錄。欄位將結構應用於記錄,而記錄以不確定的次數複製字段結構。

記錄、行和元組:記錄、行和元組都是用於描述表中記錄的術語。

字段、列和屬性:字段、列和屬性都是用於描述欄位的術語

資料型別

簡單資料型別:包括單值上的基本有效性難和格式化的需求。包括:

字串定長字串

變長字串

數值型定長小數

浮點型日期和時間

複雜資料型別:複雜資料型別包括物件資料型別。包括:

二進位制物件

引用指標

集合陣列

使用者定義型別

專門的資料型別:指打算提供內含的複雜資料物件使用的資料型別。這些專門的資料型別允許具有內含的固有結構的型別(如xml文件、空間座標資料和多**物件等)

約束和有效性:關聯式資料庫允許約束,約束限定允許儲存在表字段中的值。下面是一些約束示例:

not null—這是最簡單的字段級約束,它確保在新增或修改時必須總是在字段中輸入值            

有效性檢查—類似於not null約束,當新增或修改表中的記錄時,有效性檢查型別的約束限制欄位中的值。

鍵—鍵約束包括主鍵、外來鍵和唯一鍵。

關於規範化:規範化通常設法將資訊劃分為較小的、更容易管理的部分,但最好不要太小。規範化是自增的過程。每個正規化層新增到已經應用的正規化。

規範化的優點:減少儲存資料的數理需求

資料組織得更好

規範化允許立刻修改表中的少量資料

潛在的規範化危險:涉及的物理空間在不斷增加

過多的最小化冗餘暗示過細的粒度和過多的表

使用過度數量的冗餘最小化輸送好的組織資料實際上可能導致更多的複雜性,特別是如果向終端使用者提供資料庫模型結構。

用erd表示關係

這裡介紹了在erd中實體、一對

一、一對多、多對多、標識和非標識關係在erd圖中的表示,由於涉及到圖的關係,我就不畫了,學過資料庫的人應該都了解這些了吧。呵呵

鍵主鍵:用於唯一標識表中的記錄。每個記錄的唯一標識是必要的,因為如果沒有使用唯一識別符號,則沒有其他方法來查詢唯一的記錄。

唯一鍵:類似於主鍵,在整個表中只包含唯一值的字段上建立唯一鍵。

外來鍵:在子表中建立的主鍵的副本,用於組成表間關係中鏈結的對立面:建立關聯式資料庫關係。外來鍵定義了子表中每個記錄的引用,反向引用父表中的主鍵

參照完整性:參照完整性功能與和的名稱宣告一樣。確保表之間參照關係的完整性,同主鍵和外來鍵定義這種關係。在兩個表之間的關係中,乙個表有主鍵,而另乙個表有外來鍵。大多數關聯式資料庫引擎使用通常所謂的約束。

索引:索引對效能和整體的資料庫可用性非常重要,從而必須引入它們,而不需要深入研究每種不同型別索引的內在功能的事實真相。重點是理解索引的基礎以及它們的不同型別的屬性,獲得關於為什麼索引一般對於關聯式資料庫如此重要的基本理解。

定義—索引通常並且最好是表的非常小部分的副本,例如乙個字段,最好是短長度的字段。

索引時避免的事:

建立過多的索引

索引過多的字段

型別:b樹索引

位圖索引

isam索引

雜湊表索引組織表

構建方法:公升序和降序索引

唯一索引

非唯一索引

復合索引

壓縮索引

反向鍵索引

這一章好像也是在講基本概念,呵呵,誰讓它是入門經典呢。。。       

第三章 資料庫設計

1.資料庫的生命週期可分為兩個階段 1 資料庫分析與設計階段 2 資料庫實現與操作階段 2.資料庫設計的內容 1 資料庫結構設計 2 資料庫行為設計 3.資料庫設計方法 1 直觀設計法 2 規範設計法 規範設計法主要有紐奧良設計法,基於e r圖的設計方法,基於第三正規化的設計方法 3 計算機輔助設計...

《資料庫設計入門經典》之第二章筆記

上一次我摘了些第一章的內容,整理成了筆記,不知道對大家有沒有點幫助啊,呵呵.第一章主要是講了些概念上的東西,讓大家對基本的概念有點理解,沒有摘完全,只是選了我覺得有概括性的語句。現在,來寫寫第二章的筆記吧,ready?go!第二章 工作場所中的資料庫建模 第一章描述了資料庫模型設計的歷史,不同型別的...

演算法競賽入門經典 第三章

最長回文子串 當字串的長度比較小的時候 attention 最好把陣列開在外面,如果開在main外面並且陣列太大,就會異常退出的。最長回文子串 include include include define maxn 5000 10 char buf maxn s maxn int main prin...