首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql数据库逻辑适合查询吗?

mysql数据库逻辑适合查询吗?
EN

Stack Overflow用户
提问于 2017-08-08 12:22:32
回答 1查看 82关注 0票数 0

我正在设计一个数据库,我想知道;

我能用疑问回答这个问题吗?员工从这些培训中获得了多少技能?

这是一个很好的结构吗?

  • 每个部门花费了多少钱
  • 每名雇员挣多少技能
  • 每个部门挣多少技能
代码语言:javascript
复制
 id session_name    Skill         impact    sugg dept   function    training_value  training no
 1  PHP             Software        3       Sales       2           100usd          1   
 2  PHP             Software        3        Finance    2           100usd    1
 3  PHP             communication   2        Sales      2           100usd    1
 4  PHP             communication   2        Finance    2           100usd    1
 5  ASP             Software        4        Sales      2           200usd          2   
 6  ASP             Software        4        Finance    2           200usd    2
 7  ASP             database        1        Sales      2           200usd    2
 8  ASP             database        1        Finance    2           200usd    2


attended training table
id student_id  training_no
1  1           1
1  1           2


student table
id    name  department
1     John  1
2     Mary  2

department table
id  name
1   sales
2   finance 

最后,我需要为每个学生找到技能。

代码语言:javascript
复制
john
software      7
communication 2
database      1

total spent 
john 300 usd

total spent by department
sales 300 usd
EN

回答 1

Stack Overflow用户

发布于 2017-08-08 12:38:37

在我看来,您的模式还可以。

然而,你应该考虑实体和关系。

你的实体似乎是培训,人员和部门。

你有很多:很多人的关系:培训。那很好。你有一个:很多部门的关系:人。这也很好。

看起来你想要某种培训的关系:部门。我猜在这里,但是您的培训表中有一个sugg dept列。这和你的部门表有直接关系吗?

你是否真的需要一个名为“出勤”的额外实体,而不仅仅是一个多到多的人际关系人:培训。你想记录一个人什么时候接受训练吗?你想记录一下这个特殊的出勤费用吗?如果有小测验,他们会得到什么分数呢?

在这种情况下,你会希望建立这样的关系:每个人都有零或更多的出勤率,每次出勤都只有一次培训,而每一次培训都有零次或更多次出勤。

我的观点是:仔细思考你的实体和关系,结果将是一个很好的表格设计。

请允许我换一种说法:你想在你的数据库中捕捉真实世界的哪一部分?在现实世界中,你希望你的数据库有什么价值?在你的申请中..。

  • 学生就是人。他们是,嗯,天生有价值和持久的实体。
  • 培训代表了创造和展示它们的劳动力和成本。
  • 出席代表学生的努力。
  • 各部门可能会支付出诊费用。在您的应用程序中,它们确实代表了权力中心。

在现实世界的这个角落里还有什么其他有价值的东西吗?老师们?经理?场地(教室)?设备?顾客?

我的观点是,找出你的实体--有价值的物品--以及它们之间的关系。然后编写表定义。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45568259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档