LE MODELE RELATIONNEL



Documents pareils
Bases de Données. Plan

Les bases de données

Langage SQL : créer et interroger une base

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

INTEGRITE ET BD ACTIVES

SQL Historique

LE LANGAGE SQL2 1. INTRODUCTION

Le Langage SQL version Oracle

16H Cours / 18H TD / 20H TP

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

1 Introduction et installation

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

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

Le Langage De Description De Données(LDD)

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Le langage SQL Rappels

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Intégrité des données

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

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

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

MySQL / SQL EXEMPLES

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

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

Vincent Augusto

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

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

CREATION WEB DYNAMIQUE

I4 : Bases de Données

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours Bases de données 2ème année IUT

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

Systèmes de Gestion de Bases de Données

UML et les Bases de Données

COURS de BASES de DONNEES

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

Intégrité sémantique dans les bases de données relationnelles

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Bases de données relationnelles

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

Gestion des transactions et accès concurrents dans les bases de données relationnelles

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Création et Gestion des tables

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

TP Bases de données réparties

PHP 5. La base de données MySql. A. Belaïd 1

Gestion de base de données

OpenPaaS Le réseau social d'entreprise

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Bases de Données Avancées

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

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

TP Contraintes - Triggers

Olivier Mondet

Bases de données relationnelles & SQL

A QUOI SERVENT LES BASES DE DONNÉES?

OBJECTIFS ET ARCHITECTURE DES SGBD

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

TP3 : Creation de tables 1 seance

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Bases de données avancées Introduction

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

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

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

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

Rappel sur les bases de données

Bases de données. PTSI Lycée Eiffel. 28 février 2014

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

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

Compétences Business Objects

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février alexandre.patin@free.fr URL :

Partie II Cours 3 (suite) : Sécurité de bases de données

Auto-évaluation Oracle: cours de base

Java DataBaseConnectivity

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Cours 4 : Agrégats et GROUP BY

Bases de données et sites WEB

Partie 0 : Gestion des tablespace et des utilisateurs... 3

INTRODUCTION AU DATA MINING

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

Programmation d application Bases de données avec Java

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

1. Base de données SQLite

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Introduction : présentation de la Business Intelligence

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Bases de données élémentaires Maude Manouvrier

LA GESTION DES VUES 1. INTRODUCTION

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

Bases de données - Modèle relationnel

Transcription:

LE MODELE RELATIONNEL INVENTE PAR T. CODD (IBM SAN- JOSE) PUBLICATION ACM 1970 1. CONCEPTS POUR LA DESCRIPTION 2. CONCEPTS POUR LA MANIPULATION 3. CONCEPTS ADDITIONNELS Gardarin 2001

1. CONCEPTS DESCRIPTIFS ENSEMBLE DE CONCEPTS POUR FORMALISER LA DESCRIPTION D'ARTICLES DE FICHIERS PLATS MODELE NORMALISE MAIS EXTENSIBLE Introduction de types de données variés (SQL2) Introduction de la dynamique (Produits, SQL3) Introduction des objets (SQL3) 2

Domaine ENSEMBLE DE VALEURS EXEMPLES ENTIER REEL CHAINES DE CARACTERES FRANC SALAIRE = {4 000..100 000} COULEUR= {BLEU, BLANC, ROUGE} POINT = {(X:REEL,Y:REEL)} TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)} 3

Produit cartésien LE PRODUIT CARTESIEN D1x D2x... x Dn EST L'ENSEMBLE DES TUPLES (N- UPLETS) : <V1,V2,...Vn> TEL QUE Vi Di EXEMPLE D1 = {Bleu,Blanc,Rouge} D2 = {Vrai, Faux} Bleu Vrai Bleu Faux Blanc Vrai Blanc Faux Rouge Vrai Rouge Faux 4

Relation SOUS-ENSEMBLE DU PRODUIT CARTESIEN D'UNE LISTE DE DOMAINES UNE RELATION EST CARACTERISEE PAR UN NOM EXEMPLE D1 = COULEUR D2 = BOOLEEN CoulVins Coul Choix Bleu Faux Blanc Vrai Rouge Vrai 5

Attribut VISION TABULAIRE DU RELATIONNEL Une relation est une table à deux dimensions Une ligne est un tuple Un nom est associé à chaque colonne afin de la repérer indépendamment de son numéro d'ordre ATTRIBUT nom donné à une colonne d'une relation prend ses valeurs dans un domaine 6

Graphe d'une relation DOM(A1) a b c DOM(A2) 1 2 3 4 RELATION BINAIRE R(A1,A2) UNE RELATION N-AIRE EST UNE GENERALISATION A N DIMENSIONS DOM(A2) 4 3 2 1 a b c 7 DOM(A1)

Exemple de relation VINS CRU MILL REGION COULEUR CHENAS 1983 BEAUJOLAIS ROUGE TOKAY 1980 ALSACE BLANC TAVEL 1986 RHONE ROSE CHABLIS 1986 BOURGOGNE BLANC ST-EMILION 1987 BORDELAIS ROUGE 8

Clé GROUPE D'ATTRIBUTS MINIMUM QUI DETERMINE UN TUPLE UNIQUE DANS UNE RELATION EXEMPLES {CRU,MILLESIME} DANS VINS ==> NV NSS DANS PERSONNE CONTRAINTE D'ENTITE Toute relation doit posséder au moins une clé documentée 9

Schéma NOM DE LA RELATION, LISTE DES ATTRIBUTS AVEC DOMAINES, ET LISTE DES CLES D'UNE RELATION EXEMPLE VINS(NV: Int, CRU:texte, MILL:entier, DEGRE: Réel, REGION:texte) Par convention, la clé primaire est soulignée INTENTION ET EXTENSION Un schéma de relation définit l'intention de la relation Une instance de table représente une extension de la relation SCHEMA D'UNE BD RELATIONNELLE C'est l'ensemble des schémas des relations composantes 10

Clé Etrangère GROUPE D'ATTRIBUTS DEVANT APPARAITRE COMME CLE DANS UNE AUTRE RELATION LES CLES ETRANGERES DEFINISSENT LES CONTRAINTES D'INTEGRITE REFERENTIELLES Lors d'une insertion, la valeur des attributs doit exister dans la relation référencée Lors d'une suppression dans la relation référencée les tuples référençant doivent disparaître Elles correspondent aux liens entité-association obligatoires 11

Exemple de Schéma EXEMPLE BUVEURS (NB, NOM, PRENOM, TYPE) VINS (NV, CRU, MILL, DEGRE) ABUS (NB, NV, DATE, QUANTITE) CLES ETRANGERES ABUS.NV REFERENCE VINS.NV ABUS.NB REFERENCE BUVEURS.NB 12

Diagramme des Liens BUVEURS NB NOM PRENOM TYPE VINS NV CRU MILL. DEGRE ABUS NB NV DATE QUANTITE 13

Concepts Descriptifs : Bilan RELATION ou TABLE ATTRIBUT ou COLONNE DOMAINE ou TYPE CLE CLE ETRANGERE 14

Synthese : Create Table CREATION DES TABLES EN SQL CREATE TABLE <relation name> (<attribute definition>+) [{PRIMARY KEY UNIQUE} (<attribute name>+)] avec : <attribute definition> ::= <attribute name> <data type> [NOT NULL [{UNIQUE PRIMARY KEY}] ] Exemple : CREATE TABLE VINS ( NV INTEGER PRIMARY KEY CRU CHAR VARYING MILL INTEGER NOT NULL, DEGRE FIXED 5.2 ) 15

2. CONCEPTS MANIPULATOIRES UN ENSEMBLE D'OPERATIONS FORMELLES Algèbre relationnelle CES OPERATIONS PERMETTENT D'EXPRIMER TOUTES LES REQUETES SOUS FORME D'EXPRESSIONS ALGEBRIQUES ELLES SONT LA BASE DU LANGAGE SQL Paraphrasage en anglais des expressions relationnelles Origine SEQUEL CES OPERATIONS SE GENERALISENT A L'OBJET Algèbre d'objets complexes 16

Opérations Ensemblistes OPERATION ENSEMBLISTE POUR DES RELATIONS DE MEME SCHEMA UNION notée INTERSECTION notée DIFFERENCE notée OPERATIONS BINAIRES Relation X Relation --> Relation EXTENSION Union externe pour des relations de schémas différents Ramener au même schéma avec des valeurs nulles 17

Projection Elimination des attributs non désirés et suppression des tuples en double Relation -> Relation notée πa1,a2,...ap ( R) VINS Cru Mill Région Qualité VOLNAY 1983 BOURGOGNE A VOLNAY 1979 BOURGOGNE B CHENAS 1983 BEAUJOLAIS A JULIENAS 1986 BEAUJOLAIS C πcru,région π(vins) Cru Région VOLNAY BOURGOGNE CHENAS BEAUJOLAIS JULIENAS BEAUJOLAIS 18

Restriction Obtention des tuples de R satisfaisant un critère Q Relation ->Relation, notée σq(r) Q est le critère de qualification de la forme : Ai θ Valeur θ = { =, <, >=, >, <=, #} Il est possible de réaliser des "ou" (union) et des "et" (intersection) de critères simples 19

Exemple de Restriction VINS Cru Mill Région Qualité VOLNAY 1983 BOURGOGNE A VOLNAY 1979 BOURGOGNE B CHENAS 1983 BEAUJOLAIS A JULIENAS 1986 BEAUJOLAIS C σmill>1983 VINS Cru Mill Région Qualité JULIENAS 1986 BEAUJOLAIS C σcru="volnay 20

Jointure Composition des deux relations sur un domaine commun Relation X Relation ->Relation notée CRITERE DE JOINTURE Attributs de même nom égaux : Attribut = Attribut JOINTURE NATURELLE Comparaison d'attributs : Attribut1 Θ Attribut2 THETA-JOINTURE 21

Exemple de Jointure VINS Cru Mill Qualité VOLNAY 1983 A VOLNAY 1979 B CHABLIS 1983 A JULIENAS 1986 C LOCALISATION Cru Région QualMoy VOLNAY Bourgogne A CHABLIS Bourgogne A CHABLIS Californie B VINSREG Cru Mill Qualité Région QualMoy VOLNAY 1983 A Bourgogne A VOLNAY 1979 B Bourgogne A CHABLIS 1983 A Bourgogne A CHABLIS 1983 A Californie B 22

Complétude L'ALGEBRE RELATIONNELLE EST COMPLETE Les cinq (sept) opérations de base permettent de formaliser sous forme d'expressions toutes les questions que l'on peut poser avec la logique du premier ordre (sans fonction). EXEMPLE NOM ET PRENOM DES BUVEURS DE VOLNAY 1988? PROJECT (NOM, PRENOM, RESTRICT(CRU="VOLNAY" et MILL =1988, JOIN(VINS, ABUS, BUVEURS))) 23

SQL Une requête SQL est un paraphrasage d'une expression de l'algèbre relationnelle en anglais FORMAT SIMPLIFIE : SELECT A1, A2, Ap FROM R1, R2, Rk WHERE Q [{UNION INTERSECT EXCEPT } ] SEMANTIQUE DU BLOC SELECT : PROJECT A1,A2, Ap ( RESTRICT Q ( PRODUIT ( R1, R2,, Rk) ) ) 24

3. CONCEPTS ADDITIONNELS ENSEMBLE DE CONCEPTS POUR : Etendre les fonctionnalités de manipulation Décrire les règles d'évolution des données Supporter des objets complexes (SQL3) INTRODUITS PROGRESSIVEMENT DANS LE MODELE Complique le modèle Manque parfois de standard (SQL3) Des extensions à l'infini 25

Fonction et Agrégat FONCTION Fonction de calcul en ligne appliquée sur un ou plusieurs attributs Exemple : DEGRE * QUANTITE / 100 AGREGAT Partitionnement horizontal d'une relation selon les valeurs d'un groupe d'attributs, suivi d'un regroupement par une fonction de calcul en colonne (Sum, Min, Max, Avg, Count, ) 26

Exemples d'agrégats VINS CRU MILL DEGRE QUANTITE CHABLIS 1977 10.9 100 CHABLIS 1987 11.9 250 VOLNAY 1977 10.8 400 VOLNAY 1986 11.2 300 MEDOC 1985 11.2 200 SELECT MOY(DEGRE) FROM VINS; SELECT CRU, SUM(QUANTITE) FROM VINS GROUP BY CRU; AVG DEGRE 11.2 SUM CRU QUANTITE CHABLIS VOLNAY MEDOC 350 700 200 27

Vue Relation d'un schéma externe déduite des relations de la base par une question Exemple : GrosBuveurs CREATE VIEW GrosBuveurs AS SELECT NB, Nom, Prénom, FROM Buveurs, Abus WHERE Buveurs.NB = Abus.NB and Abus.Quantité > 100 Calcul de la vue Une vue est une fenêtre dynamique sur la BD et est recalculée à chaque accès. Une vue peut être matérialisée (vue concrète). 28

Procédure stockée Procédure écrite en L3G/SQL ou L4G/SQL définie au niveau du schéma de la base et stockée avec Avantages : partitionner les traitements entre client et serveur limiter le trafic sur le réseau, partager des procédures Exemple : Réservations Transactionnelles Réservations Batch Etablir la réservation 29

Déclencheur (Trigger) Action base de données déclenchée suite à l'apparition d'un événement particulier Forme : {BEFORE AFTER} <événement> THEN <action> Un événement peut être : une opération sur une table (début ou fin) un événement externe (heure, appel,etc.) Une action peut être : une requête BD (mise à jour) Une annulation (abort) de transaction l'appel à une procédure cataloguée 30

Déclencheur avec condition (Règle) Il est possible d'ajouter une condition afin de déclencher l'action seulement quand la condition est vérifiée Une condition est une qualification portant sur la base. Exemples : BEFORE THEN WHERE DELETE FROM Vins DELETE FROM Abus Vins.Nv = Abus.Nv BEFORE UPDATE FROM EMPLOYE IF SALAIRE > 100.000 THEN ABORT TRANSACTION 31

4. CONCLUSION Un ensemble de concepts bien compris et bien formalisés Un modèle unique, de plus en plus riche et standardisé intégration des BD actives intégration des BD objets évolution vers un L4G standardisé Un formalisme qui s'étend plutôt bien algèbre d'objets Un langage associé défini à plusieurs niveaux SQL1, 2, 3 32