38
Principes et architecture Le modèle relationnel Algè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

Informatique en CPGE (2017-2018) Bases de Données ...mathematice.fr/fichiers/cpge/infoprepaD12.pdf · Notion de clé primaire La normalisation relationnelle ... Un schéma de base

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