Upload
phamphuc
View
214
Download
0
Embed Size (px)
Citation preview
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Informatique en CPGE (2017-2018)Bases de Données Relationnelles
S. B.
Lycée des EK
22 avril 2018
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Comment gérer des données à l’aide de systèmesinformatiques ?
Supposons que des données sont stockées sur un serveur quise trouve quelque part dans le monde. Un utilisateur a besoind’accéder à ce serveur par un réseau afin par exemple,d’obtenir une information, de modifier des données, d’ensupprimer ou d’en rajouter.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
L’utilisateur va écrire sa question ou requête dans unnavigateur de manière simple (formulaire, mots-clés) et cettequestion sera transformée en un programme dont l’exécutionpermettra d’obtenir le résultat souhaité.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Le système de fichiers sur un ordinateur ou un smartphone estun système élémentaire qui permet de gérer des données ;chaque fichier peut représenter un texte, une photo, unemusique, un film, etc. On peut effectuer des recherches, ajouterou supprimer des fichiers.
Mais interroger ou modifier des bases de données qui peuventêtre à l’échelle mondiale nécessite un système beaucoup pluscomplexe.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Un système de gestion de bases de données doit permettreune plus grande rapidité d’accès aux données, un mode multiutilisateurs, assurer la sécurité, la confidentialité, l’intégrité,utiliser un langage "universel", etc.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Le concept de client-serveurArchitecture trois-tiers
Un système de gestion de base de données facilite lamanipulation des données par l’utilisateur qui ne doit pas sesoucier de "comment cela fonctionne dans la machine".Il est le médiateur entre la machine et la personne.
Ce que voient les utilisateurs, l’organisation physique dans lamachine et la logique de l’organisation des données (le modèlerelationnel) sont indépendants.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Le concept de client-serveurArchitecture trois-tiers
L’utilisateur travaille sur une machine à l’aide d’une application ;il est le client.
La base de données est gérée par un serveur (une autremachine).
Plusieurs utilisateurs (personnes ou programmes) peuventeffectuer des demandes au serveur simultanément.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Le concept de client-serveurArchitecture trois-tiers
Le plus souvent, l’utilisateur n’accède pas directement à labase de données. C’est l’application utilisée qui communiqueavec le serveur de base de données.
Nous distinguons alors trois niveaux : le niveau utilisateur, leniveau applicatif et le niveau base de données.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Prenons un exemple. Tous les élèves de première et deuxièmeannée peuvent avoir pendant une semaine des cours desoutien en informatique tous les jours avec un professeur qu’ilschoisissent.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Pour organiser cela, on dresse donc un tableau qui ressembleà celui-ci :
NumEleve Nom Prenom NomProf Numprof Salle1 Java 1 I4032 Céplus 2 I3073 Java 1 I4034 Java 1 I4035 Python 3 I5086 Céplus 2 I307...
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Trois professeurs, Mme Java, M. Céplus et M. Python,participent et chacun des trois travaille dans sa salle.
Un tableau de ce type peut se rencontrer dans de nombreuxdomaines, par exemple lorsque des passagers réservent un volNice-Paris à une date donnée.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Lorsque le nombre de lignes devient grand, la modification d’untel tableau peut être longue et source de plusieurs erreurs.
Par exemple : M. Python change de salle, M. Céplus seraabsent et remplacé par M. Cémoins qui est dans une autresalle, les élèves qui avait choisi M. Céplus veulent changerpour Mme Java ...
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
La séparation d’objets reliés permet une avancée importante :
NumEleve Nom Prenom Numprof1 12 23 14 15 36 2...
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Numprof Nom Salle1 Java I4032 Céplus I3073 Python I5084 Cémoins I215
Les modifications sont maintenant plus simples à gérer.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Dans le modèle relationnel, les données sont organisées entableaux à deux dimensions qui s’appellent relations.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Une relation regroupe un ensemble de données homogènesconcernant un même élément (ex : élèves, professeurs, . . . ).
Les données sont organisées sous forme de colonnes (ex :Nom, Prenom, . . . ).
Chaque colonne, appelée attribut, caractérise la relation.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Les valeurs des attributs sont présentées sous forme de lignes,appelées Tuples ou n-uplets et chaque n-uplet est unique.
Ces valeurs ont un type (entier, texte, flottant, ...) etappartiennent à un domaine (entier naturel inférieurs à 100,texte comportant au maximum 16 caractères, ...)
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Une relation est donc un sous-ensemble, caractérisé par unnom, du produit cartésien de domaines.
Le produit cartésien d’un ensemble de domaines D1, D2, . . . ,Dn noté D1 × D2 × . . .× Dn est l’ensemble des n-uplets(v1, v2, . . . , vn) tels, pour tout i , vi ∈ Di .
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Dans toute relation, un attribut, (ou un groupe d’attributs)permet d’identifier de manière unique les valeurs des autresattributs. On l’appelle une clé candidate.
S’il y en a plusieurs, on en privilégie une, nommée la cléprimaire.
Certaines relations peuvent contenir un attribut qui est la cléprimaire d’une autre relation et qui est alors appelée cléétrangère.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Un schéma de relation se présente sous cette forme :
Relation (attribut 1, attribut 2, . . . , attribut N)Clé primaire : attribut 1Clé étrangère : attribut N en référence à attribut 1 de Relation X
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Par exemple :Eleves (Ideleve, Nom, Prenom, Adresse, CP, Ville, Tel, Classe)Clé primaire : IdeleveClé étrangère : Classe en référence à une autre relation
Un schéma de base de données est un ensemble de schémasde relations liés par des attributs communs.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Si à une valeur d’un attribut A correspond une et une seulevaleur d’un attribut B, on dit que l’attribut B est en dépendancefonctionnelle de l’attribut A.
Par exemple : à un identifiant élève correspond un unique nomd’élève.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Dans l’élaboration des relations, la normalisation relationnellepermet d’éviter la redondance des données et facilite leur miseà jour.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
La première forme normaleUne relation est en première forme normale si tous sesattributs sont en dépendance fonctionnelle de la clé primaire etne contiennent qu’une seule information.
Ex : Eleves (Ideleve, Nom Prenom, Adresse, CP, Ville, Tel,Classe) Clé primaire : Ideleve
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
Ici les attributs sont en dépendance fonctionnelle de la cléprimaire mais l’attribut "Nom Prenom" contient deuxinformations, le nom et le prénom de l’élève ; il faut doncséparer cet attribut en deux attributs :
Eleves (Ideleve, Nom, Prenom, Adresse, CP, Ville, Tel, Classe)
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
La deuxième forme normaleLorsque la clé primaire est constituée de plusieurs attributs, ondit qu’une relation est en deuxième forme normale si elle est enpremière forme normale et si tous les attributs sont endépendance fonctionnelle de l’intégralité de la clé primaire etpas seulement que d’une partie de celle-ci.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Les relationsNotion de clé primaireLa normalisation relationnelle
La troisième forme normaleUne relation est en troisième forme normale si elle est endeuxième forme normale et si tous les attributs sont endépendance fonctionnelle directe de la clé primaire etuniquement de la clé primaire.
Ex : Eleves (Ideleve, Nom, Prenom, Adresse, CP, Ville, Tel,Classe, Salle)Cette relation n’est pas en troisième forme normale car l’attributSalle est en dépendance fonctionnelle de la clé primaireIdeleve, mais aussi de l’attribut Classe.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Il est important d’avoir toujours en tête le vocabulaire utilisé enalgèbre relationnelle et celui utilisé avec les bases de données.
Relation = Table,
Attribut = Champ = Colonne,
Tuple = n-uplet = Ligne.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Ces opérateurs ne s’appliquent que sur des relationscompatibles : c’est-à-dire des relations A(A1,A2, . . . ,An) etB(B1,B2, . . . ,Bn) qui ont le même nombre d’attributs et où pourtout i , les attributs Ai et Bi ont le même domaine.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
UnionA ∪ B est la relation qui inclut tous les n-uplets appartenant à Aou à B (au sens mathématiques). Les doublons sont éliminés.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
intersectionA ∩ B est la relation qui inclut tous les n-uplets appartenant à Aet à B (au sens mathématiques).
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
DifférenceA− B est la relation qui inclut tous les n-uplets appartenant à Amais pas à B.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
On travaille sur les relations :Eleves (Ideleve, Nom, Prenom, Adresse, CP, Ville, Tel,Numprof)Profs (Id, Nom, Prenom, Tel, Salle)
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Opérateur de projection
Exemple : πNom, Prenom(Eleves)
On ne retient que les n-uplets des attributs indiqués parl’opérateur, ici Nom et Prenom. Les doublons sont éliminés.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Opérateur de sélection
Exemple : πNom, Prenom(σVille=’Nice’(Eleves))
On ne retient que les n-uplets vérifiant une propriété indiquéepar l’opérateur, ici Ville=’Nice’.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Opérateur de jointure
Exemple : Eleves ./ Eleves.Numprof=Profs.Id Profs
Ceci est équivalent à une sélection sur le produit cartésien :σEleves.Numprof=Profs.Id(Eleves× Profs)
Le produit cartésien Eleves × Profs contient toutes lesassociations possibles entre une valeur de Eleves et une valeurde Profs.
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Opérateur de renommage
Exemple : ρAdresse←Rue(Eleves)
Condition : les attributs Adresse et Rue ont le même domaine.
On obtient alors le nouveau schéma : Eleves (Ideleve, Nom,Prenom, Rue, CP, Ville, Tel, Numprof)
S. B. Présentation en Latex avec Beamer
Principes et architectureLe modèle relationnelAlgèbre relationnelle
Vocabulaire des bases de donnéesOpérateurs usuels sur les ensemblesOpérateurs spécifiques aux bases de données
Division cartésienne
Si S et R sont deux relations, la relation S ÷ R est la plusgrande relation (pour l’inclusion) telle qu’il existe une relation R′
vérifiant ((S ÷ R)× R) ∪ R′ = S et ((S ÷ R)× R) ∩ R′ = ∅.
En particulier, si S = R1 × R2, alors S ÷ R2 = R1.
S. B. Présentation en Latex avec Beamer