Cours 11 Introduction Access Algbre relationnelle Pierre Delisle
Cours 11 Introduction à Access Algèbre relationnelle Pierre Delisle Université du Québec à Chicoutimi Département d’informatique et de mathématique
Plan n Introduction à Access n n Historique Utilisation n Création d’une base de données avec Access, partie 1 n n Création des tables Création des relations n Algèbre relationnelle 2
Qu’est-ce qu’Access ? n Système de Gestion de Bases de Données Relationnelles (SGBDR) n Fait partie de la famille de logiciels Microsoft Office n n n Word : Traitement de texte Excel : Tableur électronique Power. Point : Éditeur de présentations Outlook : Agenda-Courriel Access : Bases de données personnelles 3
Historique d’Access n 1992 : Access 1. 0 n 1993 : Access 2. 0 n n Tournait sur Windows 3. 0 Nécessitait 4 Mo de RAM et 8 Mo de disque dur ! n 1995 : Access 7 pour Windows 95 (Office 95 -Word 7) n 1997 : Access 97 (Office 97) n 1999 : Access 2000 (Office 2000) n 2001 : Access 2001 (Office XP) n 2003 : Access 2003 (2003 Microsoft Office System) n 2007 : Microsoft Office Access 2007 (2007 Microsoft Office System n Nécessite 256 Mo de RAM et 1. 5 Go de disque dur ! 4
Compétiteurs d’Access n d. Base – Années 1980 -1990 5
Compétiteurs d’Access n Paradox n n n 1987 -… Développé originalement par Borland Fait maintenant partie de Corel Word Perfect Office n File. Maker Pro n 1985 -… n Open. Office. org Base n n n 2001 -… Fait partie de la suite bureautique Open. Office. org Logiciel Gratuit (GPL - General Public License) 6
Utilisation d’Access n Démarrage n Création d’une BD n n Fichier vide Modèle n Les modes d’ouverture d’une BD n n Normal (mode par défaut): Consultation et Modification de la BD, mono/multi utilisateur Lecture seule : Consultation seulement Exclusif : mono-utilisateur seulement, personne d’autre ne peut ouvrir la BD en même temps Lecture seule exclusif 7
Utilisation d’Access n La Barre de menus n n Accueil Créer Données externes Outils de bases de données n Conseil d’utilisation n Faites régulièrement des copies de sauvegarde ! 8
Principaux éléments d’Access n Tables n Stockage des données n Relations n Liens entre les tables n Requêtes n Opérations sur les tables afin d’extraire de l’information n Formulaires n Interfaces-utilisateur d’entrée, de modification, d’affichage et de traitement des données n États n Affichage de récapitulatifs (factures, commandes, rapports, etc. ), attrayants et imprimables n Macros n Liste de commandes pouvant être enregistrées et exécutées par Access 9
Centre Sportif Peter inc. – Modèle relationnel formel en FNBC CLIENT (No. Client, Nom, Prenom, Statut) REDUC_CLIENT (Statut, Reduction) SALLE (No. Salle, Description) RESERVATION (No. Client, No. Salle, Date. Debut, Date. Fin) COUT_RESERV (Date. Debut, Cout) AUTOR_SALLE (No. Salle, Date. Debut, Autorisation) FORFAIT (No. Forfait, Date. Debut, Date. Fin, Prix) CARTE (No. Client, No. Forfait) ACTIVITÉ (No. Activité, Description, No. Salle) ACTIVITÉ FORFAITAIRE (No. Forfait, No. Activite) ACT_EN_COURS (No. Salle, No. Activité) GROUPE (No. Groupe, Description, Date. Debut, Date. Fin, No. Activite) EMPLOYE (No. Employe, Nom, Prenom) AFFECTATION (No. Groupe, No. Employe) COMPETENCE (No. Employe, No. Activite, Fonction) 10
Création d’une BD avec Access-Partie 1 n Création des tables n Création des relations 11
Création des tables n Champ n n Unité de données la plus petite dans la BD ≈ Attribut ≈ Colonne ≈ Élément de données n Enregistrement n n Ensemble des valeurs attribués aux champs d’une table pour une occurrence donnée ≈ Ligne ≈ Tuple ≈ Occurrence (du MCD) n Clé primaire n n Champ (ou groupe de champs) qui identifie de façon unique chaque enregistrement d’une table ≈ Identifiant (du MCD) 12
Création des tables n 2 façons n n Par entrée de données En mode création (recommandé) n Entrée des données n n En mode feuille de données Assistant Liste de choix 13
Création des relations n Relation n n Connexion entre 2 tables apparentées où 2 champs partagent les mêmes données Passe par les clés étrangères n Outil graphique de création de relation n Intégrité référentielle n n Protège les données Une clé étrangère doit toujours correspondre à une clé primaire Empêche de supprimer/modifier une clé primaire si des clés étrangères y sont associées dans d’autres tables Évite les enregistrements « orphelins » 14
Fin de Access – Partie 1 n Prochain cours n n n Requêtes Formulaires États n Mais avant, il faut comprendre les bases de l’algèbre relationnelle ! 15
Algèbre relationnelle n Chaque opération d’algèbre relationnelle prend une/plusieurs tables et les transforme afin de produire une nouvelle table n 3 opérations principales n n n Sélection Projection Jointure n 3 opérations secondaires n n n Union Intersection Différence 16
Tables des exemples - ÉTUDIANT Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Girard Martin 1975 04 23 UQAC Tremblay Isabelle 1977 07 12 ULaval Godin Patrice 1972 02 18 UDM Bouchard Martin 1977 06 28 UDM Girard Julie 1980 10 22 UQAM 17
Tables des exemples - UNIVERSITÉ Sigle Nom. Institution Ville NbrÉtudiants UQAC Université du Québec à Chicoutimi 4000 UQAC Université du Québec à Montréal 12000 UDM Université de Montréal 11000 ULaval Université Laval Québec 8000 18
Tables des exemples - VILLE Nom Région Chicoutimi Saguenay-Lac-St. Jean Montréal Québec 19
Sélection n S’effectue sur une seule table n Produit une nouvelle table étant un sous- ensemble de la table originale selon des critères appliqués sur certains champs n Opérateur : σ n Format n σ (table source) [critères] 20
Sélection - Exemples n σ (ÉTUDIANT) [Nom = "Girard"] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Girard Martin 1975 04 23 UQAC Girard Julie 1980 10 22 UQAM n La liste des étudiants dont le nom de famille est "Girard" n σ (ÉTUDIANT) [Université = "ULaval"] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Tremblay Isabelle 1977 12 ULaval 07 n La liste des étudiants inscrits à l’Université Laval 21
Sélection - Exemples n Exemple de sélection donnant une table vide n σ (ÉTUDIANT) [Année. Nais = 1979] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université n La liste des étudiants nés en 1979 22
Sélection – Exemples avec 2 critères (OU et ET) n σ (ÉTUDIANT) [Année. Nais = 1977 ET Université = "UDM"] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Bouchard Martin 1977 06 28 UDM n La liste des étudiants nés en 1977 et inscrits à l’Université Laval n σ (ÉTUDIANT) [Université = "UQAC" OU Université = "UDM"] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Girard Martin 1975 04 23 UQAC Bouchard Martin 1977 06 28 UDM n La liste des étudiants inscrits à l’UQAC ou à l’UDM 23
Sélection – Exemples avec 3 critères (Les parenthèses sont importantes !) n σ (ÉTUDIANT) [(Université = "UDM" OU Université = "ULaval" ) ET Année. Nais = 1977] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Tremblay Isabelle 1977 07 12 ULaval Bouchard Martin 1977 06 28 UDM n La liste des étudiants inscrits à l’UDM ou à ULaval et qui sont nés en 1977 n σ (ÉTUDIANT) [Université = "UDM" OU (Université = "ULaval" ET Année. Nais = 1977)] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Tremblay Isabelle 1977 07 12 ULaval Godin Patrice 1972 02 18 UDM Bouchard Martin 1977 06 28 UDM n La liste des étudiants inscrits à l’UDM ou ceux qui sont en même temps inscrits à ULaval et nés en 1977 24
Sélection – Exemples basés sur un critère d’inégalité et sur critère partiel n σ (ÉTUDIANT) [Année. Nais < 1976] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Girard Martin 1975 04 23 UQAC Godin Patrice 1972 02 18 UDM n La liste des étudiants nés avant 1976 n σ (ÉTUDIANT) [Nom = "G*"] Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Girard Martin 1975 04 23 UQAC Godin Patrice 1972 02 18 UDM Girard Julie 1980 10 22 UQAM n La liste des étudiants dont le nom de famille commence par G 25
Projection n S’effectue sur une seule table n Produit une nouvelle table qui est un sous- ensemble de la table originale selon un ou des champs sélectionnés n Sert à déterminer quelles données seront présentées comme résultat de la requête n Opérateur : n Format n {champs} (table source) 26
Projection simple n {Nom} (ÉTUDIANT) Nom Girard Tremblay Godin Bouchard n La liste des noms de famille des étudiants n Note : les éléments identiques sont éliminés n Une table ne doit jamais contenir deux tuples identiques 27
Projection sur plusieurs champs n {Nom, Prénom, Université} (ÉTUDIANT) Nom Prénom Université Girard Martin UQAC Tremblay Isabelle ULaval Godin Patrice UDM Bouchard Martin UDM Girard Julie UQAM n La liste des étudiants avec l’Université où ils sont inscrits 28
Jointure naturelle n n n Opération s’effectuant sur 2 tables ayant au moins un champ commun (de même domaine) Produit une nouvelle table qui est une combinaison des 2 tables originales selon l’égalité des champs communs Permet de créer de l’information qui ne se trouve pas dans une seule table, mais par la combinaison de deux tables n Opérateur : n Format n table 1 [champs 1 champs 2] table 2 29
Jointure = Exemple n ÉTUDIANT [Université Sigle] UNIVERSITÉ Nom Prénom Année. Nais Mois. Nais Jour. Nais Université Nom. Institu tion Ville NbrÉtudi ants Girard Martin 1975 04 23 UQAC Université du Québec à Chicoutimi 4000 Tremblay Isabelle 1977 07 12 ULaval Université Laval Québec 8000 Godin Patrice 1972 02 18 UDM Université de Montréal 11000 Bouchard Martin 1977 06 28 UDM Université de Montréal 11000 Girard Julie 1980 10 22 UQAM Université du Québec à Montréal 12000 Note : le nom du champ peut être le même ou différent, en autant que les domaines soient identiques 30
Notes sur les jointures n Si aucun champ n’est commun (de même domaine/type) entre 2 tables, la jointure est impossible n Si un champ est commun mais qu’il n’y a aucune donnée commune, alors la jointure donne une table vide n Jointure universelle n n Opération s’effectuant sur 2 tables et qui fait la jointure entre tous les tuples de 2 tables Aucun attribut commun n’est requis Opération aussi appelée « Produit cartésien » Produit une suite de faux tuples, donc n’est pas utile, mais permet de détecter des erreurs dans la BD (vu plus tard) 31
Des questions ? 32
- Slides: 32