我正在为一家喷雾/中性诊所建立一个数据库。我想我已经涵盖了所有内容,但我想就我的数据库获得第二意见。我们假设拥有100,000多个客户,每个客户都有多个宠物,每个宠物都有多个工作/发票(他们不仅仅是喷洒/中性)。至少可以说我的petdetails表需要处理超过10,000,000个条目。如果有一种更好的方法来优化我的数据库以满足这样一个不断发展的系统,欢迎提出所有建议。我正在考虑将MySQL用于数据库,因为我们希望拥有一个基于Web的系统,而且每个托管公司都有。
我使用在线数据库设计工具来帮助构建系统。可以找到以下内容:Online Database Designer 点击保存/加载 - >加载(在服务器下) - >输入字段:spay / neuter
以下是我的要求:
答案 0 :(得分:0)
这似乎是一个简单的兽医患者关系管理应用程序,您正在构建,具有预约,服务呈现和计费功能。
架构上的一些评论点:
users
:clients
为1:1,请将它们折叠到一个表格中。如果客户端没有用户,或者客户端可以拥有多个用户,则该连接是合法的。petsday
所代表的内容将被称为访问,petdetails
所代表的内容将是医疗记录术语中提供的服务。petsdayid
不属于pet
。如果您希望能够检索给定petsday
的“当前”pet
,请进行查找。petsday
和petdetails
之间的外键:一次访问可能需要提供多项服务,而不是相反。petid
中的petdetails
是非正规的;除非性能要求,否则将其移除。codes
和options
未与任何内容相关联。对options
这可能是可以理解的,但我建议将codes
分成多个相同结构的表,每个代码对应一个代码:诊断,服务等,以便外键可以构建为维护代码类型安全。petdetails
拆分为两个表,一个用于服务(外键键入服务代码),另一个用于商品(外键键入项目),以及它们之间共用的字段子集。