Giter Club home page Giter Club logo

recettes-db's Introduction

Site de recettes de cuisine (partie BDD)

Projet réalisé dans le cadre de l'UE de base de données et programmation web de la troisième année de licence d'informatique, avec Oracle SQL.

Organisation

Les modèles

Les modèles (les images) entité-association et logique relationnel sont rangés dans le dossier images.

Le modèle logique relationnel est disponible en deux versions : une réalisée avec JMerise et l'autre avec DBDesinger; cette dernière est trop large pour être inclue dans le rapport et être lisible, mais je l'ai laissé ici pour consultation.

J'ai également inclu le fichier jMerise.mcd, qui est justement mon fichier de travail de JMerise.

Les contraintes

J'ai définis un certain nombre de contraintes dans le rapport directement, mais il faut également se baser sur le code SQL que j'ai produit, car j'ai pu effectuer certains ajustements dans le code et oublié de répercuter ces changements dans le rapport.

Le rapport

Le rapport me permet de justifier comment je suis parvenu à ces modèles, et liste un certain nombre de containtes que ces modèles devront respecter. Les shémas y sont aussi inclus.

Le rapport se trouve dans le dossier report.

J'ai écrit un script shell pour générer mon rapport au format PDF qui s'appelle report.pdf à partir de mon fichier au format Markdown report.md. Ce script shell nécessite pandoc et s'appelle generate_report.sh.

Les scripts SQL

Tout ce qui concerne les scripts SQL et PL/SQL sont rangés dans le dossier scripts.

Comme il est assez embêtant de devoir à chaque fois se connecter à sqlplus avec ses propres identifiants, j'ai créé un script shell qui me permet de s'y connecter automatiquement, d'y passer un ou plusieurs fichiers à éxécuter en argument (si aucun fichiers, ça affiche le prompt directement).

Je vous invite à regarder le script run.sh, notament les commentaires pour comprendre son fonctionnement.

Sinon voici ce que font les différents scripts :

  • create_tables.sql : créer les différentes tables
  • delete_tables.sql : supprime les différentes tables
  • insert_datas.sql : insert les données pour pouvoir effectuer les tests dessus et réaliser les requêtes demandées.
  • reinsert_datas.sql : supprime toutes les tables, créer les tables et insert à nouveau les données. Pratique lorsque l'on souhaite modifier le script d'insertion et tester directement.
  • clear_tables.sql : supprime toutes les tables et les créé à nouveau. Cela a pour effet de les vider et d'être certain qu'elles possèdent la dernière architecture définie par le script de création.
  • show_tables.sql : affiche toutes les tables créés, utile surtout au départ pour vérifier que toutes les tables se sont bien créées correctement
  • always_run.sql : script SQL lancé à chaque fois lors de l'utilisation de mon script shell avant de lancer un autre script. Je l'utilise pour avoir un meilleur format d'affichage (pour éviter d'avoir les en-têtes répétées une multitude de fois).
  • requetes_partie1.sql : toutes les requêtes SQL demandées pour la partie 1 du projet. A lancer après avoir créé les différentes tables et avoir inséré les données. (des justifications et précisions sont en commentaires dans le fichier, veuillez les consulter).
  • partie_plsql.sql : toutes les fonctions, procédures, triggers, ... en PL/SQL.

recettes-db's People

Contributors

ludovicm67 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.