IV. LES SYSTÈMES RELATIONNELS

Documents pareils
Les bases de données

Bases de Données. Plan

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

1 Introduction et installation

Bases de données relationnelles

Introduction au Système de Gestion de Base de Données et aux Base de Données

16H Cours / 18H TD / 20H TP

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Langage SQL : créer et interroger une base

Bases de Données relationnelles et leurs systèmes de Gestion

Le langage SQL Rappels

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Modélisation de bases de données : Le modèle relationnel

COURS de BASES de DONNEES

Rappel sur les bases de données

Le Langage SQL version Oracle

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Le langage SQL (première partie) c Olivier Caron

Information utiles. webpage : Google+ : digiusto/

Cours Bases de données

Bases de données. Chapitre 1. Introduction

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

INTRODUCTION AU DATA MINING

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

I4 : Bases de Données

Bases de Données Relationnelles. Le Modèle Relationnel

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

Bases de données réparties: Fragmentation et allocation

Bases de données élémentaires Maude Manouvrier

Master I Génie Logiciel

SOMMAIRE. Travailler avec les requêtes... 3

MODE OPERATOIRE OPENOFFICE BASE

Introduction aux Bases de Données

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

UE 8 Systèmes d information de gestion Le programme

LE LANGAGE SQL2 1. INTRODUCTION

Bases de données cours 1

INTRODUCTION : Données structurées et accès simplifié

UML et les Bases de Données

Objectifs du TP : Initiation à Access

Bases de données relationnelles & SQL

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Base de Données et Langage SQL

Vincent Augusto

INTRODUCTION AUX BASES de DONNEES

Bases de données relationnelles : Introduction

TP Contraintes - Triggers

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Bases de données Outils de gestion

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

SQL Historique

CESI Bases de données

Diplôme de Comptabilité et de Gestion. D é c r e t N d u 2 2 d é c e m b r e A r r ê t é d u 8 m a r s

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Introduction aux Bases de Données

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Programmes des classes préparatoires aux Grandes Ecoles

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

Séance 1 Introduction aux bases de données

Bases de données - Modèle relationnel

Cours: Les Jointures 1

Les bases de données Page 1 / 8

Les bases de données. Historique

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Cours de bases de données. Philippe Rigaux

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Optimisation SQL. Quelques règles de bases

Chapitre 1 Généralités sur les bases de données

PostgreSQL. Formations. SQL avancé Calendrier... 18

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Chapitre 10. Architectures des systèmes de gestion de bases de données

CREATION WEB DYNAMIQUE

MySQL / SQL EXEMPLES

Bases de données avancées Introduction

Interpréteur d algèbre relationnelle

Pour les débutants. langage de définition des données

1 Modélisation d une base de données pour une société de bourse

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

OpenPaaS Le réseau social d'entreprise

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

TD n 10 : Ma première Base de Données

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Créer le schéma relationnel d une base de données ACCESS

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Le Langage De Description De Données(LDD)

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Bases de Données Avancées

Systèmes de Gestion de Bases de Données

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

PROSOP : un système de gestion de bases de données prosopographiques

Transcription:

IV. LES SYSÈMES ELAIONNELS 1. Généralités a) Objectifs du modèle relationnel 1) Permettre un haut degré d indépendance entre les programmes d application et la représentation interne des données. 2) Fournir une base solide pour traiter les problèmes de cohérence et de redondance des données. (Objectif non atteint par les systèmes hiérarchiques et réseau). 3) Permettre le développement de langages de manipulation de données non procéduraux basés sur des théories solides. 4) Être un modèle extensible permettant de modéliser et de manipuler simplement des données tabulaires, mais pouvant être étendu à des données complexes. 5) Devenir un standard. b) Caractéristiques des systèmes relationnels langages d interrogation puissants et déclaratifs accès orienté valeur résultat d une requête : une relation, c est-à-dire un ensemble de tuples grande simplicité et absence de considérations physiques description du schéma très réduite langage de description intégré au langage de manipulation et d'interrogation grande dynamique de structure architecture spécifique optimisation de requêtes utilisation interactive utilisation à partir d un langage hôte Bases de données Les systèmes relationnels 34

2. Le modèle relationnel a) Définition en extension et en intention d une relation Définition en extension : elation ensemble {A 1, A 2,, A n } d attributs. Chaque attribut A i prend ses valeurs dans un domaine dom(a i ). ( dom(a 1 ) x dom(a 2 ) x x dom(a n ) ) uple : t <V 1, V 2,, V n > où V i est une valeur de dom(a i ) ou la valeur nulle (NULL) Notation : (A 1 :D 1, A 2 :D 2,, A n :D n ) ou plus simplement (A 1, A 2,, A n ) Degré : n (relation n-aire) Cardinalité : nombre de tuples Définition en extension Vue des tuples contenus dans la relation à un instant donné Définition en intention : schéma de relation Un schéma de relation repose sur trois éléments : un ensemble d attributs {A 1, A 2,, A n } ; l affectation d un domaine dom(a i ) à chaque attribut A i ; un prédicat [(t)] permettant de décider de l appartenance d un tuple t à. Définition en intention Propriétés communes et invariantes des tuples au cours du temps Bases de données Les systèmes relationnels 35

Exemple de base de données relationnelle : PIECE (, DESIGNAION, COULEU, POIDS) SEVICE (, INIULE, LOCALISAION) (,, QUANIE) NOMENCLAUE (A, C, QUANIE) SEVICE INIULE LOCALISAION NOMENCLAUE A C QUANIE S1 S2 S3 S4 S5 DIFFUSION GP POMOION DIFFUSION G POMOION DIFFUSION GP Paris Clermont-Fd Lyon Moulins Clermont-Fd P6 P6 P7 P7 P1 P5 P3 P6 1 1 1 2 PIECE QUANIE DESIGNAION COULEU POIDS P1 P2 P3 P4 P5 P6 P7 Lavabo Lavabo Baignoire Baignoire Colonne Lavabo luxe Set luxe ivoire bleu ivoire bleu ivoire ivoire ivoire 30 30 50 50 40 130 S1 S1 S1 S1 S2 S2 S3 S3 S5 P1 P2 P3 P4 P1 P3 P2 P4 P3 40 20 15 20 15 15 Une instance de la base FABICAION b) ègles d intégrité structurelles ègles qui doivent être vérifiées par les données contenues dans la base. Unicité de clé : Clé : Sous-ensemble minimal d'attributs de la relation dont les valeurs permettent de distinguer les tuples les uns des autres. Si K est une clé de : t 1, t 2 deux tuples de, t 1 (K) t 2 (K). Bases de données Les systèmes relationnels 36

Clés candidates : outes les clés potentielles. Clé primaire : La clé que l on choisit parmi les clés candidates. Sa valeur ne peut pas être nulle. Superclé : Ensemble d attributs contenant une clé. Contraintes de références : Domaine primaire : Domaine sur lequel une clé primaire est définie. Clé étrangère : Attribut défini sur un domaine primaire et qui n'est pas clé primaire. Principe d'intégrité de référence : Soit une relation 1 ayant une clé primaire X multi-attributs. Si l'attribut A de X est défini sur un domaine primaire D, alors, pour chaque valeur k de A dans 1, il doit exister une relation 2 dans la base de données avec une clé primaire mono-attribut définie sur D ayant k comme valeur. On dit aussi que la relation 1 est référençante, que 2 est référencée et que A est attribut référençant. Exemple : ENEPISE (NOINSEE, DENOMINAION, ADESSE) EMPLOYE (MAICULE, NOM, PENOM, AGE, NOINSEE) FOUNISSEU (NOFOU, NOM, ADESSE) PIECE (IECE, DESIGNAION) APPOVISIONNE (NOFOU, IECE, QUANIE) (Clés primaires soulignées, clés étrangères en italiques). Contraintes de domaine : Spécifie que les valeurs d un attribut doivent respecter une condition logique. Ex. SALAIE 5000 AND SALAIE 00000, COULEU {BLEU, BLANC, OUGE}, etc. Bases de données Les systèmes relationnels 37

3. L algèbre relationnelle Ensemble d opérateurs qui s appliquent aux relations dans leur totalité. ésultat : nouvelle relation, qui peut à son tour être manipulée. a) Opérateurs ensemblistes Union : S ou UNION(,S) et S doivent avoir même schéma. Intersection : S ou INESEC(,S) et S doivent avoir même schéma. Différence : S ou MINUS(,S) et S doivent avoir même schéma. Produit cartésien : x S ou PODUC(,S) Division : S ou DIVISION(,S) (A 1, A 2,, A n ) S(A p+1,, A n ) (A 1, A 2,, A p ) contient tous les tuples tels que la concaténation à chacun des tuples de S donne toujours un tuple de. Ex : La division de par EMP fournit ES. ES est l'ensemble des services qui commandent P1 en quantité et P3 en quantité 20. Bases de données Les systèmes relationnels 38

EMP P1 P3 QUANIE 20 ES S1 S2 La division de par EMP donne ES b) Opérateurs spécifiques Projection : Π<A, B, C >() ou POJEC( / A, B, C ) La projection de sur un ensemble d'attributs A, B, C est une relation ne contenant que ces attributs. LOCALISAION Paris Clermont-Fd Lyon Moulins Projection de SEVICE sur LOCALISAION Sélection (ou restriction) : σ<q>() ou ESIC(/Q) La restriction de par une qualification Q est une relation de même schéma contenant les tuples de satisfaisant la qualification Q. Une qualification peut être élémentaire (condition booléenne de la forme A B ou C ) ou complexe (combinaison de qualifications élémentaires à l aide des opérateurs booléens E, OU, NON). Bases de données Les systèmes relationnels 39

ES INIULE LOCALISAION S2 S5 POMOION DIFFUSION GP Clermont-Fd Clermont-Fd triction de SEVICE par LOCALISAION 'Clermont-Ferrand' Jointure : Produit cartésien x S suivie d une qualification Q. Cas particuliers : θ-jointure (ou θ-produit) : Qualification A θ B où A et B sont des attributs de et S respectivement, dont les valeurs peuvent être rapprochées par l'opérateur θ. Équijointure : Qualification A B où A et B sont des attributs de et S respectivement, prenant leur valeur dans le même domaine. Jointure naturelle : JOIN(,S) ou S, correspond à l'équijointure de et S sur tous les attributs identiques dans et S, suivie d'une projection permettant de conserver un seul exemplaire des attributs identiques. EMP ES INIULE YPE INIULE LOCALISAION YPE DIFFUSION GP DIFFUSION G POMOION 12 50 S1 S2 S3 S4 S5 DIFFUSION GP POMOION DIFFUSION G POMOION DIFFUSION GP Paris Clermont-Fd Lyon Moulins Clermont-Fd 50 12 50 Jointure naturelle de SEVICE avec EMP c) Fonctions d agrégat Calculs mathématiques sur un ensemble de valeurs extraites de la base Bases de données Les systèmes relationnels 40

SOMME MOYENNE MAXIMUM MINIMUM COMPE d) eprésentation graphique des opérateurs - x S S S S S eprésentation graphique des opérateurs union, différence, intersection, produit cartésien, division A, B, C,... Q A Q B S eprésentation graphique des opérateurs projection, restriction, jointure e) Expression de requêtes par composition des opérateurs equête : enchaînement de plusieurs opérations. eprésentation par un arbre. Bases de données Les systèmes relationnels 41

Désignation et couleur de toutes les pièces : DESIGNAION, COULEU PIECE Désignation des pièces de couleur ivoire : DESIGNAION COULEU'ivoire' PIECE Intitulé des services ayant en commande la pièce P2 : INIULE SEVICE 'P2' Bases de données Les systèmes relationnels 42

Intitulé des services ayant en commande au moins une pièce de couleur ivoire : INIULE SEVICE COULEU'ivoire' PIECE (Projection sur optionnelle problème d optimisation). Bases de données Les systèmes relationnels 43

Intitulé des services n'ayant pas en commande la pièce P1 : INIULE - SEVICE SEVICE 'P1' (Les deux projections sur sont indispensables). Numéro des services ayant en commande toutes les pièces :, PIECE (Les deux projections sont indispensables). Bases de données Les systèmes relationnels 44

Numéro des services ayant en commande au moins toutes les pièces commandées au service S2 :, 'S2' 4. Mise en œuvre des langages relationnels SEQUEL (Structured English QUEry Language) d'ibm SQL (Structured Query Language) version commercialisée de SEQUEL QUEL (système INGES) QBE (Query By Example) Approches possibles pour la mise en œuvre : langage autonome, intégration dans un langage de programmation, extension d'un langage de programmation. 5. Classification des SGBD relationnels Classification de CODD à quatre niveaux. Niveau 1 : Systèmes non relationnels. Systèmes qui supportent uniquement la structure tabulaire. Bases de données Les systèmes relationnels 45

Niveau 2 : Systèmes relationnellement minimaux. Systèmes qui permettent les opérations de sélection, projection et jointure. Niveau 3 : Systèmes relationnellement complets. Systèmes qui offrent toutes les opérations de l algèbre relationnelle. Niveau 4 : Systèmes relationnellement pleins. Systèmes qui permettent la définition des deux contraintes d intégrité. 6. Exercice On décide de remanier la base FABICAION pour introduire une nouvelle table CLIEN. En effet, les différents ordres de fabrication adressés par les services sont élaborés pour le compte des clients de l entreprise. La table est remaniée en introduisant le numéro de client NOC de façon à rattacher chaque ordre au client correspondant. La nouvelle base, appelée COMMANDE, a la structure suivante. CLIEN (NOC, NOM, ADESSE) SEVICE (, INIULE, LOCALISAION) PIECE (, DESIGNAION, COULEU, POIDS) (,, NOC, QUANIE) Proposer, en algèbre relationnelle, une formulation des requêtes suivantes. 1) Donner les valeurs de pour les services qui ont commandé pour le client C1. 2) Donner les valeurs de pour les services qui ont commandé une pièce P1 pour le client C1. 3) Donner les valeurs de pour les services qui ont commandé une pièce de couleur ivoire pour le client C1. 4) Donner les valeurs de NOC pour les clients qui ont en commande au moins toutes les pièces commandées par S1. 5) Donner les valeurs de NOC pour les clients qui ont en commande des pièces figurant uniquement dans les commandes du service S1. 6) Donner les valeurs de pour les pièces qui sont commandées au niveau local (pour ces pièces, l adresse du client et la localisation du service sont identiques). Bases de données Les systèmes relationnels 46

Correction de l exercice NOC'C1' NOC'C1' 'P1' COULEU'Ivoire' NOC'C1' 1) 2) 3) PIECE, NOC 'S1' 4) Bases de données Les systèmes relationnels

Clients qui commandent des pièces non commandées par le service S1. NOC, NOC 'S1' <> 'S1' 5) LOCALISAIONADESSE SEVICE NOC NOC 6) CLIEN Bases de données Les systèmes relationnels