Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Dimitri Nicolas
AI23 - Projet
Commits
54f277b8
Commit
54f277b8
authored
Jun 24, 2021
by
Marine Marsal
Browse files
Update VIEWS.sql mise à jour vues
parent
399b9b27
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/database/VIEWS.sql
View file @
54f277b8
...
...
@@ -13,85 +13,84 @@ CREATE VIEW Repartition_Emprunts AS
FROM
exemplaire
JOIN
exemplairepret
ON
exemplaire
.
ref
=
exemplairepret
.
ref
GROUP
BY
"category"
;
CREATE
OR
REPLACE
VIEW
VLivre
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
l
.
isbn
isbn
,
l
.
resume
resume
,
l
.
langue
langue
FROM
Ressource
r
JOIN
Livre
l
ON
l
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VOeuvreMusicale
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
om
.
longueur
longueur
FROM
OeuvreMusicale
om
JOIN
Ressource
r
ON
om
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VFilm
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
f
.
longueur
longueur
,
f
.
synopsis
synopsis
FROM
Film
f
JOIN
Ressource
r
ON
f
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VAdherent
AS
SELECT
u
.
login
login
,
u
.
motdepasse
motdepasse
,
u
.
nom
nom
,
u
.
prenom
prenom
,
u
.
adresse
adresse
,
u
.
mail
mail
,
a
.
numcarte
numcarte
,
a
.
datenaissance
datenaissance
,
a
.
numtel
numtel
,
a
.
dateadhesion
dateadhesion
,
a
.
blacklisted
blacklisted
FROM
Utilisateur
u
JOIN
Adherent
a
ON
u
.
login
=
a
.
login
;
CREATE
OR
REPLACE
VIEW
VPersonnel
AS
SELECT
u
.
login
login
,
u
.
motdepasse
motdepasse
,
u
.
nom
nom
,
u
.
prenom
prenom
,
u
.
adresse
adresse
,
u
.
mail
mail
FROM
Utilisateur
u
JOIN
Personnel
p
ON
u
.
login
=
p
.
login
;
CREATE
OR
REPLACE
VIEW
RessourcesPopulaires
AS
SELECT
r
.
titre
,
COUNT
(
ep
.
ref
)
nb_emprunt
SELECT
r
.
titre
titre
,
r
.
codeUnique
codeUnique
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
Ressource
r
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
r
.
titre
GROUP
BY
r
.
titre
,
r
.
codeUnique
HAVING
COUNT
(
ep
.
ref
)
>
2
ORDER
BY
COUNT
(
ep
.
ref
)
DESC
;
CREATE
OR
REPLACE
VIEW
GenresPopulaires
AS
SELECT
r
.
genre
,
COUNT
(
ep
.
ref
)
nb_emprunt
SELECT
r
.
genre
genre
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
Ressource
r
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
r
.
genre
HAVING
COUNT
(
ep
.
ref
)
>
2
ORDER
BY
COUNT
(
ep
.
ref
)
DESC
;
CREATE
OR
REPLACE
VIEW
LivresPopulaire
AS
SELECT
r
.
titr
e
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
Livre
l
JOIN
Ressource
r
ON
l
.
codeUnique
=
r
.
codeUnique
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
r
.
titre
SELECT
vl
.
titre
titre
,
vl
.
codeUnique
codeUniqu
e
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
V
Livre
v
l
JOIN
Exemplaire
e
ON
e
.
ressource
=
vl
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
vl
.
titre
,
vl
.
codeUnique
HAVING
COUNT
(
ep
.
ref
)
>
2
ORDER
BY
COUNT
(
ep
.
ref
)
DESC
;
CREATE
OR
REPLACE
VIEW
OeuvresMusicalesPopulaire
AS
SELECT
r
.
titre
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
OeuvreMusicale
om
JOIN
Ressource
r
ON
om
.
codeUnique
=
r
.
codeUnique
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
r
.
titre
SELECT
vom
.
titre
titre
,
vom
.
codeUnique
codeUnique
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
V
OeuvreMusicale
v
om
JOIN
Exemplaire
e
ON
e
.
ressource
=
vom
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
vom
.
titre
,
vom
.
codeUnique
HAVING
COUNT
(
ep
.
ref
)
>
2
ORDER
BY
COUNT
(
ep
.
ref
)
DESC
;
CREATE
OR
REPLACE
VIEW
FilmsPopulaires
AS
SELECT
r
.
titr
e
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
Film
f
JOIN
Ressource
r
ON
f
.
codeUnique
=
r
.
codeUnique
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
r
.
titre
SELECT
vf
.
titre
titre
,
vf
.
codeUnique
codeUniqu
e
,
COUNT
(
ep
.
ref
)
nb_emprunt
FROM
V
Film
v
f
JOIN
Exemplaire
e
ON
e
.
ressource
=
vf
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
GROUP
BY
vf
.
titre
,
vf
.
codeUnique
HAVING
COUNT
(
ep
.
ref
)
>
2
ORDER
BY
COUNT
(
ep
.
ref
)
DESC
;
CREATE
OR
REPLACE
VIEW
DureeMaxEmpruntParAdherent
AS
SELECT
u
.
nom
,
MAX
(
duree
)
dureeEmpruntMax
FROM
Adherent
a
JOIN
Pret
p
ON
p
.
adherent
=
a
.
login
JOIN
Utilisateur
u
ON
u
.
login
=
a
.
login
GROUP
BY
u
.
nom
SELECT
va
.
nom
,
va
.
login
login
,
MAX
(
duree
)
dureeEmpruntMax
FROM
V
Adherent
v
a
JOIN
Pret
p
ON
p
.
adherent
=
v
a
.
login
GROUP
BY
va
.
nom
,
va
.
login
ORDER
BY
MAX
(
duree
)
DESC
;
CREATE
OR
REPLACE
VIEW
DureeMoyenneEmpruntParAdherent
AS
SELECT
u
.
nom
,
AVG
(
duree
)
dureeMoyenneEmprunt
FROM
Adherent
a
JOIN
Pret
p
ON
p
.
adherent
=
a
.
login
JOIN
Utilisateur
u
ON
u
.
login
=
a
.
login
GROUP
BY
u
.
nom
SELECT
va
.
nom
nom
,
va
.
login
login
,
AVG
(
duree
)
dureeMoyenneEmprunt
FROM
V
Adherent
v
a
JOIN
Pret
p
ON
p
.
adherent
=
v
a
.
login
GROUP
BY
va
.
nom
,
va
.
login
ORDER
BY
AVG
(
duree
)
DESC
;
CREATE
OR
REPLACE
VIEW
DureeMaxEmpruntParRessource
AS
SELECT
r
.
titre
,
MAX
(
duree
)
dureeEmpruntMax
SELECT
r
.
titre
,
r
.
codeUnique
codeUnique
,
MAX
(
duree
)
dureeEmpruntMax
FROM
Ressource
r
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
JOIN
Pret
p
ON
p
.
pretID
=
ep
.
pret
GROUP
BY
r
.
titre
GROUP
BY
r
.
titre
,
r
.
codeUnique
ORDER
BY
MAX
(
duree
)
DESC
;
CREATE
OR
REPLACE
VIEW
DureeMoyenneEmpruntParRessource
AS
SELECT
r
.
titre
,
AVG
(
duree
)
dureeMoyenneEmprunt
SELECT
r
.
titre
,
r
.
codeUnique
codeUnique
,
AVG
(
duree
)
dureeMoyenneEmprunt
FROM
Ressource
r
JOIN
Exemplaire
e
ON
e
.
ressource
=
r
.
codeUnique
JOIN
ExemplairePret
ep
ON
ep
.
ref
=
e
.
ref
JOIN
Pret
p
ON
p
.
pretID
=
ep
.
pret
GROUP
BY
r
.
titre
GROUP
BY
r
.
titre
,
r
.
codeUnique
ORDER
BY
AVG
(
duree
)
DESC
;
CREATE
OR
REPLACE
VIEW
VLivre
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
l
.
isbn
isbn
,
l
.
resume
resume
,
l
.
langue
langue
FROM
Ressource
r
JOIN
Livre
l
ON
l
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VOeuvreMusicale
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
om
.
longueur
longueur
FROM
OeuvreMusicale
om
JOIN
Ressource
r
ON
om
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VFilm
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
f
.
longueur
longueur
,
f
.
synopsis
synopsis
FROM
Film
f
JOIN
Ressource
r
ON
f
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VFilm
AS
SELECT
r
.
codeunique
codeunique
,
r
.
titre
titre
,
r
.
dateapparition
dateapparition
,
r
.
editeur
editeur
,
r
.
genre
genre
,
r
.
codeclassification
codeclassification
,
f
.
longueur
longueur
,
f
.
synopsis
synopsis
FROM
Film
f
JOIN
Ressource
r
ON
f
.
codeUnique
=
r
.
codeUnique
;
CREATE
OR
REPLACE
VIEW
VAdherent
AS
SELECT
u
.
login
login
,
u
.
motdepasse
motdepasse
,
u
.
nom
nom
,
u
.
prenom
prenom
,
u
.
adresse
adresse
,
u
.
mail
mail
,
a
.
numcarte
numcarte
,
a
.
datenaissance
datenaissance
,
a
.
numtel
numtel
,
a
.
dateadhesion
dateadhesion
,
a
.
blacklisted
blacklisted
FROM
Utilisateur
u
JOIN
Adherent
a
ON
u
.
login
=
a
.
login
;
CREATE
OR
REPLACE
VIEW
VPersonnel
AS
SELECT
u
.
login
login
,
u
.
motdepasse
motdepasse
,
u
.
nom
nom
,
u
.
prenom
prenom
,
u
.
adresse
adresse
,
u
.
mail
mail
FROM
Utilisateur
u
JOIN
Personnel
p
ON
u
.
login
=
p
.
login
;
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment