相关疑难解决方法(0)

MySQL如何对两个表的继承进行建模

我有一些表格来存储数据,并且根据从事工作的人(工人/文职人员)的类型,我想将其存储在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)

mysql database-design subtypes

20
推荐指数
3
解决办法
7万
查看次数

基于PostgreSQL继承的数据库设计

我正在开发一个简单的保姆应用程序,它有两种类型的用户:“父母”和“保姆”。我使用 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)

postgresql database-design inheritance

5
推荐指数
1
解决办法
801
查看次数