首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >药店信息规范化问题

药店信息规范化问题
EN

Database Administration用户
提问于 2018-05-17 11:30:04
回答 3查看 243关注 0票数 -1

我想收集我国大约10000家药店的所有数据。

我的设计如下:

代码语言:javascript
复制
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)

每个药剂师可以在一个或多个药店工作,每个药店老板可以持有一个或更多的药店,每个药店的主要信息有一个药店的详细信息。

我们的模式对DB中的实现有好处吗?还是需要一些正常化?

EN

回答 3

Database Administration用户

发布于 2018-05-17 21:15:58

如果drugstoreMaindrugstoreDetail之间存在1比1的匹配(也就是说,每个drugstoreMain行都有一个和唯一一个匹配的drugstoreDetail行),那么逻辑表似乎就是drugstore,所有列都在一个表中。

有一些潜在的理由来分裂它。特别是,如果有一组列很少被引用,而另一组列将被频繁引用,那么它可以提高分离很少引用的列的性能。但是,有了适当的索引和对所需列的良好规范(避免使用SELECT *),性能可能与两个表一样好。

当然,我也可能误解了,您可能需要有一个主表和一个详细表。尽管如此,考虑清楚这些事情还是很好的。

票数 1
EN

Database Administration用户

发布于 2018-05-17 12:59:56

有几件事:

您需要一些数据类型。

drugstore_main比drugstore_details表要大,这可能会使事情慢下来。

你是怎么得到数据的?这将在您希望如何构造数据库方面发挥很大的作用。构建数据库以反映用于填充它的平面文件可能更容易。

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

票数 0
EN

Database Administration用户

发布于 2018-05-17 13:03:59

我会考虑为药学技术表添加一个列和一个外键,以确保只有有效的药店ID才能分配给该技术。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/207037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档