1.碼=能夠唯一標識一組元組的屬性集
2.主鍵:能夠唯一標識一組元組的屬性集
主鍵是從候選鍵中選擇乙個作為主鍵。
3.候選碼,能夠唯一標識一組元組的屬性集
候選碼的任一真子集都不能唯一標識一組元組。
主屬性:候選碼裡的屬性的並集
非主屬性:除了主屬性的屬性。
這一幅圖來自
關係型資料庫的正規化
第一正規化:每個屬性都不可再分,原子性
第二正規化:在第一正規化的基礎上,非主屬性都與主鍵相關,且對於聯合主鍵來說,消除部分依賴:
比如:對於(學號,課名) → 系主任,有 學號 → 系主任,存在非主屬性 對碼(學號,課名)的部分函式依賴。
所以這就不是第二正規化。
對於選課表,其碼是(學號,課名),主屬性是學號和課名,非主屬性是分數,學號確定,並不能唯一確定分數,課名確定,也不能唯一確定分數,所以不存在非主屬性分數對於碼 (學號,課名)的部分函式依賴,所以此表符合2nf的要求。
比如對於學生表,主碼為學號,主屬性為學號,非主屬性為姓名、系名和系主任。因為 學號 → 系名,同時 系名 → 系主任,所以存在非主屬性系主任對於碼學號的傳遞函式依賴,所以學生表的設計,不符合3nf的要求。
e-r圖:
長方形:實體
菱形:關係
橢圓:屬性
每個長方形都建立乙個對應的表,多對多關係建一張。1:n和1:1的關係中,把1所對應的表的主鍵放在另外一張表中當作外來鍵。
sql語句建表:(舉例)
create table s
(sno char(10) not null ,
sn varchar(20),
age int,
*** char(2) default 『男』 ,
dept varchar(20));
sql語句執行順序:
(整理)關係型資料庫基本知識點
關係型資料庫基本概念 1.關係型資料庫簡單的可以理解為二維資料庫,表的格式就如excel 有行有列。常用的關聯式資料庫有 oracle sqlserver informix mysql sybase 等。也即是我們平時看到的資料庫,都是關係型資料庫 2.所謂關係型資料庫,是指採用了關係模型來組織資料...
資料庫知識點整理
一 資料庫三正規化 第一正規化 確保每列保持原子性 即所有字段值都是不可分解的原子值。需要根據實際情況劃分,比如 位址 可以當作,如果經常關注位址中的城市部分,就要把位址拆成省份,城市,詳細位址多個字段。列不能再分 第二正規化 確保表中的每列都和主鍵相關 即需要確保資料庫表中每一列都和主鍵相關,而不...
oracle資料庫知識點整理
1 行列轉換 2 一條sql語句取出整個樹形結構 pid 0 是根節點的資料,id 主鍵,pid父id select from rc area start with pid 0 connect by prior id pid 3 number p,s 有效數字和精度 number p,s p 1 3...