MySQL基礎(一 簡介)

2021-08-21 07:50:33 字數 1443 閱讀 7986

發展史:

2023年,mysql 1.0

2023年 sun公司收購了mysql

2023年4月 oracle收購sun公司

資料庫:儲存有組織的資料的容器(通常是乙個檔案)。

表 :某種特定型別資料的結構清單。資料庫中的表都有乙個名字,用來標識自己,此名字是唯一的。

列 :表中的乙個字段。所有表都是由乙個或多個列組成的。資料庫中的每個列都有相應的資料型別。資料型別定義列可以儲存的資料種類。

資料型別: 數值、字串、時間

行 :表中的資料按行儲存的,所儲存的每個記錄儲存在自己的行內。

sql:一種專門用來與資料庫通訊的語言。設計sql的目的是更有效的讀寫資料庫。·

優點:

1、sql不是某個特定資料庫專有的語言。幾乎所有重要的資料庫都支援sql。

2、sql簡單易學。。語句全是描述性很強的英文單詞組成。

每個屬性都不可再分,確保每列的原子性

如果每列(或者每個屬性)都是不可再分的最小資料單元(也稱為最小的原子單元),則滿足第一正規化.

例如:顧客表(姓名、編號、位址、……)其中"位址"列還可以細分為國家、省、市、區等。

在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關(一是表必須有乙個主鍵;二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的部分)

如果乙個關係滿足第一正規化,並且除了主鍵以外的其它列,都依賴於該主鍵,則滿足第二正規化.

例如:訂單表(訂單編號、產品編號、定購日期、**、……),"訂單編號"為主鍵,"產品編號"和主鍵列沒有直接的關係,即"產品編號"列不依賴於主鍵列,應刪除該列。

在第二正規化的基礎上更進一層,目標是確保每列都和主鍵列直接相關,而不是間接相關(另外非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴).

如果乙個關係滿足第二正規化,並且除了主鍵以外的其它列都不依賴於主鍵列,則滿足第三正規化.

為了理解第三正規化,需要根據armstrong公里之一定義傳遞依賴。假設a、b和c是關係r的三個屬性,如果a-〉b且b-〉c,則從這些函式依賴中,可以得出a-〉c,如上所述,依賴a-〉c是傳遞依賴。

例如:訂單表(訂單編號,定購日期,顧客編號,顧客姓名,……),初看該錶沒有問題,滿足第二正規化,每列都和主鍵列"訂單編號"相關,再細看你會發現"顧客姓名"和"顧客編號"相關,"顧客編號"和"訂單編號"又相關,最後經過傳遞依賴,"顧客姓名"也和"訂單編號"相關。為了滿足第三正規化,應去掉"顧客姓名"列,放入客戶表中。

關係型(最常用):mysql、oracle、sqlite

非關係型:mongodb、redis

關係型資料庫就像乙個excel:

乙個excel相當於乙個資料庫

sheet相當於資料庫中的一張表

行,一行代表一條資料 rows

列,一列資料就代表乙個屬性。columns列

MySQL(一)簡介與入門

一 資料庫簡介 這個部落格詳細介紹 二 mysql的安裝 這個部落格詳細介紹 如果執行mysql出現問題 終端執行 mysql安裝常見問題 系統找不到指定的檔案 發生系統錯誤 1067 程序意外終止 該部落格詳細介紹 如果許可權不夠,win x鍵,管理員啟動。三 mysql介紹 1 安裝目錄 這是m...

大資料基礎 MySQL索引型別簡介

涉及到資料儲存,傳統的關係型資料庫,始終是不可忽視的一部分,而基於關係型資料庫的資料管理操作,就不得不提到索引的概念。今天的大資料基礎分享,我們以mysql為例,來講講mysql索引型別。總體來說,mysql索引,分為普通索引 唯一索引 主鍵索引 組合索引 全文索引幾個類別。最基本的索引,它沒有任何...

Web前端基礎(一) HTML簡介

超文字標記語言 英語 hypertext markup language,簡稱 html 是一種用於建立網頁的標準標記語言。html文件的字尾名 html和.htm,這兩種字尾名沒有區別,都可以使用。我的第乙個段落。html 標記標籤通常被稱為 html 標籤 html tag html 標籤通常是...