Bases de données sous Access Plan Bases de données – Utilisation d’Access – Ap

Bases de données sous Access Plan Bases de données – Utilisation d’Access – Application sous Access • Structure d’une base de données • Langages de manipulation de données – Algèbre relationnelle (théorique) – QBE d’Access 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 … 95% 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°Commande DateCommande Montant 27 13/2/2007 120 65 12/1/2008 34 2 10/06/2006 27 34 14/12/2007 1500 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°Livre TitreLivre 10 La monnaie 25 La finance N°Auteur NomAuteur 1 Dupont 2 Durand 3 Martin Livre Auteur N°Livre N°Auteur 10 1 25 1 25 3 LivreAuteur 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 tables Ré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_de_restriction>) 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; <liste_attributs_projection>) <liste_attributs_projection> : 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) – Auteur(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 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, N°Auteur) – Auteur(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 A B a1 b1 a2 b2 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) A C a1 b1 a2 b2 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) REQUETES SOUS ACCESS QBE : INTERFACE GRAPHIQUE DE FORMULATION DES REQUETES TABLES UTILISEES Colonnes de la table résultat Conditions de restriction REQUETES SOUS ACCESS : Projection Afficher le titre et l’année de sortie de tous les albums Cliquer ici pour exécuter Cases à cocher pour afficher ces champs REQUETES SOUS ACCESS : Sélection Afficher les albums sortis après 1975 On affiche tous les champs Critère ou condition de sélection REQUETES SOUS ACCESS : Sélection Afficher les albums sortis après 1975 (solution 2) Album.* désigne tous les champs de la table Album Case non cochée sinon Année sera affichée 2 fois REQUETES SOUS ACCESS : Sélection + Projection Afficher les titres des albums sortis après 1975 Le titre est affiché Année n’est pas affiché mais sert à exprimer le critère de sélection REQUETES SOUS ACCESS : sélection complexe Afficher les albums de l’artiste 25 sortis après 1975 Deux conditions sur la même ligne sont composées par un ET REQUETES SOUS ACCESS : sélection complexe Afficher les albums sortis entre 1975 et 1980 REQUETES SOUS ACCESS : sélection complexe Afficher les albums sortis en 1975 ou en 1980 Ligne permettant d’exprimer le OU REQUETES SOUS ACCESS : Projection Afficher les années de sortie des albums Une même année peut apparaitre plusieurs fois dans le résultat si plusieurs albums sont sortis durant cette année REQUETES SOUS ACCESS : Projection Afficher les années de sortie des albums Afficher les propriétés avec un clic droit ici Mettre à OUI la propriété « valeurs distinctes » REQUETES SOUS ACCESS : Projection Afficher les titres des albums triés par ordre croissant Permet de spécifier le type de tri que l’on veut REQUETES SOUS ACCESS : Jointure Pour chaque album, uploads/Industriel/bases-de-donnees-utilisation-d-access.pdf

  • 19
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager