Académique Documents
Professionnel Documents
Culture Documents
EST-SIDI BENNOUR
El mehdi El aroussi
2022-2023
1
Objectifs du cours
2
• Perte de temps
Ex : Estimation pour l’augmentation de 10% sur le prix des items vendus du mois dernier.
ØLe temps d'accès à une requête non prévue peut être très long.
Inconvénients des système de traitement de fichiers
10
11
Sécurité
ØLa sécurité des données et les accès non-autorisés ne sont pas garanties.
ØBase de données
Idéalement, il devrait y avoir…
ØUn seul exemplaire de chaque élément de données
ØTous les utilisateurs ont accès aux données en ne communiquant qu’avec la
base (sans intermédiaire).
ØMesures de protection pour l’information confidentielle
ØLa complexité du stockage ne doit pas être apparente à l’utilisateur.
Les SGBD ont été créés pour résoudre tous ces problèmes!!!
Définitions d'un SGBD
13
Exemples de données :
• Ensemble des informations relatives à une entreprise:
w liste du personnel;
w liste des clients;
w liste des produits.
• dossiers médicaux hospitaliers.
Exemples de SGBD
• PC : Access, Foxpro, Paradox …
• Gros Systèmes: Oracle, DB2, Sybase, SQL Server, …
• Freewares et Sharewares : MySQL, MSQL, …
Bref historique, principaux systèmes
17
Ø modèle relationnel
Ø les SGBDR représentent l'essentiel du marché BD (aujourd'hui)
Ø architecture répartie client-serveur
Schéma physique
INTERNE STRUCTURE DE DONNEES
Niveaux d'abstraction des données
20
Le niveau externe
Ø Chaque vue correspond à la perception d’une partie des données, mais aussi des
données qui peuvent être synthétisées à partir des informations représentées dans
la BD (par ex. statistiques)
Niveaux d'abstraction des données
21
Au niveau physique
Mini-Monde
• Détaillés
besoins et analyse
• Complets
Schéma conceptuel
Besoin de la BD (Modèle spécifique à un SGBD)
Ø Analyse du problème:
Conception
Design Conceptuel Physique
Schéma conceptuel
Mini-Monde
• relationnelle,
Schéma conceptuel
Besoin de la BD (Modèle spécifique à un
SGBD)
ENTITÉ : Objet discernable des autres objets qui est affecté d'attributs qui lui sont
propres.
Ex:
• Client affecté de : nom, rue, ville
Attribut
Nom Rue Ville
Client
Entité
Compte
Modèle logique orienté objet
33
Ex : La relation CliCom associe un(e) client(e) à chacun des comptes qu'il (elle)
possède.
Relation
rue
Contrainte
1 N
Client CliCom Compte
Modèles logiques orientés enregistrements
34
Modèle hiérarchique
Øla structure de données est représentée par des arbres.
CLIENT
CLIENT
PRODUIT
PRODUIT VENTE
VENTE
Modèles logiques orientés enregistrements
38
Modèle hiérarchique
Désavantages :
Modèle réseau
ØStructure de graphe (ressemble au modèle hiérarchique)
ØPermet d'utiliser des structures complexes.
ØContient des entités qui ont les caractéristiques d'un enregistrement;
Ø Contient des pointeurs qui font les liens entre les différents enregistrements
VENTE
Diagramme de Bachman
• Implémentation d'un lien par une liste circulaire :
R r
S s1 s2 ..... sn
Modèles logiques orientés enregistrements
40
Modèle réseau
Avantages :
ØÉvite les répétitions des données, seuls les pointeurs le
sont;
ØDiversifie l'accès à un groupe de données.
Désavantage:
ØStructure très complexe à définir.
ØPeut causer des problèmes sérieux si une donnée a
été oubliée lors de la définition du problème...
Exemple d’un modèle réseau
41
Exemple : La structure réseau des entités Fournisseurs et Pièces
Oups… j’ai oublié de spécifier qu’il y avait 2 types d’écrous
P1 Noix Rouge 12 Montréal P2 Boulon Vert 17 Laval P3 Écrou Bleu 17 Québec P4 Écrou Rouge 14 Montréal
Modèles de structuration des données
42
Modèle
conceptuel des
Algèbre Calcul Dépendance
données (MCD)
relationnelle relationnel fonctionnelle
Modèle QUEL,
orienté SQL Normalisation
QBE
objet (O-O)
Structure globale d'un SGBD
43
Un SGBD se divise en :
•Modules (tâches spécifiques)
•Structure de données
Auxquels ont accès différents usagers :
•Exploitants
•Administrateur
•Concepteur(s)
•Analyste de systèmes
•Programmeurs d'applications
Structure globale d'un SGBD
44
Exploitants:
ØAccèdent à la base dans leurs fonctions quotidiennes:
• recherche,
• mise-à-jour,
• générer des rapports.
Administrateur:
ØAdministre les ressources (BD, SGBD et les logiciels).
ØAutorise les accès et gère l’utilisation.
ØResponsable de la sécurité et des améliorations du temps de réponse du système.
(Dans les grandes organisations, il est assisté par du personnel.)
Structure globale d'un SGBD
45
Concepteur(s) de la base:
ØLe concepteur et l’administrateur peuvent être la même personne.
ØResponsable d’identifier les données à être stockées.
ØChoisis les structures pour représenter les données.
ØDoit bien comprendre les requêtes des usagers.
ØS’occupe du module de Langage de définition des données (DDL).
Analyste de systèmes:
ØDétermine les besoins des usagers et développe les spécifications.
ØS’occupe du module de Langage de Manipulation des données (DML)
Programmeurs d'applications:
ØImplante les spécifications dans un programme et effectue des tests, les
documente et les entretient.
Vue d ’ensemble… SGBD
46
Pour définir cette BD, il faut spécifier les données à stocker dans
chaque enregistrement:
Pour définir cette BD, il faut aussi spécifier le type des données.
Enregistrement COURS:
4
1
1
4
Cours
Résultat
4 1 Non du cours
CodeE Numéro du cours
NuméroC Crédit
Note Département
Vue d ’ensemble … Construction de la BD
51
Construction de la BD:
Stockage des données dans une mémoire secondaire contrôlée par
le SGBD.
Démarche :
§Établir la liste des données devant être stockées dans la base
§Définir la structure des données
Étape N°2 : Définir le modèle relationnel
= le schéma des relations de la base de données
Démarche :
§Pour chaque relation :
• Définir les différents attributs
• Définir la clé primaire
§Pour chaque attribut de chaque relation
• Définir le type et le domaine
• Préciser les propriétés (taille, format, etc.)
§Quand il y a plusieurs relations : définir les clés étrangères
Quelques règles
• Developpeen PHP
• telechargeable : https://www.phpmyadmin.net/
• http://euterpe.unice.fr/phpmyadmin
• version installee (5.1)
Integrite referentielle
ON UPDATE et ON DELETE
Si l’utilisateur tente de supprimer une ligne d’une table parente,
alors qu’une ou plusieurs lignes existent dans une table enfant
correspondente a` la premie`re, il y a plusieurs possibilite´s :
•CASCADE efface la ligne de la table parente et supprime
automatiquement les lignes correspondents dans la table enfante
•SET NULL supprime la ligne de la table parente et met la (ou les)
valeur(s) de la cle´ e´trange`re a` NULL
•SET DEFAULT supprime la ligne de la table parente et met tous
les composants de la cle´ e´trange`re a` leur valeur par de´fault
dans la table enfante
•NO ACTION rejette l’ope´ration de suppression dans la table
parente