Cours Bases de Données 2018 2019

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 41

Cours

Gestion des Bases de Données

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)

• Ateliers: Travaux Pratiques(TP)


– TP1: Création d’une base(tables + relations + formulaires et Saisie)
– TP2: Requêtes d’extraction et Sélection (QBE et SQL)
– TP3: Requêtes paramétrées, avec Jointures et Opération
– TP4: Requêtes Analyse Croisée, Mise à Jour(Modification) et
Suppression

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.

• Exemple3 :Organisation(Entreprise:Service de vente))


Données : Clients, Commandes, Produits, …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)

Un Champ peut être:


• Naturelle (Nom, Prenom, …….)
• Artificiel (Num_Client, CIN, CNE,)

Pr CHARANI FSJESM
Cours de Bases de données 6
Champs(Propriétés, attributs)

Un Champ peut être de type:


• Numérique
• Numéro Auto
• Texte(texte court) ou Memo(texte long)
• Date et heure
• Monétaire
• etc

Pr CHARANI FSJESM
Cours de Bases de données 7
Clé(primaire ou étrangère)
• Parmi les Champs: Désigner la clé primaire

• Une clé est une combinaison minimale de Champs qui


permet d ’identifier d ’une manière unique un
enregistrement

• Une clé peut être simple ou composée


• Il y a deux types de clés :
– Clé primaire (table principale)
– Clé étrangère (table secondaire)
• Exemple: la clé primaire de la table clients(cin)

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

• Un SGBD qui permet les relations entre les tables


de la base est dit un Système Gestionnaire de
bases de données relationnelles SGBDR.

• Exemple de SGBDR:
– ACCESS
– ORACLE
– SQLSERVER
– etc.
Pr CHARANI FSJESM
Cours de Bases de données 10
SGBDR: ACCESS(Objets)

–Tables: pour stocker des


données ;
–Formulaires: pour saisir des
données et les visualiser à
l'écran ;
–Requêtes: pour consulter et
mettre à jour des données ;
–Etats: pour imprimer des
données ;

Pr CHARANI FSJESM
Cours de Bases de données 11
Voir
Travaux Pratiques sous Access
TP1

Création d'une base de données :


Création des Tables,
Etablissement des relations entre les tables
Saisie des données à travers des formulaires

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

Texte < 256


Le champ peut contenir n'importe quel caractère alphanumérique (chiffre, caractères
lettre, signe de ponctuation).

Mémo < 65.536


Le champ peut contenir n'importe quel caractère alphanumérique. caractères

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

NuméroAuto 4 octets (entier


Numérotation automatique, séquentielle (commençant à 1) long)

Oui/non Variable booléenne (deux valeurs possibles uniquement) 1 bit

Objet OLE < 1 Go


Pour lier un objet extérieur: tout fichier (document Word, feuille de calcul
Excel, etc.)

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 ;

Format : définit la manière dont les informations


s'affichent.

Masque de saisie : guide la saisie des données et


exerce un contrôle.

Légende : définit le nom de l'étiquette dans le


formulaire associé à la table;

Valeur par défaut : valeur qui


Pr CHARANI s'affiche dans le
FSJESM
champ avant saisieCours
pardel'utilisateur
Bases de données
; 17
Propriétés
Valide si : condition de validité du champ. Exemple : une
notation sur 20 doit être comprise entre 0 et 20 ;
Message si erreur : ce message s'affiche si la condition de
validité précédente n'est pas satisfaite ;
Null interdit : le champ correspondant ne peut rester vide
lors de la saisie d'un enregistrement ;
Chaîne vide autorisée : le champ peut contenir une chaîne ne
comportant aucun caractère ;
Indexé : un fichier index est associé au champ de telle sorte
que les recherches d'information s'effectuent plus
rapidement.
Compression unicode : un octet suffit pour saisir un
caractère (pour les alphabets utilisés dans l'Europe de
l'ouest et dans le monde anglophone).
Pr CHARANI FSJESM
Cours de Bases de données 18
Masque de saisie
Caractère Description
Chiffre (0 à 9, entrée obligatoire, signes plus
0
(+) et moins (-) non acceptés).
9 Chiffre ou espace (entrée facultative).
# Chiffre ou espace (entrée facultative).
L Lettre (A à Z, entrée obligatoire).
? Lettre (A à Z, entrée facultative).
A Lettre ou chiffre (entrée obligatoire).
a Lettre ou chiffre (entrée facultative).
Caractère quelconque ou espace (entrée
&
obligatoire).
Pr CHARANI FSJESM
Cours de Bases de données 19
Caractère Description
Caractère quelconque ou espace (entrée
C
facultative).
Séparateurs de décimales, de milliers, de date
.,:;-/
et d'heure
< Convertit tous les caractères en minuscules.
> Convertit tous les caractères en majuscules.

Affiche le caractère qui suit sous sa forme


\ ASCII littérale (par exemple, \A s'affiche
sous la forme A).

Pr CHARANI FSJESM
Cours de Bases de données 20
Valide si et message erreur

Propriété ValideSi MessageSiErreur

L'entrée doit avoir une valeur


<> 0
différente de zéro.

L'entrée doit être vide ou


> 1000 Ou Est Null
supérieure à 1000.
L'entrée doit comporter 5
Comme "A????" caractères et commencer par
la lettre « A ».
>= #1/1/96# Et
L'entrée doit dater de 1996.
Pr CHARANI FSJESM
<#1/1/97# Cours de Bases de données 21
Relations dans une base de
données Access

• Après avoir défini plusieurs tables dans votre base


de données(Clients, commandes, produits et
lignes)
• La première étape consiste à définir des relations
entre les différentes tables.
• Après vous pouvez :
– saisir des données en utilisant des formulaires,
– établir des requêtes
– Éditer des états

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.

• Vous pouvez utiliser une relation un-à-un :


– Pour diviser une table qui a de nombreux champs,
– Pour isoler une partie d'une table pour des raisons de sécurité,

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

Un formulaire permet la saisie et la visualisation des données

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).

• Vous pouvez mettre en œuvre l'intégrité référentielle si


toutes les conditions suivantes sont réunies :
– Le champ correspondant de la table principale est une
clé primaire.
– Les champs liés ont le même type de données.
– Les deux tables doivent appartenir à la même base de
données.

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

– Vous pouvez modifier une valeur clé primaire


dans la table principale si cet enregistrement a
des enregistrements liés. Alors ces
enregistrements subissent les modifications
apportées.
– Vous pouvez effacer un enregistrement de la
table principale si des enregistrements
correspondants existent dans une table liée.
Alors ces enregistrements seront supprimés
Pr CHARANI FSJESM
Cours de Bases de données 34
Les requêtes
Une requête est un ensemble d’instructions
permettant de filtrer les données d’une base,
Ajouter les données, Mettre à jour les
données de la base, Supprimer les donnés,
Effectuer une analyse croisée ou de Créer
une base et ses tables.
Types de requêtes:
• Requête de sélection
• Requête analyse croisée
• Requête de Mise à jour
• Requête de suppression
• ……
Pr CHARANI FSJESM
Cours de Bases de données 35
Les requêtes
(mode)

Sous Access il y a deux modes de requêtes:


• Mode QBE : Query by exemple
• Mode SQL : Structured Query language

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

Afficher tous les clients

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

Vous aimerez peut-être aussi