數(shù)據(jù)庫復(fù)習(xí)(一)

工作兩年了,一直做著各種業(yè)務(wù),是時候靜下心來總結(jié)回顧以及復(fù)習(xí)一些知識了,先從第一個專題數(shù)據(jù)庫開始吧。

什么是數(shù)據(jù)庫呢?

數(shù)據(jù)庫(database),顧名思義,就是存儲和管理數(shù)據(jù)的一個程序倉庫,存儲什么數(shù)據(jù)呢,內(nèi)存數(shù)據(jù)么?當(dāng)然不是,存儲的是駐留在內(nèi)存之外的數(shù)據(jù),所以它存儲的肯定是持久型的數(shù)據(jù),不會因為程序結(jié)束了數(shù)據(jù)沒有了,要不然要它也沒用了,數(shù)據(jù)庫必須要具有高的可靠性,因為一般我們存儲的數(shù)據(jù)都是比較重要的,所以數(shù)據(jù)庫必須要考慮硬件故障,軟件故障,斷電,人為攻擊等等方面的因素。數(shù)據(jù)庫數(shù)據(jù)一般會由多個用戶操作的,所以還需要保證數(shù)據(jù)的一致性,支持并發(fā)操作。
總結(jié)如下,數(shù)據(jù)庫具有這些特點:

  • 處理大規(guī)模數(shù)據(jù)
  • 持久性
  • 安全性
  • 多用戶操作,并發(fā)操作
  • 方便操作
  • 高效和高可靠性

數(shù)據(jù)庫管理系統(tǒng)(DBMS)

數(shù)據(jù)庫管理系統(tǒng)(Database Management System 簡稱DBMS)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于創(chuàng)建、使用和維護數(shù)據(jù)庫的程序軟件。
1.DBMS的主要功能

  • 數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL)【drop create alter】
  • 數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML)【select insert delete update】
  • 數(shù)據(jù)庫運行管理
 a.保證數(shù)據(jù)的安全性
 b.多用戶對數(shù)據(jù)的并發(fā)使用
 c.發(fā)生故障后的系統(tǒng)恢復(fù)
  • 數(shù)據(jù)庫的建立和維護功能
  1. DBMS分類
  • 小型數(shù)據(jù)庫: Access foxbase sqlite
  • 中型數(shù)據(jù)庫: mysql, sql server infomix posgreSql(開源) MongoDB(開源)
  • 大型數(shù)據(jù)庫: Sysbase oracle db2

數(shù)據(jù)庫分類

數(shù)據(jù)庫基于存儲介質(zhì)的不同:進行了分類,分為兩類:

關(guān)系型數(shù)據(jù)庫(SQL)
非關(guān)系數(shù)據(jù)庫(NoSQL : Not Only SQL, 不是關(guān)系型的數(shù)據(jù)庫都叫做非關(guān)系數(shù)據(jù)庫)

關(guān)系型數(shù)據(jù)庫:安全(保存磁盤基本不會丟失),容易理解,符合人類的認(rèn)知。但是比較浪費空間(二維表)
非關(guān)系型數(shù)據(jù)庫:效率高,不安全(斷電丟失)

關(guān)系型數(shù)據(jù)庫

1、什么是關(guān)系型數(shù)據(jù)庫?
? 關(guān)系型數(shù)據(jù)庫:是一種建立在關(guān)系模型(數(shù)學(xué)模型)上的數(shù)據(jù)庫。
? 關(guān)系模型:一種所謂建立在關(guān)系上的模型。關(guān)系模型包含三個方面:
? 數(shù)據(jù)結(jié)構(gòu): 數(shù)據(jù)存儲的問題,二維表(有行和列)
? 操作指令集合:所有的SQL語句;
? 完整性約束:表內(nèi)數(shù)據(jù)約束,表與表之間約束(外鍵)
2、關(guān)系型數(shù)據(jù)庫的設(shè)計?
? 關(guān)系型數(shù)據(jù)庫: 從需要存儲的數(shù)據(jù)需求中分析,如果是一類數(shù)據(jù)(實體)應(yīng)該設(shè)計成一張二維
表:表是由表頭(字段名:用來規(guī)定數(shù)據(jù)的名字)和數(shù)據(jù)部分組織(實際存儲的數(shù)據(jù)單位)
? ? ? 二維表:行和列
? ? ? 表頭 字段名1 字段名2
? ? ? 數(shù)據(jù)單元 數(shù)據(jù)1 數(shù)據(jù)2

SQL

SQL: Structured Query Language ,結(jié)構(gòu)化查詢語句(數(shù)據(jù)主要是以查詢?yōu)橹鳎?9%是在進行查詢操作)
SQL分為三個部分

? ? DDL: Data Definition Language 數(shù)據(jù)定義語言,用來維護存儲數(shù)據(jù)的結(jié)構(gòu)(s數(shù)據(jù)庫,
表)代表指令: create,drop, alter等。
? ? DML : Data Manipulation Language ,數(shù)據(jù)操作語言,用來對數(shù)據(jù)進行操作(數(shù)據(jù)表的>> 內(nèi)容),代表指令:insert delete update等。其中DML內(nèi)部又單獨進行了一種分類,DQL(Data Query >> Language):數(shù)據(jù)庫查詢語句,如selectDCL: Data Control Language ,數(shù)據(jù)控制語句,主要負(fù)責(zé)權(quán)限>> 管路(用戶),代表指令:grant、revoke等SQL是關(guān)系型數(shù)據(jù)庫的操作指令,SQL是一種約束,但不強制
(類似W3C),不同的數(shù)據(jù)庫產(chǎn)品(如Oracle, mysql)可能內(nèi)部會有一些細(xì)微的區(qū)別!

小cc提醒您: ? 關(guān)注公眾號回復(fù)mysql,即可獲得一套完美的mysql視頻教程。這里有更多的技術(shù)分享,歡迎來一起交流成長,發(fā)現(xiàn)更多的驚喜。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當(dāng)在唯一索引所對應(yīng)的列上鍵入重復(fù)值時,會觸發(fā)此異常。 O...
    我想起個好名字閱讀 6,026評論 0 9
  • http://www.itpub.net/thread-1393352-1-1.htmlhi,看到你關(guān)于數(shù)據(jù)庫存儲...
    yahzon閱讀 678評論 1 0
  • 一、數(shù)據(jù)庫的一些概念 數(shù)據(jù)庫的概念: 數(shù)據(jù)庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗余度、與...
    __RY__閱讀 845評論 0 1
  • Mysql數(shù)據(jù)庫 思考:用戶通過表單提交了很多數(shù)據(jù),數(shù)據(jù)在PHP腳本中繞一圈就沒了,那么這個數(shù)據(jù)有什么價值呢?數(shù)據(jù)...
    好像在哪見過你丶閱讀 2,043評論 0 0
  • 001.概述 1. 說明 本章內(nèi)容對數(shù)據(jù)庫的性質(zhì)和目標(biāo)進行了一般性的綜述,解釋了數(shù)據(jù)庫系統(tǒng)的概念是如何發(fā)展的,各數(shù)...
    若夢兒閱讀 1,565評論 0 4

友情鏈接更多精彩內(nèi)容