列上的SQL表约束

时间:2014-01-24 18:51:11

标签: c# sql sql-server

我有两个表用户和Appointements。 在User表中,我得到以下字段: Id_user,email,lastName,FirstName,hash,salt。 我把一个CONSTRAINT [UNQ_email] UNIQUE NONCLUSTERED([email] ASC)。

在Appointement中我得到以下字段: Id_Appointement,doctorName,date_App,time_App,patientLstName,patientFirstName,patientFirstName,IsAvailable,email。 我把一个CONSTRAINT [fk_emailPatient] FOREIGN KEY([emailPatient])REFERENCES [dbo]。[User]([email])

我想做类似的事情,但使用lastName和FirstName。

因为没有KEY,所以想知道如何做到这一点。在这种情况下我可以提出哪些约束?

以下是表格定义:

CREATE TABLE [dbo].[Users] (
   [Id_user]  INT           IDENTITY (1, 1) NOT NULL,
   [email] NVARCHAR (50) NOT NULL,
   [hash]     NVARCHAR (50) NOT NULL,
   [salt]     NVARCHAR (50) NOT NULL,
   [lastName]      NVARCHAR (50) NULL,
   [firstName]   NVARCHAR (50) NULL,
   PRIMARY KEY CLUSTERED ([Id_user] ASC),
   CONSTRAINT [UNQ_email] UNIQUE NONCLUSTERED ([email] ASC)
);


CREATE TABLE [dbo].[Apointement] (
   [Id_Appointement]             INT           IDENTITY (1, 1) NOT NULL,
   [doctor]     NVARCHAR (50) NOT NULL,
   [dateApp]         DATE          NOT NULL,
   [heureApp]        TIME (7)      NOT NULL,
   [patientLstName]    NVARCHAR (50) NULL,
   [patientFirstName] NVARCHAR (50) NULL,
   [IsAvailable]       BIT           NULL,
   [email]    NVARCHAR (50) NULL,
   PRIMARY KEY CLUSTERED ([rdvId] ASC),
   CONSTRAINT [fk_emailPatient] FOREIGN KEY ([emailPatient]) REFERENCES [dbo].[Users] ([email])
   );

我想在lastName和firstName上添加一个约束,但这些约束可能不是唯一的,因为我们可以拥有具有相同姓氏和名字但具有不同电子邮件地址的人。

由于

0 个答案:

没有答案