Code Monkey home page Code Monkey logo

bddexe_01's Introduction

bddexe_01

Révisions

Installez le fichier bddexe_01.sql en désactivant les clefs étrangères en MySQL 5.7 ou en MariaDB .

Nous allons travailler dans Workbench sur le fichier nos-requetes.sql .

Nous utilisons le moteur InnoDB.

Modèle de notre base de donnée en MySQL 5.7

Base SQL

Dictionnaire de données de la base

Dictionnaire de données en pdf à télécharger .

Relations

  • Relation many to many entre news et categ dans la table news_has_categ, en CASCADE ON DELETE pour éviter la suppression manuelle du lien entre les news et les catégories (en cas de suppression d'une news ou d'une catégorie).

news_has_categ

  • Relation many to one entre news et user, en SET NULL ON DELETE pour permettre à un article de rester dans la DB si on supprime l'utilisateur (! le champ news.user_iduser doit permettre le NULL)

news

  • Relation many to one entre user et permission, SET NULL ON DELETE pour permettre à un utilisateur de rester dans la DB si on supprime une permission (! le champ user.permission_idpermission doit permettre le NULL)

news

Plugin pour VSCode

J'ai installé "Database Client for Visual Studio Code" pour pouvoir effectuer les requêtes depuis VSCode sans devoir lancer Workbench

Exercice 1

Remplissez le contenu de enonce-exe1.sql

pour obtenir:

-- Sélectionnez tous les champs de categ ordonnés par name ascendant

1

-- Séléctionnez idcateg et name de categ quand idcateg vaut 4

2

-- Séléctionnez idcateg et name de categ quand idcateg se trouve entre 2 et 4

3

-- Séléctionnez idcateg et name de categ quand idcateg est 1, 3 ou 5 ordonné par name descendant

4

-- Séléctionnez tous les champs de categ quand desc contient 'et' n'importe où dans la chaîne

5

-- Séléctionnez tous les champs de categ dont l' idcateg vaut 5 ainsi que les idnews et title de la table news qui se trouvent dans cette catégorie, même si il n'y en a pas (présence de categ dans tous les cas, 17 lignes de résultats) , ordonnés par news.title ASC

6

-- Séléctionnez tous les champs de categ dont l' idcateg vaut 5 ainsi que les idnews et title de la table news qui se trouvent dans cette catégorie, même si il n'y en a pas (présence de categ dans tous les cas, 6 lignes de résultats) , ordonnés par news.title ASC ET que news.visible vaut 1 !

7

-- Séléctionnez tous les champs de categ dont l' idcateg vaut 5 ainsi que les idnews (concaténés sur une seul ligne avec la ',' comme séparateur) et title (concaténés sur une seul ligne avec '|||' comme séparateur) de la table news qui se trouvent dans cette catégorie, même si il n'y en a pas (présence de categ dans tous les cas, 1 ligne de résultats) , ET que news.visible vaut 1 !

8

-- Séléctionnez idnews et title de la table news lorsque le title commence par 'c' (7 résultats)

9

-- Séléctionnez idnews et title de la table news lorsque le title commence par 'a' et visible vaut 1 (10 résultats)

10

-- Séléctionnez idnews et title de la table news, ainsi que les iduser et login de la table user (seulement si il y a une jointure) lorsque le title commence par 'a' et visible vaut 1 (10 résultats)

11

-- Séléctionnez idnews et title de la table news, ainsi que les iduser et login de la table user (seulement si il y a une jointure) lorsque le title commence par 'a' et visible vaut 1 , classés par user.login ascendant (10 résultats)

12

-- Séléctionnez idnews et title de la table news, ainsi que les iduser et login de la table user (seulement si il y a une jointure) lorsque le title commence par 'a' et visible vaut 1 , classés par user.login ascendant en ne gardant que les 3 premiers résultats (3 résultats)

13

-- Séléctionnez idnews et title de la table news, ainsi que les iduser et login de la table user (seulement si il y a une jointure) lorsque le title commence par 'a' et visible vaut 1 , classés par user.login ascendant en ne gardant que les 3 derniers résultats (3 résultats)

14

-- Sélectionnez iduser et login de la table user, avec le nombre d'articles écrit par chacun renommé nbarticles, classés par nbarticles descendant et en n'en gardant que les 5 premiers (5 résultats)

15

Bon boulot !

bddexe_01's People

Contributors

mikhawa avatar

Watchers

James Cloos 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.