Bases de données SQL 1 Créer les tables

Transcription

Bases de données SQL 1 Créer les tables
Bases de données SQL
Wiesław Zielonka
⋆⋆⋆
1 Créer les tables
CREATE TABLE departement (
dnom
varchar(25) not null,
dnumero
integer PRIMARY KEY,
dir_ssn
char(9) NOT NULL,
dir_start_date date,
UNIQUE (dnom)
);
-----
nom du departement
le numero du departement
numero du sec. soc. du directeur
date d’entre en fonction du directeur
CREATE TABLE employe (
prenom
varchar(15) not null,
nom
varchar(15) not null,
ssn
char(9),
-- numero secu de l’employe
date_naiss
date,
-- date de naissance
adress varchar(50),
sexe
char CHECK ( sexe IN (’M’,’F’)),
salaire
decimal(10,2),
superviseur_ssn char(9),
-- le numero de secu de son superviseur
dnumero
integer,
-- le numero du departement
CONSTRAINT salaire_positif CHECK(salaire > 0),
PRIMARY KEY (ssn),
FOREIGN KEY (superviseur_ssn) REFERENCES employe(ssn),
FOREIGN KEY (dnumero)
REFERENCES departement(dnumero)
);
--DROP TABLE projet;
CREATE TABLE projet (
pnom
varchar(25) not null,
pnumero
int,
padresse varchar(15),
dnumero
int not null,
-- department number
primary key (pnumero),
unique (pnom),
foreign key (dnumero) references departement(dnumero)
);
1
--DROP TABLE dept_emplacements;
CREATE TABLE dept_emplacements (
dnumero
integer,
-- nomero departement
dadresse varchar(15),
primary key (dnumero,dadresse),
foreign key (dnumero) references departement(dnumero)
);
CREATE TABLE ayantdroit (
ssn
char(9),
-- employee’s social security
nom_ayant_droit varchar(15),
-- nom d’ayantdroit
sexe
char CHECK (sexe IN (’M’, ’F’)),
date_naiss
date,
-- birth date
lien
varchar(8),
-- lien de parente
primary key (ssn,nom_ayant_droit),
foreign key (ssn) references employe(ssn)
);
--DROP TABLE emp_proj;
CREATE TABLE emp_proj (
ssn
char(9), --numero secu de l’employe
pnumero
integer, --numeru du projet
heures
decimal(4,1), --nombre d’heures de travail
primary key (ssn,pnumero),
foreign key (ssn) references employe(ssn),
foreign key (pnumero) references projet(pnumero)
);
2

Documents pareils