資料庫基本操作和知識

2021-08-08 12:38:06 字數 3167 閱讀 9095

一、資料庫基本操作

1、開啟mysql服務命令

net start mysql

2、進入mysql的兩種方式

明文進入:mysql -uroot -proot  格式:mysql -u帳號 -p密碼

密文進入:mysql -uroot -p

按enter會提示你輸入密碼(enter pssword:),此時你寫的密碼就會顯示為***這樣。 

3、檢視mysql中所有的資料庫(一般在固定的單詞命令就會是用大寫,這個要習慣,看多了敲多了就認識了)

前面四個資料庫是mysql中自帶的,也就是必須的.

show databases;

4、建立名為test_1的資料庫

格式:create database 資料庫名

create database test_1;

5、刪除名為test_1的資料庫

格式:drop database 資料庫名

drop database test_1;

二、資料庫表的基本操作

1.建立表結構

create

table employee

(eno char(4) not

null

unique,

ename char(8)not

null,

*** char(2) not

null ,

age int

null,

is_marry char(1) null,

title char(6) null,

2.新增列   

alter table employee add emgr char(4) null;

3.修改列的資料型別

alter table employee change emgr emgr char(12);

alter table employee modify emgr char(12);

注:mysql中alter語句中change和modify的區別:

change :對列進行重新命名或更改列的型別,需給定舊的列名稱和新的列名稱、當前的型別;

modify :可以改變列的型別,此時不需要重新命名(不需給定新的列名稱)。

4.刪除列

alter table employee drop column emgr;

5.增加某列必須取唯一值的約束條件

alter table employee add constraint uq_name unique(ename);//使用者為該唯一值約束設定約束名

alter table employee add unique(ename);//系統自動命名

三、細節

1.乙個表或者檢視只允許有乙個聚簇索引(clustered),建立聚簇索引後,表在磁碟中的物理儲存順序將與聚簇索引中的一致。

在最常查詢的列上建立聚簇索引可以加快查詢速度;在經常更新的列上建立聚簇索引,則dbms維護所以代價太大。

四、關聯式資料庫規範化理論

1.未規範的問題

1.1 資料冗餘度大

1.2 修改異常

冗餘度大,不僅蘭妃儲存空間,在對資料進行修改時,易造成資料的不一致性。如當某個表中的工資變化時,滿足某個條件的人的工資都需要修改,一旦遺漏就會使資料不一致,產生修改異常。

1.3 插入異常

無法插入某部分資訊的插入異常。因為碼為空的情況下無法插入相應的資料

1.4 刪除異常

刪除掉不應刪除的資訊為刪除異常。在刪除某個資訊時連帶其他資訊被刪除。

2. 函式依賴

2.1 函式依賴是指在關係r中,x、y為r的兩個屬性或屬性組,如果對於r的所有關係r都存在:對於x的每乙個具體值,y都只有乙個具體值與之對應。

則稱屬性y函式依賴於屬性x。或者說屬性x函式決定屬性y,記做x->y

2.2 聯絡中存在的依賴

1)如果兩屬性集x、y是一對一聯絡,則存在函式依賴 x<-->y

2) 如果兩屬性集x、y是多對一聯絡,則存在函式依賴 x-->y

3)如果兩屬性集x、y是多對多聯絡,則不存在函式依賴

4)假設兩屬性集x、y間 x-->y成立,如果y屬於x,則稱x-->y是平凡函式依賴,反之是非平凡函式依賴。

3. 關係模式的規範化

當乙個關係中的所有分量都是不可分的資料項時,該關係是規範化的。

注:規範化程度較高者必定是較低者的子集。

1)部分函式依賴與完全函式依賴:

設x、y是關係r的兩個不同的屬性或屬性組,且x-->y。如果存在x的某乙個真子集x1,使得x1-->y,則稱y部分函式依賴於x

反正則為完全函式依賴。

2)傳遞依賴:

在關係r中,如果x、y、z是r中的三個不同的屬性或屬性組,如果x-->y,y-->z,但y-/->x,且y不是x的子集,則稱z傳遞依賴於x

3.1 正規化的種類:

1nf,2nf,3nf(bcnf),4nf,5nf

3.2 第一正規化(1nf)

定義:如果關係模式r中不包含多值屬性,則r滿足第一正規化

存在問題:存在部分函式依賴不是2nf,存在傳遞函式依賴不是3nf

3.3 第二正規化

如果乙個關係r屬於1nf,且它的所有非主屬性都完全依賴於r的任意候選碼,則r屬於第二正規化。

即:第二正規化中不存在部分函式依賴

推論:如果關係模式是第一正規化,且它的每乙個候選碼都是單碼,則這個關係模式是第二正規化。

3.4 第三正規化

如果關係模式r屬於第二正規化,且它的每乙個非主屬性都不傳遞依賴於任何候選碼,則稱r是第三正規化。

推論1:如果關係模式屬於第一正規化,且它的每乙個非主屬性既不部分依賴、也不傳遞依賴於任何候選碼,則該模式屬於第三正規化。

推論2:不存在非主屬性的關係模式一定為第三正規化。

3.5 改進的第三正規化:bcnf

定義:設關係模式是第一正規化,若f的任一函式依賴x-->y(且y不屬於x)中x都包含了r的乙個碼,則稱r是bcnf正規化。

推論:1)r中所有非主屬性對每乙個碼都是完全函式依賴

2)r中所有主屬性對每乙個不包含它的碼,都是完全函式依賴

3)r中沒有任何屬性完全函式依賴於非碼的人格一組屬性

定理:如果r是bcnf正規化,則r一定是第三正規化

3nf比bcnf放寬了乙個限制,即允許因素不包含碼。

如有錯誤,還請指正哦~

資料庫之基本操作和儲存引擎

一 知識儲備 資料庫伺服器 一台計算機 對記憶體要求比較高 資料庫管理系統 如mysql,是乙個軟體 資料庫 oldboy stu,相當於資料夾 表 student,scholl,class list,相當於乙個具體的檔案 記錄 1 susan 158426544 22,相當於檔案中的一行內容 二 ...

MySQL 基本操作 資料庫操作和表操作

檢視所有表 show tables like xx show tables from 庫名 檢視表機構 show create table 表名 資訊更詳細 desc 表名 describe 表名 explain 表名 show columns from 表名 like pattern show t...

unity之資料庫的基本操作和arrylist

哈嘍,歡迎來到我們的 狗刨網,今天我們講了很多有趣的東西,有資料庫的約束,還有arrylist的應用,首先我們每天都會有新的更新,歡迎來到我們 的 上看哦。一 列的基本操作 增加一列 alter table 表名 add 列名 型別 長度 null 例如 alter table student ad...