日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

DBMS-基本概念

發(fā)布時(shí)間:2023/11/27 生活经验 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DBMS-基本概念 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文件處理系統(tǒng)(file-processing system)的主要弊端:

數(shù)據(jù)冗余和不一致(data redundancy and inconsistency)、數(shù)據(jù)訪問困難(difficulty in accessing data)、數(shù)據(jù)孤立(data isolation)、完整性問題(integrity problem)、原子性問題(atomicity problem)、并發(fā)訪問異常(concurrent-access anomaly)、安全性問題(security problem)。

?

?

數(shù)據(jù)抽象的三個(gè)層次

?

1)物理層(physical level):詳細(xì)描述復(fù)雜的底層數(shù)據(jù)結(jié)構(gòu)

2)邏輯層(logical level):描述數(shù)據(jù)庫中存儲(chǔ)什么數(shù)據(jù)及這些數(shù)據(jù)間存在的關(guān)系。

物理數(shù)據(jù)獨(dú)立性(physical data independence):應(yīng)用程序不依賴于物理模式,即使物理模式改變也無須重寫應(yīng)用程序,邏輯層用戶不必知道邏輯層結(jié)構(gòu)實(shí)現(xiàn)可能涉及的復(fù)雜物理層結(jié)構(gòu)。

3)視圖層(view level):只描述數(shù)據(jù)庫的某個(gè)部分,系統(tǒng)可以為同一數(shù)據(jù)庫提供多個(gè)視圖,使用戶與系統(tǒng)交互更簡(jiǎn)單。

?

?

數(shù)據(jù)庫模式

實(shí)例(instance):特定時(shí)刻存儲(chǔ)在數(shù)據(jù)庫中的信息的集合稱作數(shù)據(jù)的一個(gè)實(shí)例。

數(shù)據(jù)庫模式(schema):數(shù)據(jù)庫的總體設(shè)計(jì),即使發(fā)生變化,也不頻繁。

數(shù)據(jù)庫系統(tǒng)可分為幾種不同的模式:e.g.物理模式、邏輯模式、子模式(subschema,描述數(shù)據(jù)庫的不同視圖)。

?

?

數(shù)據(jù)模型(data model):描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)語義及一致性約束的概念工具的集合,提供一種描述物理層、邏輯層及視圖層數(shù)據(jù)庫設(shè)計(jì)的方式。

數(shù)據(jù)模型可被劃分為四類:

關(guān)系模型(relational model):一種基于記錄的模型,用表的集合來表示數(shù)據(jù)和數(shù)據(jù)間的聯(lián)系,每個(gè)表有多個(gè)列,每列有唯一的列名。

實(shí)體-聯(lián)系模型(entity-relationship model,a.k.a. E-R):基于對(duì)現(xiàn)實(shí)世界的一種認(rèn)識(shí)——現(xiàn)實(shí)世界由一組基本對(duì)象(實(shí)體)及這些對(duì)象間的聯(lián)系構(gòu)成。實(shí)體是現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的一件事情或一個(gè)物體。

E-R提供一種方便的圖形化方式來觀察數(shù)據(jù)、聯(lián)系和約束。

數(shù)據(jù)庫中實(shí)體通過屬性(attribute)集合來描述;

聯(lián)系(relationship)是幾個(gè)實(shí)體之間的關(guān)聯(lián);

同一類型的所有實(shí)體的集合稱為實(shí)體集(entity set),同一類型的所有聯(lián)系的集合稱作聯(lián)系集(relationship set);

基于對(duì)象的數(shù)據(jù)模型(object-based data model):可看作E-R模型增加了封裝、方法和對(duì)象標(biāo)志等概念后的擴(kuò)展。對(duì)象-關(guān)系數(shù)據(jù)模型結(jié)合了面向?qū)ο蟮臄?shù)據(jù)模型和關(guān)系數(shù)據(jù)模型的特征。

半結(jié)構(gòu)化數(shù)據(jù)模型(semistructured data model):允許相同類型的數(shù)據(jù)項(xiàng)含有不同的屬性集的數(shù)據(jù)定義。

網(wǎng)狀數(shù)據(jù)模型(network data model)、層次數(shù)據(jù)模型(hierarchical data model)如今已經(jīng)很少使用。

?

?

數(shù)據(jù)庫語言

數(shù)據(jù)庫系統(tǒng)提供數(shù)據(jù)定義語言(data-definition language)和數(shù)據(jù)操縱語言(data-manipulation language),構(gòu)成了單一數(shù)據(jù)庫語言的不同部分。

1. 數(shù)據(jù)操縱語言(DML):使用戶可以訪問或操縱那些按某種適當(dāng)?shù)臄?shù)據(jù)模型組織起來的數(shù)據(jù)。

DML的訪問類型包括:增、刪、查、改。

查詢(query):要求對(duì)信息進(jìn)行檢索的語句,DML中涉及信息檢索的部分稱作查詢語言(query language)。

通常有兩類基本的DML:

1)過程化DML(procedural DML):要求用戶指定需要什么數(shù)據(jù)以及如何獲得這些數(shù)據(jù)。

2)聲明式DML(declarative DML):也稱非過程化DML,還要求用戶指定需要什么數(shù)據(jù),而不指明如何獲得這些數(shù)據(jù)。

2. 數(shù)據(jù)庫定義語言(DDL):用于表達(dá)說明數(shù)據(jù)庫模式的一系列定義(定義數(shù)據(jù)庫模式),也可用于定義數(shù)據(jù)的其他特征。

數(shù)據(jù)存儲(chǔ)和定義(data storage and definition)語言:一系列特殊的DDL語句,用于說明數(shù)據(jù)庫系統(tǒng)所使用的存儲(chǔ)結(jié)構(gòu)和訪問方式,定義了數(shù)據(jù)庫模式的實(shí)現(xiàn)細(xì)節(jié)。

存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)值必須滿足某些一致性約束(consistency constraint),DDL語言提供指定這種約束的工具,每當(dāng)數(shù)據(jù)庫更新時(shí)數(shù)據(jù)庫系統(tǒng)都會(huì)檢查這些約束。

·域約束(domain constraint):每個(gè)屬性都對(duì)應(yīng)于一個(gè)所有可能的取值構(gòu)成的域。

·參照完整性(referential integrity):一個(gè)關(guān)系中給定屬性集上的取值也在另一關(guān)系的某一屬性集的取值中出現(xiàn)。

·斷言(assertion):數(shù)據(jù)庫需要時(shí)刻滿足某一條件。斷言創(chuàng)建后系統(tǒng)會(huì)監(jiān)測(cè)其有效性,如果斷言有效,則以后只有不破壞斷言的數(shù)據(jù)庫更新才被允許。

·授權(quán)(authorization):對(duì)于不同用戶在數(shù)據(jù)庫中的不同數(shù)據(jù)值上允許不同的訪問類型,這些區(qū)別以授權(quán)來表達(dá)。如:a. 讀權(quán)限(read authorization)允許讀取數(shù)據(jù)但不能修改數(shù)據(jù);b. 插入權(quán)限(insert authorization)允許插入新數(shù)據(jù)但不允許修改已有數(shù)據(jù);更新權(quán)限(update authorization)允許修改但不能刪除數(shù)據(jù);刪除權(quán)限(delete authorization)允許刪除數(shù)據(jù)。

數(shù)據(jù)字典:DDL以指令(語句)作為輸入,生成輸出放在數(shù)據(jù)字典(data dictionary)中。數(shù)據(jù)字典包含元數(shù)據(jù)(metadata)。數(shù)據(jù)字典可以看做一種特殊的表,只能由數(shù)據(jù)庫系統(tǒng)本身來訪問和修改,在讀取和修改實(shí)際數(shù)據(jù)前數(shù)據(jù)系統(tǒng)要先參考數(shù)據(jù)字典。

?

?

關(guān)系數(shù)據(jù)庫:基于關(guān)系模型,使用一系列表來表達(dá)數(shù)據(jù)以及這些數(shù)據(jù)之間的關(guān)系。一種基于記錄的模型,數(shù)據(jù)庫的結(jié)構(gòu)時(shí)幾種固定格式的記錄。

表:每個(gè)表包含一種特定類型的記錄,每種記錄類型定義固定數(shù)目的字段或?qū)傩?#xff08;每個(gè)表有多個(gè)列),表的列對(duì)應(yīng)記錄類型的屬性(每個(gè)列有唯一的名字)。

?

來自應(yīng)用程序的數(shù)據(jù)庫訪問

大多數(shù)計(jì)算和動(dòng)作必須用一種宿主語言(如C/C++/Java)來完成,再在其中使用嵌入式的SQL查詢來完成對(duì)數(shù)據(jù)庫的訪問。由宿主語言執(zhí)行DML訪問數(shù)據(jù)庫的兩種途徑包括:

1. 通過提供應(yīng)用程序接口(過程集),將DML和DDL語句發(fā)送給數(shù)據(jù)庫再取回結(jié)果。e.g. C語言+ODBC、Java+JDBC

2. 通過擴(kuò)展宿主語言的語法,在宿主語言的程序中嵌入DML調(diào)用。

?

規(guī)范化

設(shè)計(jì)關(guān)數(shù)據(jù)庫所用到的一種方法,通過設(shè)計(jì)一種符合適當(dāng)范式(normal form)的模式,生成一個(gè)關(guān)系模式集合,使存儲(chǔ)信息時(shí)沒有不必要的冗余,同時(shí)又能輕易檢索數(shù)據(jù)。

?

數(shù)據(jù)存儲(chǔ)和查詢

數(shù)據(jù)庫系統(tǒng)的功能部件大致可分為存儲(chǔ)管理器和查詢處理部件。

1) 存儲(chǔ)管理器: 數(shù)據(jù)庫系統(tǒng)中負(fù)責(zé)在數(shù)據(jù)庫中存儲(chǔ)的低層數(shù)據(jù)與應(yīng)用程序以及向系統(tǒng)提交的查詢之間提供接口的部件,負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的存儲(chǔ)、檢索和更新。

存儲(chǔ)管理部件包括:

·權(quán)限及完整性管理器(authorization and integrity manager):檢測(cè)是否滿足完整性約束,檢查視圖訪問數(shù)據(jù)的用戶的權(quán)限。

·事務(wù)管理器(transaction manager):保證即使發(fā)生故障,數(shù)據(jù)庫也保持在一致(正確)的狀態(tài),并保證并發(fā)事務(wù)的執(zhí)行不發(fā)生沖突。

·文件管理器(file manager):管理磁盤存儲(chǔ)空間的分配,管理用于表示磁盤上所存儲(chǔ)信息的數(shù)據(jù)結(jié)構(gòu)。

·緩沖管理器(buffer manager):負(fù)責(zé)將數(shù)據(jù)從磁盤取到內(nèi)存中來,并決定哪些數(shù)據(jù)應(yīng)被緩沖存儲(chǔ)在內(nèi)存中。

存儲(chǔ)管理器實(shí)現(xiàn)了幾種數(shù)據(jù)結(jié)構(gòu),作為系統(tǒng)物理實(shí)現(xiàn)的一部分:

·數(shù)據(jù)文件(data files):存儲(chǔ)數(shù)據(jù)庫自身。

·數(shù)據(jù)字典(data dictionary):存儲(chǔ)關(guān)于數(shù)據(jù)庫結(jié)構(gòu)的元數(shù)據(jù),尤其是數(shù)據(jù)庫模式。

·索引(index):提供對(duì)數(shù)據(jù)項(xiàng)的快速訪問(e.g. 指針、散列)

2)查詢處理器

查詢處理器負(fù)責(zé)編譯和執(zhí)行DDL和DML語句,組件包括:

·DDL解釋器(DDL interpreter):解釋DDL語句并將這些定義記錄在數(shù)據(jù)字典中。

·DML編譯器(DML compiler):將查詢語言中的DML語句翻譯為執(zhí)行方案,包括一系列查詢執(zhí)行引擎能理解的低級(jí)指令。

DML編譯器還進(jìn)行查詢優(yōu)化(query optimization),從幾種等價(jià)的具有相同結(jié)果的執(zhí)行方案中選出代價(jià)最小的一種。

·查詢執(zhí)行引擎(query evaluation engine):執(zhí)行由DML編譯器產(chǎn)生的低級(jí)指令。

?

事務(wù)管理

事務(wù)(transaction):數(shù)據(jù)庫應(yīng)用中完成單一邏輯功能的操作集合。每一個(gè)事務(wù)是一個(gè)既具有原子性又具有一致性的單元,。

事務(wù)的定義應(yīng)使之不違反數(shù)據(jù)庫的一致性約束。一個(gè)事務(wù)可以被定義為由多個(gè)單獨(dú)程序組成,程序依次執(zhí)行可以保持一致性,但單個(gè)程序自身都不是把數(shù)據(jù)庫從一個(gè)一致狀態(tài)轉(zhuǎn)入一個(gè)新的抑制狀態(tài),因此這些程序不是事務(wù)。

事務(wù)管理器(transaction manager)包括并發(fā)控制管理器(concurrency-control manager,控制并發(fā)事物間的相互影響,保證一致性)和恢復(fù)管理器(recovery manager,事務(wù)失敗時(shí)進(jìn)行故障恢復(fù),保證原子性和持久性)。

?

數(shù)據(jù)庫體系結(jié)構(gòu)

?

1. 兩層體系結(jié)構(gòu)(two-tier architecture):應(yīng)用程序駐留在客戶機(jī)上(前端),通過查詢語言表達(dá)式來調(diào)用服務(wù)器上的數(shù)據(jù)庫系統(tǒng)功能(后端)。(應(yīng)用程序接口標(biāo)準(zhǔn)e.g.ODBC/JDBC用于進(jìn)行客戶端和服務(wù)器的交互)

2. 三層體系結(jié)構(gòu)(three-tier architecture):后端分為應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器;客戶機(jī)只作為前端,不包含任何直接的數(shù)據(jù)庫調(diào)用,通過一個(gè)表單界面與應(yīng)用服務(wù)器(application server)通信;應(yīng)用服務(wù)器與數(shù)據(jù)庫系統(tǒng)通信以訪問數(shù)據(jù),應(yīng)用程序的業(yè)務(wù)邏輯(business logic)被嵌入到應(yīng)用服務(wù)器中而不是分布在多個(gè)客戶機(jī)上。

?

?

數(shù)據(jù)庫用戶和管理員

使用數(shù)據(jù)庫的人員可分為數(shù)據(jù)庫用戶和數(shù)據(jù)庫管理員

1. 數(shù)據(jù)庫用戶

數(shù)據(jù)庫用戶可分為四種類型,系統(tǒng)為不同類型用戶設(shè)計(jì)不同類型的用戶界面

·無經(jīng)驗(yàn)的用戶(na?ve user):通過激活事先寫好的應(yīng)用程序同系統(tǒng)交互,典型用戶界面是表格界面。

·應(yīng)用程序員(application programmer):開發(fā)用戶界面

·老練的用戶(sophisticated user):不通過編寫程序同系統(tǒng)交互,而是用數(shù)據(jù)庫查詢語言或數(shù)據(jù)分析軟件等工具表達(dá)要求。

·專門的用戶(specialized user):編寫專門的、不適合于傳統(tǒng)數(shù)據(jù)處理框架的數(shù)據(jù)庫應(yīng)用的富有經(jīng)驗(yàn)的用戶。

2. 數(shù)據(jù)庫管理員

對(duì)系統(tǒng)進(jìn)行集中控制的人稱作數(shù)據(jù)庫管理員(DataBase Administrator,DBA),DBA的作用包括:

·模式定義(schema definition)。通過用DDL書寫一系列定義來創(chuàng)建最初數(shù)據(jù)庫模式。

·存儲(chǔ)結(jié)構(gòu)及存取方法定義(storage structure and access-method definition)。

·模式及物理組織的修改(schema and physical-organization modification)。由DBA對(duì)模式和物理組織進(jìn)行修改以反映機(jī)構(gòu)的需求變化,或?yàn)樘岣咝阅苓x擇不同的物理組織。

·數(shù)據(jù)訪問授權(quán)(granting of authorization for data access)。DBA通過授予不同類型的權(quán)限來規(guī)定不同的用戶各自可以訪問數(shù)據(jù)庫的部分。

·日常維護(hù)(routine maintenance),包括:

a. 定期備份數(shù)據(jù)

b. 確保正常運(yùn)轉(zhuǎn)所需的空余磁盤空間,并在需要時(shí)升級(jí)磁盤空間

c. 監(jiān)視數(shù)據(jù)庫的運(yùn)行,并確保數(shù)據(jù)庫性能不因一些用戶提交了花費(fèi)時(shí)間較多的任務(wù)就下降很多。

?

轉(zhuǎn)載于:https://www.cnblogs.com/RDaneelOlivaw/p/7803410.html

總結(jié)

以上是生活随笔為你收集整理的DBMS-基本概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。