如何将此选项存储在我的SQL Server DB中以在c#中使用

本文关键字:DB Server 我的 选项 存储 SQL | 更新日期: 2023-09-27 18:10:34

我正试图找出最好的方法来存储一个选项列在我的数据库,并确保它不超过它的范围。

我的数据库是SQL Server,将连接到我的c#应用程序,该应用程序存储用户工资单工作-班次和输出工资单总结总赚了一周/月/2周期间。我有2列,我不确定如何存储:

第一个是选择每周/两周/每月工资单的选项,第二个是允许用户选择一定的班次和存储,如果它是正常/半倍/双倍他们存储的小时率。

我正在考虑创建应用程序端c#验证,阻止用户输入不正确的数据。这是最简单的方法吗?对于这些情况是否存在最佳实践?

如何将此选项存储在我的SQL Server DB中以在c#中使用

您可以使用数据库检查约束,或者您可以将有效数据存储在另一个表中,该表将与您的主表有关系,由约束强制执行。您可以使用TSQL或通过SSMS中的"数据库图"工具设置关系。

查找表在应用程序中是可维护的,并且在数据不断变化的地方工作得最好。当您事先知道每个可能的值时,检查约束是合适的。

USE AdventureWorks ;
GO
CREATE TABLE Person.ContactBackup
(ContactID int) ;
GO
ALTER TABLE Person.ContactBackup
ADD CONSTRAINT FK_ContactBacup_Contact FOREIGN KEY (ContactID)
    REFERENCES Person.Contact (ContactID) ;
ALTER TABLE Person.ContactBackup
DROP CONSTRAINT FK_ContactBacup_Contact ;
GO
DROP TABLE Person.ContactBackup ;

这里有一个类似的问题