Travaux Dirigés – Sensibilisation à la problématique des bases de données

1 Introduction aux bases de données {S1}
1.1 Qu’est-ce qu’une base de données ?
1.1.1 Notion de base de données
1.1.2 Modèle de base de données
1.2 Système de gestion de base de données (SGBD)
1.2.1 Principes de fonctionnement
1.2.2 Objectifs
1.2.3 Niveaux de description des données ANSI/SPARC
1.2.4 Quelques SGBD connus et utilisés
1.3 Travaux Dirigés – Sensibilisation à la problématique des bases de données {S1}
1.3.1 Introduction
1.3.2 Approche naïve
1.3.3 Affinement de la solution
1.3.4 Que retenir de ce TD ?
2 Conception des bases de données (modèle E-A) {S2-3}
2.1 Introduction
2.1.1 Pourquoi une modélisation préalable ?
2.1.2 Merise
2.2 Éléments constitutifs du modèle entités-associations
2.2.1 Entité
2.2.2 Attribut ou propriété, valeur
2.2.3 Identifiant ou clé
2.2.4 Association ou relation
2.2.5 Cardinalité
2.3 Compléments sur les associations
2.3.1 Associations plurielles
2.3.2 Association réflexive
2.3.3 Association n-aire (n > 2)
2.4 Travaux Dirigés – Modèle entités-associations {S2}
2.4.1 Attention aux attributs multiples
2.4.2 Étudiants, cours, enseignants, salles,
2.4.3 Deux associations ne peuvent lier un même ensemble d’entités
2.4.4 Comprenez-vous les type-associations n-aire ?
2.4.5 Cas d’une bibliothèque (1re partie)
2.5 Règles de bonne formation d’un modèle entités-associations
2.5.1 Règles portant sur les noms
2.5.2 Règles de normalisation des attributs
2.5.3 Règles de fusion/suppression d’entités/associations
2.5.4 Normalisation des type-entités et type-associations
2.6 Élaboration d’un modèle entités-associations
2.6.1 Étapes de conceptions d’un modèle entités-associations
2.6.2 Conseils divers
2.7 Travaux Dirigés – Modèle entités-associations {S3}
2.7.1 Mais qui a fait cette modélisation ?
2.7.2 Cas d’une bibliothèque (2e partie)
2.7.3 Cas d’une entreprise de dépannage
3 Bases de données relationnelles {S4-5}
3.1 Introduction au modèle relationnel
3.1.1 Présentation
3.1.2 Éléments du modèle relationnel
3.1.3 Passage du modèle entités-associations au modèle relationnel
3.2 Normalisation
3.2.1 Introduction
3.2.2 Dépendance fonctionnelle (DF)
3.2.3 Première et deuxième forme normale
3.2.4 Troisième forme normale
3.2.5 Forme normale de BOYCE-CODD
3.2.6 Quatrième et cinquième forme normale
3.2.7 Remarques au sujet de la normalisation
3.3 Travaux Dirigés – Modèle relationnel {S4}
3.3.1 Passage du modèle entités-associations au modèle relationnel
3.3.2 Normalisation
3.4 Algèbre relationnelle
3.4.1 Introduction
3.4.2 Sélection
3.4.3 Projection
3.4.4 Union
3.4.5 Intersection
3.4.6 Différence
3.4.7 Produit cartésien
3.4.8 Jointure, theta-jointure, equi-jointure, jointure naturelle
3.4.9 Division
3.5 Travaux Dirigés – Algèbre relationnelle {S5}
3.5.1 Exercices de compréhension de requêtes
3.5.2 Trouver la bonne requête
4 Langage SQL
4.1 Introduction {S6}
4.1.1 Présentation générale
4.1.2 Catégories d’instructions
4.1.3 PostgreSQL
4.2 Définir une base – Langage de définition de données (LDD)
4.2.1 Introduction aux contraintes d’intégrité
4.2.2 Créer une table : CREATE TABLE
4.2.3 Contraintes d’intégrité
4.2.4 Supprimer une table : DROP TABLE
4.2.5 Modifier une table : ALTER TABLE
4.3 Modifier une base – Langage de manipulation de données (LMD)
4.3.1 Insertion de n-uplets : INSERT INTO
4.3.2 Modification de n-uplets : UPDATE
4.3.3 Suppression de n-uplets : DELETE
4.4 Travaux Pratiques – SQL : Première base de données {S6}
4.4.1 Informations pratiques concernant PostgreSQL
4.4.2 Première base de données
4.5 Interroger une base – Langage de manipulation de données : SELECT (1re partie) {S7}
4.5.1 Introduction à la commande SELECT
4.5.2 Traduction des opérateurs de l’algèbre relationnelle (1re partie)
4.5.3 Syntaxe générale de la commande SELECT
4.5.4 La clause SELECT
4.5.5 La clause FROM (1re partie)
4.5.6 La clause ORDER BY
4.5.7 La clause WHERE
4.5.8 Les expressions régulières
4.6 Travaux Pratiques – SQL : Premières requêtes {S7}
4.6.1 Premières requêtes
4.6.2 Requêtes déjà résolues en utilisant l’algèbre relationnelle
4.6.3 Utilisation des expressions régulières
4.7 Interroger une base – Langage de manipulation de données : SELECT (2e partie) {S8}
4.7.1 La clause FROM (2e partie) : les jointures
4.7.2 Les clauses GROUP BY et HAVING et les fonctions d’agrégation
4.7.3 Opérateurs ensemblistes : UNION, INTERSECT et EXCEPT
4.7.4 Traduction des opérateurs de l’algèbre relationnelle (2e partie)
4.8 Travaux Pratiques – SQL : Requêtes avancées {S8}
4.8.1 Prix de GROUP
4.8.2 Requêtes déjà résolues en utilisant l’algèbre relationnelle
4.8.3 GROUP toujours !
4.9 Nouveaux objets – Langage de définition de données (LDD) {S9}
4.9.1 Séquences (CREATE SEQUENCE) et type SERIAL
4.9.2 Règles (CREATE RULE)
4.9.3 Vues (CREATE VIEW)
4.9.4 Schémas (CREATE SCHEMA)
4.10 Travaux Pratiques – SQL : Nouveaux objets {S9}
4.10.1 Séquences
4.10.2 Schéma et vues
4.10.3 Règles
4.10.4 Toujours des requêtes
4.11 SQL intégré {S10}
4.11.1 Introduction
4.11.2 Connexion au serveur de bases de données
4.11.3 Exécuter des commandes SQL
4.11.4 Les variables hôtes
4.11.5 Variables indicateur
4.11.6 Gestion des erreurs
4.11.7 Curseurs pour résultats à lignes multiples
4.11.8 Précompilation et compilation
4.11.9 Exemple complet
5 Corrections
Bibliographie

Introduction aux bases de données

Qu’est-ce qu’une base de données ?
Notion de base de données
Description générale

Il est difficile de donner une définition exacte de la notion de base de données. Une définition très générale pourrait être :
Définition 1.1 -Base de données- Un ensemble organisé d’informations avec un objectif commun.
Peu importe le support utilisé pour rassembler et stocker les données (papier, fichiers, etc.), dès lors que des données sont rassemblées et stockées d’une manière organisée dans un but spécifique, on parle de base de données.
Plus précisément, on appelle base de données un ensemble structuré et organisé permettant le stockage de grandes quantités d’informations afin d’en faciliter l’exploitation (ajout, mise à jour, recherche de données). Bien entendu, dans le cadre de ce cours, nous nous intéressons aux bases de données informatisées.

Base de données informatisée

Définition 1.2 -Base de données informatisée- Une base de données informatisée est un ensemble structuré de données enregistrées sur des supports accessibles par l’ordinateur, représentant des informations du monde réel et pouvant être interrogées et mises à jour par une communauté d’utilisateurs.
Le résultat de la conception d’une base de données informatisée est une description des données.
Par description on entend définir les propriétés d’ensembles d’objets modélisés dans la base de données et non pas d’objets particuliers. Les objets particuliers sont créés par des programmes d’applications ou des langages de manipulation lors des insertions et des mises à jour des données.
Cette description des données est réalisée en utilisant un modèle de données . Ce dernier est un outil formel utilisé pour comprendre l’organisation logique des données.

Modèle de base de données

Modèle hiérarchique
Une base de données hiérarchique est une forme de système de gestion de base de données qui lie des enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n’ait qu’un seul possesseur (par exemple, une paire de chaussures n’appartient qu’à une seule personne). Les structures de données hiérarchiques ont été largement utilisées dans les premiers systèmes de gestion de bases de données conçus pour la gestion des données du programme Apollo de la NASA.
Cependant, à cause de leurs limitations internes, elles ne peuvent pas souvent être utilisées pour décrire des structures existantes dans le monde réel.Les liens hiérarchiques entre les différents types de données peuvent rendre très simple la réponse à certaines questions, mais très difficile la réponse à d’autres formes de questions. Si le principe de relation « 1 vers N » n’est pas respecté (par exemple, un malade peut avoir plusieurs médecins et un médecin a, a priori, plusieurs patients), alors la hiérarchie se transforme en un réseau.

Modèle réseau
Le modèle réseau est en mesure de lever de nombreuses difficultés du modèle hiérarchique grâce à la possibilité d’établir des liaisons de type n-n, les liens entre objets pouvant exister sans restriction. Pour retrouver une donnée dans une telle modélisation, il faut connaître le chemin d’accès (les liens) ce qui rend les programmes dépendants de la structure de données Ce modèle de bases de données a été inventé par C.W. Bachman. Pour son modèle, il reçut en 1973 le prix Turing.

Modèle relationnel
Une base de données relationnelle est une base de données structurée suivant les principes de l’algèbre relationnelle.
Le père des bases de données relationnelles est Edgar Frank Codd. Chercheur chez IBM à la fin des année 1960, il étudiait alors de nouvelles méthodes pour gérer de grandes quantités de données car les modèles et les logiciels de l’époque ne le satisfaisait pas. Mathématicien de formation, il était persuadé qu’il pourrait utiliser des branches spécifiques des mathématiques (la théorie des ensembles .

Système de gestion de base de données (SGBD)
Principes de fonctionnement
La gestion et l’accès à une base de données sont assurés par un ensemble de programmes qui constituent le Système de gestion de base de données (SGBD). Un SGBD doit permettre l’ajout, la modification et la recherche de données. Un système de gestion de bases de données héberge généralement plusieurs bases de données, qui sont destinées à des logiciels ou des thématiques différents.
Actuellement, la plupart des SGBD fonctionnent selon un mode client/serveur. Le serveur (sous entendu la machine qui stocke les données) reçoit des requêtes de plusieurs clients et ceci de manière concurrente. Le serveur analyse la requête, la traite et retourne le résultat au client. Le modèle client/serveur est assez souvent implémenté au moyen de l’interface des sockets (voir le cours de réseau) ; le réseau étant Internet.
Une variante de ce modèle est le modèle ASP (Application Service Provider). Dans ce modèle, le client s’adresse à un mandataire (broker) qui le met en relation avec un SGBD capable de résoudre la requête. La requête est ensuite directement envoyée au SGBD sélectionné qui résout et retourne le résultat directement au client.

Sensibilisation à la problématique des bases de données

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *