0. 關(guān)鍵詞
數(shù)據(jù)佩微,數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng)哺眯,數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫特點
1. What 數(shù)據(jù)庫是什么
數(shù)據(jù)庫指的是以一定方式儲存在一起一疯、能為多個用戶共享夺姑、具有盡可能小的冗余度(不是沒有冗余)、與應(yīng)用程序彼此獨立的數(shù)據(jù)集合盏浙。
1.1 概念
1.1.1 與數(shù)據(jù)庫相關(guān)的四個概念
1) 數(shù)據(jù)
數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象,是描述事物的符號記錄竹海。
2) 數(shù)據(jù)庫
數(shù)據(jù)庫(DataBase, DB)是存儲數(shù)據(jù)的倉庫,是長期存放在計算機(jī)內(nèi)(永久存儲)坊萝、有組織的许起、可共享的大量數(shù)據(jù)的集合。
3) 數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System, DBMS)是大型復(fù)雜的系統(tǒng)軟件惦积,它位于用戶和操作系統(tǒng)之間猛频。可提供但不限于提供以下功能:
- 數(shù)據(jù)定義功能
- 數(shù)據(jù)操縱功能
- 數(shù)據(jù)控制功能
- 數(shù)據(jù)組織鹿寻、存儲和管理功能
- 事務(wù)管理和運行管理功能
- 數(shù)據(jù)庫的建立和維護(hù)功能
4) 數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù)庫系統(tǒng)(DataBase System, DBS)是一個綜合的系統(tǒng),一般有數(shù)據(jù)庫坦敌、數(shù)據(jù)庫管理系統(tǒng)及其開發(fā)工具痢法、應(yīng)用系統(tǒng)、數(shù)據(jù)管理員(DataBase Administrator, DBA)組成蘸炸。
1.2 歷史和發(fā)展
數(shù)據(jù)庫技術(shù)的發(fā)展依賴于現(xiàn)實需求尖奔,同時也離不開計算機(jī)軟件、硬件的發(fā)展的支持提茁。計算機(jī)數(shù)據(jù)的管理先后經(jīng)歷了人工管理階段、文件管理階段稀拐,而后逐漸過渡到數(shù)據(jù)庫管理階段丹弱。
2. Why 為什么需要數(shù)據(jù)庫
與人工管理和文件系統(tǒng)相比較铲咨,數(shù)據(jù)庫提供了許多前兩者不能提供的功能蜓洪,數(shù)據(jù)庫的數(shù)據(jù)面向的是現(xiàn)實世界,共享度高摇天,數(shù)據(jù)冗余小恐仑,具有高度的物理獨立性和一定程度上的邏輯獨立性,數(shù)據(jù)使用數(shù)據(jù)模型來描述裳仆,整體結(jié)構(gòu)化。提供了數(shù)據(jù)安全性纯丸、完整性静袖、并發(fā)控制、恢復(fù)等高級功能坠陈。而這些功能都是用戶迫切需要的喘帚。
2.1 數(shù)據(jù)結(jié)構(gòu)化
數(shù)據(jù)內(nèi)部的結(jié)構(gòu)化咒钟,文件系統(tǒng)也可以做到,而數(shù)據(jù)庫做到了數(shù)據(jù)整體的結(jié)構(gòu)化倾鲫。這就意味著數(shù)據(jù)之間是有聯(lián)系的萍嬉,就像現(xiàn)實世界的人脈關(guān)系。例如學(xué)校的信息系統(tǒng)壤追,學(xué)校的信息系統(tǒng)要管理學(xué)生的學(xué)籍、選課溺蕉、成績的等,教職工的人事管理疯特、工作量漓雅、科研等,校園內(nèi)的一卡通系統(tǒng)的維護(hù)等等邻吞。而這一切又有著各種聯(lián)系,因此這里面的學(xué)生和教職工數(shù)據(jù)不應(yīng)面向某一具體應(yīng)用往踢。數(shù)據(jù)結(jié)構(gòu)化不但要描述數(shù)據(jù)本身徘层,也要描述數(shù)據(jù)之間的聯(lián)系。
2.2 高共享瘦癌,低冗余
數(shù)據(jù)庫中的數(shù)據(jù)面向的是整個系統(tǒng)而不是單一應(yīng)用跷敬,因此可被多個用戶、多個應(yīng)用所共享西傀。數(shù)據(jù)共享可降低數(shù)據(jù)的冗余度,節(jié)省存儲空間娘锁,減少相同數(shù)據(jù)間的不一致的可能性饺鹃。數(shù)據(jù)的不一致性主要是由于相同源數(shù)據(jù)在不同時期的不同拷貝和修改引起的,我想用word寫過論文的同學(xué)深有體會吧镊屎。
2.3 高數(shù)據(jù)獨立性
數(shù)據(jù)獨立性由DBMS的二級映像功能保證茄螃。
數(shù)據(jù)獨立性包括:
- 數(shù)據(jù)的物理獨立性
- 數(shù)據(jù)的邏輯獨立性
數(shù)據(jù)的物理獨立性是指用戶的應(yīng)用程序和存儲在數(shù)據(jù)庫中的數(shù)據(jù)是相互獨立的,數(shù)據(jù)怎么存儲由DBMS管理用狱,用戶的應(yīng)用程序不需要了解,應(yīng)用程序只需要處理數(shù)據(jù)的邏輯結(jié)構(gòu)齿拂。當(dāng)數(shù)據(jù)的物理存儲發(fā)生改變時署海,應(yīng)用程序可以保持不變。
數(shù)據(jù)的邏輯獨立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的砸狞,數(shù)據(jù)的邏輯結(jié)構(gòu)發(fā)生改變,用戶的應(yīng)用程序也可以不變踱启。
使用數(shù)據(jù)庫可使數(shù)據(jù)與程序獨立研底,數(shù)據(jù)的定義和存取有DBMS提供,大大簡化了程序的編碼冠蒋、修改和維護(hù)的復(fù)雜程度乾胶。
2.4 統(tǒng)一管理和控制
為了實現(xiàn)數(shù)據(jù)的并發(fā)共享DBMS提供了一系列的數(shù)據(jù)控制功能:
數(shù)據(jù)安全性保護(hù)
DBA可為數(shù)據(jù)庫的用戶分配不同的權(quán)限,使每個用戶只能按照規(guī)定對數(shù)據(jù)庫的某些數(shù)據(jù)按給定的方式進(jìn)行操作和處理斩郎。而其他數(shù)據(jù)完全不可見喻频。數(shù)據(jù)完整性檢查
數(shù)據(jù)完整性檢查使數(shù)據(jù)之間始終滿足一定的關(guān)系,使數(shù)據(jù)正確半抱、有效和相容膜宋。并發(fā)控制
并發(fā)控制會對多用戶的并發(fā)進(jìn)程同時存取、修改數(shù)據(jù)庫數(shù)據(jù)加以控制和協(xié)調(diào)史简,防止用戶操作相互干擾或者破壞數(shù)據(jù)庫數(shù)據(jù)。數(shù)據(jù)恢復(fù)
軟硬件故障跺讯、操作失誤或者蓄意破壞可影響數(shù)據(jù)庫數(shù)據(jù)的正確性殉农,或者使數(shù)據(jù)丟失。數(shù)據(jù)恢復(fù)可使數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)愈污。
3. How 怎么設(shè)計數(shù)據(jù)庫
數(shù)據(jù)庫設(shè)計一般需要經(jīng)過以下幾個階段:
- 需求分析
- 概念結(jié)構(gòu)設(shè)計
- 邏輯結(jié)構(gòu)設(shè)計
- 物理結(jié)構(gòu)設(shè)計
- 數(shù)據(jù)庫實施和維護(hù)
http://gurglessh.github.io/2016/04/10/數(shù)據(jù)庫設(shè)計(一)數(shù)據(jù)庫概述/