Beruflich Dokumente
Kultur Dokumente
Dr H. HACHICHI
1
BDD
• Définition informelle: On peut considérer une BDD comme une grande
quantité de données centralisées ou non , servant pour les besoins d'une ou
plusieurs applications , interrogeables et modifiables par un groupe d'
utilisateurs .
Exemple de SGBD:
• Interbase,
• Microsoft SQL Server,
• Microsoft Access,
• Oracle,
• Sybase,
• mySQL,
• PostgreSQL
• ……….
Cours BDD Dr H. HACHICHI 4
SGBD
Fonctions d’un SGBD :
• Décrire les données qui seront stockées
• Manipuler ces données (ajouter, modifier,supprimer des informations)
• Consulter les données et traiter les informations obtenues (sélectionner, trier,
calculer,...)
• Définir des contraintes d'intégrité sur les données (contraintes de domaines,
d'existence,... )
• Définir des protections d'accès (mots de passe, autorisations,...)
• Résoudre les problèmes d'accès multiples aux données (blocages, interblocages)
• Prévoir des procédures de reprise en cas d'incident (sauvegardes, journaux,...)
• Efficacité des accès aux données: Ces SGBD’s doivent permettre d'obtenir des
réponses aux interrogations en un temps "raisonnable". Ils doivent donc être
optimisés et, entre autres, il faut un mécanisme permettant de minimiser le
nombre d'accès aux disques. Tout ceci, bien sur, de façon complètement
transparente pour l'utilisateur.
d’application de BDD,
Commander Livrer
• Il est basé sur une représentation très simples des données sous
forme de tables constituées de lignes et de colonnes.
Attributs
Tuples (occurrences)
Cours BDD Dr H. HACHICHI 22
Modèle relationnel
• Schéma de relation :
• R (A1, A2 ………….. An)
• Exemple:
• Exemple:
• Entité: une entité E est représentée par une relation R dont les
attributs sont les attributs de l’entité E.
Clients
N°-client
Nom
Prénom Clients (N°-client, Nom, Prénom, Adresse)
Adresse
Clients Voiture
Possède
N°-client N°-immat
Nom 0 1 Couleur
Prénom N 1 ..
Adresse ..
Clients Voiture
Possède
N°-client N°-immat
Nom 0 1 Couleur
Prénom N Date N ..
Adresse ..
• Objectifs: éviter
la redondance, c’est-à-dire la duplication d’informations.
Les incohérences par ajout.
La perte d’informations par suppression.
L’ensemble de DF:
La projection
A1,A2,………An
Nom-relation
Cours BDD Dr H. HACHICHI 53
L’algèbre relationnelle
La projection
Πcode,adresse (Étudiant)
Code Adresse
Code Adresse
00134 Adr1
01045 Adr2
01045 Adr2
01045 Adr2
Cours BDD Dr H. HACHICHI 55
L’algèbre relationnelle
La sélection
Nom-relation
Cours BDD Dr H. HACHICHI 57
L’algèbre relationnelle
La sélection
Étudiant
Code Nom prénom adresse
La sélection
Nom = ‘Nom2’ (Étudiant)
La sélection
Nom = ‘Nom2’ (Étudiant)
L’union, U
L’union
Représentation graphique
R1 R2
Cours BDD Dr H. HACHICHI 62
L’algèbre relationnelle
L’union
Étudiant 1
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01045 Nom2 Pr2 Adr2
00033 Nom3 Pr3 Adr3
Étudiant 2 U
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01046 Nom4Cours BDD Dr H.Pr4
HACHICHI
Adr4 63
L’algèbre relationnelle
L’union
Étudiant 1 U Étudiant 2
Le produit
R1 R2
Cours BDD Dr H. HACHICHI 66
L’algèbre relationnelle
Le produit
Étudiant
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01045 Nom2 Pr2 Adr2
Année X
Année Moyenne
2001 Bonne
2004 Passable
Cours BDD Dr H. HACHICHI 67
L’algèbre relationnelle
La différence
R1 R2
Cours BDD Dr H. HACHICHI 70
L’algèbre relationnelle
La différence
Étudiant 1
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01045 Nom2 Pr2 Adr2
00033 Nom3 Pr3 Adr3
Étudiant 2
-
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01046 Nom4Cours BDD Dr H.Pr4
HACHICHI Adr4 71
L’algèbre relationnelle
La différence
Étudiant 1 - Étudiant 2
L’intersection
R1 R2
Cours BDD Dr H. HACHICHI 74
L’algèbre relationnelle
L’intersection
Étudiant 1
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01045 Nom2 Pr2 Adr2
00033 Nom3 Pr3 Adr3
U
Étudiant 2
Code Nom prénom adresse
00134 Nom1 Pr1 Adr1
01046 Nom4Cours BDD Dr H.Pr4
HACHICHI Adr4 75
L’algèbre relationnelle
L’intersection
Étudiant 1
U
Étudiant 2
La Jointure
R1
R2
Jointure = (R1 X R2)
conditionCours BDD Dr H. HACHICHI 78
L’algèbre relationnelle
La jointure
Étudiant Prêt
code
Étudiant Prêt
code
Exemple:
INSERT INTO Étudiant (code, nom, prénom, adresse) values
(0456,nom1, pr1,adr1);
• Modification de tuples
UPDATE <NomTable>
SET A1=v1, A2=v2, ... An=vn
WHERE condition;
Exemple :
UPDATE Étudiant
SET adresse=‘Alger’
WHERE code=‘0234’;
• Suppression de tuples
Exemple :
DELETE FROM Étudiant
WHERE code=‘0234’;
Cours BDD Dr H. HACHICHI 90
SQL
SELECT liste colonnes (projetées, calculées)
FROM listes tables
WHERE prédicat de jointure AND prédicat de sélection;
Exemple1
SELECT *
FROM Produit
WHERE codeP='P653';
Exemple2
SQL offre aussi un certain nombre de fonctions dites fonctions de groupes qui peuvent
être utilisées dans l'expression d'une requête. Les plus importantes sont :
• Exemple1
Q: Liste des employés du département 10 par ordre décroissant de leur salaire?
SELECT Nom_Emp
FROM EMPLOYES
WHERE Num_Dept = 10
ORDER BY Salaire DESC;