常見問題
遇到問題了嗎?不用擔心,答案都在這。
全站搜尋

為表單建立獨特值(Key 值)欄位

客戶名字太普遍,敲訂單時連結客戶資料,卻找不出是哪一個人下的單?如果不希望你的資料庫使用者陷入這種窘境,表單設計時,記得設一個擁有「獨特值」(unique value)的欄位,例如客戶編號(流水號),讓每一個同名同姓的客戶都可以被認得出來!

什麼是獨特值?

在我們討論的情境下,「獨特值」就是「就是指「在某個範圍內沒有重複、獨一無二的值」。

在 Ragic 的表單設計「獨特值」,意思就是該表單某個欄位的欄位值要是獨一無二、不重複的。最常見的獨特值是流水號,在 Ragic 可以用自動產生欄位值來達到。不過只要是獨一無二的值,自行編碼或自行輸入也可以,在 Ragic 你可以把欄位設為「不可重複」屬性來確保不輸入重複的值。

「獨特值」在資料庫中的意義

一般來說,我們要求要是「獨特值」的欄位,會是資料庫/資料表( Ragic 的一張表單)中,用來辨認每一筆資料的依據,這個依據也稱為資料表的「 Key 值」

舉例來說,一張商品資料表單中有 100 筆商品資料,此時光從「庫存數量」欄位的欄位值( 5 個? 10 個?),或是「顏色」欄位的欄位值(白色?紅色?),我們看不出這是哪一筆資料,通常得從「商品編號」或「商品名稱」的欄位,才能辨認這其實是哪一筆資料/哪一個商品。

假如今天要管理商品資料的是一家小文具店,原本只有進 A 型號的鉛筆,店家在商品表單的「商品名稱」欄位將 A 型號鉛筆記載為「鉛筆」,之後進 B 型號的鉛筆時沒注意,又建立了一筆商品名稱同樣是「鉛筆」的資料,那麼店員在表單中以「商品名稱」為依據,搜尋/篩選 A 型鉛筆時,就會找到兩筆資料,分不出誰是誰;賣出一支 B 型號鉛筆時,也會不知道在哪一筆扣庫存數量。

因此,作為資料辨認、比對基準的 Key 值,應該要是獨一無二、不可重複的。以前面的例子來說,第一種調整方法就是「商品名稱」改成「 A 型鉛筆」、「 B 型鉛筆」,讓「商品名稱」都是獨特值,而第二種更便於管理的方法,就是另外把以流水號產生的「商品編號」欄位當 Key 值,找商品和扣庫存時都以商品編號為依據,人為失誤的機率就更小了。

這個辨認的依據不只是要給使用者看,很多時候也是要讓電腦在執行我們希望的自動化任務——例如叫出某筆資料、找出某筆資料的某個欄位、更新某些條件的資料——時,能夠根據 Key 值來比對資料。

在 Ragic,設計連結與載入關係時,我們會建議連結欄位要是獨特值;當你準備將 Excel 或 CSV 檔的資料匯入 Ragic 時,第一欄通常得放上一個獨一無二的「Key Field」,也就是我們本文討論的「 Key 值」/「獨特值」欄位。

從外部將資料匯入 Ragic 時,可以選擇要單純的將所有資料按照欄位倒進去(產生新資料),或是逐一比對匯入表單中原本有的資料,只匯入該表單沒有的資料,不匯入重複的資料。此時,系統需要比對哪筆資料是哪筆資料,因此就需要 Key 值。

基本上,我們會建議無論如何,盡量都在表單中建立一個「 Key 值」欄位,用不上的話沒有壞處,但有需要卻沒有的話卻會很麻煩。

如果不確定哪個欄位值可以當獨特值欄位,你可以在列表頁上,在該欄位使用加總與分析功能,如果每個欄位值的筆數都是 1 ,就代表是獨特值。用這個方法也可以找出重複的值。

更詳細的說明請參考部落格文章:Ragic 表單設計知識 (1) —別忘了設計「獨特值」欄位

回最上面

    馬上註冊
    免費試用 Ragic!

    用 Google 帳號註冊

    立即科技 Ragic, Inc.
    02-7728-8692
    台北市中正區南昌路二段81號9樓