Comment créer les vues?

Derby -  
 Utilisateur anonyme -
Bonjour,





Voici le script de ma base de données, mais j'ai des problèmes de création de vue, car n'ayant pas beaucoup de notion:

Voici le script:

--creation des tables


create table Service
(
num_serv varchar2(15) not null,
libelle_serv varchar2(100),
CONSTRAINT pk_num_ser primary key(num_serv));


create table Travailleur
(
num_trav varchar2(15) not null,
nom_trav varchar2(20) not null,
statu_trav varchar2(15) not null,
fonct_trav varchar2(20) not null,
num_serv varchar2(15) not null,
CONSTRAINT pk_num primary key(num_trav),
CONSTRAINT fk_serv foreign key(num_serv) references Service(num_serv));

create table Absence
(
num_abs varchar(15) not null,
date_abs Date,
duree_abs varchar2(20) not null,
motif_abs varchar2(40) not null,
num_trav varchar2(15) not null,
CONSTRAINT pk_nume primary key(num_trav),
CONSTRAINT fk_num foreign key(num_trav) references Travailleur(num_trav));

create table conges
(num_cong varchar2(15) not null,
dat_dep_cong Date,
dat_ret_cong Date ,
nbre_jour_cong Varchar2(05) not null,
typ_cong Varchar2(50) not null,
demd_cong Varchar2(40) not null,
num_trav Varchar2(15) not null,
CONSTRAINT pk_num_cong primary key(num_cong),
CONSTRAINT fk_num_tra foreign key(num_trav) references Travailleur(num_trav));

create table Pointage

(
num_point varchar2(15) not null,
period_point Date,
heur_arriv TimeStamp,
heur_ret TimeStamp,
num_trav varchar2(15) not null,
CONSTRAINT pk_num_point primary key(num_point),
CONSTRAINT fk_num_tr foreign key(num_trav) references Travailleur(num_trav));

create table Permission

(
num_permis varchar2(15) not null,
date_permis Date,
demd_permis varchar2(50),
num_trav varchar2(15) not null,
CONSTRAINT pk_num_permis primary key(num_permis),
CONSTRAINT fk_num_t foreign key(num_trav) references Travailleur(num_trav));

create table Modepasse

(
login varchar2(15) not null,
pass varchar2(15) not null,
num_trav varchar2(15) not null,
CONSTRAINT pk_login primary key(login,pass),
CONSTRAINT fk_num_tv foreign key(num_trav) references Travailleur(num_trav));


create table Sortie

(
num_sort varchar2(15) not null,
heur_sort TimeStamp,
duree_sort varchar2(20),
motif_sort varchar2(100) not null,
num_trav varchar2(15) not null,
CONSTRAINT pk_num_sort primary key(num_sort),
CONSTRAINT fk_num_tvr foreign key(num_trav) references Travailleur(num_trav));



S'il vous plait, veillez créer toutes les vues possibles conncernant ma bd.

Merci pour votre attention

1 réponse

Utilisateur anonyme
 
Bonjour,

Créer une vue revient presque à faire une requête SQL

donc vous faites la requête qui va va bien avec une jointure, sous requête et autres et ensuite à l'aide de cette requête vous faites

create view toto as (select.... )

https://www.commentcamarche.net/contents/1071-sql-creation-de-vues

Dans votre exemple on pourrait créer la vue services_travailleur ainsi

create view ServiceTravailleur (nom, service) as
select t.nom_trav, s.libelle_serv
from
Travailleur as t
inner join Service as s on t.num_serv = s.num_serv

Cordialement
0