2020-01-09 數(shù)據(jù)庫前沿知識

文章導讀:

解決問題:

1磕道、數(shù)據(jù)庫相關(guān)概念
2膀哲、內(nèi)置庫(5.6版本4個mysql损拢、information_schema陌粹、performance_schema、test福压;
5.7版本information_schema掏秩、mysql、performance_schema荆姆、sys)


1蒙幻、數(shù)據(jù)庫概述

定義上,數(shù)據(jù)庫(database)是存儲數(shù)據(jù)的倉庫胆筒,簡稱DB邮破;

實際上,數(shù)據(jù)庫就是一個軟件仆救,一個存儲數(shù)據(jù)的軟件(畢竟跟軟件一樣安裝抒和、配置什么的)

數(shù)據(jù)結(jié)構(gòu)分為:關(guān)系型數(shù)據(jù)庫 和 nosql數(shù)據(jù)庫(nosql not only sql,即處理海量數(shù)據(jù))

關(guān)系型數(shù)據(jù)庫分為:小型數(shù)據(jù)庫(acess、sqlLite3)彤蔽、中型數(shù)據(jù)庫(mysql)摧莽、大型數(shù)據(jù)庫(sql、Oracle)铆惑、超大型數(shù)據(jù)庫(DB2) -------以二維表的形式進行關(guān)聯(lián)的

nosql數(shù)據(jù)庫分為:mongodb范嘱、redis送膳、hbase

2、數(shù)據(jù)庫的惠及

當你需要有信息存儲的時候丑蛤,比如動態(tài)的網(wǎng)站叠聋,各個門戶網(wǎng)站,他們有些信息是動態(tài)的受裹,那么這個時候就用到了數(shù)據(jù)庫碌补,它有一定的安全性,并且不會被用戶看到

我們的軟件是存儲在數(shù)據(jù)庫里面的

在公司里面的項目中棉饶,一個數(shù)據(jù)庫要考慮到很多的問題厦章,比如安全、穩(wěn)定性等等照藻,一個數(shù)據(jù)庫可能要用幾十年袜啃,所以我們要做的是,了解數(shù)據(jù)庫的基本功能和簡單維護

3幸缕、數(shù)據(jù)庫在軟件開發(fā)中的作用

因為這樣可以動態(tài)的存儲數(shù)據(jù)群发,可以增刪改查,同時增刪改查也給了很多的約束发乔,這樣讓我們的數(shù)據(jù)更安全了熟妓。

4、數(shù)據(jù)庫管理系統(tǒng)是什么栏尚?

dbms(database manager system):數(shù)據(jù)管理系統(tǒng)

DB(database):數(shù)據(jù)庫

是一種操縱和管理數(shù)據(jù)庫的大型軟件起愈,用于建立、使用和維護數(shù)據(jù)庫译仗,簡稱DBMS抬虽。它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性古劲。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù)斥赋,數(shù)據(jù)庫管理員也通過dbms進行數(shù)據(jù)庫的維護工作缰猴。它可使多個應用程序和用戶用不同的方法在同時或不同時刻去建立产艾,修改和詢問數(shù)據(jù)庫。大部分DBMS提供數(shù)據(jù)定義語言DDL(Data Definition Language)和數(shù)據(jù)操作語言DML(Data Manipulation Language)滑绒,供用戶定義數(shù)據(jù)庫的模式結(jié)構(gòu)與權(quán)限約束闷堡,實現(xiàn)對數(shù)據(jù)的追加、刪除等操作疑故。

數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心杠览,是管理數(shù)據(jù)庫的軟件。數(shù)據(jù)庫管理系統(tǒng)就是實現(xiàn)把用戶意義下抽象的邏輯數(shù)據(jù)處理纵势,轉(zhuǎn)換成為計算機中具體的物理數(shù)據(jù)處理的軟件踱阿。有了數(shù)據(jù)庫管理系統(tǒng)管钳,用戶就可以在抽象意義下處理數(shù)據(jù),而不必顧及這些數(shù)據(jù)在計算機中的布局和物理位置软舌。

5才漆、數(shù)據(jù)庫在開發(fā)中的地位

界面層---數(shù)據(jù)處理層--數(shù)據(jù)庫,一個項目佛点,要有一個獨立的數(shù)據(jù)庫

6醇滥、對于開發(fā)者來說,所有的文件路徑運用中文路徑超营,對于windows來說鸳玩,一般我們的電腦用戶名起名為中文,但是甲骨文olcle是安裝不上去的演闭,這點記住

7不跟、數(shù)據(jù)庫簡介

sql(Structured Query Language):結(jié)構(gòu)化查詢語言(理解為mysql數(shù)據(jù)庫語言)

有六種分類,主要包括以下三種:ddl米碰、dml躬拢、dcl

7.1、ddl(Data Definition Language)數(shù)據(jù)定義語言

數(shù)據(jù)定義語言(Data Definition Language, DDL) 是SQL語言集中負責數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫對象定義的語言见间,由CREATE聊闯、ALTER與DROP三個語法所組成,最早是由 Codasyl (Conference on Data Systems Languages)數(shù)據(jù)模型開始米诉,現(xiàn)在被納入 SQL 指令中作為其中一個子集菱蔬。目前大多數(shù)的DBMS都支持對數(shù)據(jù)庫對象的DDL操作,部份數(shù)據(jù)庫 (如 PostgreSQL) 可把DDL放在交易指令中史侣,也就是它可以被撤回 (Rollback)拴泌。較新版本的DBMS會加入DDL專用的觸發(fā)程序,讓數(shù)據(jù)庫管理員可以追蹤來自DDL的修改惊橱。

7.2蚪腐、dml(Data Manipulation Language):數(shù)據(jù)操作語言

數(shù)據(jù)操縱語言DML(Data Manipulation Language),用戶通過它可以實現(xiàn)對數(shù)據(jù)庫的基本操作税朴。例如回季,對表中數(shù)據(jù)的查詢、插入正林、刪除和修改泡一。 在DML中,應用程序可以對數(shù)據(jù)庫作插觅廓,刪鼻忠,改,排杈绸,檢等五種操作帖蔓。

7.3矮瘟、dcl(Data Control Language):數(shù)據(jù)控制語言

數(shù)據(jù)控制語言(DCL)是用來設置或者更改數(shù)據(jù)庫用戶或角色權(quán)限的語句,這些語句包括GRANT塑娇、DENY芥永、REVOKE等語句,在默認狀態(tài)下钝吮,只有sysadmin埋涧、dbcreator、db_owner或db_securityadmin等角色的成員才有權(quán)利執(zhí)行數(shù)據(jù)控制語言奇瘦。

8棘催、B/S、C/S

B/S結(jié)構(gòu)(Browser/Server耳标,瀏覽器/服務器模式)醇坝,是WEB興起后的一種網(wǎng)絡結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應用軟件次坡。這種模式統(tǒng)一了客戶端呼猪,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務器上,簡化了系統(tǒng)的開發(fā)砸琅、維護和使用宋距。客戶機上只要安裝一個瀏覽器(Browser)症脂,如Netscape NavigatorInternet Explorer谚赎,服務器安裝SQL ServerOracle诱篷、MYSQL等數(shù)據(jù)庫壶唤。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。




數(shù)據(jù)庫事務的四大特性:

ACID

原子性:

一致性:

隔離性:

持久性:

================================
1.information_schema詳細介紹:

information_schema數(shù)據(jù)庫是MySQL自帶的棕所,它提供了訪問數(shù)據(jù)庫元數(shù)據(jù)的方式闸盔。什么是元數(shù)據(jù)呢?元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù)琳省,如數(shù)據(jù)庫名或表名迎吵,列的數(shù)據(jù)類型,或訪問權(quán)限等岛啸。有些時候用于表述該信息的其他術(shù)語包括“數(shù)據(jù)詞典”和“系統(tǒng)目錄”钓觉。 在MySQL中茴肥,把 information_schema 看作是一個數(shù)據(jù)庫坚踩,確切說是信息數(shù)據(jù)庫。其中保存著關(guān)于MySQL服務器所維護的所有其他數(shù)據(jù)庫的信息瓤狐。如數(shù)據(jù)庫名瞬铸,數(shù)據(jù)庫的表批幌,表欄的數(shù)據(jù)類型與訪問權(quán) 限等。在INFORMATION_SCHEMA中嗓节,有數(shù)個只讀表荧缘。它們實際上是視圖,而不是基本表拦宣,因此截粗,你將無法看到與之相關(guān)的任何文件。 information_schema數(shù)據(jù)庫表說明:

SCHEMATA表:提供了當前mysql實例中所有數(shù)據(jù)庫的信息鸵隧。是show databases的結(jié)果取之此表绸罗。 TABLES表:提供了關(guān)于數(shù)據(jù)庫中的表的信息(包括視圖)。詳細表述了某個表屬于哪個schema豆瘫,表類型珊蟀,表引擎,創(chuàng)建時間等信息外驱。是show tables from schemaname的結(jié)果取之此表育灸。

COLUMNS表:提供了表中的列信息。詳細表述了某張表的所有列以及每個列的信息昵宇。是show columns from schemaname.tablename的結(jié)果取之此表磅崭。

STATISTICS表:提供了關(guān)于表索引的信息。是show index from schemaname.tablename的結(jié)果取之此表瓦哎。

USER_PRIVILEGES(用戶權(quán)限)表:給出了關(guān)于全程權(quán)限的信息绽诚。該信息源自mysql.user授權(quán)表。是非標準表杭煎。

SCHEMA_PRIVILEGES(方案權(quán)限)表:給出了關(guān)于方案(數(shù)據(jù)庫)權(quán)限的信息恩够。該信息來自mysql.db授權(quán)表。是非標準表羡铲。

TABLE_PRIVILEGES(表權(quán)限)表:給出了關(guān)于表權(quán)限的信息蜂桶。該信息源自mysql.tables_priv授權(quán)表。是非標準表。

COLUMN_PRIVILEGES(列權(quán)限)表:給出了關(guān)于列權(quán)限的信息。該信息源自mysql.columns_priv授權(quán)表帖旨。是非標準表池颈。

CHARACTER_SETS(字符集)表:提供了mysql實例可用字符集的信息。是SHOW CHARACTER SET結(jié)果集取之此表抒巢。

COLLATIONS表:提供了關(guān)于各字符集的對照信息。

COLLATION_CHARACTER_SET_APPLICABILITY表:指明了可用于校對的字符集。這些列等效于SHOW COLLATION的前兩個顯示字段旬痹。

TABLE_CONSTRAINTS表:描述了存在約束的表。以及表的約束類型。

KEY_COLUMN_USAGE表:描述了具有約束的鍵列两残。

ROUTINES表:提供了關(guān)于存儲子程序(存儲程序和函數(shù))的信息永毅。此時,ROUTINES表不包含自定義函數(shù)(UDF)人弓。名為“mysql.proc name”的列指明了對應于INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列沼死。

VIEWS表:給出了關(guān)于數(shù)據(jù)庫中的視圖的信息。需要有show views權(quán)限崔赌,否則無法查看視圖信息意蛀。

TRIGGERS表:提供了關(guān)于觸發(fā)程序的信息。必須有super權(quán)限才能查看該表

  1. mysql作用介紹:

mysql:這個是mysql的核心數(shù)據(jù)庫健芭,類似于sql server中的master表浸间,主要負責存儲數(shù)據(jù)庫的用戶、權(quán)限設置吟榴、關(guān)鍵字等mysql自己需要使用的控制和管理信息魁蒜。不可以刪除,如果對mysql不是很了解吩翻,也不要輕易修改這個數(shù)據(jù)庫里面的表信息兜看。

  1. performance_schema作用介紹:

mysql 5.5 版本 新增了一個性能優(yōu)化的引擎: PERFORMANCE_SCHEMA這個功能默認是關(guān)閉的: 需要設置參數(shù): performance_schema 才可以啟動該功能,這個參數(shù)是靜態(tài)參數(shù)狭瞎,只能寫在my.ini 中 不能動態(tài)修改细移。 先看看有什么東西吧:

mysql> use performance_schema;

Database changed

mysql> show tables ;

+----------------------------------------------+

| Tables_in_performance_schema |

+----------------------------------------------+

| cond_instances |

| events_waits_current |

| events_waits_history |

| events_waits_history_long |

| events_waits_summary_by_instance |

| events_waits_summary_by_thread_by_event_name |

| events_waits_summary_global_by_event_name |

| file_instances | | file_summary_by_event_name |

| file_summary_by_instance |

| mutex_instances |

| performance_timers |

| rwlock_instances |

| setup_consumers |

| setup_instruments |

| setup_timers |

| threads |

+----------------------------------------------+

17 rows in set (0.00 sec)

這里的數(shù)據(jù)表分為幾類:

1) setup table : 設置表,配置監(jiān)控選項熊锭。

2) current events table : 記錄當前那些thread 正在發(fā)生什么事情弧轧。

3) history table 發(fā)生的各種事件的歷史記錄表

4) summary table 對各種事件的統(tǒng)計表

5) 雜項表,亂七八糟表碗殷。

setup 表:

mysql> SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES -> WHERE TABLE_SCHEMA = 'performance_schema' -> AND TABLE_NAME LIKE 'setup%';

+-------------------+

| TABLE_NAME |

+-------------------+

| setup_consumers |

| setup_instruments |

| setup_timers |

+-------------------+

setup_consumers 描述各種事件 setup_instruments 描述這個數(shù)據(jù)庫下的表名以及是否開啟監(jiān)控精绎。 setup_timers 描述 監(jiān)控選項已經(jīng)采樣頻率的時間間隔

  1. test作用介紹:

這個是安裝時候創(chuàng)建的一個測試數(shù)據(jù)庫,和它的名字一樣锌妻,是一個完全的空數(shù)據(jù)庫代乃,沒有任何表,可以刪除仿粹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搁吓,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吭历,更是在濱河造成了極大的恐慌堕仔,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晌区,死亡現(xiàn)場離奇詭異摩骨,居然都是意外死亡通贞,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門仿吞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滑频,“玉大人捡偏,你說我怎么就攤上這事唤冈。” “怎么了银伟?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵你虹,是天一觀的道長。 經(jīng)常有香客問我彤避,道長傅物,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任琉预,我火速辦了婚禮董饰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘圆米。我一直安慰自己卒暂,他們只是感情好,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布娄帖。 她就那樣靜靜地躺著也祠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪近速。 梳的紋絲不亂的頭發(fā)上诈嘿,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音削葱,去河邊找鬼奖亚。 笑死,一個胖子當著我的面吹牛析砸,可吹牛的內(nèi)容都是我干的遂蛀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼干厚,長吁一口氣:“原來是場噩夢啊……” “哼李滴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蛮瞄,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤所坯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挂捅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體芹助,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了状土。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片无蜂。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蒙谓,靈堂內(nèi)的尸體忽然破棺而出斥季,到底是詐尸還是另有隱情,我是刑警寧澤累驮,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布酣倾,位于F島的核電站,受9級特大地震影響谤专,放射性物質(zhì)發(fā)生泄漏躁锡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一置侍、第九天 我趴在偏房一處隱蔽的房頂上張望映之。 院中可真熱鬧,春花似錦蜡坊、人聲如沸杠输。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抬伺。三九已至,卻和暖如春灾梦,著一層夾襖步出監(jiān)牢的瞬間峡钓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工若河, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留能岩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓萧福,卻偏偏與公主長得像拉鹃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鲫忍,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容