数据库架构推荐

标签 database database-design schema

我正在为一个需要建模的数据问题而绞尽脑汁。我会尽力概述表格和关系

users (basic user information name/etc)
users.id

hospitals (basic information about hospital name/etc)
hospitals.id

pages
pages.id
user_id (page can be affiliated with a user)
hospital_id (page can be affiliated with a hospital)

这是新数据开始的地方,我遇到了问题

groups (name of a group of pages)
groups.id

groups_pages (linking table)
group_id
page_id

现在这是棘手的部分.. 一个组可以由用户或医院“拥有”,但这些页面不一定与该用户/医院相关联.. 此外,还有另一种类型的实体(公司)可以“拥有”该组

显示群组时,我需要知道群组是什么类型(用户/医院/公司),并能够获得正确的附属数据(姓名、地址等)

我对如何将组链接到其各自的所有者一无所知,因为我知道其各自的所有者可能不同。

最佳答案

  • Party 是个人或组织的通用术语。
  • Party 表中保留所有常用字段(电话号码、地址..)。
  • PersonHospital 应该只有子类型的特定字段。
  • 如果 companyHospital 有不同的列集,只需将其添加为另一个子类型即可。
  • 如果 Hospitalcompany 有相同的列,将 Hospital 重命名为更通用的 Organization
  • PartyType 是鉴别器 {P,H}

enter image description here

关于数据库架构推荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11471251/

相关文章:

node.js - Node JS mongoose 创建博客文章评论系统

java - 我可以使用 Spring Boot 在正在运行的应用程序上添加数据库连接吗?

mysql - 使用聚集索引重新排列表中的记录

MySQL 购物车结构

ruby-on-rails - rails destroy scaffold leaves 后 table

mysql - 数据库设计: how to effectively manage about 4000 databases with mysql

mysql - 制作触发器以防止插入数据

javascript - 如何从node.js中的postgresql脚本读取

database - 何时构建单独的报告数据库?

database - 数据库中一张大表还是许多小表?