Cours Bases de Données 2018 2019
Cours Bases de Données 2018 2019
Cours Bases de Données 2018 2019
Pr CHARANI
[email protected]
1
Plan
• Cours
– Objectifs et définitions
– Création de la base de données: Tables et Relations
– Formulaires
– Requêtes (QBE et SQL)
2
Objectifs & définition
• Définition d’une base de données
Structure de données permettant de stocker et de
fournir à la demande, des données à de multiple
utilisateurs.
• Objectifs:
– Partage de données: Multiple Utilisateurs
– Accès facile: Applications, sites web, Portails, e
Pr CHARANI FSJESM
Cours de Bases de données 3
Exemples de structures de
données
• Exemple1 :Organisation (Bibliothèque)
Données : Adhérents, Livres, Auteurs, Maison d’éditions,
Emprunteurs
• Exemple2 :Organisation(Université)
Données : Etudiants, Enseignants, Cours, Notes, …etc.
4
Définition d’une base de
données
• Une base de donnée est un ensemble d informations structurées sous
forme de Tables.
• Une table est constituée des colonnes représentent les champs de la
table et les lignes représentent les enregistrements de la table.
5
Champs(Propriétés, attributs)
Pr CHARANI FSJESM
Cours de Bases de données 6
Champs(Propriétés, attributs)
Pr CHARANI FSJESM
Cours de Bases de données 7
Clé(primaire ou étrangère)
• Parmi les Champs: Désigner la clé primaire
8
Définition d ’un SGBD
• Systèmes de Gestion de Bases de Données (DataBase
Management Systems - DBMS)
• Un SGBD permet de :
Insérer, Modifier, et rechercher des données
spécifiques dans une grande masse d'informations et
partagée par de multiples utilisateurs
9
Définition d ’un SGBDR
• Exemple de SGBDR:
– ACCESS
– ORACLE
– SQLSERVER
– etc.
Pr CHARANI FSJESM
Cours de Bases de données 10
SGBDR: ACCESS(Objets)
Pr CHARANI FSJESM
Cours de Bases de données 11
Voir
Travaux Pratiques sous Access
TP1
Pr CHARANI FSJESM
Cours de Bases de données 12
Création d’une table
Mode création
En mode création, une fenêtre s'ouvre qui permet de définir la
table champ par champ, en précisant le nom du champ et le
type de données qu'il contient.
Pr CHARANI FSJESM
Cours de Bases de données 13
Création de champs d’une
table
type de données
Chaque champ a un type de données
Pr CHARANI FSJESM
Cours de Bases de données 14
Type Propriétés Taille
Numérique 1 à 16 octets
Données numériques (non monétaires)
Date/heure 8 octets
Données de date et/ou d'heure
Monétaire 8 octets
Données monétaires, présentées avec deux chiffres après la virgule
Lien hypertexte Des URL de sites web et des adresses de courrier électronique < 2049
caractères
Pr CHARANI FSJESM
Cours de Bases de données 15
Propriétés
Pr CHARANI FSJESM
Cours de Bases de données 16
Propriétés
Taille du champ : définit le nombre de caractères ;
Pr CHARANI FSJESM
Cours de Bases de données 20
Valide si et message erreur
Pr CHARANI FSJESM
Cours de Bases de données 22
Relations dans une base de
données Access
• Une relation est une association entre deux
tables
• Une relation a pour principe la
correspondance des données des champs
clés de deux tables :
– Ces champs sont la clé primaire et la clé
étrangère.
Pr CHARANI FSJESM
Cours de Bases de données 23
Types de Relations dans une base
Généralement, on distingue trois types de
relations
• 1/ relation de type un à plusieurs
–1à n
– 1 à l’infini
• 2/ relation de type plusieurs à plusieurs
– n àn
– l’infini à l’infini
• 3/ relation un à Prun 1 à 1
CHARANI FSJESM
Cours de Bases de données 24
Relation un-à-plusieurs
• La relation un-à-plusieurs est la plus courante.
• Dans ce type de relation:
– un enregistrement de la table A peut être mis en
correspondance avec plusieurs enregistrements de la
table B,
– Et à chaque enregistrement de la table B ne
correspond qu'un enregistrement de la table A.
Pr CHARANI FSJESM
Cours de Bases de données 25
Relation un-à-plusieurs
Règles de gestion :
• Règle1 : Un client peut réaliser plusieurs
commandes.
• Règle2 : une commande est réalisée par un seul
client.
Pr CHARANI FSJESM
Cours de Bases de données 26
Relation plusieurs-à-plusieurs
• Dans une relation plusieurs-à-plusieurs,
– un enregistrement de la table A peut être mis en correspondance
avec plusieurs enregistrements de la table B,
– et inversement, un enregistrement de la table B peut être mis en
correspondance avec plusieurs enregistrements de la table A.
Régles de gestion:
• Règle3 : Une commande peut contenir plusieurs produits.
• Règle4 : Un produit peut apparaître dans plusieurs commandes.
Pr CHARANI FSJESM
Cours de Bases de données 27
Relation plusieurs-à-plusieurs
• Ce type de relation n'est possible qu'après définition d'une troisième
table (appelée table de jonction)
• Une relation plusieurs-à-plusieurs n'est en fait rien d'autre que deux
relations un-à-plusieurs avec une troisième table.
Pr CHARANI FSJESM
Cours de Bases de données 28
Relation un-à-un
• Dans une relation un-à-un:
– Chaque enregistrement de la table A ne peut correspondre qu'à
un enregistrement de la table B,
– Et inversement, chaque enregistrement de la table B ne peut
correspondre qu'à un enregistrement de la table A.
Pr CHARANI FSJESM
Cours de Bases de données 29
Exemple de relations
Pr CHARANI FSJESM
Cours de Bases de données 30
Formulaire
UN formulaire est un ensemble de champs, un champ peut
être :
• Champ de type texte,
• Des boutons à un seul choix
• Des cases à cocher
• Des listes
• Des textes multi lignes et multi colonnes
• Des champs de type fichiers
• Des boutons
Pr CHARANI FSJESM
Cours de Bases de données 31
L'intégrité référentielle
• L'intégrité référentielle est un système de règles qui est
utilisé pour garantir les relations entre les tables en cas de
mise à jour (ajout, modification et suppression).
Pr CHARANI FSJESM
Cours de Bases de données 32
L'intégrité référentielle
• Les règles suivantes d’intégrité référentielle s'appliquent quand vous
cochez la première option et ne cochez pas les deux autres options :
– Au moment de la saisie les données doivent être valides :
Dans le champ clé étrangère vous ne pouvez pas saisir une valeur qui
n'existe pas dans la clé primaire de la table principale.
– Vous ne pouvez pas modifier une valeur clé primaire dans la table
principale si cet enregistrement a des enregistrements liés:
Par exemple, vous ne pouvez pas modifier le CIN d'un Client dans la table
Client si des commandes lui sont affectées dans la table Commandes.
– Vous ne pouvez pas effacer un enregistrement de la table principale si
des enregistrements correspondants existent dans une table liée:
Par exemple, vous ne pouvez pas effacer l'enregistrement d'un client dans
la table Clients s'il y a des commandes affectées à celui-ci dans la table
Commandes.
Pr CHARANI FSJESM
Cours de Bases de données 33
Mises à jour et suppressions en
cascade
Pr CHARANI FSJESM
Cours de Bases de données 36
Requête de sélection en mode
Création
Pr CHARANI FSJESM
Cours de Bases de données 37
Requête de sélection en mode
Création
–Champs : Sélectionner les champs à afficher
–Tables : Sélectionner les tables à exploiter
–Tri : type de Tri des données (croissant, décroissant,
non trié)
–Afficher : Activer ou désactiver l’affichage des champs
–Critères : Spécifier les critères de recherche
–OU : Si vous avez deux conditions regroupées par ou, la
deuxième condition est spécifiée dans la ligne OU.
Si les condition sont regroupées par l’opérateur ET alors elles sont
spécifiées dans la même ligne CRITERES.
Pr CHARANI FSJESM
Cours de Bases de données 38
Définition d’une condition (critère de recherche) :
Une condition est de la forme :
Champ opérateur_de_comparaison critère
Opérateurs de comparaison :
<, <=
>, >=
= égalité
<> Différent
Opérateurs particuliers
– In (liste de valeurs séparées par des points
– virgules)
– Comme ou pas comme pour les champs de type texte
–-Entre ou pas Entre
Opérateurs logiques :
Et et ou
condition1 ET condition2
condition1 OU condition2
Pr CHARANI FSJESM
Cours de Bases de données 39
Exemple de Requête de sélection en mode Création
Pr CHARANI FSJESM
Cours de Bases de données 40
–Mode SQL :
Requêtes d’extraction :
L’extraction des données se fait par le mot clé SELECT qui signifie
Sélectionner
Structure générale d’une requête d’extraction :
SELECT liste_de_colonnes_ou_champs
+liste_fonctions + alias
FROM liste_de_tables
WHERE Conditions_de_recherche
ORDER BY liste_champs [ASC/DESC]
GROUP BY liste_champs
HAVING conditions_sur_fonctions ;
Pr CHARANI FSJESM
Cours de Bases de données 41