- 精通Oracle 12c 數(shù)據(jù)庫(kù)管理
- 王榮鑫
- 838字
- 2019-07-30 18:03:55
2.1 關(guān)于關(guān)系數(shù)據(jù)庫(kù)
每個(gè)組織都有其必須存儲(chǔ)和管理的信息,以滿足其需求。例如,公司必須收集和維護(hù)其雇員的人力資源記錄。此信息對(duì)需要它的人必須是可用的。信息系統(tǒng)是一個(gè)正式的系統(tǒng),用于存儲(chǔ)和處理信息。信息系統(tǒng)可能是一組文件柜,其中包含許多文件夾,以及如何存儲(chǔ)和檢索文件夾的規(guī)則。但是,大多數(shù)公司現(xiàn)在使用數(shù)據(jù)庫(kù)來(lái)自動(dòng)化其信息系統(tǒng)。數(shù)據(jù)庫(kù)是信息的一個(gè)有組織的集合,被作為一個(gè)整體來(lái)看待。數(shù)據(jù)庫(kù)的目的是收集、存儲(chǔ)和檢索相關(guān)的信息,以供數(shù)據(jù)庫(kù)應(yīng)用程序使用。整個(gè)系統(tǒng)一般被稱為Database Management System(DBMS,數(shù)據(jù)庫(kù)管理系統(tǒng))。
通常,一個(gè)DBMS具有以下元素:
? 內(nèi)核代碼,此代碼為DBMS管理內(nèi)存和存儲(chǔ)。
? 元數(shù)據(jù)的存儲(chǔ)庫(kù),此存儲(chǔ)庫(kù)通常稱為數(shù)據(jù)字典。
? 查詢語(yǔ)言,此語(yǔ)言使應(yīng)用程序能夠訪問(wèn)數(shù)據(jù)。
實(shí)際上企業(yè)所使用的數(shù)據(jù)庫(kù)泛指數(shù)據(jù)庫(kù)應(yīng)用程序,是一個(gè)與數(shù)據(jù)庫(kù)進(jìn)行交互,以訪問(wèn)和操作其數(shù)據(jù)的軟件程序。第一代的數(shù)據(jù)庫(kù)管理系統(tǒng)包括以下類型:
? 層次型:層次數(shù)據(jù)庫(kù)把數(shù)據(jù)組織在樹(shù)狀結(jié)構(gòu)中。每個(gè)父記錄都有一個(gè)或多個(gè)子記錄,類似于文件系統(tǒng)的結(jié)構(gòu)。
? 網(wǎng)絡(luò)型:網(wǎng)絡(luò)數(shù)據(jù)庫(kù)類似于層次數(shù)據(jù)庫(kù),但有一個(gè)區(qū)別,即記錄之間是多對(duì)多的關(guān)系,而不是一對(duì)多的關(guān)系。
? 關(guān)系模型:E.F.Codd在他1970年發(fā)表的論文《大型共享數(shù)據(jù)庫(kù)數(shù)據(jù)的關(guān)系模型》中,定義了一個(gè)基于數(shù)學(xué)集合理論的關(guān)系模型。目前,最廣泛接受的數(shù)據(jù)庫(kù)模型就是關(guān)系模型。
關(guān)系數(shù)據(jù)庫(kù)是一個(gè)符合關(guān)系模型的數(shù)據(jù)庫(kù)。關(guān)系模型有以下主要方面:
? 結(jié)構(gòu):定義良好的對(duì)象,用于存儲(chǔ)或訪問(wèn)數(shù)據(jù)庫(kù)的數(shù)據(jù)。
? 操作:清楚定義的操作,使應(yīng)用程序可以處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)和結(jié)構(gòu)。
? 完整性規(guī)則:完整性規(guī)則用于管理在數(shù)據(jù)庫(kù)中的數(shù)據(jù)和結(jié)構(gòu)上的操作。
關(guān)系數(shù)據(jù)庫(kù)實(shí)際上就是將數(shù)據(jù)存儲(chǔ)在一組簡(jiǎn)單的關(guān)系中。關(guān)系是一個(gè)元組的集合,一個(gè)元組是一些屬性值的無(wú)序集合。表是一個(gè)關(guān)系的二維表示,關(guān)系由行(元組)和列(屬性)的形式構(gòu)成。表中的每一行具有相同的列集。關(guān)系數(shù)據(jù)庫(kù)是一個(gè)將數(shù)據(jù)存儲(chǔ)在關(guān)系(表)中的數(shù)據(jù)庫(kù)。例如,關(guān)系數(shù)據(jù)庫(kù)可以在一個(gè)雇員表、部門(mén)表和薪金表中存儲(chǔ)有關(guān)公司雇員的信息。
- 深入核心的敏捷開(kāi)發(fā):ThoughtWorks五大關(guān)鍵實(shí)踐
- INSTANT Mock Testing with PowerMock
- Qt 5 and OpenCV 4 Computer Vision Projects
- C++ Builder 6.0下OpenGL編程技術(shù)
- Mastering SVG
- PHP程序設(shè)計(jì)(慕課版)
- Learning Laravel 4 Application Development
- 秒懂設(shè)計(jì)模式
- C++ 從入門(mén)到項(xiàng)目實(shí)踐(超值版)
- 從Excel到Python:用Python輕松處理Excel數(shù)據(jù)(第2版)
- Java EE 8 Application Development
- Building Android UIs with Custom Views
- C語(yǔ)言程序設(shè)計(jì)
- Node.js:來(lái)一打 C++ 擴(kuò)展
- Processing創(chuàng)意編程指南