gpt4 book ai didi

c# - 关系型 SQL Server 数据库

转载 作者:行者123 更新时间:2023-11-28 17:48:46 26 4
gpt4 key购买 nike

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

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

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

我不太了解数据库,但我认为这些东西要么放在完全不同的数据库中,要么放在同一个数据库中的不同表中。不知道哪个是正确答案。

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

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

谢谢。

最佳答案

像这样:

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 用于 checkout ):

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

关于c# - 关系型 SQL Server 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22727495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com