Base de données

advertisement
Bases de données relationnelles
Base de données
Ensemble de données qui modélisent une partie du monde réel pour une application
informatique.
Système de gestion de base des données (SGBD) :
Outil qui permet d’insérer, modifier, retirer et rechercher des données ; le tout de façon
efficace
Interface entre les utilisateurs et l’information brute
Présente les informations dans une forme exploitable
Les 3 couches d’un SGBD
Système de gestion de fichiers
Gère le stockage physique des informations (dépend du matériel)
SGBD interne
Assemble et place les données, gère les liens entre les données et y garantit un accès rapide
SGBD externe
S’occupe de la présentation de la manipulation des données. Permet l’utilisation de langages
de requêtes élaborés et d’outils de présentation adaptés.
Propriétés des SGBD(1)
Indépendance physique
Transparence de la gestion des données au niveau physique
Indépendance logique
Chacun possède sa propre vue des données (plusieurs groupes d’utilisateurs par rapport à un
bdd)
Manipulable par des non informaticiens
Utilisation de langages non procéduraux (pas de prog)
Propriétés des SGBD(2)
Accès aux données efficaces
Optimisation des accès aux données
Administration centralisées des données
Outils de sauvegarde des données, replication
Non redondance des données
Evite la duplication des informations ce qui facilite la gestion
Cohérence des données
Gestion automatique des contraintes d’intégrité
Types de bases de données
Les bases hiérarchiques
Les bases réseaux
Les bases relationnelles
Données sous formes de tables basées sur l’algèbre relationnelle et un langage, de
manipulation, déclaratif (SQL)
Les bases déductives
Données sous formes de tables (prédicats), le langage d’interrogation est basé sur le calcul
des prédicats et la logique du premier ordre
Les bases objets
Données représentées sous forme d’instance de classes hiérarchisées.
75% de SGBD sont des bases relationnelles ; les bases objets gagnent du terrain.
Modèle Conceptuel de Données
Réalité perçue
Modélisation conceptuelle (modèle entité association)
Transformation dans un modèle supporté par un SGBD (modèle relationnel)
Définition de la structure de données de la base (SQL)
Exercices 1 :
Un magasin de sport a besoin de stocker des informations principales dans une base de données. Il
s’agit de stocker toutes les informations relatives à ses produits, ses clients et ses fournisseurs. Il
souhaite que l’organisation soit facilitée par le regroupement des produits en différentes catégories.
Et il souhaite à partie de là pouvoir facilement consulter ses stocks, la liste des meilleurs clients, le
top 10 de ses produits vendus.
Créer les MCD et MLD correspondant.
Schéma
D’une relation
Nom de la relation, liste des attributs avec domaines et clés de la relation
Transformation
Traitement des entités
Chaque entité devient une table
Chaque propriété devient une colonne de cette table
L’identifiant
Concepts manipulatoires
Un ensemble d’opérations formelles
Ces opérations permettent d’exprimer toutes les requêtes sous forme d’expressions algébriques
Restriction
Sélection des tuples de >R satisfaisant un critère Q
Exercice 1
La base de données « médecins » est composée de trois relations qui peuvent être schématisées
comme suit :
Consultation (num-cons, date-cons, code-patient)
Patient (code-patient, nom-pat, adresse)
Maladie (*num-cons,num-maladie, symptome-maladie, observations)
Exprimer les requêtes suivantes :
1 - Afficher les num-cons effectués par le patient numéro 852 sur les 5 dernières années
2 - Afficher toutes les informations sur les consultations effectuées par le même patient de la
question 1 et sur la même période
3 – Afficher le nombre de consultations effectuées le mois 12 de l’année 99
4 – Afficher les patients qui sont client du cabinet avant le début de l’année 98
5 – Afficher le nombre de consultations effectuées par chacun des clients pendant les 5 dernières
années.
6 – Afficher les numéros de maladie, le cod-patient et leurs dates de détection concernant les
maladies ayant pour symptôme la fièvre.
1) SELECT num-cons
FROM consultation
WHERE (code-patient = 852) and (date-cons>01.01.2003)
2) SELECT *
FROM consultation
WHERE(code-patient = 852) and (date-cons>01.01.2003)
3) SELECT Content *
FROM Consultation
WHERE (date-cons >01.12.99) and (date-cons<= 31.12.99)
Téléchargement