Database-Design
藥店資訊的規範化問題
我想擷取關於我國 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 中實現?還是需要一些規範化?
如果
drugstoreMain
and之間存在一對一的匹配drugstoreDetail
(即我,每一drugstoreMain
行都有一個且只有一個匹配drugstoreDetail
的行),那麼邏輯表似乎只是drugstore
,所有列都在一個表中。有潛在的理由將其拆分。特別是,如果有一組很少被引用的列,而另一組經常被引用,那麼分離出很少引用的列可以提高性能。但是,通過適當的索引和所需的列的良好規範(避免
SELECT *
),一個表的性能可能與兩個表一樣好。另外,當然,我可能理解錯了,你可能要求有一個主表和一個明細表。不過,考慮這些事情還是很好的。
一些東西:
您將需要一些數據類型。
drugstore_main 比 drugstore_details 表大,這可能會使事情變慢。
你是如何獲取數據的?這將在您希望如何建構數據庫方面發揮重要作用。建構數據庫以反映您用來填充它的平面文件可能更容易。
哦,使用整數 ID 可以省去很多麻煩,不要使用 newid()。