資料庫是乙個以某種有組織方式儲存的資料集合。
我們可以把他看成乙個檔案櫃,存放資料的物理位置,不管資料以何種方式組織。
以下面的關係型資料庫為例子
資料庫:相互有關聯關係的資料(若干表)的集合
用途
用於結構化儲存資料!
對資料操作(增刪改查)進行管理和操作,維護資料一致性
提供使用者共享訪問介面
什麼是資料庫系統?
mysql 就是一種 資料庫管理系統dbms
資料模型model vs 模式
資料模型是模式的結構~
data model
- 規定模式統一描述方式的模型。 包括:資料結構,操作和約束
- 資料模型是 對模式本身結構的抽象~
比如:
關係模型: 所有模式都可以抽象為表的形式[資料結構],而每乙個具體模式都是擁有不同列名的具體的表。
也就是說模式就是對應一種具體的表,因為乙個資料庫可能有多張表,但是這些表都是屬於關係模型這種資料模型!
關係模型:表的 形式
層次模型:樹的形式
網狀模型:圖的形式
再舉個例子:
理清資料 模式 模型的關係
例項和模式
模式:資料庫的總體設計稱為資料庫模式(資料的結構,對資料庫中資料進行的一種結構性描述。) 資料的schema
例項:特定時刻儲存在資料庫中的資訊的集合稱為資料庫的乙個例項
就是使用了關係模型來組織資料的資料庫
關係模型
指的是二維**模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個資料組織。
note:
元組tuple/行/記錄record
欄位field/列/屬性attribute
優點 容易理解:二維表結構是非常貼近邏輯世界的乙個概念,關係模型相對網狀、層次等其他模型來說更容易理解
使用方便:通用的sql語言使得操作關係型資料庫非常方便
易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大減低了資料冗餘和資料不一致的概率
域: 一組值的集合,如整數的集合,字串的集合等
集合中的元素的個數是基數 cardinality
笛卡爾積
一組域,所有可能的n-元組的集合
元組的每乙個值叫做乙個分量
元組是從每乙個域任取乙個值所形成的一種組合:
(d1,d2,d3,….) 這樣的組合
笛卡爾積是所有這樣可能組合的集合。
舉例:乙個表的每乙個域記為i,對應的基數是mi
所以元組個數為:m1xm2xm3…..
由於笛卡爾積中的所有的元組並不都有意義。
關係就是 一組域(d1,d2,…,dn)的笛卡爾積的子集。
笛卡爾積中具有某一方面以的那些元組被稱為乙個關係relation
由於關係的不同列可能來自同乙個域,為了區分所以需要為每個列起個名字,屬性名。
關係模式(schema)
關係可以用r(a1:d1,a2:d2,…an:dn) 表示,這種描述就是關係模式schema 或表標題
r是關係的名字,ai是屬性,di是屬性對應的域,n是關係的度或degree, 關係中元組的數目稱為 關係的基數
例如:
student(s# char(8),sname char(10),s*** char(2),sage integer,d#char(2))
關係與關係模式
student(s# char(8),sname char(10),s*** char(2),sage integer,d#char(2))
這樣的是乙個關係模式
列是同質: 每一列中的分量來自同乙個域,同乙個型別資料
但是不同列可以來自同乙個域,(域是同一種資料的集合,跟表沒什麼關係),每乙個列是乙個屬性,不同屬性給予不同屬性名
區分 域和屬性
關係模式中的屬性必須是不同的,a1,a2,…an必須是不同的,而di可以相同,因為是屬性下面的值,這些值可能是來自同乙個域。
例如我們可以定義乙個域為person=所有男人、女人和兒童的集合= 則下述關係:
三個列都是來自同乙個域person
列位置互換性
區分哪一列是 靠列名。
行位置互換性
區分哪一行是靠某一或某幾列的值(關鍵字/鍵/碼)
怎麼區分關係
關係是以內容(名字或值)區分的,而不是屬性在關係的位置區分。
還是剛才的例子,乙個家庭的夫妻 ,子女之間的關係是確定好的了,也就是說特定的列上的鍵對應的其他列的鍵(值)是確定的!
元組的不重複性
要求乙個表中的任意元組不同完全相同,但是實際中的表可能不完全遵守這個特性
關係型資料庫 非關係型資料庫
關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...
關係型資料庫 非關係型資料庫
2019 02 25 20 38 36 關係型資料庫和非關係型資料的比較 一 關係型資料庫 關係型資料庫最典型的資料結構是表,由二維表及其之間的聯絡所組成的乙個資料組織 優點 1 易於維護 都是使用表結構,格式一致 2 使用方便 sql語言通用,可用於複雜查詢 3 複雜操作 支援sql,可用於乙個表...
關係型資料庫與非關係型資料庫
關係型資料庫與非關係型資料庫的區別 非關係型資料庫的優勢 1.效能 nosql是基於鍵值對的,可以想象成表中的主鍵和值的對應關係,而且不需要經過sql層的解析,所以效能非常高。2.可擴充套件性 同樣也是因為基於鍵值對,資料之間沒有耦合性,所以非常容易水平擴充套件。關係型資料庫的優勢 1.複雜查詢 可...