自從我開始處理我的數據庫以來,我一直在爲最初的決定而奮鬥。我在辯論我是否需要爲電子郵件地址設置單獨的表格。我的數據庫看起來是這樣的:名稱和電子郵件地址的單獨表格?
people(id, first_name, last_name, email)
addresses(id, address, street, city, state, zip, latitude, longitude)
addresses_people(id, person_id, address_id)
phone_numbers(id, person_id, phone_number, type)
我想我並不需要一個單獨的表的電子郵件地址,我只是想每人一個,無論他們是否有更多的。我似乎有的問題是,有些人不會有電子郵件地址。我經常會將孩子存放在人們的桌子上。現在看來,如果我將電子郵件地址放在單獨的表格中,以避免成千上萬個空電子郵件字段,這將會是更好的設計。
現在應用程序已經投入生產,現在改變它是一個巨大的麻煩,但現在改變它,而不是從現在開始的一兩年,將會成倍地變得更加容易。將電子郵件更改爲另一張表是否值得一兩天?
然後,您將用數千個空的文本字段替換數千個空的外鍵字段。 – 2012-04-27 15:30:43
什麼比例的領域將是空的? – stuartd 2012-04-27 15:31:06
@ Mr.Disappointment:外鍵可能在'emails'表格一側。 – 2012-04-27 15:32:52