UE: BASES DE DONNEES AVANCEES 2 Parcours: Génie Informatique (Génie Logiciel et
UE: BASES DE DONNEES AVANCEES 2 Parcours: Génie Informatique (Génie Logiciel et Réseaux) Enseignant : M. SAMDALLE Amaria ANNEE ACADEMIQUE 2017-2018 MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 1 GENERAL INFORMATION FOR THE COURSE ●Organisation du cours CM: 20h TD: 10h TP: 30h ●Organisation des évaluations 1 CC de 1h 1 TPE (Practical project): une semaine Examen final 3h Rattrapage 3h MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 2 OBJECTIFS DE L’UE Objectifs: A la fin de ce cours, l’étudiant sera capable de maîtriser les concepts et techniques les plus récents des bases de données. Etude et analyse critique des systèmes de gestion de bases de données (SGBD) orientés- objets et relationnels-objet, et de leurs langages. Application pratique sur le système Oracle/MYSQL/PostgreSql. Bases de données dans un environnement distribué: BD réparties, BD fédérées, multi- bases. Application pratique. Conception du système d'information dans les systèmes coopératifs: intégration de bases de données. Bases de données sur WEB Bases de données et XML Bases de données et ontologies Systèmes d'information à références spatiales et temporelles. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 3 PRÉREQUIS Bonnes pratiques de la modélisation du monde réel et de la conception des systèmes d’informatiques. Maitrise du langage de requête SQL … MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 4 CONTENU DU COURS Les NOTIONS AVANCÉES DES BASES DE DONNEES Le MODELE DE Bases Données ORIENTÉ-OBJET: ODMG Le MODELE DE Bases Données OBJET-RÉLATIONNEL : SQL3 Les BASES DE DONNÉES DANS UN ENVIRONNEMENT DISTRIBUÉ: DATALOG Les BASES DE DONNÉES ET INTERFAÇAGE WEB: ASP Les BASES DE DONNÉES, INTERACTION WEB ET XML : ASP Les BASES DE DONNÉES ET ONTOLOGIES SYSTÈMES D'INFORMATION À RÉFÉRENCES SPATIALES ET TEMPORELLES MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 5 LES NOTIONS AVANCÉES DES BASES DE DONNEES MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 6 CONCEPTION DE BD-RELATIONNELLES Schéma conceptuel Modélise les classes, leurs attributs et leurs relations (ex: association, agrégation, spécialisation, etc.) Exemple: diagramme de classe UML. Schéma relationnel (Model) Traduit le schéma conceptuel sous la forme d’un modèle relationnel (ex: tables, colonnes, clés, contraintes, etc.). Indépendant de la plateforme/BD utilisée. Exemple: diagramme UML avec tables, diagramme entités -associations MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 7 CONCEPTION DE BD-RELATIONNELLES MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 8 CONCEPTION DE BD-RELATIONNELLES Schéma conceptuel schéma relationnel Le processus qui conduit a la conception d’un schéma relationnel ce résume en 04 étapes: 1. Traduire les classes en tables; 2. Traduire les attributs et leur type; 3. Définir la clé primaire; 4. Traduire les associations. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 9 NORMALISATION DU SCHÉMA RELATIONNEL MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 10 NORMALISATION DU SCHÉMA RELATIONNEL 1NF Une relation est en première forme normale si elle ne comporte pas d'attribut multivalué. La représentation des données sous forme de relation implique cette première forme normale. Exemple de relation qui n'est pas en 1NF: LIVRE(CodeL, Titre, Auteurs) n ’est pas en première forme normale car un livre pourrait avoir plusieurs auteurs. Solution: LIVRE(CodeL, Titre), AUTEURS(CodeL, Auteur) MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 11 NORMALISATION DU SCHÉMA RELATIONNEL 2NF Une relation est en deuxième forme normale si la relation est en première forme normale et si chaque attribut non-clé (c'est-à-dire qui n'appartient pas à une clé candidate) dépend pleinement des clés candidates. Exemple de relation qui n'est pas en 2NF: EMP(Matr, CodeP, NomE, FonctionP, Dept) n'est pas en 2NF puisque le nom d'un employé ou son département ne dépend que de son matricule et pas du projet auquel il appartient. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 12 NORMALISATION DU SCHÉMA RELATIONNEL 3NF Une relation est en troisième forme normale si tout attribut non- clé (n'appartenant pas à une clé candidate) ne peut dépendre que d'une clé candidate. Exemple EMP(Matr, NomE, Dept, NomD) où Dept est le numéro du Département n'est pas en 3FN car le nom du département dépend du numéro du département. On peut décomposer cette relation en deux relations qui seront en 3NF EMP(Matr, NomE, Dept) et DEPT(Dept, NomD) MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 13 NORMALISATION DU SCHÉMA RELATIONNEL BCNF Une relation est en forme normale de Boyce-Codd si les seules sources de dépendances fonctionnelles sont les clés candidates. Exemple: Si on suppose que le nom d'un employé peut être une clé candidate, la relation EMP_PROJET(Matr, CodeP, NomE, FonctionP) est en 3NF. En effet les 2 clés candidates sont (Matr, CodeP) et (NomE, CodeP) Cette relation n'est pas en BCNF car Matr -->NomE est une dépendance fonctionnelle dont la source n'est pas une clé candidate. Elle va occasionner des redondances et des problèmes de mises à jour. Elle peut être décomposées dans les 2 relations suivantes qui sont en BCNF: EMP(Matr, NomE) et PROJET(Matr, CodeP, FonctionP) MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 14 QUELQUES RAPPELS DU LANGAGE SQL Définition: SQL : Structured Query Language – Langage de requête structurée Composantes –LDD: langage de définition de données –LMD: langage de manipulation des données, c’est-à-dire LMJ (langage de mise à jour) et du LID: langage d’interrogation des données) – LCD: langage de contrôle des données MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 15 QUELQUES RAPPELS DU LANGAGE SQL Le Langage de Définition de Données LDD Ensemble de commandes qui définit une base de données et les objets qui la composent La définition d’un objet inclut – sa création: CREATE – sa modification ALTER – sa suppression DROP MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 16 QUELQUES RAPPELS DU LANGAGE SQL Le Langage de Définition de Données LDD MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 17 QUELQUES RAPPELS DU LANGAGE SQL Le Langage de Manipulation de Données LMD Ensemble de commandes qui permet la consultation et la mise à jour des objets créés par le langage de définition de données • Consultation : SELECT • La mise à jour inclut : – l’insertion de nouvelles données : INSERT – la modification de données existantes : UPDATE – la suppression de données existantes : DELETE MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 18 QUELQUES RAPPELS DU LANGAGE SQL Le Langage de Manipulation de Données LMD MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 19 LES DECLENCHEURS DEFINITION Un déclencheur (ou triggers) est une règle, dite active, de la forme: ”événement-condition-action”. Procédure stockée dans la base qui est déclenchée automatiquement par des événements spécifiés par le programmeur et ne s’exécutant que lorsqu’une condition est satisfaite. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 20 LES DECLENCHEURS Utilités et Atouts des déclencheurs La possibilité d’éviter les risques d’incohérence dus à la présence de redondance. L’enregistrement automatique de certains événements. La spécification de contraintes liées à l’évolution de données. – Exemple : un salaire ne peut qu’augmente De définir toutes règles complexes liées à l’environnement d’exécution (restrictions sur des horaires, des clients, . . .). MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 21 LES DECLENCHEURS PRINCIPE Séquence Evénement-Condition-Action : –un événement: Insertion, destruction, modification sur une table. – Test de la condition : si cette dernière n’est pas vérifiée, alors l’exécution s’arrête. – Si vérifiée, l’action est réalisée (toutes opérations sur la base de données). MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 22 LES DECLENCHEURS CARACTERISTIQUES Un seul déclencheur par événement sur une table. Les déclencheurs permettent de rendre une base de données dynamique. Une opération peut en déclencher d’autres, qui elles mêmes peuvent entraîner en cascade d’autres déclencheurs. . . Ce mécanisme n’est pas sans danger ! – Risque de boucle infinie. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 23 LES DECLENCHEURS CARACTERISTIQUES ●Manipulation simultanée de l’ancienne et de la nouvelle valeur d’un attribut ( →tests sur l’évolution). ●Un déclencheur peut être exécuté : – Une fois pour un seul ordre SQL, – Ou à chaque ligne concernée par cet ordre. ●L’action peut être réalisée avant ou après l’événement. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 24 LES DECLENCHEURS CARACTERISTIQUES ●Concernant ”action” : ●SQL n’est pas procédural – Les SGBD fournissent une extension du langage SQL : instructions de branchement conditionnel, instructions de répétition, affectations, . . . ●Langage impératif permettant de créer des véritables MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 25 LES DECLENCHEURS CREATION 1. Spécifier l’événement qui déclenche l’action en indiquant le type de la mise à jour (INSERT, UPDATE, DELETE), le nom de la table et éventuellement le nom des attributs mis à jour. 2. Indiquer si l’action est réalisée avant ou après. 3. Eventuellement, donner un nom à l’ancien et au nouveau n-uplet (uniquement le nouveau en cas d’insertion et uniquement l’ancien en cas de MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 26 LES DECLENCHEURS CREATION 4. Décrire la condition sous laquelle se déclenche l’événement sous la forme d’une expression SQL booléenne, c.-à-d. Une expression pouvant être placée dans une clause WHERE. 5. Décrire l’action à réaliser sous la forme d’une procédure. 6. Indiquer si l’action est réalisée pour chaque n-uplet mis à jour ou une seule fois pour la requête. MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 27 LES DECLENCHEURS MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 28 LES DECLENCHEURS MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 29 LES DECLENCHEURS MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 30 LES DECLENCHEURS MR. SAMDALLE AMARIA ENSP-MAROUA 2017/2018 31 LES DECLENCHEURS •Insérer, supprimer et actualiser des données delimiter | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; uploads/Management/ bda-2019-march.pdf
Documents similaires
-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 18, 2022
- Catégorie Management
- Langue French
- Taille du fichier 2.6785MB