mysql三大正規化 MySQL學習筆記

2021-10-18 08:14:41 字數 2853 閱讀 6957

1、資料庫結構設計

1、總-總體流程圖

2、分-【提取屬性】業務分析
評價的屬性:

3、分-【屬性->物件】邏輯設計
(1)寬表設計模式:存在資料冗餘問題

寬表設計模式

(2)資料庫三大正規化:解決資料冗餘問題

資料庫三大正規化

(3)反正規化設計:空間換時間

主要針對關聯表進行反正規化化設計
2、資料庫物理設計

(1)常見引擎

引擎名稱

事務說明

innodb

y最常用的事務儲存引擎

(2)根據innodb特性優化表

操作步驟:

(3)資料型別

(4)物件命名

3、資料庫的訪問

- mac下連線資料庫:

cd /usr/local/mysql/bin/

./mysql -uroot -p

- windows下連線資料庫:

mysql -u root -p

- 檢視使用者列表

mysql> select user,host from mysql.user;

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

| user | host |

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

| mc_class | 127.0.0.1 |

| mysql.infoschema | localhost |

| mysql.session | localhost |

| mysql.sys | localhost |

| root | localhost |

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

5 rows in set (0.00 sec)

4、開發階段:

(1)建立資料庫賬戶

- 檢視建立命令

help create user;

- 檢視mysql支援的外掛程式

show plugins;

- 建立乙個使用者

create user mc_class@'127.0.0.1'identified with 'mysql_native_password'

by '123456';

- 連線:

./mysql -umc_class -p123456 -h127.0.0.1

(2)許可權的下放和**

- 檢視資料庫支援哪些許可權:

show privilegesg;

- 可以授予的許可權

-- insert

-- delete

-- update

-- select

-- execute

- 實戰【授予查詢許可權】

-- 賦予使用者查詢某錶中某列

mysql> grant select(user,host) on mysql.user to mc_class@'127.0.0.1';

query ok, 0 rows affected (0.01 sec)

-- 賦予使用者查詢某錶下所有列

mysql> grant select on mysql.user to mc_class@'127.0.0.1';

query ok, 0 rows affected (0.01 sec)

-- 賦予使用者查詢某資料庫下所有表的許可權

mysql> grant select on mysql.* to mc_class@'127.0.0.1';

query ok, 0 rows affected (0.01 sec)

--賦予增刪改查

mysql> grant select,delete,insert,update on mysql.* to mc_class@'127.0.0.1';

query ok, 0 rows affected (0.01 sec)

- **使用者許可權

mysql> revoke delete,insert,update on mysql.* from mc_class@'127.0.0.1';

query ok, 0 rows affected (0.01 sec)

(3)資料庫物件的建立操作

- ddl

建立/修改/刪除資料庫:create/alter/drop database

create database imc_db;

建立/修改/刪除表:create/alter/drop table

建立/修改/刪除索引:create/alter/drop index

清空表:truncate table(先刪除資料,再保留結構,不會有刪除日誌)

重新命名表:rename table

建立/修改/刪除:create/alter/drop view

mysql正規化學習 Mysql三大正規化

據庫設計正規化 什麼是正規化 簡言之就是,資料庫設計對資料的儲存效能,還有開發人員對資料的操作都有莫大的關係。所以建立科學的,規範的的資料庫是需要滿足一些 規範的來優化資料資料儲存方式。在關係型資料庫中這些規範就可以稱為正規化。什麼是三大正規化 第一正規化 當關係模式r的所有屬性都不能在分解為更基本...

MYSQL三大正規化

第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...

MySQL三大正規化

資料庫 的三個正規化 指的是什麼呢?即 屬性唯一,記錄唯一,表唯一。下面我們用一張關係圖來三者之間的關係。第一正規化 1nf 資料庫表中的字段的 屬性都是單一的,不可再分。這個單一屬性由哪些型別組成呢?主要是基本型別構成,包括整型 實數 字元型 邏輯型 日期型等。第二正規化 2nf 資料庫表 中不存...