Initiation aux bases de données et à la programmation événementielle

Slides:



Advertisements
Présentations similaires
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Advertisements

Les Systèmes de Gestion de Bases de Données (SGBD) Algèbre relationnelle.
Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Informatique appliquée à la gestion Bases de données www. labri
Fonctionnalités des SGBD
Le Modèle Logique de Données
Algèbre relationnelle
ACCESS Découverte.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Logiciel de base de données
Initiation aux bases de données et à la programmation événementielle
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
Initiation à la conception des systèmes d'informations
Initiation à la conception des systèmes d'informations
Algèbre relationnelle
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Introduction à la conception de Bases de Données Relationnelles
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
Calcul Relationnel Chapitre 4, Section 4.3.
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
Modèle Logique de Données
Algèbre relationnelle
SYSTEME DE GESTION DE BASES DE DONNEES
Staf 2x Cours de bases de données
Algèbre Relationnelle
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Informatique appliquée UQAC (Dim) DIAPORAMA Informatique appliquée UQAC (Dim)
Cours de Management des Systèmes d’Information
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Modèle Logique de Données (MLD)
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Bases de données.
Présentation Session RPSI
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Mini-SGBD Implémentation des opérateurs algébriques Yohann HUBERT Christophe PANNEAU Licence informatique Année Maître de stage : M. KHAYATA.
Sélection de colonnes (la projection)
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Langage Relationnel Graphe de Requêtes
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Introduction aux Bases de Données et au langage SQL
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Cours 11 Entrepôts de données
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Introduction SGDBOO Sommaire Définition d’un SGBD (6 services)
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Initiation aux bases de données et à la programmation événementielle
Transcription de la présentation:

Initiation aux bases de données et à la programmation événementielle Cours N°1 : Introduction. Support de cours de Soheib BAARIR*. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr Université Paris Ouest Nanterre la Défense. 2009-2010. * Adapté du cours de B. COFFIN. Reproduction interdite sans autorisation écrite de l’auteur.

Contexte général : introduction Élaborer le système d’information d’un organisme. Un Système d’Information (SI): ensemble des moyens humains et informatiques permettant, le stockage, la transformation et la restitution de l’information, de l’organisme étudié.

Contexte général : système d’information (Mémoire + Capacité de traitement) (Base de Données (BD) + Programmation) 3

Outils et langages de Programmation Base de Données Ensemble d’informations complexes. Respecte les caractéristiques : Structuration. Non redondance. Cohérence. Indépendance aux programmes. Sécurité. Plusieurs modèles (types) de BD : les BD hiérarchiques, les BD en réseau, les BD relationnelles, les BD objet. SGBD + Outils et langages de Programmation

SGBD : ACCESS Système de Gestion de Base de Données (SGBD) : Logiciel(s) assurant, structuration, stockage, maintenance, mise à jour et, consultation, des données d’une BD. Microsoft ACCESS : est un logiciel intégrant, SGBD Relationnel : BD Relationnelle, Éditeur graphique , SQL…, Des langages de programmation événementielle : Visuel Basic pour Application (VBA)…, des interfaces de visualisation : Formulaires, États….

ACCESS : une architecture très simplifié Traitements SGBD Interfaces de visualisation BDR Le cours concerne Moteurs d’Interprétation Moteur de BD Requêtes SQL Programmes VBA Éditeur Graphique 6 Première partie du cours Deuxième partie du cours

BD Relationnelles Très répandues en pratique. Reposent sur les concepts de l’algèbre relationnelle. Fait partie de la théorie des ensembles. Domaines, Relations, Opérateurs relationnels…etc. Manipulées (interrogées et mises à jour) par un langage déclaratif : Structured Query Language (SQL). On décrit ce qu’on veut obtenir, la machine fait le reste.

Algèbre relationnelle : introduction Définition d’un ensemble (suffisante pour nous) : c’est une collection d’éléments. Un ensemble peut être : Vide :  Infini : , ensemble des nombres entiers Fini : A ={1, 3, 24, 20, 0} On appelle cardinal d’un ensemble fini le nombre de ses éléments : |A| = 5.

Algèbre relationnelle : domaine et relation Un domaine est un ensemble dont les éléments sont des valeurs atomiques.    A = {vert, jaune, rouge} , B = {allumé, éteint} , C= {(vert,allumé), (jaune,éteint)} Une relation est un sous-ensemble (fini) du produit Cartésien d’une liste de domaines. Produit Cartésien : Un élément d’une relation est appelé n-uplet Cardinal d’un produit Cartésien : Sous-ensemble d’un produit Cartésien : Schéma d’une relation : Attributs.

Le produit Cartésien de A et B ? Exemples A = {vert, jaune, rouge} B = {allumé, éteint} Le produit Cartésien de A et B ? R1 = A • B = { (vert, allumé), (vert, éteint), (jaune, allumé), (jaune, éteint), (rouge, allumé), (rouge, éteint)}. |R1|=|A • B| = | A | x | B | = 3 x 2 = 6 D’autres relations… R2 = A •  = A  1 domaine  Relation unaire. R3 = {(vert, éteint), (jaune, allumé)}  2 domaines  Relation binaire. R4 = R1 • R2  Trois domaines  Relation ternaire. … N domaines  Relation n-aire.

Algèbre relationnelle : opérations Pour définir une Algèbre sur des ensembles, il faut définir des opérateurs. Nos ensembles sont des relations… Opérateurs entre les relations. Propriété de fermeture : opérateurs entre relations pour produire de nouvelle relations. Catégories d’opérateurs relationnels : Opérateurs unaires : restriction, projection, affectation Opérateurs binaires : Sur un même schéma : union, intersection, différence. Sur des schémas différents : produit cartésien, jointure, division.

Opérateurs unaires : Restriction Supprime des n-uplets de une relation R qui ne satisfont pas une condition C. R’  RESTRICTIONC (R) C est une expression booléenne construite à partir : d’expression simples, attributR op constante A4 > 5, A7 = "Dupont "  attributR op attributR A6 < A8, de connecteurs logique (et, ou, non) sur des expressions simples, (A4 > 5) et (A6 < A8). R(A1,…,A8) op={=,>,<,…}

Opérateurs unaires : Exemple de Restriction A = {vert, jaune, rouge} B = {allumé, éteint} R = A • B = { (vert, allumé), (vert, éteint),(jaune, allumé), (jaune, éteint), (rouge, allumé), (rouge, éteint)}. R’ = RESTRICTIONA=rouge (R) ? R’ = {(rouge, allumé),(rouge, éteint)}. R’’ = RESTRICTIONA=vert et B=allumé (R) ? R’’ = {(vert, allumé)}.

Opérateurs unaires : Projection Supprime des attributs d’une relation R. R’  PROJECTION(A1, …, An) (R) R’ est la relation de schéma R’(A1,…,An), ayant comme n-uplets ceux de R mais, restreints au sous-schéma (A1,…,An).

Opérateurs unaires : Exemple de Projection Soit le schéma de relation : R(N°client, nom, prenom,ville). R = {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims) , (102,Machin,Jean,Epernay), (103,Trico,Bob,Paris), (104,Zoeo,Paulo,Paris), (106,Toc,Pablo,Pantin)} R’ = PROJECTION(nom, prenom) (R) ? R’ = {(Paper,Luc),(Gloglo,Thomas),(Machin,Jean), (Trico,Bob),(Zoeo,Paulo),(Toc,Pablo)}

Opérateurs binaires : union Fusionne deux relations ayant les mêmes attributs en une seule relation. R’  UNION(R,S) R’ est une relation ayant le même schéma que R, dont les n-uplets sont ceux de R et de S, les doublons sont supprimés.

Opérateurs binaires : exemple d’union Soit : R(N°Client, nom, prenom,ville). R= {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims)} S(N°Client, nom, prenom,ville). S={(102,Machin,Jean,Epernay), (103,Trico,Bob,Paris)} R’ = UNION(R,S) ? R’= R U S = {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims), (102,Machin,Jean,Epernay), (103,Trico,Bob,Paris)}

Opérateurs binaires : Intersection Fournit n-uplets présents dans les deux relations à la fois. R’  INTERSECTION(R,S) R’ est une relation de schéma égal au schéma de R, ayant les n-uplets présents dans R et dans S.

Opérateurs binaires : exemple d’intersection Soit : R(N°Client, nom, prenom,ville). R= {(100,Paper,Luc,Reims), (101,Gloglo,Thomas,Reims)} S(N°Client, nom, prenom,ville). S={(102,Machin,Jean,Epernay), (101,Gloglo,Thomas,Reims)} R’ = INTERSECTION(R,S) ? R’= RS = {(101,Gloglo,Thomas,Reims)}

Opérateurs binaires : Différence Fournit les n-uplets d ’une relation qui n ’appartiennent pas à une autre relation R’  DIFFERENCE(R, S) R’ est une relation de schéma R, contenant les n-uplets de R qui ne sont pas dans S. Attention : DIFFERENCE(R,S) ≠ DIFFERENCE(S,R)

Opérateurs binaires : Exemple de Différence Soit : Etudiant(N° étudiant, Nom, Année) Etudiant = {(20,Dupont, 2009), (27,Durand,2008) (40,Thomas,2001)} Etudiant2001= RESTRICTIONAnnée=2001 (Etudiant) Etudiant2001= {(40,Thomas,2001)} R’ = DIFFERENCE(Etudiant,Etudiant2001) ? R’=Etudiant-Etudiant2001 = {(20,Dupont, 2009), (27,Durand,2008)}

Opérateurs binaires : Produit Cartésien R’  PRODUIT(R, S) Le produit cartésien deux relations R et S de schémas quelconque est une relation R’, ayant pour attributs la concaténation des attributs de R et de S et, dont les n-uples sont constitués de toutes les concaténations d’un n-uplet de R à un n-uplet de S.

Opérateurs binaires : Jointure R et S deux relations définies sur des schémas différents, avec… des attributs de même domaine. R’  JOINTUREC (R,S) Où C est de la forme (attributR = attributS)+ R’ est une relation dont le schéma est construit par l’union des schémas de R et de S, dont les n-uplets sont la concaténation des n-uplets de R et de S, si et seulement si, ils ont la même valeur pour les attributs communs (de même domaine)  Cette jointure est appelée équi-jointure ou naturelle.

Opérateurs binaires : Exemple de Jointure Soit : Etudiant(N° étudiant, Nom étudiant, Code région) Etudiant = {(20,Dupont, 75), (27,Durand,94) (40,Thomas,92)} Région(N° région, Nom région) Région= {(75,Paris), (94,Val de Marne), (92,Nanterre)} R’ = JOINTURE(Code région = N° région) (Etudiant,Région) ? R’(N° étudiant, Nom étudiant, Code région, N° région, Nom région) R’ = {(20,Dupont, 75,75, Paris),(27,Durand,94,94, Val de Marne), (40,Thomas,92,92,Nanterre)}

Opérateurs binaires : Division Soit R, définie sur un schéma composé des ensembles d’attributs X et Y (XY) S est définie sur un schéma composé de Y R’  DIVISION(R,S) R’ est une relation dont le schéma est X ((XY) / Y), qui comprend tous les n-uplets dont, le produit cartésien avec les n-uplets de S sont dans R.

Opérateurs binaires : Exemple de Division Soit : Participe(Nom Athlète , Epreuve) R = {(Dupont,200 m), (Dupont,400 m), (Dupont,110 m) (Machin,400 m), (Martin 110 m)} Epreuve (Epreuve) S= {(200 m),(400 m), (110 m)} R’ = DIVISION (Participe, Epreuve) ? R’(Nom Athlète) R’ = {(Dupont)}