IFT 6243. Concepts. Claude Frasson A 2014. de Bases de données avancées



Documents pareils
Bases de Données. Plan

Cours Base de données relationnelles. M. Boughanem, IUP STRI

1 Introduction et installation

Information utiles. webpage : Google+ : digiusto/

Bases de données avancées Introduction

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Chapitre 1 : Introduction aux bases de données

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

IFT3030 Base de données. Chapitre 1 Introduction

Les bases de données

CHAPITRE 1. Introduction aux bases de données

Le Langage SQL version Oracle

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Bases de données relationnelles : Introduction

INTRODUCTION AUX BASES de DONNEES

BASES DE DONNÉES RÉSEAUX ET HIÉRARCHIQUES

Bases de Données relationnelles et leurs systèmes de Gestion

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Bases de données Cours 1 : Généralités sur les bases de données

Les bases de données Page 1 / 8

Bases de données relationnelles

Jean-Pierre CHEINEY Philippe PICOUET Jean-Marc SAGLIO

Introduction aux bases de données

Le langage SQL Rappels

Le Langage De Description De Données(LDD)

Bases de données élémentaires Maude Manouvrier

Bases de données et sites WEB Licence d informatique LI345

Bases de données - Modèle relationnel

Systèmes d information et bases de données (niveau 1)

Chapitre 10. Architectures des systèmes de gestion de bases de données

Introduction aux bases de données et aux SGBD

INTRODUCTION : Données structurées et accès simplifié

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Modélisation de bases de données : Le modèle relationnel

ETL Extract - Transform - Load

A QUOI SERVENT LES BASES DE DONNÉES?

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

A QUOI SERVENT LES BASES DE DONNÉES?

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Les Utilisateurs dans SharePoint

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Présentation du module Base de données spatio-temporelles

Introduction au Système de Gestion de Base de Données et aux Base de Données

Cours Bases de données

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

16H Cours / 18H TD / 20H TP

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Bases de données cours 1

Bases de Données Avancées

Introduction aux SGBDR

Structure fonctionnelle d un SGBD

Bases de Données Relationnelles. Le Modèle Relationnel

Rappel sur les bases de données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Implémentation des SGBD

TP Bases de données réparties

I4 : Bases de Données

Le langage SQL (première partie) c Olivier Caron

Gestion des bases de données

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Module BDR Master d Informatique (SAR)

Bases de données et sites WEB

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Introduction aux Bases de Données

Notes de cours : bases de données distribuées et repliquées

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

CREATION WEB DYNAMIQUE

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Bases de données relationnelles & SQL

Introduction aux Bases de Données

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

CHAPITRE 1 ARCHITECTURE

Introduction aux Bases de Données Relationnelles Conclusion - 1

Optimisations des SGBDR. Étude de cas : MySQL

Bases de données Page 1 de 11. Bases de données. Prof. : Dzenan Ridjanovic

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Gestion des utilisateurs et de leurs droits

Entrepôt de données 1. Introduction

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

1/ Présentation de SQL Server :

NOTIONS DE RESEAUX INFORMATIQUES

Etude de sécurité en base de données avec une application pour le contrôle d accès.

Créer une base de données

CESI Bases de données

Java et les bases de données

Transcription:

IFT 6243 Concepts de Bases de données avancées Claude Frasson A 2014 1

Université de Montréal Département IRO IFT 6243 Concepts de Bases de données avancées Claude Frasson Objectifs : Le cours met l accent sur les approches intelligentes que l on retrouve dans de nombreux systèmes comme les bases de données, les agents intelligents ou les systèmes tutoriels intelligents. Le cours est appuyé par des projets qui feront l objet d exposés et de rapports sous forme d articles. On examinera successivement : nombre approximatif de semaines L évolution des systèmes de bases de données 1 Les langages SQL, QBE, QPE 2 Les agents intelligents 4 Les systèmes tutoriels intelligents 4 Les bases d images, géographiques et multimédia 2 Les bases de données intelligentes 1 Bibliographie K. Parsaye, M. Chignell : Intelligent Database Tools and Applications, Wiley. C. Frasson, G. Gauthier, A. Lesgold : Intelligent Tutoring Systems, LNCS vol 1086, Springer Verlag, 1996. C. Frasson, G. Gauthier, K. Van Lehn : Intelligent Tutoring Systems, LNCS vol 1839, Springer Verlag, 2000. Korth, Silberschatz : Database systems concepts, Mc GrawHill J. Muller, M. Wooldridge, N. Jennings : Intelligent Agents 3, Agent Theories, Architectures and Languages, Springer, 1996. N. Jennings, M. Wooldridge : Agent Technology, Foundations, Applications, and Markets, Springer, 1997. Copyright 2014 Aucune partie de ce cours ne peut être reproduite sans autorisation de l'auteur 2

L évolution des SGBD Objectifs d'apprentissage Les notes suivantes sont supposées connues et serviront de référence pour ceux qui n ont pas suivi ce cours. Il s agit, en parcourant rapidement ces notes, De comprendre l évolution des SGBD De connaître les objectifs d'un SGBD De connaître le fonctionnement d'un SGBD De distinguer les évolutions des SGBD 3

Le concept de bases de données Fournisseur Projets Pièces Employés Entrepots Bureaux Base de données : ensemble de données et de liens qui les unissent 4

Indépendance des données notion de dépendance ---> la facon dont les données sont organisées et la manière dont on les obtient sont imposées par l'application et la connaissance de cette organisation se répercute sur la logique même de l'application Impossible de changer la structure de stockage la méthode d'accés sans entrainer de grandes modifications Un système de bases de données doit éviter cette dépendance et ceci pour deux raisons 5

Différentes applications nécessitent parfois des vues différentes des mêmes données A Pièces Pièces B décimal binaire A Pièces B conversion 6

L'administrateur doit avoir la liberté de changer la structure de stockage ou la stratégie d'accés selon la nécessité Raisons : nouvelles normes nouvelles priorités des applications nouvelles unités de stockage... les approches de programmation classique entraînent une perte de temps de l'activité des programmeurs (dévolué à la production) en maintenance L'indépendance constitue un des objectifs principaux des systèmes de bases de données. Elle est définie par l'immunité des applications vis-a vis des changements dans la structure de stockage la stratégie d'accés 7

Objectifs d'un SGBD possibilité d'avoir différentes vues investissement intellectuel protégé Clarté facilité d'utilisation résolution rapide de requêtes aléatoires performances acceptables 8

confidentialité sécurité indépendance physique indépendance logique redondance contrôlée dictionnaire de données interface de programmation de haut niveau langage orienté vers l'utilisateur final controle d'intégrité reprise aisée en cas de pannes outils d'aide à la conception à l'optimisation 9

Architecture d'un système de bases de données U1 U2 U3 U4 U5 schéma externe A schéma externe B Correspondance E-C Correspondance E-C Schéma conceptuel SGBD Correspondance C- I Schéma interne (Stockage de la base) 10

Administrateur de la base Responsable de l'organisation du système et de la base de facon à obtenir les meilleures performances pour l'entreprise personne rare et chère décide du contenu de la base décrit le modèle de données dans le LDD décide de la représentation des données dans la base écrit la correspondance Modèle-Stockage structure de stockage, stratégie d'accès définit les autorisations et les procédures de validation définit une procédure de sauvegarde 11

Fonctionnement d'un SGBD Applications schéma externe zone de travail SGBD schéma conceptuel Tampons Système d'exploitation schéma interne Base de données 12

Historique des bases de données Modèle hiérarchique Modèle réseau Modèle relationnel Modèle entité-relation Modèle objet 2014 C. Frasson 13

Les différents modèles de SGBD Le modèle hiérarchique f1 f2 Fournisseur p1 p2 p2 p4 p5 Pièces F2 Ford 10 Detroit F4 Alcan 2 Chicoutimi p1 Bielles noires 12 4 p2 culasse blanc 17 10 p2 culasse blanc 17 5 p4 détergent blanc 2 100 p5 tubes gris 5 200 14

Inconvénients modèle à bien choisir (performances) Quels sont les fournisseurs qui fournissent la pièce P2? Quelles sont les pièces fournies par le fournisseur F5? Programmes compliqués (avec les niveaux) Anomalies relation 1: plusieurs ajout : il n'est pas possible d'ajouter une pièce tant que son fournisseur n'existe pas suppression : si on supprime un fournisseur on supprime toutes ses pièces (inconvénient si unique) -mise à jour : mise à jour de la couleur de la pièce P2 recherche partout dans toute la base Système IMS

Le langage de définition et de manipulation des données Définition et manipulation peuvent être faites dans n'importe quel langage mais il existe des langages spécifiques en bases de données : LDD no cours titre description Cours Prérequis noprerequis titre nos date lieu Session Get Next (GN) Get Next within Parent (GNP) Get unique (GU) Enseignant GHU GHN GHNP DELT REPL ISRT Étudiant noemp nom noet nom nbcrédits 16

Exemples de requêtes Q1 : Trouver toutes les sessions de Montréal GU COURS faire tant qu'il existe une session GN SESSION(VILLE= MONTREAL) fin Q2 : Trouver toutes les sessions du cours 3030 GU COURS(#COURS=3030) Faire tant qu'il existe une session GNP SESSION GN, GU fixent la parenté --->position courante Que donnent les requêtes suivantes? GU COURS GN GN GN GN 17

Le modèle et langage réseau Network model Proposé par le DBTG du CODASYL, pour améliorer le modèle Fournisseur Lien M:N Piéces relation plusieurs-plusieurs Un lien est une connexion entre un fournisseur et une pièce. Pour un fournisseur tous les liens sont placés sur une chaine partant (du) et retournant au fournisseur 18

Record Record Owner F P Owner Set FQ PQ Set member Q member Record Un seul propriétaire de Set 0 ou N membres Mais un record peut être membre de plusieurs sets ou membre et propriétaire de plusieurs sets ou propriétaire de plusieurs sets (Bachmann) 19

F2 Ford 10 Détroit Set FQ F4 Alcan 2 Alma Set FQ 3 4 2 3 4 Set PQ Set PQ Set PQ Set PQ P1 Bielles noires 12 P2 Culasse blanc 17 P5 Piston Blanc 6 P4 tubes gris 15 20

Résoud certains problèmes du modèle hiérarchique Ajout : il est facile d'ajouter une nouvelle pièce (sans liens) Suppression : on peut supprimer F2 sans perdre l'information sur la pièce P2 Mise-à-jour : on peut modifier (changer la couleur d'une pièce par exemple) sans amener une incohérence car la pièce existe une seule fois Inconvénients proche de la structure de stockage programmation peut-être rapidement complex Et si P1 est maintenant fourni par F4??? Systèmes : IDS, IDMS 21

D Hiérarchie linéaire à plusieurs niveaux E DE EP H avec plusieurs types de records EF Fonctions E EC cours P Différents modèles réseau... EL 1 Emp N LE H avec même types de records à plusieurs niveaux 1 LIEN 1 22

E 1 EL Occurrences employés-employés L 1 LE E 2 EL E 3 EL Réseau à un seul type de record L 2 L 4 LE LE E 6 E 7 P composée de PL M LIEN PIL Composante dans... M 23

Exemple de réseau à un seul type de record P 1 PL QTé L 1 L 2 PIL PL L 8 PIL PL PIL P 2 P 3 -> "P1 est composée de L1 pièces P2 et L2 pièces P3",... 24

Les principales instructions FIND GET ERASE STORE MODIFY CONNECT DISCONNECT RUN - UNIT RECONNECT a) FIND: System S P all current <nb> within sy-pr PR s-pr s-sp p-sp SP owner 25

Find all <listp> <nomrecord> listp : liste où seront mis les pointeurs des records retrouvés [within] <nom de set> [using] <liste d'item> where <condition> Trouver toutes les pièces de couleur rouge Find all listp1 P using couleur > couleur: rouge listp1 contient une liste de pointeurs des occurrences répondant au critère 26

b)find current within <nom record> <nom set> Find SP using Pno Pno = 1400 Find owner within S-SP Find current within S-Pr System S P c) Find - First - Last - Next - Prior sy-pr s-pr s-sp p-sp PR SP <nom RECORD> - <entier, relatif> Within <nom set> [using] <liste d'item> where <condition> [ For update] 27

Trouver la 5ème pièce qui est un boulon Find 5 P where Pname = 'Boulon' where Pname matches 'vis *' vis à métaux vis à bois Where - LT - LE - EQ (+ opérateur) - NE AND - GT OR - GE NOT - MATCHES - CONTAINS Trouver les pièces qui contiennent du bois Find P where Pname contains 'Bois' (pas de différences avec minuscules) vis à bois scie à bois allumettes en bois Find last S where Sname contains 'al' 28

d)find owner within <nom set> (retrouve le propriétaire d'un set) Trouver le fournisseur qui fournit un projet dont le budget est supérieur à 10 000 et le nom est delta Find 1 PR using Nom, Budget >nom: delta >Budget:10 000 Find owner within S-PR e) Free all [from <liste>] current Efface les entrées (donc les adresses) contenues dans une liste Free all From List1 Free all : toutes les listes Free current within <nom record> <nom set> Met l'indicateur courant à 0 29

Free current within P-SP Free <entier> within <list> <first> <last> Find all list4 S using ville list4 >ville : Montréal Get S Free first within list4 f) Fetch (même syntaxe que le Find) transfert des données > Find first SP where Pno EQ 1500 > Find owner within S - SP > Fetch current within S - PR 30

g)get <nom Record> <liste d'items> of <Record> > GET S > GET nom, ville of S h)keep current Keep current [within] <nom record> <nom set> [using] <liste d'item> >Fetch first P within P - SP using Pno >Pno : 1500 >Keep CURRENT within P - SP using list.fournies 31

i) Store <nom record> : ajoute un nouvel enregistrement j) Erase [all] <nom record> k)connect place un enregistrement courant dans un ou plusieurs set, l'occurrence de ce set étant déterminée par la position courante et la clause Order Connect <nom record> to [all] si record défini comme membre des sets <liste de SET> l) Disconnect <nom record> from [all] m)reconnect <nom record> within [all] n)retention <liste de SETS> <liste de SET> 32

Le modèle et langage relationnel Basé sur la théorie des Relations Étant donnés les ensembles D 1, D 2,... D n Codd(IBM) R est une relation sur ces n ensembles si c'est un ensemble ordonné de n-uplets <d1, d2,... dn> tels que d1 e D1, d2 e D2,... dn e Dn D 1, D 2,... D n sont des domaines de R n est le degré de la Relation -> Ex: Relation Pièce Pièce (Pno, Pnom, couleur, poids) domaines/ Attributs P1 boulon blanc 55 tuple n-uplet { ruple P2 P3 vis bouchon noir rouge 2 7 P4 clé vert 3 P5 volant jaune 15 33

Il n'existe pas 2 n-uplets identiques L'ordre des colonnes n'importe pas L'ordre des lignes n'importe pas Un domaine particulier est la "clé primaire" (Ex.: Pno) Chaque valeur de Pno est différente * Chaque valeur identifie de manière unique le n-uplet Cas où deux domaines(attributs) représentent le même ensemble (domaine): Exemple : relation Composant (PnoM, Pnom, Qté.) Composant Pno, Pnom, Qté. M P1 P2 2 P1 P4 4 Clé primaire P5 P3 P3 P6 1 3 P6 P7 9 P5 P6 8 P2 P4 4 34

Exemple d'un modèle relationel CP FOURN Pno Pnom cat ville F1 Ford F2 GE F3 Hitachi F4 Radio-S 1 2 2 4 Détroit N.Y. Tokyo Toronto F5 Motorola 4 L.A. F6... 4 L.A. P Pno P1 P2 P3 P4 P5 P6 Pnom Culasse boulon Vis circuit capot transfo couleur blanc jaune blanc noir beige noir poids 25 8 5 2 5 58 F1 P2 FP CE Fno F1 F1 F1 F2 F2 F3 F4 Pno P1 P2 P4 P4 P6 P4 P4 Qte 1 000 10 000 10 000 100 200 300 1 000 F5 P4 200 Chaque fournisseur fournit des pièces et chaque pièce est fournie par des fournisseurs (correspondance plusieurs-plusieurs) Aucune clé primaire ne peut être nulle (en tout ou partie) Intégrité référentielle Chaque valeur de #P dans FP doit être égale à cette #P dans P. clé candidate clé alternée 35

Ajout: Il est facile d'ajouter une nouvelle pièce (P7) -> ajout d'un nouveau tuple Suppression: On peut supprimer F1 sans perdre l'information sur la pièce fournie M.A.J.: On peut changer la couleur de la pièce P2 (en jaune) sans problèmes de recherche et sans possibilité d'incohérence. Résoud de nombreux problèmes des modèles hiérarchiques et en réseau. 36

Caractéristiques des SGBD relationnels Suivant Codd, un système est relationnel<=> il supporte au moins les propriétés suivantes: 1- Il y a une Base de données relationnelle (la base de données est perçue par l'usager selon les tables) 2- On a au moins les opérations: sélection, projection, jointure naturelle sans détails sur les accès physiques entraînés par ces opérations. Par exemple, si on ne peut que sélectionner des enregistrements indexés (champs indexé), ce n'est pas un Système Relationnel (S.R.). 37

RAISONS S, P, J sont un sous-ensemble de l'algébre (très utile). Ils résolvent presque tous les problèmes. un système qui supporte uniquement l'aspect relationnel (tables) ne permet pas la qualité d'utilisation d'un S.R.véritable un système qui fournit les opérateurs relationnels mais nécessite une prédéfinition des chemins d'accès n'obéit pas au principe d'indépendance physique. les opérateurs relationnels doivent être implémentés avec optimisation => tâche non triviale => raison du délai d'apparition des SGBD industriels. 38

Schématiquement Chaque secteur => une propriété fondamentale du modèle (structurale, intégrité, manipulation) (S I M) Le degré de la propriété» Systèmes tabulaires (sans set d'opérateurs) ce ne sont pas des relationnels. S M» tables + opérations de S, P, J (pas d'autres) est relationnel minimal» tables + tous les opérateurs ==> Relationnel complet DB2, SQL/DS, INGRES, ORACLE RdB/VMS,...» tous les aspects du modèle => notions de domaines et les deux règles d'intégrité, I est totalement relationnel actuellement aucun, mais en préparation. S S I M M I 39