-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCAS_LA_CreateTable.sql
86 lines (73 loc) · 2.34 KB
/
CAS_LA_CreateTable.sql
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
USE Cas_LA
GO
--CRÉATION DES TABLES
CREATE TABLE BRABCHES_BRA(
BRA_NUM_BRANCHE int NOT NULL PRIMARY KEY,
BRA_NOM_BRANCHE VARCHAR(20) NOT NULL,
BRA_ADR_BRANCHE VARCHAR(20),
BRA_NBRE_EMPL DECIMAL(2,0) CHECK (BRA_NBRE_EMPL >0))
GO
CREATE TABLE EDITEURS_EDI(
EDI_CODE_EDITEUR CHAR(2) NOT NULL PRIMARY KEY,
EDI_NOM_EDITEUR VARCHAR(20) NOT NULL,
EDI_VILLE_EDITEUR VARCHAR(20),
EDI_ETAT_EDITEUR CHAR(2))
GO
CREATE TABLE AUTEURS_AUT(
AUT_NUM_AUTEUR CHAR(2) PRIMARY KEY,
AUT_NOM_AUTEUR VARCHAR(20) NOT NULL,
AUT_PRENOM_AUTEUR VARCHAR(20))
GO
CREATE TABLE LIVRES_LIV(
LIV_CODE_LIVRE CHAR(4) NOT NULL PRIMARY KEY,
LIV_TITRE_LIVRE VARCHAR(30) NOT NULL,
LIV_CODE_EDITEUR CHAR(2),
LIV_GENRE_LIVRE CHAR(3),
LIV_DATE_EDITION DATE,
LIV_PRIX_LIVRE DECIMAL(4,2) CHECK (LIV_PRIX_LIVRE >=0),
LIV_LIVRE_POCHE CHAR(1) CHECK (LIV_LIVRE_POCHE = 'O' OR LIV_LIVRE_POCHE = 'N'))
GO
CREATE TABLE ECRIT_PAR_ECR(
ECR_CODE_LIVRE CHAR(4) NOT NULL ,
ECR_NUM_AUTEUR CHAR(2) NOT NULL,
ECR_NO_SEQ DECIMAL(1,0) CHECK (ECR_NO_SEQ>0))
GO
CREATE TABLE INVENTAIRE_INV(
INT_CODE_LIVRE CHAR(4) NOT NULL,
INT_NUM_BRANCHE int NOT NULL,
INT_QTE_STOCK DECIMAL(1,0))
GO
--CRÉATION D'UNE CLÉ PRIMAIRE EN DEUX PARTIE POUR LA TABLE ECRIT_PAR_ECR
ALTER TABLE ECRIT_PAR_ECR
ADD CONSTRAINT CLE_PRIMAIRE_ECR PRIMARY KEY(ECR_CODE_LIVRE,ECR_NUM_AUTEUR)
GO
--CRÉATION D'UNE CLÉ PRIMAIRE EN DEUX PARTIE POUR LA TABLE INVENTAIRE_INV
ALTER TABLE INVENTAIRE_INV
ADD CONSTRAINT CLE_PRIMAIRE_LIV PRIMARY KEY(INT_CODE_LIVRE,INT_NUM_BRANCHE)
GO
--AJOUT DES CLÉS ÉTRANGÈRE
ALTER TABLE LIVRES_LIV
ADD CONSTRAINT CLE_ETRANGERE_LIVRE_VERS_EDITEUR FOREIGN KEY (LIV_CODE_EDITEUR)
REFERENCES EDITEURS_EDI(EDI_CODE_EDITEUR)
ON DELETE CASCADE
GO
ALTER TABLE ECRIT_PAR_ECR
ADD CONSTRAINT CLE_ETRANGERE_ECRITCODE_VERS_LIVRECODE FOREIGN KEY (ECR_CODE_LIVRE)
REFERENCES LIVRES_LIV(LIV_CODE_LIVRE)
ON DELETE CASCADE
GO
ALTER TABLE ECRIT_PAR_ECR
ADD CONSTRAINT CLE_ETRANGERE_ECRITAUTEUR_VERS_AUTEURNUM FOREIGN KEY (ECR_NUM_AUTEUR)
REFERENCES AUTEURS_AUT(AUT_NUM_AUTEUR)
ON DELETE CASCADE
GO
ALTER TABLE INVENTAIRE_INV
ADD CONSTRAINT CLE_ETRANGERE_LIVREINVENTAIRE_VERS_LIVRES FOREIGN KEY (INT_CODE_LIVRE)
REFERENCES LIVRES_LIV(LIV_CODE_LIVRE)
ON DELETE CASCADE
GO
ALTER TABLE INVENTAIRE_INV
ADD CONSTRAINT CLE_ETRANGERE_LIVREBRANCHE_VERS_BRANCHES FOREIGN KEY (INT_NUM_BRANCHE)
REFERENCES BRABCHES_BRA(BRA_NUM_BRANCHE)
ON DELETE CASCADE
GO