Database-Design

藥店資訊的規範化問題

  • May 17, 2018

我想擷取關於我國 10000 家藥店的所有數據。

我設計如下:

Drugstore main info (uniqueid, hi_number, drugstorename, drugstoretype, drugstorerelateuniversity, servicetype, workinghours, locationcity)

Drugstore details info (uniqueid, Address, Postalcode, Tell, GPSinfo, Area)

Drugstore Holder Detail (uniqueid, dh_type, Name, Family, int_code, city, address, tellو licensenumber, Quota)

Drugstore  Pharmacy technician (uniqueid, teclicense, expiredate, name, family, tell, city, wokr_time)

每個藥房技術員可以在1個或多個藥房工作,每個藥房持有人可以擁有1個或多個藥房,每個藥房主資訊有一個藥房詳細資訊。

我們的模式是否適合在 DB 中實現?還是需要一些規範化?

如果drugstoreMainand之間存在一對一的匹配drugstoreDetail(即我,每一drugstoreMain行都有一個且只有一個匹配drugstoreDetail的行),那麼邏輯表似乎只是drugstore,所有列都在一個表中。

有潛在的理由將其拆分。特別是,如果有一組很少被引用的列,而另一組經常被引用,那麼分離出很少引用的列可以提高性能。但是,通過適當的索引和所需的列的良好規範(避免SELECT *),一個表的性能可能與兩個表一樣好。

另外,當然,我可能理解錯了,你可能要求有一個主表和一個明細表。不過,考慮這些事情還是很好的。

一些東西:

您將需要一些數據類型。

drugstore_main 比 drugstore_details 表大,這可能會使事情變慢。

你是如何獲取數據的?這將在您希望如何建構數據庫方面發揮重要作用。建構數據庫以反映您用來填充它的平面文件可能更容易。

哦,使用整數 ID 可以省去很多麻煩,不要使用 newid()。

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