Introduction aux bases de données

Documents pareils
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

16H Cours / 18H TD / 20H TP

Bases de Données. Plan

Les bases de données

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

Le langage SQL Rappels

Bases de données élémentaires Maude Manouvrier

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Modélisation des données

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

Rappel sur les bases de données

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

Concevoir un modèle de données Gestion des clients et des visites

Méthode d analyse Merise

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

1 Introduction et installation

Introduction aux Bases de Données

Conception d une base de données

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Modèle conceptuel : diagramme entité-association

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

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Dossier I Découverte de Base d Open Office

Bases de données avancées Introduction

Bases de données cours 1

Comprendre Merise et la modélisation des données

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

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

Bases de Données Avancées

UML et les Bases de Données

GUIDE PRATIQUE MODÈLE CONCEPTUEL DES DONNÉES MODÈLE LOGIQUE DES DONNÉES STANDARD MODÈLE LOGIQUE DES DONNÉES OPTIMISÉ

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

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

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

LE MODELE CONCEPTUEL DE DONNEES

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

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

Bases de données relationnelles

Vincent Augusto

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

Base de Données et Langage SQL

Information utiles. webpage : Google+ : digiusto/

CHAPITRE 1. Introduction aux bases de données

OpenOffice Base Gestionnaire de Base de Données

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Bases de données. Chapitre 1. Introduction

Séance 1 Introduction aux bases de données

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

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

Reporting et Décisions 100

Introduction aux Bases de Données

Mercredi 15 Janvier 2014

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

Bases de données Outils de gestion

Cours de bases de données. Philippe Rigaux

TP Bases de données réparties

SQL MAP. Etude d un logiciel SQL Injection

Bases de données relationnelles & SQL

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

COURS de BASES de DONNEES

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

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

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

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

I4 : Bases de Données

Bases de données relationnelles : Introduction

A QUOI SERVENT LES BASES DE DONNÉES?

Gestion des bases de données

Langage SQL : créer et interroger une base

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

CESI Bases de données

Bases de données - Modèle relationnel

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

Tickets 3:3. ChevauxPartants

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Gestion des bases de données (2 e partie)

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

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

OMGL6 Dossier de Spécifications

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Gestion des bases de données (1 ère partie)

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

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

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

A. Définition et formalisme

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

Java DataBaseConnectivity

INTRODUCTION AU DATA MINING

Nom de l application

Les bases de données Page 1 / 8

TP Contraintes - Triggers

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

Introduction aux Bases de Données Relationnelles Conclusion - 1

PROJET 1 : BASE DE DONNÉES REPARTIES

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

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

Transcription:

UNIVERSITÉ DE TECHNOLOGIE DE BELFORT-MONTBÉLIARD Introduction aux bases de données Frédéric Lassabe September 17, 2010 Université de Technologie de Belfort-Montbéliard www.utbm.fr

Sommaire 1 Du modèle conceptuel de données (MCD)... 2 Les SGBD relationnels (SGBDR) Conversion MCD vers MLD 3 Algèbre relationnelle 2/40 www.utbm.fr

Introduction Base de données : Ensemble de données qui modélisent une partie du monde réel pour une application informatique. Système de Gestion de Base de Données (SGBD) : Présente les informations dans une forme exploitable Interface entre les utilisateurs et l information brute Outil qui permet d insérer, modifier, retirer et rechercher des données, le tout de façon efficace. Donne l illusion à chaque utilisateur d être le seul à utiliser les informations. 3/40 www.utbm.fr

Introduction - suite Gain de place : Structure relationnelle Éviter les répétitions Vitesse : Indexation des données Moteur du SGBD optimisé pour la manipulation des données SGBD connus : Microsoft Access et SQL Server Oracle, MySQL (GNU Public License) PostgreSQL (licence BSD), SQLite (domaine public) 4/40 www.utbm.fr

1 Du modèle conceptuel de données (MCD)... 2 3 5/40 www.utbm.fr

Définition Tout projet commence par le travail d analyse. Établir un dictionnaire des données : Quelle donnée? Quel type? (élémentaire, composé, calculé) Quelle nature? (alphabétique, numérique, alphanum.) Longueur? Caractéristiques spéciales? (identifiant, etc.) Le résultat est le modèle conceptuel de données (MCD) MCD décrit la future base de données : Entités Associations 6/40 www.utbm.fr

Modèle entité-association Modèle défini dans le cadre de la méthode d analyse MERISE. Concepts : Entité et occurrence d entité Association et occurrence d association Propriété et valeur 7/40 www.utbm.fr

Vocabulaire (1) Entité Représentation d un objet matériel ou immatériel Exemple : vin, étudiant, voiture, etc. Propriété Donnée élémentaire et indécomposable Définit une entité Exemple : âge, note, nom, adresse 1, etc. Propriété calculée : résulte d un calcul à partir d une ou plusieurs autres propriétés. Ne devrait pas apparaître dans le modèle. Donnée non stable : doit figurer dans le modèle. Exemple : montant sur une facture. 1 Pourrait être une entité décomposée en code postal, ville, etc. 8/40 www.utbm.fr

Vocabulaire (2) Association Représentation d un lien entre entités Des propriétés peuvent être attachées à des associations Dimension Nombre d entités intervenant dans l association Association réflexive : 1 entité Association binaire : 2 entités Association n-aire : n entités, n > 2 Cardinalité Caractérise le lien entre une association et une entité Borne inférieure Borne supérieure Nombre de fois qu une entité participe aux occurrences d une relation. 9/40 www.utbm.fr

Vocabulaire (3) Identifiant Une ou plusieurs propriétés d une entité telle qu à chaque valeur de l identifiant corresponde une seule occurrence de l entité. l identifiant d une association est au moins constitué de l union des identifiants des entités participantes. l identifiant est stable dans le temps. l identifiant est souvent numérique : plus court (entier long sur système 32 bits : 4 octets) opérations sur les entiers très rapides sur CPU. 10/40 www.utbm.fr

Importante distinction Ne pas confondre : Entité Définition de la structure d un type de données. Exemple : entité étudiant, définie par les propriétés : nom prénom date de naissance... Occurrence de l entité étudiant (instance) Un élément concret de ce type Exemple : Charles Dupont, né le 06/06/1944 les propriétés prennent des valeurs. 11/40 www.utbm.fr

Exemple de MCD a pour chef encadre 0,1 projet Employe num_employe nom prenom... 0,n 0,n est chef de coordonne 1,1 num_projet theme titre date_debut date_fin 1,n 0,n participe date_debut date_fin 1,n Tache nom_tache cout 1,1 constitue_de 12/40 www.utbm.fr

Les SGBD relationnels (SGBDR) Conversion MCD vers MLD 1 Du modèle conceptuel de données (MCD)... 2 Les SGBD relationnels (SGBDR) Conversion MCD vers MLD 3 13/40 www.utbm.fr

Introduction Les SGBD relationnels (SGBDR) Conversion MCD vers MLD SGBD relationnels organisent les données en tables sont basés sur la théorie des ensembles (algèbre relationnelle) Concepts clés : Domaine Attribut Relation 14/40 www.utbm.fr

Attribut et domaine Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Attribut Donnée élémentaire du système d information Domaine de définition Domaine Ensemble des valeurs admissibles pour un attribut Souvent limité à la définition d un type de données (entier, etc.) 15/40 www.utbm.fr

Produit cartésien Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Le produit cartésien des domaines D 1, D 2,..., D N est l ensemble des n-uplets (v 1, v 2,..., v N )/v i D i Exemple : D 1 = {R, G, B} D 2 = {V, F } Le produit cartésien est : D 1 D 2 R V R F G V G F B V B F 16/40 www.utbm.fr

Relation et schéma de relation Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Définition : sous-ensemble du produit cartésien d une liste de domaines Colonnes sont les attributs (domaines). Lignes sont les occurrences. Exemple : relation étudiant Nom Prénom Numéro étudiant Dupont Robert 26748974 Dubois Roger 57948749 Onyme Anne 98751381 Table: Exemple de la relation Étudiant. 17/40 www.utbm.fr

Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Correspondance SGBDR et modèle relationnel SGBDR Modèle relationnel TABLE RELATION COLONNE ou CHAMP ATTRIBUT LIGNE TUPLE ou OCCURRENCE TYPE DOMAINE INDEX PRIMAIRE CLE PRIMAIRE Table: Correspondance vocabulaire des SGBDR et du modèle relationnel. NB. : les SGBDR emploient des termes variables. 18/40 www.utbm.fr

Clé Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Groupe d attributs minimum qui détermine un tuple unique dans une relation Exemples : {CRU,MILLESIME} dans VINS NSS 2 dans une table Personne Contrainte de clé Toute relation doit posséder au moins une clé documentée (les attributs ne faisant pas partie de la clé peuvent, éventuellement, ne pas contenir d information) Clés étrangères Groupe d attributs formant la clé d une autre relation 2 Numéro de sécurité sociale 19/40 www.utbm.fr

Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Contraintes d intégrité structurelles Intégrité de domaine Vérifier qu une occurrence appartient au domaine Intégrité de relation Identification de la clé Intégrité de référence Découle d un lien entre schémas de relation Représentation graphique Exemple : Produits Ref. produit Nom du produit Num. fournisseur Code categorie Qte par unite Prix unitaire... appartenir Categories Code categorie Nom de categorie Description Illustration 20/40 www.utbm.fr

Passage d un MCD au MLD Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Entités Chaque entité devient une table Chaque propriété devient une colonne de la table L identifiant d une entité devient la clé primaire de la table. Associations Dépend des cardinalités Soit une table Soit un champ d une table entité 21/40 www.utbm.fr

Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Association binaire 1,1 - (0 ou 1),n Clé primaire de l entité côté (0 ou 1),n devient clé externe de l entité côté 1,1 de la relation. Entite 1 Entite 2 E1 identifiant E1 ppte 1 E1 ppte 2... 1,1 Association 1,n E2 identifiant E2 ppte 1 E2 ppte2... TABLE1 E1_ID E2_ID E1_PPTE1... TABLE2 E2_ID E2_PPTE1... 22/40 www.utbm.fr

Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Association binaire (0 ou 1),n - (0 ou 1),n non porteuse de données Création d une table dynamique Même nom que l association Deux clés étrangères (les clés primaires des entités impliquées dans l association. Concaténation des deux clés : clé primaire de la table de l association. Entite 1 Entite 2 E1 identifiant E1 ppte 1 E1 ppte 2... 1,n Association 1,n E2 identifiant E2 ppte 1 E2 ppte2... TABLE1 E1_ID E2_ID E1_PPTE1... TABLE3 E1_ID E2_ID TABLE2 E2_ID E2_PPTE1... 23/40 www.utbm.fr

Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Association binaire (0 ou 1),n - (0 ou 1),n porteuse de données Idem que précédemment, mais on intègre la donnée à la nouvelle table. Entite 1 Entite 2 E1 identifiant E1 ppte 1 E1 ppte 2... 1,n Association A1 ppte 1 1,n E2 identifiant E2 ppte 1 E2 ppte2... TABLE1 E1_ID E2_ID E1_PPTE1... TABLE3 E1_ID E2_ID A1_PPTE1 TABLE2 E2_ID E2_PPTE1... 24/40 www.utbm.fr

Association binaire 0,1-1,n Les SGBD relationnels (SGBDR) Conversion MCD vers MLD Deux solutions potentielles : Considérer la cardinalité 0,1 comme une 1,1. Clé primaire de la table côté 1,n importée en clé étrangère dans la table côté 0,1. Différence : cette clé est facultative. Considérer la cardinalité 0,1 comme une 0,n Création d une table dynamique Clé primaire de l association devient la clé primaire de la table côté cardinalité 0,1 uniquement! 25/40 www.utbm.fr

Algèbre relationnelle 1 Du modèle conceptuel de données (MCD)... 2 3 Algèbre relationnelle 26/40 www.utbm.fr

Algèbre relationnelle Comment interroger le contenu de la base? Rôles du SGBDR Stocker l information Métadonnées : domaines, etc. Proposer des interfaces pour accéder aux données Algèbre relationnelle Ensemble d opérations formelles Permet d exprimer formellement toute requête Fondements théoriques du langage SQL 27/40 www.utbm.fr

Opérations ensemblistes Algèbre relationnelle Pour des relations de même schéma UNION notée INTERSECTION notée DIFFÉRENCE notée ou 28/40 www.utbm.fr

Projection Algèbre relationnelle Élimination des attributs non désirés et suppression des t-uples en double. Notée π A1,A 2,...,A n (R) π nom,prenom : Nom Prénom UV Onyme Anne OI40 Onyme Anne OM57 Lovelace Ada LO52 Lovelace Ada LO53 Onyme Lovelace Anne Ada 29/40 www.utbm.fr

Restriction Algèbre relationnelle Sélection des t-uples de R satifaisant un critère Q Notée σ Q (R) Q est le critère de qualification de la forme : A i Σ Valeur avec A i {=, <, >,, } Il est possible de réaliser des ou (union) et des et (intersection) de critères simples 30/40 www.utbm.fr

Restriction : exemple Algèbre relationnelle Nom Prénom UV Onyme Anne OI40 Onyme Anne OM57 Lovelace Ada LO52 Lovelace Ada LO53 σ nom=onyme Onyme Anne OI40 Onyme Anne OM57 31/40 www.utbm.fr

Produit cartésien Algèbre relationnelle Soient R 1 et R 2 deux relations. Le produit cartésien R 3 = R 1 R 2 est une relation qui a pour ensemble d attributs l union de ceux de R 1 et de ceux de R 2 et pour t-uples toutes les combinaisons possibles des lignes de R 1 et de R 2. 32/40 www.utbm.fr

Exemple de produit cartésien Algèbre relationnelle R = R S = A B C 1 2 3 4 5 6 7 8 9 S = D E 3 1 6 2 A B C D E 1 2 3 3 1 4 5 6 3 1 7 8 9 3 1 1 2 3 6 2 4 5 6 6 2 7 8 9 6 2 33/40 www.utbm.fr

Jointure Algèbre relationnelle Soient R(A 1, A 2,..., A n ) et S(B 1, B 2,..., B m ) deux relations et Q un critère impliquant les deux attributs A i et B j La jointure de R et de S suivant le critère Q est l ensemble des éléments du produit cartésien R S satisfaisant le critère Q Notée : R Q S 34/40 www.utbm.fr

Exemple de jointure Algèbre relationnelle R = A B C 1 2 3 4 5 6 7 8 9 R B<D S = S = D E 3 1 6 2 A B C D E 1 2 3 3 1 1 2 3 6 2 4 5 6 6 2 35/40 www.utbm.fr

Jointures particulières Algèbre relationnelle Équi-jointure Basée sur l égalité des attributs La jointure des relations R et S par rapport aux colonnes C et D se note R C,D S Jointure naturelle Équi-jointure où le critère est l égalité entre colonnes de même nom, suivie de la projection qui ne conserve qu une colonne par nom. 36/40 www.utbm.fr

Exemple d équi-jointure Algèbre relationnelle R = R C,D S = A B C 1 2 3 4 5 6 7 8 9 S = D E 3 1 6 2 A B C D E 1 2 3 3 1 4 5 6 6 2 37/40 www.utbm.fr

Exemple de jointure naturelle Algèbre relationnelle R = A B C 1 2 3 4 5 6 7 8 9 R S = S = C E 3 1 6 2 A B C E 1 2 3 1 4 5 6 2 38/40 www.utbm.fr

Algèbre relationnelle 39/40 www.utbm.fr

Algèbre relationnelle 40/40 www.utbm.fr

Algèbre relationnelle 41/40 www.utbm.fr

Algèbre relationnelle 42/40 www.utbm.fr