Cours de Bases de données

Documents pareils
Bases de Données. Plan

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

1 Introduction et installation

Les bases de données

COURS de BASES de DONNEES

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

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie

16H Cours / 18H TD / 20H TP

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

Introduction aux Bases de Données

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

I4 : Bases de Données

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

II. Modèle conceptuel le modèle entité-association

Rappel sur les bases de données

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

Bases de données avancées Introduction

Modèle conceptuel : diagramme entité-association

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

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

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

Vincent Augusto

Bases de données relationnelles

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

Langage SQL : créer et interroger une base

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

A. Définition et formalisme

Information utiles. webpage : Google+ : digiusto/

Le langage SQL Rappels

Bases de données. Chapitre 1. Introduction

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

Bases de données relationnelles : Introduction

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

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

Dossier I Découverte de Base d Open Office

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

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

Bases de données relationnelles & SQL

Conception des bases de données : Modèle Entité-Association

Bases de Données Avancées

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

Systèmes d information et bases de données (niveau 1)

TP Contraintes - Triggers

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

A QUOI SERVENT LES BASES DE DONNÉES?

Base de Données et Langage SQL

Bases de données - Modèle relationnel

Modélisation des données

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

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

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

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Le Langage SQL version Oracle

LE MODELE CONCEPTUEL DE DONNEES

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

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

Master I Génie Logiciel

CHAPITRE 1. Introduction aux bases de données

UML et les Bases de Données

INTRODUCTION AUX BASES de DONNEES

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

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Conception d une base de données

Le Langage De Description De Données(LDD)

Systèmes de Gestion de Bases de Données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Bases de données élémentaires Maude Manouvrier

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

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

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Bases de données cours 1

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Programmes des classes préparatoires aux Grandes Ecoles

Évaluation et optimisation de requêtes

Méthode d analyse Merise

Introduction aux Bases de Données Relationnelles Conclusion - 1

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

LES DÉTERMINANTS DE MATRICES

Chapitre 11 Bases de données

Introduction aux Bases de Données

Comprendre Merise et la modélisation des données

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

TP Bases de données réparties

CESI Bases de données

Nom de l application

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

Modèle Entité/Association

Projet Matlab : un logiciel de cryptage

A QUOI SERVENT LES BASES DE DONNÉES?

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

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

LE LANGAGE SQL2 1. INTRODUCTION

Java DataBaseConnectivity

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Transcription:

Institut National de Statistique et d Economie Appliquée Cours de Bases de données 1 er année, Filière Informatique 2016/2017 Pr. Imade BENELALLAM i.benelallam@insea.ac.m a www.benelallam.org Cours de Bases de données 1

Chapitre 3 Le modèle relationnel et algèbre relationnelle Cours de Bases de données 2

Généralités Le modèle relationnel : Il a été introduit par Codd en 1970. Par rapport aux autres modèles il ajoute la rigueur des concepts s'appuyant sur la logique des prédicats (algèbre relationnelle); les schémas de données, sous forme de tables, faciles à utiliser; un langage de haut niveau non procédural (on n'a pas besoin de préciser comment obtenir l information) une bonne indépendance entre le modèle physique et le modèle logique : (le modèle ne comporte aucune description physique de l organisation des données) Cours de Bases de données 3

Généralités On appelle Domaine, noté D i, un ensemble, énuméré ((bleu, blanc, rouge), marques de voitures, ) ou non (N, nombres réels, intervalles numériques, etc..); Une relation r est une partie (un sous ensemble) d un produit cartésien de domaines D 1 x D 2 x... x D n ; Le produit catrésien définit un ensemble fini d éléments (on dit aussi tuples ou nuplets) appartenant à la relation Cours de Bases de données 4

Généralités Une relation est représentée par une table une ligne représente un tuple, une colonne représente les composants appartenant à un Domaine donné déterminé par un attribut. À chaque attribut correspond un domaine : Att(Domaine) Attributs et domaines constituent un schéma de relation. R, noté R(A 1,A 2, A n ). Une relation r est une instance de R c'est-à-dire une table contenant des tuples (provenant du monde réel en général). Cours de Bases de données 5

Généralités exemple : relation livre(numéro,auteur,titre,editeur). Livre numéro Auteur Titre Editeur tuple1 2004 " François le Berre" " les bases de données bretonnes" tuple2 1515 " François 1er" " la bataille de Marignan" tuple3 12 693 " gilles desrocques" " les bases du paramoteur" tuple4 309 " gilles desrocques" " introduction a l'ulm" "les éditions du far" " historia" " cavole" " cavole" Un schéma de base de donnée relationnelle B est un ensemble de schémas de relations R i. Une base de donnée relationnelle b est une instance de B (c'est donc un ensemble de relations r 1, r 2,... r n ). Cours de Bases de données 6

Généralités exemple : schéma de la base de données relationnelle bibliothèque Personne(numInscription, nom, prénom, adresse) Livre(numero, auteur, titre, éditeur) Auteur(nom, pr énom, adresse) Editeur(nom, adresse) empruntépar(numinscription, numéro, date) écritpar(nom, numéro) éditépar(nom, numéro). La notion de clé, définie dans le modèle entités association est reprise ici et s'applique également aux associations. Lorsqu'il y a plusieurs clés possibles, on choisit l'une d'entre elles, appelé clé primaire. Les autres clés s'appellent clés candidates (envisageables). Cours de Bases de données 7

Passage du MCD entité-association au modèle relationnel Un schéma entité- association peut être traduit mécaniquement en un schéma relationnel. (Certains logiciels, WinDesign, BD_Designer... le font automatiquement). Nous allons voir ici comment pratiquer "à la main" pour passer du Modèle Conceptuel des Données entité-association au modèle relationnel.. Cours de Bases de données 8

Passage du MCD entité-association au modèle relationnel Nous allons exposer ces techniques en s'appuyant sur l'exemple suivant Cours de Bases de données 9

Passage du MCD entité-association au modèle relationnel Pour la transformation du MCD, nous appliquons successivement trois règles : Règle 1 : Les entités deviennent des relations (ou tables) ; l'identifiant de l'entité devient la clé de la relation ; les propriétés de l'entité deviennent des attributs. Règle 2 : Quand on trouve une cardinalité 1,1, on ajoute l'identifiant cible à la relation source (il devient une clé étrangère) Règle 3 : Une association de la forme x,n -------y,n devient une relation à part entière dont la clé est la concaténation des deux identifiants des entités concernées et dont les attributs sont les propriétés (si elles existent) de l'association. Cours de Bases de données 10

Passage du MCD entité-association au modèle relationnel Règle 1 : Les entités deviennent des relations (ou tables) ; l'identifiant de l'entité devient la clé de la relation ; les propriétés de l'entité deviennent des attributs. On obtient donc immédiatement les relations : CLIENT (numcli, nomcli, adcli) COMMANDE (numcom, datcom) ARTICLE (numart, libelart, pu) REPRESENTANT (numrep, nomrep) REGION (nomreg, nbh) Cours de Bases de données 11

Passage du MCD entité-association au modèle relationnel Règle 2 : Quand on trouve une cardinalité 1,1, on ajoute l'identifiant cible à la relation source (il devient une clé étrangère) L'entité COMMANDE (donc relation) possède deux associations avec des cardinalités 1,1. On modifie alors le schéma relationnel ci-dessus de la façon suivante en appliquant la règle 2 : COMMANDE (numcom, datcom, #numrep, #numcli) Cours de Bases de données 12

Passage du MCD entité-association au modèle relationnel Règle 3 : Une association de la forme x,n -------y,n devient une relation à part entière dont la clé est la concaténation des deux identifiants des entités concernées et dont les attributs sont les propriétés (si elles existent) de l'association. On obtient donc les relations supplémentaires suivantes : PROSPECTION (#numrep, #nomreg) LIGNE_COMMANDE (#numcom, #numart, qtecom) Cours de Bases de données 13

Passage du MCD entité-association au modèle relationnel En définitive on aboutit au modèle logique des données (dans le formalisme relationnel) : CLIENT (numcli, nomcli, adcli) COMMANDE (numcom, datcom, #numrep, #numcli) ARTICLE (numart, libelart, pu) REPRESENTANT (numrep, nomrep) REGION (nomreg, nbh) PROSPECTION (#numrep, #nomreg) LIGNE_COMMANDE (#numcom, #numart, qtecom) NB : le signe # permet de repérer les clés étrangères et ne fait pas partie du nom de l'attribut. Cours de Bases de données 14

Exercice Cours de Bases de données 15

L'algèbre relationnelle L'algèbre relationnelle est une théorie mathématique proche de la théorie des ensembles qui définit des opérations qui peuvent être effectuées sur des relations - des matrices contenant un ensemble de nuplets. L'algèbre relationnelle a été inventée en 1970 par Edgar Frank Codd, le directeur de recherche du centre IBM de San José. Cette algèbre est constituée d'un ensemble d'opérations formelles sur les relations. Les opérations relationnelles permettent de créer une nouvelle relation (table) à partir d'opérations élémentaires sur d'autres tables (par exemple l'union, l'intersection, ou encore la différence). Cours de Bases de données 16

L'algèbre relationnelle Les principes de l'algèbre relationnelle sont beaucoup utilisés de nos jours par les SGBD pour la gestion des bases de données informatiques comme le SQL, DBase, etc. Cependant, les bases de données relationnelles ne fonctionnent pas tout à fait selon les règles ensemblistes de l'algèbre relationnelle. En effet, toutes les contraintes sont gérées endehors de la théorie. Cours de Bases de données 17

L'algèbre relationnelle L'algèbre relationnelle est constituée d'opérateurs qui prennent en argument des relations : relations constantes (par exemple décrites en extension), relations variables : noms de relations dont le contenu peut varier mais dont l'arité est fixée. Pour plus de commodité, on sépare les opérateurs en deux catégories: opérateurs de base : union, différence, produit, projection, sélection, opérateurs additionnels qui s'expriment à partir des opérateurs de base : intersection, quotient, c-jointure, jointure naturelle, semi-jointure. Cours de Bases de données 18

Exemple : Sélection Exemple : considérons la relation : commande N commande Date Montant 28 29 30 52 Octobre Octobre Novembre Décembre 1986 2024 1610 512 «donnez les commandes passées, en mois de Novembre». N commande Date Montant 30 Novembre 1610 La condition peut contenir plusieurs critères. Cours de Bases de données 19

Exemple : Projection C est une opération unaire qui consiste à supprimer les colonnes d une relation. Exemple : considérons les relations : N Etudiant Nom Département Adresse Dpt 521 642 251 Najat Informatique Mathématique Informatique Casa Khoribga Settat 662 Informatique Settat La projection sur nom, département, donne : Nom Najat Département Informatique Mathématique Informatique La projection sur département, adresse, donne : Département Adresse Dpt Informatique Casa Mathématique Khoribga Informatique Settat Informatique Settat Cours de Bases de données 20

Exemple : Union L union est une opération binaire Cette opération n est possible que sur des relations ayant les même attributs. Elle permet de fusionner les deux relations en une seule. Exemple : Considérons les relations. Ouvrier N Employé nom Cadre N Employé nom 15 17 18 Najat 3 21 Jamal Sophia Donnez l ensemble des «EMPLOYES» Employé N Employé Nom Employé 3 21 15 17 18 Jamal Sophia Najat Cours de Bases de données 21

Exemple : intersection Exemple : Considérons les relations. Ingénieur N Employé Nom employé Chef de service N Employé Nom employé 10 12 13 15 Tarik Jamal 13 14 15 Leila «Donnez les numéros et noms des chefs de service qui sont ingénieurs». N Employé Nom Employé 13 15 Cours de Bases de données 22

Exemple : différence Exemple : soient les deux relations : Inscrits nom étudiant Unité valeur Reçus nom étudiant unité valeur Tarik Maths Jamal Maths Tarik Physique Chimie Jamal Chimie «Donnez le nom des étudiants qui sont toujours inscrits à une U.V» Tarik Jamal Maths Maths Chimie Nom Etudiants Tarik Jamal Unité Valeur Physique Chimie Cours de Bases de données 23

Exemple : division Cette opération binaire concerne une relation qui est «divisée» par une autre relation contenant exclusivement des attributs de la première relation. Il s agit de déterminer les occurrences de la première relation qui sont associées à toutes les occurrences de la seconde. Exemple : considérons les relations suivantes: Elève Professeur Elève Leila Leila Leila Fadoua Salim Fadoua Salim Fadoua Amine Amine Leila Donnez le nom des professeurs qui enseignent conjointement aux élèves figurent dans la deuxième relation». Professeur Fadoua Salim Cours de Bases de données 24

Exemple : produit Exemple : Soient les deux relations : LIVRE Titre X Y Auteur Couleur Rouge Blanc Edition Edition luxe Broché Vert Cartonné répondre à la question associant les titres, auteurs, couleurs et éditions? Titre Auteur Couleur Edition X Rouge Edition luxe X Blanc Broché X Vert Cartonné Y Rouge Edition luxe Y Blanc Broché Y Vert Cartonné Cours de Bases de données 25

Exemple : thêta produit Exemple : Soient les deux relations : Employé Nom E1 E2 E3 Salaire 20000 10000 6000 Chef Nom chef Salaire 25000 12000 «Donnez le nom des employés qui gagnent plus qu un chef de service» Nom Employé Salaire Employé Nom chef Salaire chef E1 20000 25000 E2 10000 25000 E3 6000 25000 E1 20000 12000 E2 10000 12000 E3 6000 12000 Nom Employé Salaire Employé Nom Chef Salaire Chef E1 20000 12000 Cours de Bases de données 26

Exemple : Jointure naturelle Exemple : Soient les deux relations : N Employé Nom Employé N Service N Service Nom Service 23 Tarik 17 17 Comptabilité 25 Leila 15 15 Informatique 37 Jalil 17 14 Achat 23 Tarik 14 28 Vente Pour répondre à la question : «Donnez le nom des employés et leur service», on utilise une jointure naturelle N Employé Nom Employé N Service Nom Service 23 Tarik 17 Comptabilité 25 Leila 15 Informatique 37 Jalil 17 Comptabilité 23 Tarik 14 Achat Cours de Bases de données 27

Exemple : semi-jointure Exemple : N Employé Nom N Bureau N Bureau BATIMENT 23 83 69 70 85 Tarik Leila Jalil Kamal Farida 47 18 03 40 47 40 42 47 62 A1 B3 B3 C1 Donnez l opération qui permet d avoir la relation suivante : N Employé Nom N Bureau 23 70 85 Tarik Kamal Farida 47 40 47 Cours de Bases de données 28

Schéma relationnel et Contraintes d Intégrité Soit le schéma suivant : Cours de Bases de données 29

Schéma relationnel et Contraintes d Intégrité Clef primaire : attribut ou ensemble d attributs permettant d identifier un tuple d une relation; Domaine primaire : domaine défini d un attribut de la clef; Clef étrangère : attribut défini sur un domaine primaire et qui n est pas clef primaire dans sa relation; Degré d une relation : nombre d attribut; Cardinalité d une relation : nombre de tuples; Relation dynamique : possède une clef étrangère; Relation statique : pas de clef étrangère, indépendante des autres. Cours de Bases de données 30

Schéma relationnel et Contraintes d Intégrité En fait, dans une BD relationnelle, des règles de cohérence doivent être constamment vérifiées pour garantir la validité des données. Ces règles de cohérence sont appelées Contrainte d Intégrité; On distingue deux catégories de CI : Dépendantes de l application Liée aux concepts du relationnel Cours de Bases de données 31

Schéma relationnel et Contraintes d Intégrité Les CI Liées aux concepts du relationnel CI de domaine : toute valeur d un attribut doit appartenir à son domaine de définition CI de relation : toute valeur de clef primaire doit exister et être unique (Remarque : une valeur inexistante dans la base de données est appelée valeur nulle (NULL) (valeur impossible ou valeur inconnue)) CI de référence : toute valeur de clef étrangère doit exister pour la clef primaire associée, i.e. Cours de Bases de données 32

Schéma relationnel et Contraintes d Intégrité Cours de Bases de données 33

Schéma relationnel et Contraintes d Intégrité CI applicatives ou dynamiques : toute contrainte de cohérence liée à l application Exemples : Pas de recouvrement de vols faits par le même pilote ou le même avion Durée d un vol tjrs > 30 minutes Salaire ne peut pas décroître. Cours de Bases de données 34