2012年12月22日 星期六

Foreign Key 外來鍵

FOREIGN KEY
突然看這個字:FOREIGN外國人,我以前對於這個單字,考試拼字母老是出錯,剛剛仔細看一眼:將字根拆開:FORE-IGN, FORE是向前的意思, IGN,IN中間插一個G。圖像記憶法:一個外國人向前衝去在IN中插入一個G!
這樣,FOREIGN,外國人。
哈哈,記起來了。

回來看 FOREIGN KEY。外來鍵


SQL FOREIGN KEY Constraint 

SQL外來鍵的限制

FOREIGN KEY是一個資料表指向另一個資料表的主關鍵欄位(PRIMARY KEY)的鍵欄位。
也就是說這個鍵欄位的值其實是來自另一個資料表的關鍵欄位。特別是主關鍵欄位(PRIMARY KEY)。
舉例來說吧:
以下這兩個資料表:Persons 以及Orders
The "Persons" table:
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

The "Orders" table:
O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

請注意看清楚:"Orders"資料表中的欄位-"P_Id"裡面的資料值,可以指向"Persons"資料表中欄位"P_Id"。
在"Persons"資料表中的"P_ID"這個欄位是"Persons"資料表的主關鍵欄位(PRIMARY KEY)。
在"Orders"資料表中的"P_ID"這個欄位是"Orders"資料表中的外來關鍵欄位(FOREIGN KEY)。
而 FOREIGN KEY constraint ,外來關鍵欄位限制,即是用來保護預防破壞了這個兩個資料表之間的正確連結。
FOREIGN KEY CONSTRAINT同時也防止不正確的資料被新增進去這個欄位,因為這個欄位裡面的資料值必須是指向另一個資料表關鍵欄位的資料值才可以。

SQL筆記

我以前的工作曾經一段時間負責資料庫程式以及資料庫管理。基本的資料庫管理語言就是SQL。
過去使用SQL管理過大型資料庫,算是有點心得與實務經驗。
現在應用在網站應用程式,算駕輕就熟。
我也曾經起過寫一本SQL教學的書籍,但一直就只是想,沒有行動。
我就努力著記錄一些過去學習SQL點滴,或許有機會就可以集結出書囉。
呵呵,想想就好。

使用MySQL Workbench可以做很多事情,其中一個就是ER Modeling

Model就是模型。ER Model,Entity-Relationship Modeling,也就是Entity實體或物件,及其關係Relationship之間關係,所繪出的關係圖。也就是一個模型,資料實體與其關係的模型圖。

ER Modeling是資料庫分析中一個非常重要的概念,所有做資料庫程式設計者一定要會的概念,這樣資料處理才不會有問題。

現代的資料庫系統基本上都是關連式資料庫系統,MySQL、Access、MS SQL、Oracle等等都是。

SQL是一個標準。定義資料庫以及處理資料庫裡面資料的標準語言。

SQL發音:See-Quol(我自己發明的標音法,算了,我自己知道就好了。)









網站設計筆記

本網誌記錄網站設計的一些內容筆記。
網站設計需要整合很多工具與概念。
我畢業自淡江電子計算機科學學系,算是科班出身,但我們那個年代,網路還只是剛開始,相關的技術都是出社會以後陸續接觸學習,但因為基礎的關係,所以學習起來還算快的。
網站的建立與設計,牽涉的範圍真的很廣泛。
網站的目地是甚麼?銷售網頁、電子購物、廣告、社群經營、互動、教學、客戶服務、網站應用程式、......
需要整合的人才,程式設計師、資料庫管理師、網頁美編、文字編輯、多媒體製作等等。
這裡將記錄我對網站系統重新學習與複習,還有教學使用的一些資料。

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。