相关疑难解决方法(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万
查看次数

多种用户类型 - 数据库设计建议

我正在开发一个 Web 应用程序,该应用程序将支持每个用户具有相应角色的用户身份验证。此外,我的用户可以是不同的类型,并且具有与之关联的不同字段。每个用户拥有的某些字段是相同的,例如:

email, password, first_name, last_name, etc.
Run Code Online (Sandbox Code Playgroud)

但是不同用户类型的一些字段会有所不同。例如:

User Type: Instructor
Fields unique to this type of user
----------------------------------
hourly_rate, tax_status

==================================

User Type: Student   
Fields unique to this type of user
----------------------------------
instrument, monthly_charge, program

==================================

User Type: Employee
Fields unique to this type of user
----------------------------------
hourly_rate, location
Run Code Online (Sandbox Code Playgroud)

这是在这些类型的用户之间可以相似和独特的字段类型的简要示例。

我想到的可能设置是:

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` …
Run Code Online (Sandbox Code Playgroud)

mysql database-design user-defined-type

14
推荐指数
1
解决办法
1万
查看次数