1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
-- CAS 1 : CONTRAINTE & INDEX UNIQUE
-- TABLE MARQUEUR : INDEX UNIQUE SUR LA COLONNE MARQUEUR
-- PRIMARY KEY LAB_MARQUEUR_ID
CREATE TABLE [dbo].[MARQUEUR]
(
[LAB_MARQUEUR_ID] [int] IDENTITY(1,1) NOT NULL,
[MARQUEUR] [varchar](15) NOT NULL,
CONSTRAINT [PK_LAB_MARQUEUR] PRIMARY KEY CLUSTERED ([LAB_MARQUEUR_ID] ASC)
)
CREATE UNIQUE NONCLUSTERED INDEX [IX_MARQUEUR] ON [dbo].[LAB_MARQUEUR] ([MARQUEUR] ASC)
-- TABLE MARQUEUR : INDEX UNIQUE SUR LA COLONNE ALLELE
-- INDEX SUR LA COLONNE LAB_MARQUEUR_ID (FOREIGN KEY)
-- PRIMARY KEY LAB_MARQUEUR_ALLELE_ID
CREATE TABLE [dbo].[LAB_MARQUEUR_ALLELE]
(
[LAB_MARQUEUR_ALLELE_ID] [int] IDENTITY(1,1) NOT NULL,
[ALLELE] [varchar](10) NOT NULL,
[LAB_MARQUEUR_ID] [int] NOT NULL,
CONSTRAINT [PK_LAB_MARQUEUR_ALLELE] PRIMARY KEY CLUSTERED ([LAB_MARQUEUR_ALLELE_ID] ASC),
CONSTRAINT [FK_LAB_MARQUEUR_ALLELE_LAB_MARQUEUR] FOREIGN KEY([LAB_MARQUEUR_ID])
)
CREATE NONCLUSTERED INDEX [LAB_MARQUEUR_ID] ON [dbo].[LAB_MARQUEUR_ALLELE] ([LAB_MARQUEUR_ID] ASC)
CREATE UNIQUE NONCLUSTERED INDEX [IX_ALLELE] ON [dbo].[LAB_MARQUEUR_ALLELE] ([ALLELE] ASC)
-- -------------------------------------------------------------------------
-- CAS 2 : CONTRAINTE & INDEX UNIQUE
-- TABLE MARQUEUR : INDEX UNIQUE SUR LA COLONNE MARQUEUR
-- CONTRAINTE UNIQUE SUR LA COLONNE MARQUEUR
-- PRIMARY KEY LAB_MARQUEUR_ID
CREATE TABLE [dbo].[MARQUEUR]
(
[LAB_MARQUEUR_ID] [int] IDENTITY(1,1) NOT NULL,
[MARQUEUR] [varchar](15) NOT NULL,
CONSTRAINT [PK_LAB_MARQUEUR] PRIMARY KEY CLUSTERED ([LAB_MARQUEUR_ID] ASC),
CONSTRAINT [PK_CONSTRAINT_MARQUEUR] UNIQUE ([MARQUEUR])
)
CREATE UNIQUE NONCLUSTERED INDEX [IX_MARQUEUR] ON [dbo].[LAB_MARQUEUR] ([MARQUEUR] ASC)
-- TABLE MARQUEUR : INDEX UNIQUE SUR LA COLONNE ALLELE
-- INDEX SUR LA COLONNE LAB_MARQUEUR_ID (FOREIGN KEY)
-- PRIMARY KEY LAB_MARQUEUR_ALLELE_ID
-- CONTRAINTE UNIQUE SUR LES COLONNES MARQUEUR ET LAB_MARQUEUR_ID
CREATE TABLE [dbo].[ALLELE]
(
[LAB_MARQUEUR_ALLELE_ID] [int] IDENTITY(1,1) NOT NULL,
[ALLELE] [varchar](10) NOT NULL,
[LAB_MARQUEUR_ID] [int] NOT NULL,
CONSTRAINT [PK_LAB_MARQUEUR_ALLELE] PRIMARY KEY CLUSTERED ([LAB_MARQUEUR_ALLELE_ID] ASC),
CONSTRAINT [FK_LAB_MARQUEUR_ALLELE_LAB_MARQUEUR] FOREIGN KEY([LAB_MARQUEUR_ID]),
CONSTRAINT [PK_CONSTRAINT_MARQUEUR_ALLELE] UNIQUE ([ALLELE],[LAB_MARQUEUR_ID])
)
CREATE NONCLUSTERED INDEX [LAB_MARQUEUR_ID] ON [dbo].[LAB_MARQUEUR_ALLELE] ([LAB_MARQUEUR_ID] ASC)
CREATE UNIQUE NONCLUSTERED INDEX [IX_ALLELE] ON [dbo].[LAB_MARQUEUR_ALLELE] ([ALLELE] ASC) |
Partager