文科生大學必修資料庫 第一課就蒙了 感覺資料庫和表格長的很像呀 有啥區別 求大神賜教


哈哈,不明白現在為啥文科生必修資料庫啊,不過還是有用的d(`?ω?′)b贊簡單來說,知道excel把,其實excel就是個非常簡易的資料庫,資料庫可以形容為更強大的一種excel,可管理的數據和表更多,提供了更多了可操作數據的工具,還有管理特性,性能增強等等,這麼說可以麼?


作為一個軟體專業的科班生,首先貼答案:這兩者沒有直接的聯繫。

首先資料庫,從軟體角度來看的話,他是用來存儲數據的一種方式,它的出現是相對於傳統存儲方式:文本、二進位方式而來的。傳統方式,數據在計算機或存儲媒介(磁碟、光碟等介質)中存儲,通常表現為兩種形式,一種為字元型(C語言中成為ASCII文件),另一種為二進位。字元型存儲方式,是直接存儲字元的二進位數據(將字元按照編碼,編碼成數字最後以二進位形式存入介質,這裡不討論編碼),如A字元會在文件中以一個位元組的大小以十進位65編碼成二進位存儲。而二進位方式,則是按照位元組存儲,並且通常是成塊成塊地存儲,如整數1,會佔用4位元組(普通整型,32位),也就是說僅存儲1都要佔用4位元組,而在程序或軟體中,數據還有更複雜的,如類實例化的對象、音頻視頻文件。

上述兩種存儲方式,文本方式節約空間,但是讀取更慢(要解碼),二進位相對更快,但佔用空間更大。(這兩個區別是相對的不是絕對的)

基於兩種差別,才應運而生了資料庫,它採用全新的方式來存儲數據。

簡單來看,資料庫也是文件存儲,但是這種文件並不是簡單的採用文本/二進位方式存儲,而是對文件存儲採用了諸多的數據結構和演算法,如分區、索引等等,其目的在於:提高檢索效率,較少存儲成本。

資料庫系統是一個龐大的系統,包括日誌、許可權控制、事務管理、SQL結構化查詢等等高級和複雜功能,其內容很多,題主有興趣可以看看資料庫系統概論。

再來說說資料庫種類,現在來說,資料庫從存儲模型來分類,可分為幾大類:網狀資料庫(Network Database)、關係資料庫(Relational Database)、樹狀資料庫(Hierarchical Database)、面向對象資料庫(Object-oriented Database),其中目前常用的為關係型資料庫。

關係型資料庫,也就是題主所用來對比表格的資料庫,它是諸多種資料庫的其中之一,其理論支撐是關係模型,是通過集合代數來建模的!

在關係模型中,實體與屬性,可以形成關係,而關係進行可視化構建最直觀的方式便是表格的形式(如果有更簡單的方式,也許就不用表格形式了)。

題主可以查看資料庫系統概論,關於實體與屬性的定義,在關係模型中,屬性欄位一定是不可拆分的,是最簡單的,這便是它與表格最大的區別!

區別核心:關係模型中,欄位不可在分,而表格不同,表格可以表中嵌套表格。

因此,在資料庫中,在抽象和設計過程中,我們專業術語不使用表這個字眼,而是使用實體(Entity)與關係(Relationship),因此我們在設計過程中通常需要畫E/R圖。

在有了物理模型後,因為絕大部分資料庫都是採用表格形式進行可視化的表現形式,因此我們在這個階段才會使用「數據表」這個字眼!但它不是表,「數據表」是一個集合,它表示若干實體的集合。

表格是有表頭的,而「數據表「是抽象集合,沒有表頭這個概念,只是關係模型中定義了屬性欄位(存儲規約),關係模型採用了表格這種形式來可視化表現(抽象的東西具體化的一種形式),但是實質上,資料庫與表格沒有直接的關係!

題外話,mongo db資料庫,採用JSON形式進行可視化,它也是有屬性的一種模型,但是它不用表格形式可視化了。HBase分散式資料庫,則是一種更複雜的形式!

手機碼字,有時間再排版!

謝邀,都叫table,如果只談論一張表是一樣的。

先過一遍教材,開篇就簡單講述了為什麼會出現資料庫,後邊將資料庫的各種特性描述清楚了。

資料庫的實現沒有限制,一些資料庫產品(如SQL Server、Access)是資料庫的實現,基於EXCEL、文本文件的資料庫也都是資料庫。


這個有啥不明白的,資料庫就是一個表和其他對象的集合。比如資料庫裡面可能有10個表。庫包含表

現代資料庫的理論基礎是關係模型。所謂關係模型,簡單說來,就是把數據抽象成一個個由行列組成的「表格」(關係)。覺得資料庫和表格長的很像,那是很自然的事啊,因為當初人們就是這麼設計的。


表格,在這裡可以稱之為表,表是資料庫的組成部分,一個資料庫可以有多個表、查詢等組成。


推薦閱讀:
相關文章