Connexion élèves

Choisir le(s) module(s) à installer :

Structure

Les bases de données relationnelles sont structurées à partir des notions de clef primaires et de clef étrangère. Ces notions se retrouvent à la création des bases de données lors de la définition des relations.
Voici la commande SQL permettant de créer la relation LesRealisateurs vue précédemment :

CREATE TABLE LesRealisateurs
(film_id int, realisateur text, 
CONSTRAINT PK_realisateurs PRIMARY KEY (film_id),
CONSTRAINT FK_id FOREIGN KEY (film_id) REFERENCES LesFilms(film_id));
		
Cette commande pose la structure de la relation, sans y insérer de données. Cependant cette commande imposera ensuite plusieurs types de contraintes :
L'ensemble des ces contraintes permet de maintenir l'intégrité de la structure relationnelle de la base.
Relever dans la commande SQL précédente:
  1. La commande qui garanti l'unicité de la clef primaire
  2. La commande qui garanti la référence de la clef secondaire
  3. Les domaines des deux attributs de la relation

SOLUTION

Nous constatons ici qu'il est essentiel de séparer la structure d'une base de données de son contenu.
La structure est un ensemble de schémas relationnels qui respecte les contraintes du modèle relationnel.
Reprenons le schéma de base de données vu précédemment : Relations :
  • LesAnimaux(nomA, sexe, type, anNais, pays, noCage)
  • LesMaladies(nomA, nomM)
  • LesCages(noCage, fonction, allée)
Références
  • LesMaladies[nomA] est pris dans LesAnimaux[nomA]
  • LesAnimaux[noCage] est pris dans LesCages[noCage]
Dans cette structure de base :
  1. Déterminer les deux contraintes référentielles
  2. Proposer des contraintes de domaine pour les différents attributs
  3. En s'inspirant de l'exemple ci-dessus, proposer la commande SQL permettant de créer la relation LesAnimaux(vous pouvez la tester avec DbBrowser).

SOLUTION

Anomalies

L'ensemble des contraintes de structure vues précédemment impose aux données de respecter les règles mises en places dans la cadre du modèles relationnel.
Le système de gestion de bases de données (SGBD) veillera à faire respecter ces contraintes et signalera des anomalies en cas d'erreur. Son unique objectif est la cohérence des données.
Les anomalies peuvent être :

Redondances de données

Apparition de données identiques dans la base de données

Anomalies d’insertion

Tentative d'insertion de données non conformes, soit pour une raison de domaine, soit pour un problème de clef

Anomalies de suppression

Tentative de suppression de données porteuses d'une clef primaire entraînant un incohérence référentielle sur une clef secondaire.

Anomalies de mise à jour

La modification d'une clef primaire peut entraîner un doublon, ou une rupture de contrainte référentielle avec une clef étrangère.
Vous trouverez ci dessous une structure de base de données avec l'ensemble des données présentes dans les relations (c'est bien sur une base "exemple", il n'y a que très peu de données)
zoo
Vous devez :
  1. Proposer sur papier 2 requêtes pour chaque catégories (insertion, suppression, mise à jour) générant une anomalie
  2. Récupérer ici la petite base de données correspondante
  3. Tester vos requêtes sur la base grâce à DbBrowser

SOLUTION

Drop database !

QCM d'entraînement