『壹』 資料庫P、F、M分別代表什麼意思
P: Primary Key,主鍵;
F: Foreign Key,外鍵;
M: 沒有見過:(
『貳』 資料庫中P是主鍵F是外鍵,那麼M是什麼
1、外鍵的概念:外鍵是關系資料庫三個完整性的五個約束條件之一,是表版與表之間建立的一種關權系。在Oracle資料庫的scott/tiger用戶中,表Dept和Emp通過外鍵進行了關聯。在這里Dept表叫主表,Emp表叫從表,外鍵是欄位Deptno。
2、加入外鍵的條件:a、兩個表有相同屬性欄位,取值范圍相同;
b、外鍵在主表中是主鍵或者是唯一欄位;
c、外鍵可以是多個欄位的組合。
記住一句話:從表的外鍵是主表的主鍵或唯一欄位。
『叄』 簡要介紹資料庫表的約束和主要類型、作用
首先應該說下什麼是資料庫約束?
資料庫約束是為了保證數據的完整性而實現的一套機制,它具體的根據各個不同的資料庫的實現而有不同的工具。所以我們在學習約束的時候就會看到域完整性(Domain Integrity)、實體完整性(Entity Integrity)、參照完整性(Referential Integrity)與用戶定義完整性(User-defined Integrity)的不同的約束分類。但我今天就說下我們或是我們有些人剛接觸資料庫的同學,並且從SQL語言基礎了解並學習到的。
1、非空約束(Not Null Constraint)
這個可能大家都了解,就是我們在添加那個表 userinfo,在id、name後面都添加了not null,就是有些列不能把它設為空,相信大家都理解,我就說下我在一個英文資料看到的一段英文:The not null specification prohibits the insertion
of a null value for this attribute.Any database modifucation that would cause a null to be inserted in an attribute declared to be not null generates an error diagnostic.(大家就得自己翻譯了)
2、唯一約束(Unique Constraint)
一個唯一約束並不包括一個NULL值。直接在欄位定義後加入UNIQUE即可定義該唯一約束。
1) 一個表只能創建一個主鍵約束,但一個表可以根據需要對不同的列創建若干unique約束
2)主鍵欄位不允許為null ,unique允許為空
3)一般創建主鍵約束時,系統自動產生簇索引,unique約束自動產非簇索引
3、檢查約束(The Check Clause)
通過在定義資料庫表裡,在欄位級或者是在表級加入的檢查約束,使其滿足特定的要求。
我來舉一個例子
create table student (
name varchar(15) not null,
student_id varchar(15),
degree_level varchar(15),
primary key(student_id),
check(degree_level in('Bachelors','Masters','Doctorate')));
Here ,we use the check clause to simulate an enumerated type by specifying that degree_level must to be one of 'Bachelors','Masters','Doctorate';
4、主鍵約束(Primary Key Constraint)
其實主鍵約束就是一張表只能建立一個主鍵約束,其實就是唯一約束+非空約束。大家通過上課討論那麼多關於「依賴」的事情,估計大家都能理解了
5、外健約束( Foreign Key Constraint)
Foreign Key Constraint主要是確保同一個表或者不同表之間的引用完整性,所以必須引用一個PRIMARY KEY或者UNIQUE約束,用戶必須在應用表上具有REFERENCES許可權;一個表中最多可以有31個外部鍵約束; 在臨時表中,不能使用外部鍵約束; 主鍵和外部鍵的數據類型必須嚴格匹配 。這個就不多說了給大家推薦一個網站http://tech.sina.com.cn/s/2010-01-04/00481199365.shtml
系摘抄....
網上隨便搜索一下,大把大把的~~~
『肆』 簡述資料庫的三大範式和五大約束
範式書上講解太拗口,自己總結一下:
第一範式:數據表中的每一列(每個欄位)必須是不可拆分的最小單元,不允許存在隱藏欄位,屬性保持「原子性」(最大細分的二維表)
第二範式:第一範式基礎上要有主鍵,所有列都必須依賴於主鍵,而不能有任何一列與主鍵沒有關系,也就是說一個表只描述一件事情(相當於這行闡述的是一個人時,你不能加一列說明天氣)
第三範式:滿足第二範式,表中的每一列只與主鍵直接相關而不是間接相關,(表中的每一列只能依賴於主鍵)
正規化範式(BCDF):所有表中的決定因素必須是一個候選鍵,如果只有一個候選鍵,那麼就和第三範式是一樣的。
有第四第五範式,更高的範式是為了解決數據冗餘問題,但可以通過其他辦法達到。所以一般用不到
五大約束:
1. primary KEY :設置主鍵約束;
2. UNIQUE :設置唯一性約束,不能有重復值;
3. DEFAULT 默認值約束,height DOUBLE(3,2)DEFAULT 1.2 height不輸入是默認為1,2
4. NOT NULL :設置非空約束,該欄位不能為空;
5. FOREIGN key :設置外鍵約束。