Ms-Access

如何專業地規範我的數據庫 - 包括截圖

  • November 25, 2019

您好數據庫管理員。

我得到了一些帶有“我的客戶”數據的 Excel 電子表格,我想從中創建專業設計的數據庫。誰能告訴我應該如何規範化這些數據,應該創建哪些表以及它們應該如何相互關聯,以便我的數據庫符合企業行業標準?

我知道我只是數據庫創建的初學者,但我已經了解了數據庫規範化的概念,我渴望學習,我將不勝感激任何幫助和指導。

這是我導入訪問表的第一塊數據。 如您所見,我已經將作業名稱更改為數字,並且我有單獨的表格,這些數字被分配到作業名稱中。

這是我導入訪問表的第一塊數據。如您所見,我已經將作業名稱更改為數字,並且我有單獨的表格,這些數字被分配到作業名稱中。這是在工作表中。

帶有作業名稱的作業表

帶有作業名稱的作業表。

這是其餘的數據-請幫我整理一下。

這個 *BESTMovie 列怎麼樣 - 他們需要標準化嗎? 有些電影重複 10 次,有些則根本不重複。

這個 *BESTMovie 列怎麼樣 - 他們需要標準化嗎?有些電影重複 10 次,有些則根本不重複。

還有一個關於“*Profession”和“*BESTMovie”專欄的問題。

如果我有一些人,比如說克林特·伊斯特伍德或羅伯特·德尼羅,我想分配的不僅是 3 部電影,還有 5 部電影,如何在不添加另一個“*BESTMovie”列的情況下做到這一點,其中大部分欄位都是空白的對於其他一些沒有超過 3 部電影的人?

我聽說過一些排名列或排名表,但我不知道它應該是什麼樣子。

我的其餘數據如下所示:

這是我用來描述一個人的“EyesColor”列和“形容詞”。 這些列可以標準化嗎?應該標準化嗎? 眼睛的顏色當然會重複很多次,形容詞的重複頻率較低,但確實會重複。

這是我用來描述一個人的“EyesColor”列和“形容詞”。這些列可以標準化嗎?應該標準化嗎?眼睛的顏色當然會重複很多次,形容詞的重複頻率較低,但確實會重複。

我希望這個問題很好,我期待著你們的回答。

你有

  • 客戶表。
  • 工作表。

您可以通過將該資訊移動到包含

  • 客戶ID
  • 作業編號
  • 代表“第一”、“第二”、“第三”職業的東西
  • 確保數據有效的約束

要以原始形式取回數據,請使用 VIEW。

例子:

create table customer_jobs (
   customer_id int not null
   ,job_id int not null
   ,order_by number(1) not null -- defines "1stProfession","2ndProfession","3rdProfession"

   -- ensures that each customer has only one "1st Profession", not two "1st Professions
   ,constraint customer_jobs_pk primary key (customer_id, order_by)
   -- ensures each customer claims a job once and only once
   ,constraint customer_jobs_uq1 unique (customer_id, job_id)
   -- ensures that the customer is a known customer
   ,constraint customer_jobs_fk1 foreign key (customer_id) references customers (id)
   -- ensures that the job is a known job
   ,constraint customer_jobs_fk2 foreign key (job_id) references jobs (id)
   -- Limits to only 1st, 2nd, and 3rd Professions
   ,constraint customer_jobs_ck1 check (order_by between 1 and 3)
);

*BestMovie對列重複此方法

引用自:https://dba.stackexchange.com/questions/254118