Système Gestion Bases Données S.G.B.D.
Plan du cours Une base de données, qu’est ce que c’est ? Conception Réalisation
A quoi sert une base de données Le but d’une base de données est de pouvoir gérer des masses importantes d’informations, en les optimisant de façon à pouvoir y accéder de manière aisée. Ces informations données
Exemples Bibliothèques SCD
Pourquoi faire ? Mémoriser des données Structurées (voitures, personnes, employés, vins …) Documents (texte, images, films …) Retrouver la bonne donnée au bon moment Le salaire de Dupont, sa photo L’avoir de votre compte en banque Mettre à jour les données variant dans le temps
BDD Une Base de Données (BD) est un ensemble structuré d'informations mémorisées sur un support permanent et mises à disposition d'un ensemble d'utilisateurs, informaticiens ou non.
Un SGBD(R) ? Système de Gestion de Base de Données Relatonnelles C’est un logiciel spécialisé qui permet de gérer et réaliser des opérations sur l’ensemble des données enregistrées dans une base de données Il permet de manipuler, d’insérer et de mettre à jour de grandes quantités de données de manière concurrente (plusieurs utilisateurs simultanés) et sûre
Objectifs Fidélité: image fidèle de la réalité Unicité: Pas de redondances d’information Indépendance: Données – Langage d’interrogations Concurrence: Plusieurs accès simultanés Performance Confidentialité Intégrité: fiabilité et cohérence
Un peu d'histoire Années 60: Années 70: Récipients logique de données fichiers sur disque Accès séquentiel puis sur clé Lire (Nomf, Article), Ecrire (Nomf, Article) Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé) Années 70: Avènement des Bases de Données Réseaux Ensemble de fichiers reliés par des pointeurs Langage d'interrogation par navigation
Un peu d’histoire Années 80: Avènement des Bases de Données Relationnelles Relations entre ensemble de données Langage d'interrogation
Le modèle relationnel … A été développé par Codd en 1970 Les données sont stockées dans un ensemble de tableaux appelés tables relationnelles
Approche Relationnelle la seule utilisée maintenant car: très souple : pas de limitations très simple : même par des utilisateurs finaux approche due à Edgar Frank Codd
Approche Relationnelle chaque tableau (ou table) est composé de: colonnes spécifiant les rubriques (ou les attributs) lignes (ou rangées) spécifiant les valeurs de ces rubriques CLIENTS NumClient Nom Ville 001 Albert Bruxelles 002 Francois Liège 003 Brabo Anvers
CONCEPTION La conception permet de définir l’ensemble des tables et leurs compositions (champs). Grille d’analyse Dictionnaire des données MDF MCD Modèle relationnel
Grille d’analyse Elle permet de repérer tous les rubriques nécessaire au bon fonctionnement de la base Elle se construit à partir de documents de sortie Elle se construit à partir d’écrans de saisie Elle se construit à partir d’interrogations des personnes des différents services impliqués par le mise en place de cette base de données
Grille d’analyse X Rubriques Doc1 Doc2… Rubriques calculées A L P Dictionnaire des données Domaine de définition Type de données Nu_client X Nom_client Prénom_client adhésion Nu_support
Rubriques calculées Arithmétique Logique Paramétrée
Dictionnaire des données Ce sont toutes les rubriques qui ne sont pas calculées. Toutes les rubriques que l’on sera obligé de saisir pour les voir apparaître dans les documents de sortie Les rubriques calculées seront retrouvées à partir des rubriques non calculées
Type de données Texte Mémo Numérique Entier Entier Long Réel simple Texte ou combinaisons de texte et de nombres, ainsi que des nombres qui ne nécessitent pas de calculs, tels que des numéros de téléphone. Taille 255 caractères Mémo Texte assez long ou combinaisons de texte et de nombres Jusqu'à 65 535 caractères Numérique Entier Entier Long Réel simple Réel double
Types de données Date/Heure Monétaire Numérotation automatique Oui/Non Lien hypertexte
Dépendance fonctionnelle pour un tableau T, un attribut Y de T dépend fonctionnellement d ’un attribut X de T si chaque valeur de X est associée a une et une seule valeur de Y X ® Y Num Client Nom Ville 001 Albert Bruxelles 002 Francois Liege 003 Brabo Anvers 004 005 Leon 006 Philippe 007 Exercice: quelle ligne est vraie? NumClient ® Nom NumClient ® Ville Nom ® NumClient Nom ® Ville Ville ® NumClient NumClient ® Ville, Nom
Matrice des dépendances fonctionnelles Nu Rubriques 1 2 3 4 5 … Nu_client Nom_client Prénom_Client Adhésion Nu_support
Transitivité
Mini Matrice
MCD On regroupe les rubriques qui dépendent d’une autre rubrique dans des classes d’objets La rubrique « tête de colonne » devient l’identifiant de la classe d’objet
Classes d’objets
Associations
Liens entre tables … Les clés sont fondamentales dans une base de données relationnelles parce qu’elles permettent de relier les tables entre elles
Clés primaires et étrangères Une clé primaire est un champ dans une table dont les valeurs identifient de façon unique chaque ligne ou enregistrement de la table Une clé étrangère est un champ dont les valeurs sont les mêmes que la clé primaire d’une autre table
Liens entre tables Un lien est une association entre deux tables Ces liens sont exprimés à l’aide de clés : primaires étrangères
Cardinalité Permettent d'affiner la modélisation en précisant le nombre d'associations dans lesquelles une entité peut apparaître Cardinalité minimum Cardinalité maximum
Cardinalité Il existe 3 principaux types de lien dans une base de données relationnelles 1-N (un à plusieurs) N-N (plusieurs à plusieurs) 1-1 (un à un)
Cardinalité 1-N 1-N (un à plusieurs) Dans un lien de type 1-N, un enregistrement de la table A peut être associé à plusieurs enregistrements de la table B, mais un enregistrement de la table B ne peut être associé qu’à un seul enregistrement de la table A
Cardinalité N-N N-N (plusieurs à plusieurs) Dans un lien de type N-N, un enregistrement de la table A peut être associé à plusieurs enregistrements de la table B et vice-versa Ce lien requiert la définition d’une troisième table dont la clé primaire comprend 2 champs: ceux correspondant aux clés primaires des tables A et B
Cardinalité 1-1 1-1 (un à un) Dans un lien de type 1-1, un enregistrement de la table A ne peut être associé qu’à un enregistrement de la table B et vice-versa
Contraintes entre tableaux contrainte d’intégrité d’entité : une seule clé primaire par tableau (peut être sur plusieurs colonnes) contrainte d’intégrité référentielle : chaque valeur d’une clé étrangère doit exister dans le tableau où cette clé est primaire
Modèle relationnel des données 2 règles pour passer du modèle conceptuel au modèle relationnel Toute classe d’objet devient une relation dans le modèle relationnel Toute association de type N-N devient une relation ayant comme identifiant (ou clé) les identifiants (ou clés) des classes d’objets dont elle dépend
Modèle relationnel