主頁 > 資料庫 > 資料庫原理分析(第四版)

資料庫原理分析(第四版)

2020-09-23 20:04:48 資料庫

計算機科學之資料庫原理及應用教程之我見(第四版)

    1. 資訊、資料、資料處理與資料管理

資訊的定義:資訊是人腦對現實世界事物的存在方式、運動狀態以及事物之間聯系的抽象反應,資訊是客觀存在的,人類有意識對資訊進行采集和加工

資訊的特征:

  1. 源于物質和能量
  2. 可以感知
  3. 可以存盤、傳遞、再生和加工

資料的定義

資料是用來記錄資訊的可識別的符號組合,是資訊的具體表現形式,例某個同學的資訊就可以用一組資料來表示:S1、趙毅、女、計算機來表示,

(在這里我認為的是資料和它的語意是無法分割的,同樣的數字在不同的場景下則代表不同的含義,單純地拿出一組資料則沒有任何意義,資訊則是對資料的語意解釋,即上面的資料在不形容人之前是沒有任何意義的,只有在形容人才被賦予了本來的意義,即解釋這些資料在不同場景下代表的含義,)

資料的表現形式:

可以用多種不同的資料形式來表示同一資訊,而資訊則不隨資料形式的不同而改變,

例 我今天買了10本書,在這里的10可以改成十或ten都可以,不改變資訊,

資料的表現形式有數字、文字、圖形、影像、聲音等

資料與資訊的關系可以簡單地用一個公式來表達:

資訊=資料+語意

(語意在這里我簡單的理解為資料用來描述現實世界的事物并讓他有存在價值,即描述一個人高矮胖瘦和他的基本近況,這時資料就有語意了變成了資訊)

1.2資料庫技術的產生、發展

資料庫的發展經歷了三個階段,分別是人工管理、檔案系統和資料庫系統,

人工管理階段特點:資料沒有專門的存取設備,也沒有專門的管理軟體,資料不共享也沒有獨立性

檔案系統階段特點:資料以檔案形式長期保存,由檔案系統管理資料,程式與資料間有一定的獨立性,檔案的形式多樣化,資料具有一定的共享性

資料庫系統階段特點:

資料結構化、共享度高,冗余低、獨立性高有統一的資料管理和控制功能

在這里資料獨立性高即二級映像的兩個獨立加以理解

三個階段的管理主體:

人工管理階段:由人管理

檔案系統階段:由檔案系統管理

資料庫系統階段:由DBMS管理

重點!!!!!!!資料獨立性

資料獨立性高:即資料庫中的資料和應用程式之間相互獨立,即資料的邏輯結構、存盤結構以及存取方式的改變不影回應用程式

(在資料庫系統中,整個資料庫的結構可分為三級:用戶邏輯結構、資料庫邏輯結構、和物理結構,資料的獨立性分為兩級:物理獨立性和邏輯獨立性)

資料的物理獨立性:

當資料庫的物理結構(如存盤結構、存取方式、外部存盤設備)發生改變時通過修改映射,使資料庫邏輯結構不受影響,進而用戶邏輯結構及應用程式不用改變

(資料庫管理系統來管理資料)

資料的邏輯獨立性:

當資料庫的邏輯結構發生改變時,通過修改映射用戶邏輯結構以及應用程式不用改變

資料庫管理系統提供下述四個方面的資料控制功能:

資料的安全性控制:防止不合法使用資料庫造成資料的泄露和破壞

資料的完整性控制:系統通過設定一些完整性規則等約束條件,確保資料的正確性、有效性和相容性

并發控制:

多個用戶同時存取或修改資料時系統可防止由于相互干擾而提供給用戶不正確的資料,并防止資料庫遭到破壞

資料恢復:

由于計算機系統的硬體故障和其他故意的破壞原因,造成資料庫中的資料不正確或資料丟失時,系統有能力將資料庫從錯誤狀態恢復至最近某一時刻的正確狀態

1.3資料庫系統的組成

資料庫系統(DBS)是指在計算機系統中引入資料庫后的系統

它主要由資料庫、資料庫用戶、計算機硬體系統和計算機軟體系統組成有時人們將資料庫系統簡稱為資料庫

資料庫(DB):是指存盤在計算機內的、有組織的,可共享的資料和資料物件的集合(這種集合按一定的資料模型組織,描述并長期存盤,同時能以安全和可靠地方法進行資料的檢索和存盤)

資料庫的特點

  1. 有組織
  2. 集成性
  3. 共享性

用戶:

資料庫用戶分為三類,分別是第一類用戶、第二類用戶、第三類用戶

第一類用戶:

即最終用戶,主要是使用資料庫的各級管理人員,工程技術人員和科研人員,一般為非計算機專業人員

第二類用戶:

即應用程式員,應用程式員負責為最終用戶設計和撰寫應用程式,并進行除錯和安裝.

第三類用戶:

即資料庫管理員,資料庫管理員是負責設計建立管理和維護資料庫以及協呼叫戶對資料庫要求的個人或作業團隊

計算機軟體系統

計算機軟體系統主要包括作業系統、資料庫管理系統及應用開發工具和應用系統

  1. 作業系統OS
  2. 資料庫管理系統DBMS:

是對資料進行管理的大型系統軟體,它是資料庫系統的核心組成部分,把抽象邏輯資料處理換成計算機中的具體物理資料的處理軟體

主要功能則是:

  1. 資料定義功能
  2. 資料操縱功能
  3. 資料庫運行管理功能
  4. 資料庫的建立和維護功能
  5. 資料通信介面
  6. 資料組織存盤管理功能

DBMS的組成

  1. 語言編譯處理程式

1又細分為資料定義語言DDL編譯程式,資料操縱語言DML編譯程式實作對資料庫的基本操作,

它的型別細分為兩類,分別是自主型或自含型和宿主型,

  1. 系統運行控制程式
  2. 系統建立維護程式
  3. 資料字典:

描述資料庫中有關資訊的資料目錄,

  1. 應用開發工具
  2. 應用系統

1.4資料庫系統的內部體系結構

資料庫系統的三級模式結構:

概念;模式是資料庫中全體資料的邏輯結構和特征的描述

內部體系結構則分為三級模式結構和二級映像(從邏輯上分,對用戶而言,外模式、模式和內模式分別對應一般用戶模式、概念模式、物理模式)

三級模式結構又再分為:

  • 外模式

一個資料庫中可以含有多個外模式,是資料庫用戶能看到并允許使用的那部分資料的邏輯結構和特征的描述(它又被稱為子模式或用戶模式,并且它是三級結構的最外層,外模式一般是模式的子集,外模式也是保證資料庫安全性的一個有力措施)

  • 模式

一個資料庫只有一個模式,是資料庫中全體資料的邏輯結構和特征的描述(是三級模式結構的中間層,不涉及資料的物理存盤細節和硬體環境,與具體的應用程式、所使用的應用開發工具及高級程式設計語言無關,僅涉及型的描述即(學號、姓名、年齡、系別))

  • 內模式

一個資料庫中只能含有一個,是對資料庫存盤結構的描述(它是三級結構的最內層,也是靠近物理存盤的一層,即與實際存盤資料方式有關的一層,例記錄以什么存盤方式存盤的(順序存盤、b+樹存盤)、索引按照什么方式組織、資料是否壓縮、是否加密,它不涉及任何存盤設備的特定約束,如磁盤磁道容量和物理塊大小)

我見:通過對資料庫三級模式結構的分析可以看出,一個資料庫系統,實際存在的只是物理級資料庫即內模式,事實上,DBMS的中心作業之一就是完成三級資料庫模式之間的轉換,

在資料庫系統中,外模式可以有多個,而模式和內模式只能各有一個,內模式是整個資料庫實際存盤的表示,而模式是整個資料庫實際存盤的抽象表示,外模式是邏輯模式的某一部分的抽象表示

二級映像:

二級映像是由DBMS在三級結構之間提供,正是二級映像保證了資料庫系統中的較高的資料獨立性,即邏輯獨立性和物理獨立性

  • 外模式/模式映像

外模式/模式映像保證了資料與程式之間的邏輯獨立性(模式描述的是資料的全域邏輯結構,而外模式描述的則是資料的區域邏輯結構,資料庫中的統一模式可以有任意多個外模式,對于每一個外模式,都存在一個外模式/模式映像,它確定了資料的區域邏輯結構與全域邏輯結構之間的對應關系,例 在學生的邏輯結構(學號、姓名、性別)中添加新的屬性 出生日期時,學生的邏輯結構變為(學號、姓名、性別、出生日期)

有資料庫管理員對各個外模式/模式映像作相應改變,這一映像功能保證了資料的區域邏輯結構不變(外模式不變)即加上出生日期但如果沒有添加資料,出來的還是之前添加資料的原邏輯結構,并且實作資料與應用程式之間的獨立性)

(二)模式/內模式映像

模式/內模式映像確保了資料的物理獨立性(模式/內模式映像是唯一的,它確定了資料的全域邏輯結構與存盤結構之間的對應關系,并且保證了資料存盤結構的變化不影響資料的全域邏輯結構的改變,從而不必修改應用程式)

資料庫系統的三級模式和兩級映像的優點

  1. 保證資料的獨立性
  2. 簡化了用戶介面
  3. 有利于資料共享
  4. 有利于資料的安全保密

1.5資料庫系統的外部體系結構

  1. 單用戶結構的資料庫系統
  2. 主從式結構的資料庫系統
  3. 分布式結構的資料庫系統
  4. 客戶機/服務器結構的資料庫系統
  5. 瀏覽器/服務器結構的資料庫系統

1.6資料庫管理系統

1.6.1 DBMS的主要功能

  1. 資料定義功能
  2. 資料操縱功能
  3. 資料庫的運行管理

DBMS對資料庫的控制主要通過四個方面實作:資料的安全性控制、資料的完整性控制、多用戶環境下的資料并發性控制和資料庫的恢復

  1. 資料庫的建立和維護功能
  2. 資料通信介面
  3. 資料的組織存盤和管理

1.6.2DBMS的組成(了解)

1.6.3DBMS的資料存取的程序(重點)

DBMS對資料的存取通常需要以下幾個步驟

  1. 用戶使用某種特定的資料操作語言向DBMS發出存取請求
  2. DBMS接收請求并將該請求解釋轉換成機器代碼指令
  3. DBMS依次檢查外模式、外模式/模式映像、模式、模式/內模式映像及存盤結構定義
  4. DBMS對存盤資料庫執行必要的存取操作
  5. 從對資料庫的存取操作中接收結果
  6. 對得到的結果進行必要的處理,如格式轉換
  7. 將處理的結果回傳給用戶

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/114138.html

標籤:其他

上一篇:我的一點思考-關于計算機專業-關于計算機語言

下一篇:成為一名機器人工程師 打怪升級書單 持續更新中

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more