數據庫的歷史及常見基本功能

數據庫的基本知識,MariaDB的基本知識,SQL語句

一、數據庫的基本知識

1 數據庫的發展:

萌芽階段———文件系統:使用磁盤文件來存儲數據

初級階段———第一代數據庫:出現了網狀、層次模型的數據庫

中級階段———第二代數據庫:關系型數據庫和結構化查詢語言

高級階段———新一代數據庫:“關系-對象”型數據庫

2 數據庫管理系統的基本功能:

數據定義

數據處理

數據安全

數據備份

3 數據庫系統的架構:

單機架構

大型主機/終端架構

主從式架構(C/S)

分布式架構

4 關系型數據庫:

關系:關系就是二維表

行row:表中的每一行,又稱為一條記錄

列column:表中的每一列,稱為屬性,字段

主鍵(Primary key):用于唯一確定一個記錄的字段

域domain:屬性的取值范圍

5 關系數據庫

RDBMS :

MySQL:MySQL, MariaDB, Percona Server

PostgreSQL: 簡稱為pgsql ,EnterpriseDB

Oracle:

MSSQL:

DB2:

事務transaction:多個操作被當作一個整體對待:

ACID:

A:原子性

C:一致性

I :隔離性

D:持久性

6 聯系類型:

一對一聯系(1:1)

一對多聯系(1:n)

多對多聯系(m:n)

7 數據結構:

一類是與數據類型、內容、性質有關的對象,比如關系模型中的域、屬性和關系等;

另一類是與數據之間聯系有關的對象,它從數據組織層表達數據記錄與字段的結構

8 數據的操作:

數據提取:在數據集合中提取感興趣的內容(SELECT)

數據更新:變更數據庫中的數據(INSERT、DELETE、UPDATE)

9 范式:

1NF:無重復的列,每一個列都是不可分割的基本數據項,同一列中不能有多個值,即實體中的 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 某個屬性不能有多個值或者不能有重復發的屬性。

2NF:屬性完全依賴于主鍵,第二范式必須先滿足第一范式,要求表中的每一個行必須可以被唯 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一區分。通常為表加上一列,以存儲各個實例的唯一標識PK,非PK的字段需要與整個PK ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 有直接相關性。

3NF:屬性不依賴與其它非主屬性,滿足第三范式必須要滿足第二范式。第三范式要求一個數據 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 庫中不包含的非主關鍵字信息,非PK的字段間不能有從屬關系

10 SQL概念:

SQL:Structure Query Language

結構化查詢語言

SQL解釋器:

數據庫存儲協議:應用層協議,C/S (S:server,監聽于套接字,接受并處理客服端的應用請求)

二、MariaDB

1 MariaDB的特性:

單進程,多線程

插件式存儲引擎:存儲管理器有多種實現版本,用戶可根據需要靈活選擇

存儲引擎也稱為”表類型”

2 mariadb組包括下面包:

mariadb-server:mandatory package

mariadb-bench:optional package

mariadb-test:optional package

3 mariadb-client組包括下面包:

Mariadb:mandatory package

MySQL-python:default package

mysql-connector-odbc:default package

libdbi-dbd-mysql:option package

mysql-connector-java:optional package

perl-DBD-MySQL:optional package

4 配置文件:

/etc/my.cnf和/etc/my.cnf.d/*.cnf

5 MariaDB配置

傾聽3306/tcp端口可以在綁定有一個或全部接口IP上

vim /etc/my.cnf

6 安裝MariaDB

三、SQL語句

1 SQL語句構成

Keyword組成clause

多條clause組成語句

SELECT*? ? ? ? ?SELECT子句

FROM products ?FROM子句

WHERE price >400 WHERE 子句

2 SQL語句分類:

DDL:Data Defination Language

CREATE ,DROP,ALTER

DML: ?Data Manipulation Language

INSERT, DELETE, UPDATE

DCL: ?Data Control Language

GRANT, REVOKE

DQL: ?Data Query Language

SELECT

3 SQL語言規范

在數據庫系統中,SQL語句不區分大小寫

但字符串常量區分大小寫

SQL語句可單行或多行書寫,以;結尾

關鍵字不能跨多行書寫或簡寫

用空格和縮進來提高語句的可讀性

子句通常位于獨立行,便于編輯,提高可讀性

4 數據庫對象的命名規則

必須以字母開頭

可包括數字和三個特殊字符

不要使用MySQL的保留字

同一database(Schema)下的對象不能同名

5 數據庫操作

創建數據庫:

CREATE DATABASE|SCHEMA ‘DB_NAME’;

CHARACTER SET ‘character set name’

COLLATE ‘collate name’

刪除數據庫:

DROP DATABASE|SCHEMA ‘DB_NAME’

查看支持所有字符集:SHOW CHARACTER SET;

查看支持所有排序規則:SHOW COLLATION;

獲取命令使用幫助: mysql >HELP KEYWORD;

查看數據庫列表:mysql> SHOW DATABASES;

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91364

(0)
zss123456zss123456
上一篇 2018-01-29 21:01
下一篇 2018-01-30 15:21

相關推薦

  • 0804練習與作業

    0804練習與作業 練習  1 、找出ifconfig 命令結果中本機的所有IPv4 地址 答: 使用cut將電腦的IP地址提取出來。   經過觀察,這些信息極為不規則,沒有明顯的分隔符。這時們需要首先提取出IP地址所在的行,然后去定義一個合適的分隔符,再利用cut進行提取即可。(思路:化繁為簡,化不規則為規則,這樣才能更好的套用我們的命…

    Linux干貨 2016-08-08
  • N26_第四周

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@node1 skel]# cp -r /etc/skel/home/tuser1 [root@node1 skel]# chmod go-wrx/home/tuser1/   2、編輯/etc/grou…

    Linux干貨 2017-05-26
  • 馬哥教育21期網絡班—第8周課程+練習—-成長進行時–不退步

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:一種網路裝置,負責網路橋接,將網絡的多個網段在數據鏈路層連接起來。 集線器:將多條以太網線或光纖集合連接在同一段物理介質下的裝置。工作在物理層。 二層交換機:工作在數據鏈路層,交換機內部的CPU會在每個端口成功連接時,通過將MAC地址和端口對應,形成一張MAC表。在今后的通…

    Linux干貨 2016-08-24
  • 關于HISTCONTROL命令及對快捷鍵Ctrl+o命令的影響

            在linux中環境變量HISTCONTROL可以控制歷史的記錄方式。         HISTCONTROL有以下的選項:         &n…

    Linux干貨 2017-02-18
  • Linux簡單的磁盤分區、格式化和掛載

     一.分區: 1.查看分區fdisk -l 通過fdisk -l 查看機器所掛硬盤個數及分區情況   2.通過上面的信息,我們知道此機器中掛載兩個硬盤分別是:/dev/sda和/dev/sdb, 其中sda有兩個主分區/dev/sda1和sda2; 其中sdb有1個擴展類型/dev/sdb3和3個邏輯分區sd…

    Linux干貨 2016-02-28
  • linux權限管理

          今天來講講linux里面權限的問題,在linux系統中,有這么幾類權限,r,w,x,s,t這么幾類權限,系統中為什么要有權限這個東西呢,linux一切皆文件,有些文件不想讓某些人看到,那么這個時候就需要設置文件的訪問的權限了,文件的擁有者一般都是有權力修改刪除文件的,但擁有者以外的人未必就能刪除修…

    Linux干貨 2016-08-04
欧美性久久久久