【问题标题】:Relational SQL Server Databases关系 SQL Server 数据库
【发布时间】:2014-03-29 15:27:27
【问题描述】:

我刚刚在这里注册,这是我的第一个问题。我希望我能清楚地解释自己,因为作为一名自学成才的开发人员,我不太会说行话。

我的问题:我的项目数据库包含员工信息,并包含名字、姓氏、工作职位等内容。(静态内容)。

当我还想开始收集每个员工的所有时钟输入和时钟输出事件时,我的问题就开始了。我想不出一种优雅的方式将这些添加到我当前的数据库中。

我对数据库了解不多,但我认为这些东西应该放在完全不同的数据库中,或者可能放在同一个数据库中的不同表中。 不知道哪个是正确的答案。

另一件事是这 2 个数据库或 2 个表需要以某种方式相互关联。当我从列表中选择一名员工 [来自第一个 DB 或 Tbl 的数据] 并选择查看该特定员工的时钟事件历史 [来自第二个 DB 或 Tbl 的数据] 我应该看到该员工的时钟进出而不是一些其他员工的时钟事件历史记录。

分步教程不是必需的,但值得赞赏。你能给我一个快速解释/概述如何做到这一点吗?如果需要,我可以添加更多关于 项目。

谢谢。

【问题讨论】:

  • 如果您只对为您的应用程序开发数据库/表感兴趣,那么我建议您删除所有与您的项目无关的信息。我现在将编辑它。如果你喜欢,请批准。顺便说一句,哪个版本的 sql server ?
  • 感谢“Borat”的编辑,但我很快就从“Dai”和“Vikas Rana”得到了我想要的答案,以至于我没有机会改变它。这正是我所需要的。所以我应该做的只是制作另一个表并使用“外键”将表相互关联。我想我可以快速谷歌如何做外键并完成这项工作。多谢你们!那是超级快!顺便说一句:我试图投票,它说我必须达到 15 岁才能投票,所以......对不起。
  • 没问题。祝你好运,祝你great success!陈奎。
  • 多么受欢迎!几分钟内2个完美答案。波拉特、戴和维卡斯·拉纳……我欠你的。现在我要开始制作第二张桌子了。稍后。
  • 虽然投票需要一些“声誉”,但您可以而且应该接受您满意的答案之一。

标签: c# sql-server html css


【解决方案1】:

像这样:

CREATE TABLE Employees (
    EmployeeId bigint IDENTITY(1,1) PRIMARY KEY,
    FirstName nvarchar(50),
    LastName nvarchar(50),
    etc
)

CREATE TABLE EmployeeClocks ( -- rename as appropriate
    EmployeeId bigint, -- foreign key
    DateTime datetimeoffset(7),
    ClockInType tinyint, -- values defined by an enum inside your program code

    CONSTRAINT FK_EmployeeClocks_Employees FOREIGN KEY (EmployeeId) REFERENCES Employees (EmployeeId) ON DELETE CASCADE ON UPDATE CASCADE
)

现在进行一些查询:

获取员工的所有签到(假设ClockInType = 1 用于签到,2 用于下班):

 SELECT
     DateTime
 FROM
     EmployeeClocks
     INNER JOIN Employees ON EmployeeClocks.EmployeeId = Employees.EmployeeId
 WHERE
     Employees.FirstName = "Dick" AND
     Employees.LastName = "Butt"

【讨论】:

    【解决方案2】:

    了解database schema

    您必须在一个数据库中使用两个表,Dai 的回答显示了这些表。如果您对数据库不熟悉,只需添加几个词,然后首先阅读有关它的设计理念,而不是制作数据库。因为项目完成后很难更改数据库。
    从这里阅读一些文章

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多