Dans expo_perm.json et expo_temp.json, nous avons utilisé une représentation avec imbrication redondante pour les guides, les salles et les panneaux, c'est à dire qu'ils sont décrits plusieurs fois dans une exposition.
Et pour les oeuvres nous avons utilisé une liste avec leur ids.
Et pour les oeuvres nous avons utilisé une liste avec leur ids, les oeuvre seraient implémentées dans un autre fichier json.
Pour écrire les tables des oeuvres en JSON, on doit adopter une des deux méthodes pour gérer les clés étrangère:<br>
-soit on met juste l'id correspondant <br>
-soit on redéfinit à chaque fois (imbrication redondante)
Si par exemple on choisit la première méthode, l'attribut auteur serait un entier et expo une liste d'entier.
L'inconvénient du NoSQL est la redondance et la possiblité de non-cohérence des données, mais a l'avantage d'être plus souple et plus rapide qu'une base de donnnées relationnelle.
\ No newline at end of file
L'inconvénient du NoSQL est la redondance et la possiblité de non-cohérence des données, mais a l'avantage d'être plus souple et plus
Le musée du Louvre a besoin d'un système de gestion de ses œuvres et expositions. Vous êtes en charge de la modélisation et de l'implémentation d'une base de données permettant de répondre au problème, et développerez une interface permettant l'interaction avec ce système.
## Documents
__UML.pdf__<br/>
__MLD.txt__<br/>
__NCD.md__<br/>
    note de clarification du projet <br/>
__init.sql__<br/>
   fichier d'initialisation de la base de donnée <br/>
> - creation de tables
> - vues d'héritages
> - set signifiactif de données <br/>
__applications.py__ : <br/>
code soucre de l'application python finalisée permettant les requetes suivantes
> 1. Requêtes d'insertions :
>    - Insérer un autre musée
>    - Insérer une oeuvre
>    - Insérer une exposition permanente
>    - Insérer une exposition temporaire (et y exposer des oeuvres liée à un autre musée)
>    - Insérer une salle d'exposition ( et la liée a une exposition)
>    - Insérer un panneau explicatif sur une exposition dans une sallle
>    - Insérer un guide (et affectation à des exposition permanente et temporaires)<BR/>
> 2. Requêtes de Selection
> - Lister les guides avec leur identification, nom, prénom, et date d'embauche.
> - Lister toutes les informations des expositions permanentes.
> - Lister toutes les informations des expositions temporaires en cours et futures, ainsi que les identifications et noms des salles qui leur sont attribuées.
> - Afficher les identifications des guides participant à une exposition donnée (gérer cas exposition permanente et exposition temporaire).
> - Afficher le nombre d'oeuvres et le prix moyen d'acquisition des oeuvres d'une exposition donnée.
> - Lister les oeuvres appartenant au Louvre (identification unique, titre, dates et type), triées dans cet ordre par type, par date, par titre.
> - Identifier de manière unique les oeuvres actuellement prêtées (pas les prêts passés ni futurs) par le Louvre, avec la date de fin du prêt, triées par date de fin du prêt.
> - Afficher le temps moyen des prêts avec chaque musée extérieur, identifié de manière unique et avec leur nom et adresse (groupé par musée).
> - Indiquer pour chaque oeuvre (inclure les oeuvres appartenant à des musées extérieurs) : le prix d'acquisition, le nombre de restaurations qu'elle a subi, et le coût cumulé des restaurations.
> - Compter le nombre d'oeuvres actuellement absentes (= en prêt ou en restauration), groupées par exposition permanente identifiée de manière unique.
> - Identifier de manière unique les oeuvres actuellement empruntées par le Louvre, avec l'identification unique et le titre de l'exposition temporaire où elles sont exposées, avec la date de fin de l'emprunt, triées par date de fin de l'emprunt.
> - Afficher les oeuvres ayant été créées à une période donnée, avec toutes leurs informations ainsi que l'identification unique, nom, si elles appartiennent ou non au Louvre, les durées éventuelles des expositions dans lesquelles elles sont/ont été/seront exposées.
> - Compter le nombre de créneaux d'attribution de visite d'expositions permanentes par guide (avec toutes les informations des guides, pas de distinction par exposition).
> - Compter le nombre d'expositions accueillies par salles, par ordre décroissant, avec la durée cumulée, ainsi que l'affichage de toutes les informations de la salle.<br/>
__expo_temp.json__<br/>
__expo_perm.json__<br/>
deux fichiers json offrant une modelisation alternative non relationnelle <br/>
__Nosql.md__<br/>
fichier d'explication et d'argumentation sur les solutions NoSQL et R-JSON <br/>
INSERTINTOOeuvre_louvre(titre,dimensions,type,date_crea,auteur,prix_acq,date_acq,expo)VALUES('La joconde','0.77 x 0.53','peinture',1510,2,10000000,TO_DATE('1990-01-01','YYYY-MM-DD'),'Femmes');
INSERTINTOOeuvre_louvre(titre,dimensions,type,date_crea,auteur,prix_acq,date_acq)VALUES('Annonciation','0.98 x 0.217','peinture',1480,2,10000,TO_DATE('2001-04-01','YYYY-MM-DD'));
INSERTINTOOeuvre_louvre(titre,dimensions,type,date_crea,auteur,prix_acq,date_acq,expo)VALUES('Autopotrait','0.81 x 0.60','peinture',1901,4,20000,TO_DATE('2006-07-01','YYYY-MM-DD'),'Cubisme');
INSERTINTOOeuvre_louvre(titre,dimensions,type,date_crea,auteur,prix_acq,date_acq,expo)VALUES('hydre','1.00 x 0.53','sculpture',810,5,1906500,TO_DATE('1890-01-01','YYYY-MM-DD'),'Grece antique');
INSERTINTOOeuvre_louvre(titre,dimensions,type,date_crea,auteur,prix_acq,date_acq,expo)VALUES('hydre','1.00 x 0.53','sculpture',810,5,1906500,TO_DATE('1890-01-01','YYYY-MM-DD'),'Grece antique');