Initiation aux bases de données sous Access. Plan I.Structure d’une base de données II.Langages de manipulation de données –Algèbre relationnelle (théorique)

Slides:



Advertisements
Présentations similaires
Informatique appliquée à la gestion Bases de données www. labri
Advertisements

Chap 4 Les bases de données et le modèle relationnel
Sélection de colonnes (la projection)
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é.
1- Introduction 2ème partie Modèle Conceptuel des Données 2- Entités- Associations 4- Associations plurielles 3- Cardinalités 5- Associations réflexives.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
Le langage de définition de données B.T.S. S.I.O – SI3 –
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL query - 1 / D. Berrabah SQL : interrogation de BD Requêtes d'interrogation simples Requêtes complexes Agrégats et groupement.
Les Bases de données Définition Architecture d’un SGBD
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
Création et téléchargement des fichiers
Exploitation de logiciels :
Module de gestion des tournées de livraison
Structure et Services « STS » Menu Structures : Divisions
L2A Semestre 4 Mehdi Benzine
Systèmes d’Information
Construire des requêtes
Environnement du développement de BD ORACLE REPORTS 10g
Introduction aux Systèmes de Gestion de Bases de données
ملخص Initiation à la sgbdr
Structured Query Language SQL DDL
Intégration du P7 dans l’épreuve E41
Initiation aux bases de données et à la programmation événementielle
Université Stendhal - Grenoble
Langage de manipulation de données (LMD)
Sous menu de l’application «micro» (‘IHM’)
Logiciel de gestion des adhérents
Initiation aux bases de données et à la programmation événementielle
Les objectifs du cours Savoir utiliser un Tableur
Généralité sur les bases de données
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
SQL LID – INTERROGATIN DES DONNEES
Maria Berger - Maîtrise d'AES Algèbre relationnelle.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
Manipulation D’Une Base De Données
Structure D’une Base De Données Relationnelle
Formules de calculs et Fonctions. Structure des formules de calcul Commencez toujours votre calcul par le signe =, ensuite sans laisser d’espaces, placez.
Langage d’interrogation des Données LID
Calcul Scientifique Initiation à SCILB
02- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
Introduction en systèmes d’information et bases de données B.Shishedjiev -Introduction en BD 1.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Algèbre relationnelle
Gestion des photos Organisation du disque dur, Navigation
CountrySTAT / FENIX Aperçu globale de l’Editeur DSD dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT/FENIX.
DOSSIER 09 – Le modèle relationnel
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
5 Introduction au modèle relationnel 5.1 Concepts de base
La création de notices d’exemplaires
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
La recherche avancée.
Introduction aux Bases de Données SGBDR Microsoft Access.
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
Cours 11 Introduction à Access Algèbre relationnelle
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
Support de formation Administrateur Notes de Frais
1. 2 TABLEUR: Calc mars 19 Myriam Boullanger - Bureautique - Calc Suite Gratuite Libre Office Dans le navigateur (Internet Explorer, Google Chrome, FireFox,…),
Bases de Données Relationnelles(1)
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Initiation à la recherche documentaire
Transcription de la présentation:

Initiation aux bases de données sous Access

Plan I.Structure d’une base de données II.Langages de manipulation de données –Algèbre relationnelle (théorique) –QBE d’Access III.Application sous Access

bases de données ?

INITIATION AUX BASES DE DONNEES Une base de données est un ensemble ou une collection structurée de données Il existe plusieurs types de bases de données (BD’s) qui se distinguent de par la façon dont les données sont structurées BD’s relationnelles, objet, hiérarchiques, réseau, fonctionnelles, déductives … La majorité des BD’s sont relationnelles Oracle, société éditrice de logiciels pour bases de données est la deuxième plus grosse société après Microsoft.

Structure d’une BD relationnelle Une BD relationnelle est composée d’un ensemble de tables (ou relations) Une table est composée de –Lignes qu’on appelle enregistrements (ou tuples) –Colonnes représentant chacune un champ (ou un attribut) Chaque table a un nom Chaque champ a un nom et un type –Texte, numérique, date, …

Exemple de table N°CommandeDateCommandeMontant 2713/2/ /1/ /06/ /12/ Commande Nom de la table 3 champs 4 enregistrements N°Commande est du type numérique entier Montant est du type numérique réel DateCommande est du type date

Quelques contraintes Deux tables d’une même base de données ne peuvent pas avoir le même nom Deux champs de la même table ne peuvent pas avoir le même nom Un même champ peut être présent dans plusieurs tables

Exemple de base de données N°LivreTitreLivre 10La monnaie 25La finance N°AuteurNomAuteur 1Dupont 2Durand 3Martin Livre Auteur N°LivreN°Auteur LivreAuteur

Système de Gestion de Base de Données ?

SGBD Les logiciels qui permettent de gérer des bases de données sont appelés « Systèmes de Gestion de Bases de Données » Acces est un SGBD relationnel MySQL, SQL Server, Postgres, Oracle, DB2, … Un SGBD permet de –Créer une BD –Modifier la structure des tables –Interroger la BD –Modifier la BD –…

Interrogation d’une BD

PRINCIPES D’INTERROGATION Le résultat d’une requête a toujours la forme d’une table BD=ensemble de tablesRésultat d’une requête sous forme de table

Algèbre relationnelle OPERATIONS ALGEBRIQUES APPLIQUEES AUX TABLES UNAIRES (Un argument) BINAIRES (Deux arguments) 5 OPERATIONS ALGEBRIQUES ELEMENTAIRES –RESTRICTION –PROJECTION –PRODUIT –DIFFERENCE –UNION OPERATION COMPLEMENTAIRE (l’une des plus utilisées) –JOINTURE

RESTRICTION R1 R R1 = RESTRICTION (R; ) condition_simple : opérande1  opérande2.  est un opérateur à prendre parmi {=, , >, =, <=} condition_composée : conditions simples liées par les opérateurs logiques et, ou, non R1 contient les lignes de R qui vérifient la condition de restriction R1 =  condition (R)

Exemple de restriction Soit la table Livre ( N°Livre, Titre, Année ) –On veut savoir quels sont les livres qui sont sortis en 2000 –R1=Restriction(Livre; Année=2000) –R1=  Année=2000 (Livre)

R1 = PROJECTION (R; ) : Attributs Ai, avec Ai  R R1 est une table qui contient les lignes de R où on ne garde que les champs spécifiés dans ( liste_attributs_projection) R1 =  Liste des attributs (R) PROJECTION R1 R

Exemple de projection Soit la table Livre(N°Livre, Titre, Année) –On veut savoir quels sont les titres des livres –Projection(Livre; Titre) –  Titre (Livre)

Exemple combinant Restriction et projection Soit la table Livre(N°Livre, Titre, Année) –On veut les titres des livres sortis en 2000 –R1= Restriction(Livre, Année=2000) –R2= Projection(R1;Titre) –Ou Projection(Restriction(Livre;Année=2000),Titre) –Noter que l’on ne peut pas inverser l’ordre de ces 2 opérations

R = PRODUIT (R1;R2) R contient le produit cartésien de R1 et R2, i.e toutes les combinaisons des lignes de R1 avec les lignes de R2 Les colonnes de R sont celles de R1 AINSI que celles de R2 R =R1 * R2 PRODUIT CARTESIEN R1 R2 R (4 lignes) (3 lignes) (3x4 = 12 lignes)

Exemple de produit Soient les tables: –Livre(N°Livre, Titre, Année) contient n lignes –Auteur(N°Auteur, Nom, AnnéeNaissance) m lignes On veut savoir quels sont les affectations possibles qu’on peut réaliser entre les livres et les auteurs –R1=Produit(Livre ; Auteur) –R1( N°Livre, Titre, Année, N°Auteur, Nom, AnnéeNaissance) –R1 contient n*m lignes

Exemple combinant produit, restriction et projection Soient les tables: –Livre(N°Livre, Titre, Année) –Artiste(N°Auteur, Nom, AnnéeNaissance) On veut avoir les couples de la forme (N°Livre, N°Auteur) où l’année de sortie du livre N°Livre correspond à l’année de naissance de l’auteur N°Auteur –R1=Produit(Livre; Auteur ) –R2=Restriction(R1; Année=AnnéeNaissance) –R3=Projection(R2; N°Livre, N°Auteur)

Produit : Cas particulier Que se passe-t-il si les deux tables ont des champs en commun ? –Ex: R(A, B) et S(B, C) –R * S donne une Table qui a 4 champs : A, R.B, S.B, C –Les champs communs sont précédés du nom de la table d'où ils proviennent

On souhaite créer une base de données qui permette de gérer une bibliothèque. Dans notre bibliothèque se trouvent des livres qui ont un titre, un auteur, et une année de publication. Avec un titre et un auteur, j’identifie un seul ouvrage. Par contre, il est possible d’avoir plusieurs exemplaires d’un même ouvrage : deux exemplaires auront un code barre différent. Cela est bien pratique, car on souhaite également pouvoir gérer l’emprunt d’un livre par un adhérent : c’est l’exemplaire qui est emprunté, et non l’ouvrage ! Les adhérents ont un numéro d’adhérent ; on garde leur nom et prénom. On veut garder une trace de tous les emprunts passés et en cours : un emprunt spécifie l’adhérent et l’ouvrage concernés, ainsi que la date d’emprunt et éventuellement la date de retour. Exercice : Une bibliothèque

R = UNION ( R1 ; R2) R contient les lignes de R1 et celles de R2 Les doublons sont éliminés. R1 et R2 doivent avoir les mêmes champs. R = R1  R2 UNION R R1 R2

Exemple d’union Soit les tables: –Etudiant(NSS, Nom, Adresse) –Employé(NSS, Nom, Adresse) On veut avoir la liste des personnes qui accèdent à l’université (étudiants ou employés) Union(Etudiant; Employé)

Intersection R = Intersection(R1; R2) R contient les lignes de R1 qui sont dans R2 R1 et R2 doivent avoir les mêmes champs. R = R1  R2 R1 R2 R

Exemple d’intersection Soit les tables: –Etudiant(NSS, Nom, Adresse) –Employé(NSS, Nom, Adresse) On veut avoir la liste des personnes qui sont en même temps étudiantes et employées à l’université Intersection(Etudiant ; Employé)

R = DIFFERENCE (R1; R2) R contient les lignes de R1 qui ne sont pas dans R2. R1et R2 doivent avoir le même schéma. R =R1 - R2 DIFFERENCE R1 R2 R

Exemple de différence Soit les tables: –Etudiant(NSS, Nom, Adresse) –Employé(NSS, Nom, Adresse) On veut avoir la liste des personnes qui sont employées à l’université et qui ne sont pas en même temps des étudiants Différence(Employé; Etudiant)

JOINTURE R = JOINTURE (R1; R2) R contient les combinaisons des lignes de R1 avec les lignes de R2 qui ont la même valeur sur les champs communs R =R1 R2 R1 R2 R =

Exemple de jointure Soit les tables –Livre(N°Livre, Titre, Année, N°Auteur) –Auteur(N°Auteur, Nom, AnnéeNaissance) On veut savoir pour chaque livre, l’auteur qui l’a écrit (on suppose qu’il n’y a qu’un auteur par livre) Jointure(Album; Artiste)

Exemple de jointure (Suite) Soit les tables –Livre(N°Livre, Titre, Année, NumAuteur) –Artiste(N°Auteur, Nom, AnnéeNaissance) On veut avoir le titre des livres écrits par un auteur qui s’appelle Dupont R1= Jointure (Livre ; Auteur) R2= Restriction(R1; Nom=‘Dupont’) R3= Projection(R2 ; Titre)

Renommage AB a1b1 a2b2 R = Renommer (R1; Champ  Champ') R contient les toutes les lignes et toutes les colonnes de R1. Seul l'attribut « Champ » change de nom et devient « Champ' » R = ρ Champ  Champ' (R1) R  B  C (R) AC a1b1 a2b2

Renommage Exemple Soient Employé (NSSE, NomE) et Etudiant(NSS, Nom) Quels sont les étudiants qui sont en même temps employés ? Il n’est pas possible de faire l’intersection car les deux tables n’ont pas les mêmes champs R1 = Renommer(Employé; NSSE  NSS) R2 = Renommer(R1; NomE  Nom) R3 = Intersection( R2, Etudiant)

NumAlbumTitreAnnéeNumArtiste 23Hier Suzanne Demain Montreal Thriller NumAlbumTitreAnnéeNumArtiste 23Hier Demain Suzanne Montreal Thriller Après regroupement sur NumArtiste

Regroupements ABC ABC ABC Par A. On obtient 2 groupes Par B. On obtient 3 groupes

Le regroupement Quand on utilise le regroupement, il y a deux types de conditions (critères) : Condition sur les groupes : Utiliser une des fonctions de calcul Min, Max, Moyenne, Somme, Compte, … Condition sur les lignes : utiliser l’opération OÙ Les critères de sélection

La différence sous Access Quels sont les numéros des artistes pour lesquels on n’a pas enregistré d’albums ? Projection(Artiste; NumArtiste) = R1 Projection (Album; NumArtiste) = R2 Différence(R1; R2) = résultat Sous Access, il n’est pas possible d’exprimer directement la différence. Il faut passer par la « jointure externe »

La jointure externe jointureExterne(R1; R2) = R R est obtenue en joignant les lignes de R1 avec les lignes de R2 Les lignes de R1 qui ne sont pas joignables seront aussi présentes mais avec aucune valeur pour les champs de R2 (valeur NULL) AB a1b1 a2b2 BC b1c1 b3c3 AR1.BR2.BC a1b1 c1 a2b2 R1R2 R

La jointure externe AB a1b1 a2b2 BC b1c1 b3c3 AR1.BR2.BC a1b1 c1 a2b2 R1R2 Quels sont les B de R1 qui ne sont pas dans R2 ? Ce sont ceux pour qui C=NULL dans R Sélection(R; C=NULL) = R’ Projection(R’; R1.B) = résultat Résultat = projection(R1,B) – projection(R2, B) R

L’intersection Quelles sont les personnes qui sont en même temps gérantes et occupantes d’un appart ? C’est l’intersection des champs NomGérant et NomOccupant Toute intersection peut être exprimée par une jointure –Intersection(R1;R2)=jointure(R1;R2) L’inverse n’est pas vrai. Certaines jointures ne peuvent pas être exprimées par une intersection

L’union Il n’est pas possible d’exprimer l’union en utilisant le QBE d’Access Il faut utiliser le langage SQL Exemple : Le NSS de toutes les personnes: SELECT NSS FROM étudiant UNION SELECT NSS FROM employé

Requête de mise à jour On veut ajouter 1m 2 à la superficie de tous les appartements. –On peut le faire à la main (difficile s’il y a des centaines) –On peut le faire par une requête de mise à jour

Création d’une base de données 1. Lancer Access 2. Demander la création d’une nouvelle base 3. Donner un nom à votre base 4. Ça y est, votre BD est créée mais pour l’instant elle ne contient aucune information 5. Noter qu’Access aura créé un fichier d’une taille non négligeable!

Création d’une table 1. Choisir l’onglet « Tables » 2. Créer une table

Création d’une table La liste des champs Le type de chaque champ Commentaires sur le champ

Création d’une table Une fois qu’on a fini de taper tous les champs composant la table, –Fermer la fenêtre de création –Access demande alors le nom de la table –Access va demander aussi de préciser la clé primaire. On reviendra plus tard sur cette notion –Ça y est, notre table « Album » est créée –Pour afficher son contenu, il suffit de cliquer deux fois dessus –On peut ensuite saisir, supprimer, modifier des enregistrements

Les types des champs NuméroAuto : numéro incrémenté à chaque insertion d’un nouvel enregistrement. Numérique: C’est à l’utilisateur de taper sa valeur. Par défaut, il s’agit d’un entier mais on peut préciser si c’est un réel Texte : c’est une chaîne de caractères. On peut préciser sa taille. Oui/Non : ça correspond aux champs qui ne peuvent prendre que l’une des deux valeurs OUI ou NON Date/Heure : Type des champs qui indiquent une notion de temps. Plusieurs formats sont disponibles D’autres types encore mais rarement utilisés.

Propriétés d’un champ Les propriétés qu’on peut préciser pour un champs

Propriétés du type Texte Les plus utilisées : –Taille du texte : en nombre de caractères maximum –Valeur par défaut : valeur prise par ce champs si l’utilisateur, lors de l’insertion d’un nouvel enregistrement ne précise pas de valeur –Null interdit : Est-ce que l’utilisateur est obligé de donner une valeur pour ce champ ou pas –Indexé : permet d’optimiser la recherche sur ce champ. On peut utiliser cette propriété pour exiger que les valeurs du champ doivent être uniques (sans doublons) –Liste de choix : permet de préciser l’ensemble des valeurs correctes

Propriétés du type numérique Entier Réel

Notion de clé primaire Une clé primaire dans une table est –Un champ ou un ensemble de champs Qui permet d’identifier chaque ligne dans la table –Deux enregistrements ne doivent pas avoir la même valeur pour la clé Par exemple: dans la table Album, –le champ NumAlbum est une clé primaire car deux albums ne doivent pas avoir le même numéro. –Le champ Année n’est pas clé primaire car deux albums peuvent avoir la même année de sortie

Conséquences de la déclaration d’une clé primaire Le système (Access) va refuser l’insertion d’un nouvel enregistrement si cela viole l’unicité de valeur pour la clé primaire –S’il il y a déjà un enregistrement avec la même valeur pour la clé primaire Le système va refuser la modification de la clé primaire si la nouvelle valeur existe déjà

Déclaration d’une clé primaire 1. Sélectionner le ou les champs formant la clé 2. Cliquer ici

Notion de clé étrangère Un champs (ou ensemble de champs) est clé étrangère dans une table s’il fait référence à une clé primaire dans une autre table. Par exemple –le champ NumArtiste est clé primaire dans la table Artiste –Ce champ est donc clé étrangère dans la table Album On parle dans ce cas d’intégrité référentielle

Conséquences de la déclaration d’une clé étrangère Le système va refuser l’insertion d’un album si son NumArtiste n’existe pas dans la table Artiste Le système va refuser la suppression d’un artiste si il existe dans la table Album des enregistrements qui lui sont associés Le système va refuser la modification d’un NumArtiste dans Album si la nouvelle valeur n’est pas présente dans Artiste Le système va refuser la modification d’un NumArtiste dans Artiste s’il y a déjà des albums qui sont associés à l’ancienne valeur

Création des clés étrangères (1) 1. Cliquer sur le bouton « Relations » Afficher les deux tables Artiste et Album

Création des clés étrangères (2) En déplaçant NumArtiste d’Album et en le déposant sur NumArtiste d’Artiste, on obtient cette fenêtre Cocher cette case

Création des clés étrangères (3) Cette relation signifie qu’un artiste peut être associé à plusieurs Albums et un album est associé à un seul artiste