Cours 11
Introduction à Access
Algèbre relationnelle
Pierre Delisle
Université du Québec à Chicoutimi
Plan
Introduction à Access
Historique
Utilisation
Création d’une base de données avec Access,
partie 1
Création des tables
Création des relations
3
Qu’est-ce qu’Access ?
Système de Gestion de Bases de Données
Relationnelles (SGBDR)
Fait partie de la famille de logiciels Microsoft
Office
Word : Traitement de texte
Excel : Tableur électronique
PowerPoint : Éditeur de présentations
Outlook : Agenda-Courriel
Historique d’Access
1992 : Access 1.0
1993 : Access 2.0
Tournait sur Windows 3.0
Nécessitait 4 Mo de RAM et 8 Mo de disque dur !
1995 : Access 7 pour Windows95 (Office 95-Word 7)
1997 : Access 97 (Office 97)
1999 : Access 2000 (Office 2000)
2001 : Access 2001 (Office XP)
2003 : Access 2003 (2003 Microsoft Office System)
2007 : Microsoft Office Access 2007 (2007 Microsoft
Office System
5
Compétiteurs d’Access
Compétiteurs d’Access
Paradox
1987-…
Développé originalement par Borland
Fait maintenant partie de Corel Word Perfect Office
FileMaker Pro
1985-…
OpenOffice.org Base
2001-…
Fait partie de la suite bureautique OpenOffice.org
Logiciel Gratuit (GPL - General Public License)
7
Utilisation d’Access
Démarrage
Création d’une BD
Fichier vide
Modèle
Les modes d’ouverture d’une BD
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
Utilisation d’Access
La Barre de menus
Accueil
Créer
Données externes
Outils de bases de données
Conseil d’utilisation
9
Principaux éléments d’Access
Tables
Stockage des données
Relations
Liens entre les tables
Requêtes
Opérations sur les tables afin d’extraire de l’information
Formulaires
Interfaces-utilisateur d’entrée, de modification, d’affichage et
de traitement des données
États
Affichage de récapitulatifs (factures, commandes, rapports,
etc.), attrayants et imprimables
Macros
Liste de commandes pouvant être enregistrées et exécutées
par Access
Centre Sportif Peter inc. – Modèle
relationnel formel en FNBC
CLIENT (NoClient, Nom, Prenom,
Statut
)
REDUC_CLIENT (Statut, Reduction)
SALLE (NoSalle, Description)
RESERVATION (
NoClient
,
NoSalle
,
DateDebut
, DateFin)
COUT_RESERV (DateDebut, Cout)
AUTOR_SALLE (
NoSalle
,
DateDebut
, Autorisation)
FORFAIT (NoForfait, DateDebut, DateFin, Prix)
CARTE (
NoClient
,
NoForfait
)
ACTIVITÉ (NoActivité, Description,
NoSalle
)
ACTIVITÉ FORFAITAIRE (
NoForfait
,
NoActivite
)
ACT_EN_COURS (
NoSalle
,
NoActivité
)
GROUPE (NoGroupe, Description, DateDebut, DateFin,
NoActivite
)
EMPLOYE (NoEmploye, Nom, Prenom)
AFFECTATION (
NoGroupe
,
NoEmploye
)
11
Création d’une BD avec Access-Partie 1
Création des tables
Création des relations
Création des tables
Champ
Unité de données la plus petite dans la BD
≈ Attribut ≈ Colonne ≈ Élément de données
Enregistrement
Ensemble des valeurs attribués aux champs d’une table
pour une occurrence donnée
≈ Ligne ≈ Tuple ≈ Occurrence (du MCD)
Clé primaire
Champ (ou groupe de champs) qui identifie de façon
unique chaque enregistrement d’une table
13
Création des tables
2 façons
Par entrée de données
En mode création (recommandé)
Entrée des données
En mode feuille de données
Assistant Liste de choix
Création des relations
Relation
Connexion entre 2 tables apparentées où 2 champs
partagent les mêmes données
Passe par les clés étrangères
Outil graphique de création de relation
Intégrité référentielle
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
15
Fin de Access – Partie 1
Prochain cours
Requêtes
Formulaires
États
Mais avant, il faut comprendre les bases de
Algèbre relationnelle
Chaque opération d’algèbre relationnelle
prend une/plusieurs tables et les transforme
afin de produire une nouvelle table
3 opérations principales
Sélection
Projection
Jointure
3 opérations secondaires
Union
Intersection
Différence
17
Tables des exemples - ÉTUDIANT
Nom Prénom AnnéeNais MoisNais JourNais 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
Tables des exemples - UNIVERSITÉ
Sigle NomInstitution Ville NbrÉtudiants UQAC Université du Québec à
Chicoutimi Chicoutimi 4000 UQAC Université du Québec à
Montréal Montréal 12000 UDM Université de Montréal Montréal 11000 ULaval Université Laval Québec 8000
19
Tables des exemples - VILLE
Nom Région Chicoutimi Saguenay-Lac-St-Jean Montréal Montréal Québec Québec VILLE
Sélection
S’effectue sur une seule table
Produit une nouvelle table étant un
sous-ensemble de la table originale selon des
critères appliqués sur certains champs
Opérateur : σ
Format
21
Sélection - Exemples
σ (ÉTUDIANT) [Nom = "Girard"]
La liste des étudiants dont le nom de famille est "Girard"
σ (ÉTUDIANT) [Université = "ULaval"]
La liste des étudiants inscrits à l’Université Laval
Nom Prénom AnnéeNais MoisNais JourNais Université Girard Martin 1975 04 23 UQAC
Girard Julie 1980 10 22 UQAM
Nom Prénom AnnéeNais MoisNais JourNais Université Tremblay Isabelle 1977 07 12 ULaval
Sélection - Exemples
Exemple de sélection donnant une table vide
σ (ÉTUDIANT) [AnnéeNais = 1979]
La liste des étudiants nés en 1979
23
Sélection – Exemples avec 2 critères
(OU et ET)
σ (ÉTUDIANT) [AnnéeNais = 1977 ET Université = "UDM"]
La liste des étudiants nés en 1977 et inscrits à l’Université Laval
σ (ÉTUDIANT) [Université = "UQAC" OU Université = "UDM"]
La liste des étudiants inscrits à l’UQAC ou à l’UDM
Nom Prénom AnnéeNais MoisNais JourNais Université Bouchard Martin 1977 06 28 UDM
Nom Prénom AnnéeNais MoisNais JourNais Université Girard Martin 1975 04 23 UQAC Bouchard Martin 1977 06 28 UDM
Sélection – Exemples avec 3 critères
(Les parenthèses sont importantes !)
σ (ÉTUDIANT) [(Université = "UDM" OU Université = "ULaval" ) ET AnnéeNais = 1977]
La liste des étudiants inscrits à l’UDM ou à ULaval et qui sont nés en 1977
σ (ÉTUDIANT) [Université = "UDM" OU (Université = "ULaval" ET AnnéeNais = 1977)]
La liste des étudiants inscrits à l’UDM ou ceux qui sont en même temps inscrits à ULaval et nés en 1977
Nom Prénom AnnéeNais MoisNais JourNais Université Tremblay Isabelle 1977 07 12 ULaval Bouchard Martin 1977 06 28 UDM
Nom Prénom AnnéeNais MoisNais JourNais Université Tremblay Isabelle 1977 07 12 ULaval Godin Patrice 1972 02 18 UDM Bouchard Martin 1977 06 28 UDM
25
Sélection – Exemples basés sur un
critère d’inégalité et sur critère partiel
σ (ÉTUDIANT) [AnnéeNais < 1976]
La liste des étudiants nés avant 1976
σ (ÉTUDIANT) [Nom = "G*"]
La liste des étudiants dont le nom de famille commence par G
Nom Prénom AnnéeNais MoisNais JourNais Université Girard Martin 1975 04 23 UQAC Godin Patrice 1972 02 18 UDM
Nom Prénom AnnéeNais MoisNais JourNais Université Girard Martin 1975 04 23 UQAC Godin Patrice 1972 02 18 UDM
Projection
S’effectue sur une seule table
Produit une nouvelle table qui est un
sous-ensemble de la table originale selon un ou
des champs sélectionnés
Sert à déterminer quelles données seront
présentées comme résultat de la requête
Opérateur :
Format
27
Projection simple
{Nom} (ÉTUDIANT)
La liste des noms de famille des étudiants
Note : les éléments identiques sont éliminés
Une table ne doit jamais contenir deux tuples identiques
Nom Girard Tremblay Godin Bouchard
Projection sur plusieurs champs
{Nom, Prénom, Université} (ÉTUDIANT)
La liste des étudiants avec l’Université où ils sont inscrits
Nom Prénom Université Girard Martin UQAC Tremblay Isabelle ULaval Godin Patrice UDM Bouchard Martin UDM Girard Julie UQAM
29
Jointure
Jointure naturelle
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
Opérateur :
Format
30
Jointure = Exemple
ÉTUDIANT [Université Sigle] UNIVERSITÉ
Nom Prénom AnnéeNais MoisNais JourNais Université NomInstitution Ville NbrÉtudiants Girard Martin 1975 04 23 UQAC Université
du Québec à
Chicoutimi
Chicoutimi 4000
Tremblay Isabelle 1977 07 12 ULaval Université Laval
Québec 8000
Godin Patrice 1972 02 18 UDM Université de
Montréal
Montréal 11000
Bouchard Martin 1977 06 28 UDM Université de
Montréal
Montréal 11000
Girard Julie 1980 10 22 UQAM Université du Québec à Montréal
Montréal 12000
31
Notes sur les jointures
Si aucun champ n’est commun (de même
domaine/type) entre 2 tables, la jointure est
impossible
Si un champ est commun mais qu’il n’y a aucune
donnée commune, alors la jointure donne une table
vide
Jointure universelle
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 »