FESSI B. 1 Chap2: Modèle relationnel FESSI B. Modèles avancés pour les bases de
FESSI B. 1 Chap2: Modèle relationnel FESSI B. Modèles avancés pour les bases de données MP Ingénierie des Systèmes d'Information et des Connaissances Faculté des Sciences Économiques et de Gestion de Nabeul Plan •Définitions et caractéristiques •Concepts de base •Normalisation •Langages de manipulation relationnels • Langage algébrique • SQL-LDD • SQL-LMD • SQL-LCD • SQL-Autres commandes •Avantages du modèle relationnel •Limites du modèle relationnel 2 FESSI B. FESSI B. 2 Définitions et caractéristiques • Il est défini par Ted Codd en 1970 et développé par IBM lab. • C’est un modèle de niveau logique disposant d’un support théorique très solide. • C’est le modèle le plus utilisé par les SGBDs disponible sur le marché, exemples: Oracle, Informix, DB2, Ingres, Sybase, dBase, Access. • Il est simple utilisant deux concepts pour représenter les objets et associations du monde réel: • relation (table) • attribut (colonne) • Il offre deux langages de requêtes: • Langage algébrique basé sur la théorie des ensembles • Langage prédicatif basé sur la logique • SQL constitue une norme pour les langages de manipulation de données relationnels le plus répandu. Il comporte des caractéristiques de types algébriques et d’autres de types prédicatifs. 3 FESSI B. Concepts de base •Relation: table à deux dimensions. Les colonnes sont les attributs et les lignes sont les tuples. • Attribut: colonne au niveau d’une table (relation). Il possède un nom, un type et un domaine. La valeur prise par un attribut est atomique (non décomposable). Un attribut est simple et mono-valué. • Domaine: ensemble de valeurs que peut prendre un attribut donné. • Tuple: occurrence ou enregistrement.C’est une ligne de la table. • Population d'une relation: ensemble des tuples de la relation. Les nouveaux tuples sont rajoutés à la fin de la relation. • Clé ou identifiant: élément de la table dont la valeur est unique pour chaque tuple. Il peut être simple ou composé de plusieurs attributs. • primaire:doit toujours avoir une valeur connue. • externes ou étrangères: référence des tuples d’une autre relation, ou parfois de la même relation.Sa valeur est celle d’une clé primaire d’une autre relation. • Schéma relationnel: nom de la relation suivi de la liste des attributs et de la définition de leurs domaines. De plus, il comprend la définition de ses identifiants primaires et externes. • Valeur nulle: valeur spéciale qui peut être prise par tout attribut, sauf la clé, qui n’a pas une valeur définie. Elle est noté en général par ‘’?‘’ lors de la représentation d’un tuple donné. Dans la définition de la BD, elle sera une valeur par défaut grâce à la clause DEFAULT. 4 FESSI B. FESSI B. 3 Concepts de base Schéma relationnel Etudiant (NEtud, nom, prénom, age) nom de la relation noms des attributs Table: Etudiant NEtud nom prénom age 152 Ben slima Nesrine 23 146 Namouchi Alaeddine 25 142 Ben hamed Imen 24 869 Fathallah Skander 22 Tuple ou occurence Population Identifiant 5 FESSI B. Concepts de base • Contraintes d’intégrité: Ce sont des règles du monde réel qui ne peuvent pas être exprimées par les concepts du modèle. Certaines de ces règles restreignent les valeurs que peuvent prendre les données de la base. Ces contraintes s’appliquent sur deux types de propriétés, les propriétés statiques entre les données et les propriétés dynamiques d’évolution des données. • contraintes structurelles: appliquer sur des structures de bases (table, colonne, attribut). Elles sont en général statiques et permettent d’exprimer explicitement certaines propriétés de relation et de domaine. • contraintes non structurelles: traiter généralement l’évolution des données suite aux mises à jour effectuées.Ce sont des contraintesde comportement. Les contraintesd'intégritésont exprimées en SQL par les clauses: attribut obligatoire: NOT NULL identifiant: PRIMARYKEY et UNIQUE domaine de valeurs particulier d'un attribut: CHECK (permet de vérifier que la valeur de l'attribut satisfaitune condition) contrainte d'intégrité quelconque: TRIGGER (permet de spécifier que lors de toute mise à jour (ISM) d'un tuple dans une relation telle condition doit être satisfaite, sinon telle action doit être entreprise automatiquement par le SGBD, par exemple refuser l'insertion ou envoyer un message d'alerte). ISM: Insertion, Suppression, Modification 6 FESSI B. FESSI B. 4 Normalisation • Problèmes: Redondances d’informations Anomalies de conception Cohérence lors des mises à jours de la BD: Insertion: si on rajoute une commande il faut que l'article existe Suppression: si on enlève un fournisseur il faut enlever toutes les commandes de ce fournisseur Modification: si on modifie le numéro d'un article il faut modifier toutes les commandes avec ce numéro d'article • But: C’est d'obtenir une représentation des données présentant un minimum de redondance à l'intérieur de chaque relation et un maximum d'indépendance entre les différentes relations. • Solution: Normalisation 7 FESSI B. Normalisation • Edgar Codd est à l’origine de la définition des formes normales : 1FN, 2FN, 3FN, BCFN. • Les quatrième et cinquième formes normales (4FN et 5FN) concernent spécifiquement la représentation des relations n-n et 1-n entre les attributs. • La sixième forme normale (6FN) inclut des considérations pertinentes pour les bases de données temporelles. • Elle repose sur l'analyse de dépendances entre attributs. C’est le processus de transformation d’une relation par une ou plusieurs décompositions (par projection) afin d’éliminer les problèmes de redondance interne. • La qualité d'une relation, ou sa capacité à représenter le monde réel sans générer des problèmes, est mesurée par son degré de normalisation. • La dénormalisation est une technique consistant à implémenter la jointure de deux relations (ou plus) à la place des relations individuelles initiales. 8 FESSI B. FESSI B. 5 Normalisation • Dépendance fonctionnelle (DF) caractérise les relations qui peuvent être décomposées sans perte d’informations. • Un attribut B dépend fonctionnellement d'un attribut A si, étant donné une valeur de A, il lui correspond une unique valeur de B. A --> B Exemple: NUM NOM signifie qu'à un numéro est associé un nom seulement. Généralement, une dépendance fonctionnelle n'est pas symétrique, i.e. NUM NOM n'interdit pas que deux personnes distinctes (correspondant à deux NUM différents) portent le même nom • Dépendance fonctionnelle totale: x y, la suppression d'un attribut A de x signifie que la dépendance n'existe plus. 9 FESSI B. Langages formels: langages algébriques définissent un ensemble d’opérateurs de manipulation. langages prédicatifs (calcul) définissent le résultat souhaité en utilisant des expressions de logique. Langages utilisateurs: inspirés principalement des langages algébriques : SQL inspirés des langage prédicatifs : QBE, QUEL Langages de manipulation relationnels Langages formels: langages algébriques Langages utilisateurs: SQL 10 FESSI B. FESSI B. 6 Langages de manipulation relationnels: Langage algébrique Les opérateurs de l'algèbre peuvent être regroupés en deux classes: - les opérateurs provenant de la théorie mathématique sur les ensembles: union, intersection, différence, et produit; - les opérateurs définis spécialement pour les bases de données relationnelles: sélection, projection, jointure, division et renommage. at1 at2 at3 at4 …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. Opérateur at2at3at4 …. …. …. …. …. …. …. …. …. …. …. …. at1 at2 at3 at4 …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. Opérateur at1 at2 at3 at4 …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. …. at1 at2 …. …. …. …. …. …. …. …. relation temporaire relation temporaire => La relation temporaire a les mêmes caractéristiquesqu'une relationde la BD 11 FESSI B. Langages de manipulation relationnels: Langage algébrique Projection Cet opérateur construit une relation résultat où n'apparaissent que certains attributs de la relation opérande. Sélection Cet opérateur construit une relation résultat où n'apparaissent que certains tuples de la relation opérande. Les tuples retenus sont ceux satisfaisant une condition explicite (expression logique), appelée prédicat de sélection. NEtud nom prénom sexe age 152 Ben slima Nesrine F 23 146 Namouchi Alaeddine M 25 142 Ben hamed Imen F 24 869 Fathallah Skander M 22 nom prénom Ben slima Nesrine Namouchi Alaeddine Ben hamed Imen Fathallah Skander NEtud nom prénom Sexe age 152 Ben slima Nesrine F 23 142 Ben hamed Imen F 24 => La projectionet la sélectionsont unaires:une seule relationest utilisée. 12 FESSI B. FESSI B. 7 Langages de manipulation relationnels: Langage algébrique Jointure Cet opérateur construit une nouvelle relation à partir de deux relations ayant un attribut en commun. Le résultat de la jointure est la concaténation de tous les champs. Thêta-Jointure Cet opérateur construit une nouvelle relation à partir de deux relations n’ayant pas un attribut en commun mais satisfaisant une condition, appelée prédicat. Le nombre de lignes (tuples) de la relation résultat dépend de la condition de jointure, seules les combinaisons des tuples qui satisfont le prédicat de jointure apparaissent dans le résultat. Renommer Cet opérateur permet de changer le nom d'un (ou plusieurs) attribut d'une relation. Il est utile avant les jointures s'il y a un problème d'homonymie ou de synonymie, ou avant les opérations ensemblistes (union, différence, intersection) qui requièrent que les attributs correspondants aient le même nom. 13 FESSI B. Langages de manipulation relationnels: Langage algébrique Division Cet opérateur construit une nouvelle relation, à uploads/Philosophie/chap2-modele-relationnel.pdf
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 18, 2022
- Catégorie Philosophy / Philo...
- Langue French
- Taille du fichier 0.1612MB