La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Initiation aux bases de données et à la programmation événementielle"— Transcription de la présentation:

1 Initiation aux bases de données et à la programmation événementielle
VBA sous ACCESS Cours N° 2 Support de cours rédigé par Bernard COFFIN Université Paris 10 – Nanterre /2008

2 ACCESS est une BD relationnelle
Mémoire du SI La mémoire du système d’information constitue la base de données proprement dite Ensemble cohérent d’informations complexes Les informations élémentaires (données) sont regroupées en fonction du sens qu’on leur donne Plusieurs techniques pour réaliser des BD ACCESS est une BD relationnelle

3 Relationnelle ? C’est une référence à l’algèbre relationnelle
Les BD relationnelles sont très répandues Elles utilisent un langage d’interrogation et de mise à jour : SQL Structured Query Language Langage de requête structuré Langage déclaratif : on décrit ce qu’on veut obtenir, la machine fait le nécessaire

4 Pour comprendre et bien utiliser les requêtes il faut avoir un minimum de notions sur l’algèbre relationnelle

5 Algèbre relationnelle
Partie de la théorie des ensembles Une définition qui nous suffit : Un ensemble est une collection d’éléments Un ensemble peut être : Tous nos ensembles seront finis - vide - infini Exemple : N, ensemble des nombres entiers - fini Exemple : A = {1, 3, 8, 12, 20} On appelle cardinal d’un ensemble fini le nombre de ses éléments |A| = 5

6 Opérations de base sur les ensembles
tel que Union de deux ensembles Intersection de deux ensembles appartient Produit cartésien de deux ensembles Les éléments de A.B sont des couples Les éléments d’un produit cartésien de n ensembles sont des n-uplets

7 Exemple : A = {vert, jaune, rouge} B = {allumé, éteint} A • B est l’ensemble de tous les couples respectant la définition Pour obtenir le résultat, il faut successivement associer (dans un couple) chaque élément de A à chaque élément de B A • B = {(vert, allumé), (vert, éteint), (jaune, allumé), (jaune, éteint), (rouge, allumé), (rouge, éteint)} | A • B | = | A | x | B |

8 Relation Un domaine est un ensemble dont les éléments sont des « valeurs » A = {vert, jaune, rouge} B = {allumé, éteint} Les ensembles de l’exemple précédent sont des domaines En algèbre relationnelle, une relation est un sous-ensemble (fini) du produit cartésien de plusieurs domaines Par extension, un domaine est une relation A, B et A•B sont des relations Le produit cartésien de plusieurs relations est une relation

9 Représentation des relations par des tableaux
Ces relations sont enregistrées dans la mémoire permanente de la BD Nous utiliserons souvent des « tables », mais… toutes les relations ne sont pas des « tables » En-tête de colonne : le nom du champ Table C Table B B allumé éteint A B vert allumé éteint rouge Il est préférable de parler d’ « enregistrement » Dans chaque « ligne », un n-uplet de la relation Les valeurs d’une « colonne » appartiennent à un même domaine Il est préférable de parler de « champ »

10 Liste des champs d’un produit de deux relations
C’est l’union des listes des champs des deux relations R1 R2 R1•R2 ville dept Rouen 76 Lyon 69 dept Région 28 Centre 69 Rhône-Alpes ville R1.dept R2.dept région Rouen 76 28 Centre Lyon 69 Rhône-Alpes On les différencie dans R1•R2 à l’aide de noms qualifiés Deux champs portent le même nom dans R1 et R2

11 En SQL, c’est une sélection
Projection C’est une opération sur les relations En SQL, c’est une sélection Elle permet à partir d’une relation existante d’en obtenir une nouvelle en ne conservant qu’une partie de ses champs projection de « étudiant » sur (nom, prénom) étudiant nom prénom formation adresse MARTIN Marie MMIA Versailles BERNARD Louis Gestion Nanterre THOMAS Alice Anglais Bernard Suresnes nom prénom MARTIN Marie BERNARD Louis THOMAS Alice Bernard SELECT nom, prénom FROM étudiant;

12 Restriction aux nanterrois
C’est une autre opération sur les relations Elle permet à partir d’une relation existante d’en obtenir une nouvelle en ne conservant qu’une partie de ses enregistrements SELECT étudiant.* FROM étudiant WHERE adresse = "Nanterre"; étudiant Restriction aux nanterrois nom prénom formation adresse MARTIN Marie MMIA Versailles BERNARD Louis Gestion Nanterre THOMAS Alice Anglais Bernard Suresnes nom prénom formation adresse BERNARD Louis Gestion Nanterre THOMAS Alice Anglais On obtient ce résultat en posant une condition sur la valeur du champ « adresse »

13 On peut combiner plusieurs opérations
Projection et restriction étudiant identités des nanterrois nom prénom formation résidence MARTIN Marie MMIA Versailles BERNARD Louis Gestion Nanterre THOMAS Alice Anglais Bernard Suresnes nom prénom BERNARD Louis THOMAS Alice La restriction peut porter sur d’autres champs que la projection SELECT nom, prénom FROM étudiant WHERE résidence = "Nanterre";

14 Projection, produit cartésien et restriction
étudiant adresse nom prénom formation référence MARTIN Marie MMIA 2 BERNARD Louis Gestion 3 THOMAS Alice Anglais Bernard MARIE Philippe 4 code adresse ville département 1 Paris 75 2 Versailles 78 3 Nanterre 92 4 Suresnes SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM adresse, étudiant WHERE (adresse.[code adresse]=[référence]) AND (adresse.département=92); habitants des Hauts-de-Seine nom prénom ville BERNARD Louis Nanterre THOMAS Alice MARIE Philippe Suresnes

15 C’est une « clef primaire » C’est une « clef externe »
Lien logique Ce champ « identifie » un enregistrement (il ne peut pas prendre la même valeur pour deux enregistrements différents) C’est une « clef primaire » Ce champ relie un enregistrement de « étudiant » à un enregistrement de « adresse » C’est une « clef externe » étudiant adresse nom prénom formation référence MARTIN Marie MMIA 2 BERNARD Louis Gestion 3 THOMAS Alice Anglais Bernard MARIE Philippe 4 code adresse ville département 1 Paris 75 2 Versailles 78 3 Nanterre 92 4 Suresnes Le couple (clef primaire, clef externe) permet de réaliser des liens logiques

16 Ici, le nom de la table est obligatoire
JOINTURES SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM adresse, étudiant WHERE (adresse.[code adresse]=[référence]) AND (adresse.département=92); Ici, le nom de la table est obligatoire La première clause de restriction est presque équivalente à une jointure interne SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant INNER JOIN adresse ON étudiant.référence = adresse.[Code adresse] WHERE adresse.département = 92; Mais la jointure permet de créer des enregistrements alors que ce n’est pas le cas de la clause Where Il y a aussi des jointures externes qui permettent des calculs de relations plus élaborés Elles ne sont pas au programme de ce cours


Télécharger ppt "Initiation aux bases de données et à la programmation événementielle"

Présentations similaires


Annonces Google