Bases de données - Modèle relationnel



Documents pareils
Information utiles. webpage : Google+ : digiusto/

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Bases de données relationnelles : Introduction

INTRODUCTION AUX BASES de DONNEES

Bases de données. Chapitre 1. Introduction

Introduction aux bases de données

Bases de données avancées Introduction

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

1 Introduction et installation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données et sites WEB Licence d informatique LI345

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

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

Bases de données cours 1

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

Bases de données Cours 1 : Généralités sur les bases de données

Bases de Données. Plan

Bases de données relationnelles

CESI Bases de données

Les bases de donné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

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

CHAPITRE 1. Introduction aux bases de données

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 Avancées

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

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

Cours Bases de données

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

A QUOI SERVENT LES BASES DE DONNÉES?

Présentation du module Base de données spatio-temporelles

Rappel sur les bases de données

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

Structure fonctionnelle d un SGBD

Le Langage SQL version Oracle

OpenPaaS Le réseau social d'entreprise

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Bases de données élémentaires Maude Manouvrier

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

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

Les bases de données Page 1 / 8

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

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

CHAPITRE 1 ARCHITECTURE

SQL Historique

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

Introduction aux Bases de Données

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

Le langage SQL Rappels

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

Bases de données et sites WEB

Bases de données Outils de gestion

Langage SQL : créer et interroger une base

IFT3030 Base de données. Chapitre 1 Introduction

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

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

PHP 4 PARTIE : BASE DE DONNEES

Base de Données et Langage SQL

Dossier I Découverte de Base d Open Office

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)

Bases de Données OLAP

Les BASES de DONNEES dans WampServer

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Évaluation et optimisation de requêtes

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

et les Systèmes Multidimensionnels

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de données documentaires et distribuées Cours NFE04

16H Cours / 18H TD / 20H TP

Mercredi 15 Janvier 2014

PROJET 1 : BASE DE DONNÉES REPARTIES

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

SQL MAP. Etude d un logiciel SQL Injection

Olivier Mondet

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

UML et les Bases de Données

Module BDR Master d Informatique (SAR)

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

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

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

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

I4 : Bases de Données

Merise. Introduction

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Chapitre 1 : Introduction aux bases de données

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

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Cours de bases de données. Philippe Rigaux

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Cours 1 : La compilation

Systèmes de Gestion de Bases de Données

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

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

Transcription:

Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1

Les bases de données - Bibliographie Ullman and Widom, A first course in database systems, Prentice-Hall International, 1997 R. Ramakrishnan, Database Management Systems, McGraw-Hill, 1998 Abraham Silberschatz Henry F. Korth S. Sudarshan, Database System Concepts, Fourth Edition, McGraw-Hill Greg Riccardi, Principles of Database Systems with Internet and Java Applications, Addison Wesley, 2001. LIVRES disponibles à la BU BD - Mírian Halfeld-Ferrari p. 2

Les bases de données - un aperçu Les sujets 1. Introduction au modèle relationnel 2. Langages de requêtes (algèbre relationnel et SQL) 3. Conception des bases de données (contraintes) 4. TPs Oracle Évaluation Devoirs sur table (3 dans le semestre) 1 projet en binôme ou trinôme Coefficient du projet légèrement inférieur BD - Mírian Halfeld-Ferrari p. 3

Les bases de données Grande quantité de données stockées (dans un ordinateur). Normalement ces données sont inter-reliées et la BD est une entité cohérente logiquement et véhiculant une certaine sémantique. BD - Mírian Halfeld-Ferrari p. 4

Les SGDB SGBD: Logiciel responsable pour la gestion de ces données. Ensemble de programmes qui permettent à des utilisateurs de créer et maintenir une base de données. SGBD commerciaux les plus connus sont Oracle, Sybase, Ingres, Informix et DB2 Capacités basics d un SGBD: Stockage d un grand volume de données pendant longtemps et avec sécurité. Accès efficace. Support d un modèle de données. Permettre à l utilisateur de créer des nouvelles bases de données ainsi que de spécifier leurs schémas (utilisation de DDL) Permettre à l utilisateur d interroger et de modifier les données de la base (utilisation de DML) Contrôler l accès aux données par plusieurs utilisateurs, en même temps. L action d un utilisateur ne doit pas affecter un autre. BD - Mírian Halfeld-Ferrari p. 5

Les SGDB - que souhaitons nous de plus? Assurer le respect des règles de cohérence définies sur les données; vérifier les contraintes d intégrité. Rendre transparent le partage des données entre différents utilisateurs. Gérer les autorisations d accès. Assurer la sécurité et la reprise après panne. Offrir des interfaces d accès multiples. BD - Mírian Halfeld-Ferrari p. 6

Modèle de données Abstraction mathématique selon laquelle l utilisateur voit les données Exemples: relationnel, réseaux, hiérarchique, etc Possède deux parties: Un langage qui permet la description des données. CREATE TABLE STUDENT ( Num Integer, FirstName Char(100), LastName Char(100), BirthYear Integer) Un langage avec un ensemble d opérations pour manipuler les données. SELECT LastName FROM STUDENT WHERE BirthYear =1980 ORDER BY LastName BD - Mírian Halfeld-Ferrari p. 7

Architecture logique d un SGBD La plupart des SGBD suivent l architecture standard Ansi/Sparc qui permet d isoler les différents niveaux d abstraction nécessaires pour un SGBD. Niveau interne ou physique: décrit le modèle de stockage des données et les fonctions d accès. Niveau conceptuel ou logique: décrit la structure de la base de données globalement à tous les utilisateurs. Le schéma conceptuel est produit par une analyse de l application à modéliser et par intégration des différentes vues utilisateurs. Ce schéma décrit la structure de la base indépendamment de son implantation. Niveau externe: correspond aux différentes vues des utilisateurs. Chaque schéma externe donne une vue sur le schéma conceptuel à une classe d utilisateurs. Le SGBD doit être capable de faire des transformations entre chaque niveau, de manière à transformer une requête exprimée en terme du niveau externe en requête du niveau conceptuel puis du niveau physique. BD - Mírian Halfeld-Ferrari p. 8

Architecture logique d un SGBD View 1 View 2 View 3 Conceptual Schema Internal Schema data base BD - Mírian Halfeld-Ferrari p. 9

Le modèle relationnel Les données sont organisées en relations Tables: relations Colonnes: attributs Lignes: n-uplets (ou tuples) STUDENT Num FirstName LastName BirthYear 2008120 Dumont Marie 1980 2008122 Dubois Paul 1980 2008125 Martin Jean 1981......... BD - Mírian Halfeld-Ferrari p. 10

Le modèle relationnel Schéma d une base de données relationnel Ensemble de noms de tables Ensemble d attributs pour chaque table STUDENT [Num, FirstName, LastName, BirthYear] INSCRIPTION[Num, CourseCode, Year] Instance d une bases de données Ensemble de valeurs dans une table (ensemble de n-uplets) { 2008120, Dumont, M arie, 1980, 2008122, Dubois, P aul, 1980 } BD - Mírian Halfeld-Ferrari p. 11

Exemple d une base relationnelle Film title director actor The Cameraman Buster Keaton Buster Keaton Rear Window Hitchcock James Stewart Rear Window Hitchcock Grace Kelly To Be or Not to Be Lubitsch Carole Lombard To Be or Not to Be Lubitsch Jack Benny Schedule theater title director le Champo Buster Keaton Buster Keaton le Champo Rear Window Hitchcock Action Christine To Be or Not to Be Lubitsch BD - Mírian Halfeld-Ferrari p. 12

Modèle relationnel - Définitions formelles Nous considérons trois ensembles (infinis et dénombrables) disjoints: att: attributs dom: domaine relname: noms de relations Un schéma de relation est un nom de relation (dans relname). Le sort d une relation est une fonction qui associe à chaque nom de relation un ensemble fini d attributs (un sous ensemble de att) STUDENT FILM INSCRIPTION sort(student) = {Num, FirstName, LastName, BirthY ear} Num FirstName LastName Title Director BirthYear CourseCode Year Actor BD - Mírian Halfeld-Ferrari p. 13

Exemple dom = {The Cameraman, Hitchcock,Grace Kelly, Lubitsch, 10, tata...} att = {title, director, actor,...} relname = {Film, Schedule,...} Le sort sort(f ilm) = {title, director, actor} sort(schedule) = {theater, title, director} BD - Mírian Halfeld-Ferrari p. 14

Schéma de bases de données Un ensemble fini non vide R de noms de relations R[R 1 [U 1 ],..., R n [U n ]] indique les schémas de relations de R. Schéma de la base de données Cinéma: Cinéma[F ilm[title, director, actor], Schedule[theater, title, director]] BD - Mírian Halfeld-Ferrari p. 15

Points de vue étiqueté et point de vue non étiqueté Nous pouvons nous placer dans différents contextes: 1. Nous connaissons les noms des attributs 2. Nous ne connaissons pas les noms des attributs, mais nous connaissons leur ordre BD - Mírian Halfeld-Ferrari p. 16

Points de vue étiqueté et point de vue non étiqueté Approche étiqueté title year length incolor studionname producerc# StarWars 1977 124 true Fox 12345 Mighty Ducks 1991 104 true Disney 67890 Wayne s World 1992 95 true Paramount 99999 Approche non étiqueté 1 2 3 4 5 6 StarWars 1977 124 true Fox 12345 Mighty Ducks 1991 104 true Disney 67890 Wayne s World 1992 95 true Paramount 99999 BD - Mírian Halfeld-Ferrari p. 17

N-uplet: Point de vue étiqueté Les noms des attributs sont considérés Un n-uplet est une fonction totale qui associe à chaque attribut une valeur dans le domaine dom. Exemple d un tuple u: u(title) = To Be or Not to Be u(director) =Lubitsch u(actor) = Carole Lombard Représentation d un n-uplet: title: To Be or Not to Be, director: Lubitsch, actor: Carole Lombard Film title director actor To Be or Not to Be Lubitsch Carole Lombard BD - Mírian Halfeld-Ferrari p. 18

N-uplet: Point de vue non étiqueté Seulement l arité est considérée Un tuple est un élément du produit cartésien de dom n (n 0) u(1) = To Be or Not to Be u(2) =Lubitsch u(3) = Carole Lombard Représentation d un n-uplet: To Be or Not to Be, Lubitsch, Carole Lombard Film 1 2 3 To Be or Not to Be Lubitsch Carole Lombard Il existe une correspondance naturelle entre les deux points de vues BD - Mírian Halfeld-Ferrari p. 19

Instance de relation Instance de relation d un schéma de relation R[U] : Ensemble fini de n-uplet I dont le sort est U. Ensemble fini de n-uplet I dont l arité est U. Instance de base de données dont le schéma est R: application I (dont le domaine est R) telle que I(R) est une relation sur R pour tout R R. I STUDENT INSCRIPTION I 2009120,Smith,Joe, 1990 2009120,Smith,Joe, 1990 2009120, CS201, 2009 2009120.CS202, 2009 2009122.CS202, 2009 BD - Mírian Halfeld-Ferrari p. 20

Exemple I(Film) = {f 1, f 2 } f 1 (title) =The Cameraman f 2 (title) = To Be or Not To Be f 1 (director) = Buster Keaton f 1 (actor) = Buster Keaton f 2 (director) = Lubitsch f 2 (actor) = Carole Lombard Film title director actor The Cameraman Buster Keaton Buster Keaton To Be or Not to Be Lubitsch Carole Lombard BD - Mírian Halfeld-Ferrari p. 21

Exemple I(F ilm) = { T hecameraman, BusterKeaton, BusterKeaton, To Be or Not To Be, Lubitsch, CaroleLombard } Film 1 2 3 The Cameraman Buster Keaton Buster Keaton To Be or Not to Be Lubitsch Carole Lombard BD - Mírian Halfeld-Ferrari p. 22

Étapes de la mise en place d une BD relationnelle 1. Faire la conception de la base: analyse de l application, liste de contraintes. 2. Implantation du schéma de la base avec les contraintes 3. Insertion des données dans la base 4. Consultation de la base via des langages de requêtes La cohérence de la base de données dépend de la qualité de sa conception!!! BD - Mírian Halfeld-Ferrari p. 23

Comment assurer la qualité d une base? Qualité des schémas BD Quelques critères (informels) de qualité d un schéma BD Sémantique simple des attributs et de chaque schéma de relation. Réduction des valeurs redondantes. Réduction des valeurs nuls dans les relations. Interdiction des n-uplets farfelus. Problème important de la redondance : Gaspillage de place et anomalies des mise à jour. BD - Mírian Halfeld-Ferrari p. 24

Exemple videoid dateacquired title genre length rating 101 1/25/98 The Third-Nine Steps mystery 120 R 90987 2/5/97 Elisabeth drama 105 PG13 145 12/31/95 Lady and the Tramp comics 93 PG 8034 4/5/98 Lady and the Tramp comics 93 PG 90988 4/5/98 Elisabeth drama 105 PG13 90989 3/25/86 Elisabeth drama 105 PG13 543 5/12/95 The Third-Nine Steps mystery 120 R 123 4/29/91 Annie Hall comedy 120 R BD - Mírian Halfeld-Ferrari p. 25

Exemple Redondance : À chaque fois qu un film (titre) apparaît, les valeurs pour le genre, length et rating apparaissent aussi. Mélange de la sémantique des attributs : attributs concernant la vidéo avec des attributs d un film. Anomalie de mise à jour Que se passe t-il si la longueur (length) du film 90987 est mise à jour et passe de 105 à 107? Incohérence ou besoin de modification de plusieurs n-uplet! Anomalie d insertion Que se passe t-il si avec l insertion du n-uplet : 102, 1/1/99, Elisabeth, drama, 110, P G13 Incohérence ou interdiction d insertion! Anomalie de suppression Que se passe t-il si avec la suppression du vidéo numéro 123? Perte des informations sur le film Annie Hall BD - Mírian Halfeld-Ferrari p. 26

Contraintes d intégrité Un schéma de base de données n impose pas certaines contraintes qu existent dans le monde réel Exemple1: Movie[title, year, director, actor] Nous savons que chaque film est associé à un seul directeur. Cette information n est pas visible à partir du schéma. Exemple2: STUDENT[Num, LastName, FirstName, BirthYear] INSCRIPTION[Num, CourseCode, Year] Nous voulons que l inscription d un étudiant dans un cours soit possible seulement si cet étudiant est enregistré comme un étudiant dans la base. BD - Mírian Halfeld-Ferrari p. 27

Contraintes d intégrité Différents types de contraintes: comment les exprimer? Les plus courantes (et utiles) Dépendances fonctionnelle title, year director Dépendances d inclusion INSCRIPTION(Num) STUDENT (Num) Les SGDB ne nous donnent pas les moyens d implémenter DIRECTEMENT les dépendances fonctionnelles et d inclusion. Mais ils nous permettent d implémenter des clés et des clés étrangères. Exemple1: Pour que notre DF corresponde à la définition d une clé dans notre exemple IL FAUT DÉCOMPOSER notre grande table! BD - Mírian Halfeld-Ferrari p. 28

Conclusion Les bases de données permettent la réalisation de diverses applications, néanmoins, elles doivent rester cohérentes au fur et à mesure que ces données sont mises à jour. La cohérence d une base dépend de la qualité de son schéma et de la mise en place des contraintes. La vérification des contraintes dans une base de données est efficace si elle profite des mécanismes (déclaratifs) que les SGBD laissent à notre disposition. BD - Mírian Halfeld-Ferrari p. 29