【数据库】数据模型基础概念(图文版)
0 前言
本文通過一個實例,來講解數據模型的基礎概念。
要求設計一個數據庫的數據模型,統(tǒng)計出你的宿舍每個人(4個人)的信息,要求包括
- 個人信息:學號、姓名、班級、年級、學院
- 選課情況:學號、課程號、課程名稱、學分
- 獲獎情況:學號、獲獎內容、頒發(fā)單位
1 抽象:人類世界與計算機世界之間的“中轉站”
所謂抽象,就是將現實問題,轉換為抽象模型,然后據此,翻譯為計算機語言,抽象模型眾多,抽象方法眾多,不具體展開,只需有一個抽象的概念即可,在不同領域會有不同的抽象方法。
2 眾多抽象模型之一:數據模型
數據模型,是對現實世界的數據,進行抽象,我們舉個例子,就用開篇中的一個問題。
個人信息:學號、姓名、班級、年級、學院
我們把這個問題,進行抽象,得到的結果如下(答案不唯一,這只是其中一種結果,事實上,對于抽象結果,是沒用答案的,只要好用就行)
是的,我們將文字,抽象成了一個二維的表格。
這種模型,就是數據庫最重要的模型:關系模型,這個過程,就是關系模型的構建。
該模型的數據結構,就是關系結構,它包含的操作,有增、刪、改、查等,同時還會有一些約束,這里不展開。
關系模型,只是數據模型的一種,其他的還有
- 網狀模型:本質就是圖
- 層次模型:本質就是樹
- 面向對象數據模型
- 對象關系數據模型
- 半結構化數據模型
有各種各種的數據模型,只需要了解即可,重點關注關系模型。
3 關系模型的細節(jié)
關系模型,可以分成列和行兩個重要的屬性。
列包含了實體的屬性名稱及其數據類型:
行(row)是數據行,包含了各種各樣,符合列(column)要求的數據。
4 將數據模型進一步抽象:概念模型
這里,我們對之前談及的幾種關系模型(網狀、層次、關系模型……),進行進一步的抽象,讓你理解概念模型。
將幾種具體的關系模型,抽離出它們的共性,組合為一個類,這就是抽象過程,得到的結果就是概念模型,它有以下重要的概念。
- 實體:現實世界的東西,客觀存在并且可以相互區(qū)別的事物,比如我們剛才說的,學生個人信息就是一個實體,基本來說,幾乎你能夠知道的現實世界的所有東西,都可以作為實體,甚至看不見的但是客觀存在的,也是實體,比如“我和學校的關系”(我在學校學習)。
- 屬性:實體所具備的特性,比如學生個人信息有學號、姓名、班級……,這些就是實體的屬性
- key:被稱為 “碼”或者“鍵” ,它是能夠唯一標識實體的屬性,比如學號就是key
- 實體型
- 實體集
- 聯系
5 抽象過程
之前是為了講述知識,但這并不是實際的操作過程。
我們將概念模型稱為第一層抽象,將各種數據模型稱為第二層抽象,正確的操作順序應該是這樣的。
6 學習過程
對于初學者來說,學習過程與正常開發(fā)設計過程是不一樣的
學習過程應該是:
總結
以上是生活随笔為你收集整理的【数据库】数据模型基础概念(图文版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react中函数的style如何优雅地写
- 下一篇: 数据库设计的核心原则 外键的设计 提