我有一些表格来存储数据,并且根据从事工作的人(工人/文职人员)的类型,我想将其存储在event表格中,现在这些人拯救了一只动物(有一张animal桌子)。
最后,我想要一个表来存储一个人(工人/平民)拯救动物的事件,但是我应该如何添加外键或如何知道id完成这项工作的平民或工人的价值?
现在,在这个设计中,我不知道如何关联哪个人完成了这项工作,如果我只有一种人(又名平民)我只会将civil_idvale存储person在最后一张表的一列中......但是如何知道是民用还是工人,我需要其他“中间”表吗?
MySQL中如何体现下图的设计?

我用以下方式对其进行了建模:
DROP TABLE IF EXISTS `tbl_animal`;
CREATE TABLE `tbl_animal` (
id_animal INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(25) NOT NULL DEFAULT "no name",
specie VARCHAR(10) NOT NULL DEFAULT "Other",
sex CHAR(1) NOT NULL DEFAULT "M",
size VARCHAR(10) NOT NULL DEFAULT "Mini",
edad VARCHAR(10) NOT NULL DEFAULT "Lact",
pelo VARCHAR(5 ) NOT NULL DEFAULT "short",
color VARCHAR(25) NOT NULL DEFAULT "not defined",
ra VARCHAR(25) NOT …Run Code Online (Sandbox Code Playgroud) 我正在开发一个简单的保姆应用程序,它有两种类型的用户:“父母”和“保姆”。我使用 postgresql 作为我的数据库,但我在设计我的数据库时遇到了麻烦。
'Parent' 和 'Babysitter' 实体具有可以概括的属性,例如:用户名、密码、电子邮件……这些属性可以放置在名为“用户”的父实体中。它们也都有自己的属性,例如:Babysitter -> age。
就 OOP 而言,事情对我来说非常清楚,只需扩展用户类就可以了,但在 DB 设计中,情况有所不同。在发布这个问题之前,我在互联网上漫游了一周,以寻找对这个“问题”的洞察。我确实找到了很多信息,但
在我看来,有很多分歧。以下是我读过的一些帖子:
/sf/ask/13320751/ : Table-Per-Type (TPT), Table-Per-Hierarchy (TPH) 和 Table- Per-Concrete (TPC) VS '将 RDb 强制转换为基于类的需求是完全不正确的。
Table: `users`; contains all similar fields as well as a `user_type_id` column (a foreign key on `id` in `user_types`
Table: `user_types`; contains an `id` and a `type` (Student, Instructor, etc.)
Table: `students`; contains fields only related to students as well as a `user_id` column (a foreign key …Run Code Online (Sandbox Code Playgroud)