1. 程式人生 > >資料庫系統概念讀書筆記(1)——引言

資料庫系統概念讀書筆記(1)——引言

資料庫管理系統:有一個互相關聯的資料的集合和一組用以訪問這些資料的程式組成,這個資料集合就叫做資料庫。上來就先寫上一個概念,作為這本書的主線。

1.資料庫的出現的必要性和對資料庫的要求

儘管檔案系統可以解決不少問題,但是下面的問題是檔案系統所無法解決的,如果給檔案系統加上這些特性,那麼檔案系統也就成為了一個數據庫(有點裸裝置的味道)。

  1. 資料的冗餘和不一致:重複資料多,而且對於分散式,有可能出現數據無法同步的問題。
  2. 資料訪問困難。
  3. 資料孤立:說的是因為資料儲存沒有采取同樣的格式,使得使用統一的介面訪問資料變得不可能。
  4. 完整性問題:說的是實現資料約束比較困難,書中給的例子是比如說給某一個賬戶定一個最低存款額度。
  5. 原子性問題:說的就是事務處理了,如何保證一個操作的完整性。例如銀行轉賬。
  6. 併發訪問:這也是事務處理的一部分,資料庫需要應對同時異地對同一個資料操作的可能。
  7. 安全性問題:主要是資料庫訪問許可權問題。

資料庫的概念分層

  1. 物理層:定義資料的儲存格式。能夠涉及者一層的人是資料庫軟體開發者。
  2. 邏輯層:定義資料以及資料之間的關係。能夠涉及這一層的人是資料庫的設計者。
  3. 檢視層:定義最終展現在客戶面前的資料的格式。涉及這一層的是資料庫客戶端的開發者,以及最終的使用者。

這三層從上到下層層透明。使用者不關心資料庫結構,資料庫設計開發者不關心儲存結構。

2.資料模型

  1. 實體————聯絡模型
  2. 關係模型

這兩個模型看起來很像,事實上是,首先用實體--聯絡模型做最初的定義,然後轉化成關係模型。關係模型是目前使用最廣泛的資料庫模型。

3.資料庫語言

資料庫語言通常由兩個部分組成,(1)DDL——資料定義語言。(2)DML——資料操縱語言。最常用的資料庫語言就是SQL。

應用程式體系結構

有了資料庫,如何高效安全的訪問就成了問題,這需要開發人員作出客戶端軟體。而開發這種軟體通常遵循的模式有兩種。

  1. 兩層模式 就是通常的資料庫-客戶端模式。這種模式的優點是高效,缺點是安全性,併發性和可分佈性不好。比較適用於小型的資料庫軟體開發。
  2. 三層模式:就是 資料庫——伺服器——應用程式三層模式。這種模式的一個經典例項就是JSP/Servlet —— EJB —— DataBase 模型。這種模型的好處是,容易移植和維護,客戶端不用關心後臺的資料庫,資料庫不用關心外面的客戶端,一些都由中間的伺服器層來搞定。缺點就是效率不高。無法針對某種應用進行比較有針對性的優化和設計。

相關推薦

資料庫系統概念讀書筆記1——引言

資料庫管理系統:有一個互相關聯的資料的集合和一組用以訪問這些資料的程式組成,這個資料集合就叫做資料庫。上來就先寫上一個概念,作為這本書的主線。 1.資料庫的出現的必要性和對資料庫的要求 儘管檔案系統可以解決不少問題,但是下面的問題是檔案系統所無法解決的,如果給檔案系統加上這些

資料庫系統概念 讀書筆記

SQL 支援資料型別: char(10):如果輸入字串為“Avi”,則該字串後追加七個空格十七達到10個字串的長度。 varchar(10):支援最大字串長度。如果輸入字串為“Avi”,則不會補充空

資料探勘概念與技術——讀書筆記1

原書第三版 Jiawei Han     Micheline Kamber     Jian Pei  著 第一章 引論 為什麼進行資料探勘 解決“資料豐富,但資訊貧乏”的問題。 資料的爆炸式增長,廣泛可用,巨大數量  ——>   資料時代 

數據結構與算法刺猬書讀書筆記1----數組

split() ring 此外 結果 shift 即使 cnblogs 操作符 main 在JavaScript中,數組其實是一種特殊的對象,用來表示偏移量的索引是該對象的屬性,所以JavaScript的數組本質上是對象。同時這些數字索引在內部會被轉換成為字符串類型,因為J

android BSP與硬件相關子系統讀書筆記1android BSP移植綜述

tin 不用 googl csdn splay 編寫 app開發 意圖過濾器 trac 從linux驅動轉行至Android驅動開發大半年了,一開始就產生了一個很糾結目標和問題,就是不停的google如何porting android!這個問題得到的結果對於初出茅廬的我,感

UML精粹讀書筆記1

淘寶 bsp 技能 uml 這也 參考 一個 每次 現在 我決定每次讀一下書,還是來說說一些想法的好。漫畫就先算了吧,等我把火影補完再說吧。 如果什麽時候我的主站建好了的話,我會在我自己的主站上去更新。 今天終於把這本書的簡體中文版搞到手了,有幾個小插曲: 1.這本書是

PCIE協議解析 synopsys IP loopback 讀書筆記1

overview 沒有 發出 調試 期望 pci 附加 error edit 1 Overview Core支持單個Pcie內核的Loopback功能,該功能主要為了做芯片驗證,以及在沒有遠程接收器件的情況下完成自己的回環。同時,Core也支持有遠程接收器件的lo

《深入理解計算機系統》——讀書筆記

img 可執行 即將 簡單的 world std 加載 完整 .exe   這本書從一個簡單的C語言的HelloWorld程序講起...   這是這個小程序的生命周期的一個部分:   HellOWorld程序,從被創建(文本格式),到被執行(在屏幕上打印出來)。   其

線性代數及其應用 讀書筆記1 1.1 線性方程組

-m 線性代數 align tex center 技術 bubuko image bsp 線性代數及其應用 讀書筆記(1) 1.1 線性方程組

《深入理解計算機系統讀書筆記ch2+ C 泛型

tex byte 指向 get 讀書筆記 class its n) 支持 本章主要介紹各類型的機器表示,Stanford的CS107的lec2和lec3有精彩解釋,比看書快(當作書中只是的cache吧)。 lec4中介紹的C裏面如何使用泛型(沒有template, refe

python爬蟲讀書筆記1

1.使用urllib2模組下載URL import urllib2 def download(url): return urllib2.urlopen(url).read() 2.捕獲異常 出現下載錯誤時,該函式能夠捕獲異常,然後返回None。 import urllib2

讀書筆記1

《沉默的藝術:意識科學基礎理論》 前言 建立量子力學的理論基礎,必須先對觀測者進行研究。 觀測者的本質是關於意識如何產生的。 意識科學中存在兩種問題:簡單問題與困難問題。 簡單問題:意識相關問題中可歸結為解釋結構與功能,或可歸結為事物間關係的問題。 困難問題:意識相關

程式碼大全 讀書筆記1

1. 軟體構建活動: 定義問題(problem definition) 需求分析(requirements development) 規劃構建(construction planning) 軟體架構(software architecture),或高層設計(high-level de

javascript高階程式設計讀書筆記11章 JavaScript 簡介

第 1章 JavaScript 簡介 1.1 JavaScript 簡史 1.2 JavaScript 實現 一個完整的 JavaScript 實現應該由下列三 個不同的部分組成(見圖 1-1)。  核心(ECMAScript)  文件物件模型(DOM)

Linux核心0.11完全註釋修正版 --讀書筆記1

RTFSC 閱讀0.11核心版本的原因: 適合作業系統初學者的入門學習起點 閱讀早期核心的好處: 簡化的核心程式碼,避免現有核心的複雜性,能夠透徹的說明問題 -- Leland

C和指標讀書筆記1

第一章程式碼 程式碼 #include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX_COLS 20 /*所能處理的最大列號*/ #define MAX_INPUT 1000

《征服C指標》——讀書筆記1

一、指標的基本知識 示例程式碼: #include <stdio.h> int main(void) { int hoge = 5; int piyo = 10; int *hoge_p; /*輸出每個變數的地址*/

精通flink讀書筆記1

很多人已經用上了spark,所以人們往往有個疑問,問啥還要用flink呢? 首先我們理解flink是基於流處理,是一個真正的流處理引擎,不是一個基於微批處理的引擎。批處理在flink看來反而是一種特殊情況。 下圖是flink的結構 flink是一個分層的體系結構。fli

I.MX51 IPU讀書筆記1

IPU-影象處理單元     IPU是MX51的影象和視訊子模組。他完美的支援從攝像頭和顯示裝置傳過來的視訊資料流。支援的功能如下:     能和攝像頭,顯示器,圖形加速器,TV編碼器/解碼器等進行連線     影象相關的處理和操作有:感測器影象訊號處理,顯示器處

推薦系統實踐讀書筆記:好的推薦系統

設計一個推薦系統之前,一定要了解什麼樣的推薦系統才是好的推薦系統至關重要。那麼一個優秀的推薦系統具有哪些特徵呢?(量化或者概念性的特徵) 通過以下三個步驟回答一個優秀的推薦系統是什麼樣的 1)什麼是推薦系統、推薦系統的主要任務、推薦系統和分類目錄以及搜尋引擎的區別 2)不同領域分門別類的介紹