mysql - 帮助数据库建模

标签 mysql database database-design

我有两张表:一张用于领域(如科学、体育、教育),另一张用于职业(如科学家、设计师、高尔夫球手)。两个表之间存在外部关系,目前工作没有任何问题。

但现在我需要另一个表来放置“ worker 人数”、“平均年龄”、“在公司工作的年限”(每个职业的列表可能不同)。做这个的最好方式是什么?创建另一个表? parent 会是什么?基本上,这是第三种说法。

CREATE TABLE group (  
    id smallint(5) unsigned NOT NULL auto_increment,  
    area varchar(30),  
    PRIMARY KEY (id) 
)

CREATE TABLE job (  
    ref int(10) unsigned NOT NULL auto_increment,  
    jobid smallint(5) unsigned NOT NULL,  
    job varchar(50),  
    PRIMARY KEY (ref)  
)

    ALTER TABLE job
    ADD CONSTRAINT FK_job
    FOREIGN KEY (jobid) REFERENCES group(id)  
    ON UPDATE CASCADE  
    ON DELETE CASCADE;

最佳答案

据我了解,我将按如下方式设置第三个表

Table: Employee
First_Name varchar(30)
Last Name varchar(30)
Age (int(3))
Employment Date (DATE)
Active (Yes/No)
JobFK (Points to emprego.PK)

通过这种设置,您可以在表中使用联接来计算同一职业中有多少 worker 。这些员工的平均年龄,以及他们在公司工作的时间。如果提供有关您当前表的更多信息,我什至可以描述该信息的 sql 查询。

关于mysql - 帮助数据库建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757195/

相关文章:

sql - MySQL检查id是否在另一个表中

php - Mysql添加重复的varchar

database - DynamoDB 全局表复制延迟

mySQL 一对多数据存储

mysql - 无法从本地 mysql 服务器连接到 AWS RDS 数据库实例

MySQL 查询选择 -> 插入和删除所选行

sql - 关于从mysql中的表中删除数据库数据

sql - 在 Android 应用程序中存储对象的最有效数据结构

arrays - PostgreSQL 可以对数组元素进行唯一性约束吗?

mysql - 在数据库中创建排序列表