資料庫的一些基礎知識

2021-07-05 05:12:46 字數 3129 閱讀 5619

所謂第一正規化(1nf)是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義乙個新的實體,新的實體由重複的屬性構成,新實體與原實體之間為一對多關係。在第一正規化(1nf)中表的每一行只包含乙個例項的資訊。

第二正規化(2nf)是在第一正規化(1nf)的基礎上建立起來的。第二正規化(2nf)要求資料庫表中的每個例項或行必須可以被惟一的區分。為實現區分通常需要為表加上乙個列,以儲存各個例項的惟一標識。要求實體的屬性完全依賴於主關鍵字。

在第二正規化的基礎上,資料表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函式依賴則符合第三正規化。

整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。

隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,執行在相同的時間內,執行 相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統。這種屬性有時稱為序列化,為了防止事務操作間的混淆,必須序列化或序列化請

求,使得在同一時間僅有乙個請求用於同一資料。

事務完成以後,該事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

1.1左連線(left join 或 left outer join)

左向外聯接的結果集包括 left outer子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值(null)。

sql語句:

select * from table1 left

join table2 on table1.id=table2.id

包含table1的所有記錄,根據條件返回table2的相應記錄,不符合的為null。

結果:id

name

idname

1lee190

2zhang

2100

4wang

null

null

1.2 右連線(right join 或 right outer join)

右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。

sql語句:

select * from table1 right

join table2 on table1.id=table2.id

包含table2的所有記錄,根據條件返回table1的相應記錄,不符合的為null。

結果:id

name

idname

1lee190

2zhang

2100

null

null

3700

1.3完整外部聯接(full join 或 full outer join)

完整外部聯接返回左表和右表中的所有行。當某行在另乙個表中沒有匹配行時,則另乙個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。

sql語句

select * from table1 full

join table2 on table1.id=table2.id

返回左右連線的並集

結果:id

name

idname

1lee190

2zhang

2100

4wang

null

null

null

null

3700

內聯接是用比較運算子比較要聯接列的值的聯接

sql語句:

table1.id=table2.id

等價於

或者

select * from table1 cross

join table2 where table1.id=table2.id

返回符合條件的table1和table2的列。

結果:id

name

idname

1lee190

2zhang

2100

沒有 where 子句的交叉聯接將產生聯接所涉及的表的笛卡爾積。第乙個表的行數乘以第二個表的行數等於笛卡爾積結果集的大小。(沒有過濾條件)

例如

select * from table1 cross

join table2

等價於

select * from table1,table2
結果:id

name

idname

1lee190

2zhang190

4wang190

1lee

2100

2zhang

2100

4wang

2100

1lee370

2zhang370

4wang370

mysql資料庫的一些基礎知識

1.連線伺服器,進行登入 mysql h host u user p host mysql伺服器執行的主機名 user mysql賬戶使用者名稱 資料庫中的字串用單引號引起來.sql語句是大小寫不敏感的,但不敏感的是sql關鍵語句,字串值還是大小寫敏感的.2.顯示當前mysql版本和當前日期 查詢當...

一些基礎知識

關於cd cd 返回剛才的位置 關於ls ls l,簡寫ll ls a顯示的檔案以.開頭,隱藏檔案 la al 關於cp cp r tmp dir 拷目錄 tmp拷到dir 需要加 r的 cp rm 10 13 1.grep 在乙個字元集合中找到符合條件的行輸出 如 grep hello file ...

一些基礎知識

linux基礎知識考查 1 在linux 系統中,以 檔案 方式訪問裝置 2 前台起動的程序使用 ctrl c 終止。3 在使用ls 命令時,用八進位制形式顯示非列印字元應使用引數 b 4 在linux 系統中,用來存放系統所需要的配置檔案和子目錄的目錄是 etc 5 在linux 系統中,壓縮檔案...