Fiche de révision : Introduction aux bases de données

Plan du Cours

  1. Méthode MERISE et modèles
  2. Entités et identifiants
  3. Associations et cardinalités
  4. Associations particulières
  5. Passage au modèle relationnel
  6. Dépendances et normalisation
  7. Création des tables SQL
  8. Contraintes et modifications SQL
  9. Requêtes simples
  10. Fonctions SQL courantes
  11. Jointures et sous-requêtes
  12. Agrégation et regroupement

1. Méthode MERISE et modèles

Notions clés & Définitions

  • Méthode MERISE : René Colletti, Arnold Rochfeld et Hubert Tardieu, années 70 — analyse les besoins d’une organisation à partir d’un cahier des charges et définit la structure des données et des traitements
  • Modèle Conceptuel de Données : aussi appelé schéma Entités/Associations, recense et organise visuellement les données manipulées dans le système d’information

★ À maîtriser

  • MERISE distingue trois niveaux d’analyse : conceptuel, logique et physique, portant sur les données et les traitements.

Compléments

  • Les quatre modèles de MERISE sont:
    • le Modèle Conceptuel de Données
    • le Modèle Conceptuel des Traitements
    • le Modèle Logique de Données
    • le Modèle Organisationnel des Traitements

Astuce mémo

MCD = quelles informations ; MLD = comment les structurer

2. Entités et identifiants

Notions clés & Définitions

  • Entité : un élément concret ou abstrait du système d’information, identifié de manière unique et constitué d’un regroupement logique de données
  • Attribut : une donnée élémentaire décrivant les entités d’une même classe et possédant un domaine de valeurs possibles
  • Identifiant : un attribut ou un ensemble d’attributs permettant d’identifier une seule et unique entité parmi celles de même type

Points essentiels

  • Dans le système bancaire, la classe CLIENT est identifiée par noClient et possède les attributs nom, prénom, rue, codePostal et ville.

Astuce mémo

Une entité comme une fiche stable, identifiée par une clé

3. Associations et cardinalités

Notions clés & Définitions

  • Association : le lien entre plusieurs entités et est généralement nommée par un verbe à l’infinitif
  • Cardinalité : indique, dans un sens de lecture d’une association, le nombre minimum et le nombre maximum de fois où une occurrence d’une entité peut participer à cette association
  • Association porteuse d’information : possède des attributs propres qui dépendent de toutes les entités liées par cette association

Points essentiels

  • Dans l’association posséder, un client peut posséder de 0 à n comptes tandis qu’un compte possède obligatoirement un et un seul propriétaire.

Astuce mémo

L’entité décrit un objet ; l’association décrit son lien

4. Associations particulières

Notions clés & Définitions

  • Dépendance fonctionnelle : Une association est une dépendance fonctionnelle lorsqu’elle porte une cardinalité 1,1 et elle ne peut alors pas avoir d’attributs propres.
  • Association réflexive : relie deux entités appartenant à la même classe d’entités
  • Association n-aire : Une association n-aire relie plus de deux entités, et une association ternaire relie précisément trois entités.

5. Passage au modèle relationnel

Notions clés & Définitions

  • Modèle relationnel : Edgar Codd, 1969 — organise les données d’une base sous forme de relations correspondant à des tables et à leurs colonnes
  • Clé étrangère : un attribut d’une relation qui fait référence à la clé primaire d’une autre relation

Points essentiels

  • 🔄 Le passage du MCD au MLD suit trois étapes:
    1. Transformer chaque entité en relation avec son identifiant comme clé primaire
    2. Transformer les associations de cardinalité 1,1 ou 0,1 en clés étrangères
    3. Transformer les autres associations en nouvelles relations

Astuce mémo

Entité → clé étrangère → table d’association

6. Dépendances et normalisation

Notions clés & Définitions

  • Dépendance fonctionnelle : Un groupe d’attributs B est en dépendance fonctionnelle avec un groupe d’attributs A si une valeur de A ne peut être associée qu’à une seule valeur de B, ce qui se note A→BA \to B
  • Première forme normale : Edgar Codd, à partir de 1970 — tous ses attributs sont élémentaires ou atomiques et si elle ne contient aucune structure répétitive
  • Deuxième forme normale : en 1NF et si tout attribut hors clé dépend fonctionnellement de l’ensemble de la clé primaire
  • Troisième forme normale : en 2NF et si aucun attribut hors clé ne dépend fonctionnellement d’un ensemble d’attributs non clé

Astuce mémo

1NF atomique → 2NF dépendance complète → 3NF pas de dépendance transitive

7. Création des tables SQL

Notions clés & Définitions

  • SQL : un langage normalisé permettant d’exploiter des bases de données relationnelles, notamment avec PostgreSQL
  • Clé primaire : une clé unique par table, dont les valeurs sont toujours renseignées et uniques
  • Clé étrangère SQL : que les valeurs d’une clé étrangère existent dans une colonne référencée définie comme PRIMARY KEY ou UNIQUE

Points essentiels

  • Les principaux types PostgreSQL présentés sont:
    • char(n)
    • varchar(n)
    • numeric(p,s)
    • date
    • time
    • timestamp
    • boolean

Astuce mémo

PRIMARY KEY identifie ; FOREIGN KEY référence

8. Contraintes et modifications SQL

★ À maîtriser

  • La clause DEFAULT fournit une valeur lorsqu’une colonne n’est pas renseignée lors de l’insertion, tandis que NOT NULL interdit la valeur NULL.

  • La contrainte UNIQUE impose l’unicité des valeurs mais autorise NULL et plusieurs lignes NULL, contrairement à PRIMARY KEY.

  • La contrainte CHECK vérifie qu’une colonne ou un ensemble de colonnes respecte une condition logique.

  • NULL n’est égal ni à une chaîne vide ni à zéro, et une comparaison directe avec NULL comme colonne = NULL ne vaut ni vrai ni faux.

Compléments

  • Pour modifier une base avec des clés étrangères, il faut d’abord traiter les lignes ou tables référencées selon l’ordre imposé par les références, sauf si ON DELETE CASCADE propage automatiquement les suppressions.

9. Requêtes simples

Notions clés & Définitions

  • DISTINCT : supprime les doublons parmi les lignes sélectionnées

Points essentiels

  • La syntaxe générale d’une sélection simple est SELECT [ALL ∣ DISTINCT] liste_de_seˊlection FROM table [WHERE condition] [ORDER BY expression]SELECT\ [ALL\ |\ DISTINCT]\ liste\_de\_sélection\ FROM\ table\ [WHERE\ condition]\ [ORDER\ BY\ expression].

📌 La clause WHERE filtre les lignes selon une condition utilisant notamment les opérateurs logiques, les comparaisons, IN et IS NULL.

📌 La clause ORDER BY trie les résultats par défaut dans l’ordre croissant et accepte les options ASC ou DESC.

Astuce mémo

SELECT → FROM → WHERE → ORDER BY

10. Fonctions SQL courantes

Points essentiels

  • Les fonctions de chaînes présentées comprennent:

    • ||
    • char_length
    • lower
    • upper
    • initcap
    • ltrim
    • rtrim
    • substr
  • Les fonctions numériques présentées comprennent:

    • abs
    • ceil
    • floor
    • mod
    • round
    • trunc
    • sign
    • to_char
    • to_number
  • Les fonctions de dates et heures présentées comprennent CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, date_trunc, date_part, make_date, make_time, make_timestamp, to_char, to_date et to_timestamp.

11. Jointures et sous-requêtes

Notions clés & Définitions

  • Produit cartésien : de plusieurs tables produit toutes les combinaisons possibles entre leurs lignes
  • Jointure : associe des lignes de plusieurs tables selon une condition de correspondance, généralement écrite avec JOIN ... ON
  • Sous-requête : permet de comparer une colonne, une expression ou une liste avec le résultat d’une autre requête

Points essentiels

📌 EXISTS teste si une sous-requête délivre au moins une ligne.

Astuce mémo

Produit cartésien = toutes les combinaisons ; jointure = combinaisons cohérentes

12. Agrégation et regroupement

Notions clés & Définitions

  • Fonction d’agrégat : Une fonction d’agrégat effectue un calcul statistique sur les lignes sélectionnées, notamment avec count, sum, avg, max, min, stddev et variance.
  • GROUP BY : regroupe les lignes selon un critère afin de calculer une agrégation pour chaque groupe
  • HAVING : filtre les groupes selon une condition dépendant du résultat d’une agrégation

Points essentiels

  • Pour compter les événements par site en ne conservant que les sites ayant au moins deux événements, on utilise GROUP BY idSite puis HAVING count(*) >= 2.

Astuce mémo

WHERE filtre les lignes ; HAVING filtre les groupes

Tableaux de synthèse

Niveaux et modèles MERISE

NiveauQuestion sur les donnéesModèle étudié
ConceptuelQuelles informations sont manipulées ?MCD
LogiqueComment les structurer ?MLD
PhysiqueOù et comment les stocker ?Non détaillé dans ce cours

Formes normales

FormeCondition principaleProblème évité
1NFAttributs atomiques et absence de répétitionListes et structures répétitives
2NFDépendance de chaque attribut à toute la cléDépendances partielles
3NFAbsence de dépendance à un attribut non cléDépendances transitives

Teste tes connaissances

Teste tes connaissances sur Introduction aux bases de données avec 37 questions à choix multiples et corrections détaillées.

1. Quel est l’objectif principal de la méthode MERISE dans l’analyse d’un système d’information ?

2. Lorsqu’une équipe distingue les niveaux conceptuel, logique et physique pour étudier les données et les traitements, quelle méthode applique-t-elle ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Introduction aux bases de données avec 63 flashcards interactives.

Qu'impose la méthode MERISE pour analyser une organisation ?

Elle analyse les besoins à partir d'un cahier des charges.

Que définit la méthode MERISE après analyse des besoins ?

La structure des données et des traitements.

Quels sont les trois niveaux d'analyse distingués par MERISE ?

Conceptuel, logique et physique.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches