La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Licence IRX Bernard Caron

Présentations similaires


Présentation au sujet: "Licence IRX Bernard Caron"— Transcription de la présentation:

1 Licence IRX Bernard Caron 2008-2009
Bases de données Licence IRX Bernard Caron B. Caron

2 Présentation 9 heures de cours 12 heures de TD et TP
1 contrôle de TP de 1h30 1 contrôle Pré-requis : aucun Contact : 2 B. Caron

3 déroulement 1 : intro 2 : Dépendances fonctionnelles + TD
3 : Entités Association +TD 4 : Modélisation logique + TD 5 : Langage de manipulation + TD 6 : TP SQL 7 : TP SQL 8 : Exam TP 3 B. Caron

4 Plan du cours Introduction Modélisation conceptuelle
Modélisation Logique Description des relations en SQL Pour aller plus loin 4 B. Caron

5 Bibliographie Pierre Crescenzo Georges Gardarin Sébastien Choplin
Georges Gardarin Sébastien Choplin MySQL 5 B. Caron

6 Introduction Exemple Limites des fichiers BD SGBD Propriétés
Les types d’utilisateurs Architecture Les différents types de SGBD Historique 6 B. Caron

7 Introduction – exemples
gestion d'entreprise (stocks, personnels, clients…) banques (comptes, emprunts…) systèmes de réservation (avions, trains, spectacles…) bibliothèques, vidéothèques, médiathèques… bureautique (agendas, répertoires, photos, courriers…) géographie (cartes routières, cartes maritimes…) informatique (programmes, documentations…) 7 B. Caron

8 Introduction – exemples
Agence de presse gère ses reportages et les photos associées aux reportages ainsi que les auteurs des photos et des reportages Un reportage est composé de plusieurs images, d’un auteur et d’un texte ainsi que d’une date de parution. Une image qui peut appartenir à plusieurs reportages est composée de l’image elle-même, de son auteur et d’une date. Les auteurs des images et des reportages sont définis par leur nom et prénom. Plusieurs postes informatiques doivent avoir accès à ces informations, sous différents OS pour des usages différents 8 B. Caron

9 Introduction – Limites des fichiers
Application sur chaque poste Fichiers à partager entre les postes auteurs Images Reportages Exécutable 1 Exécutable 2 Exécutable 3 9 B. Caron

10 Introduction – Limites des fichiers
Problèmes à résoudre Données Modifications concurrentes Peu fiables et redondantes Maintenance logicielle et matérielle Evolution Format propriétaire des fichiers Format propriétaire de l’accès Complexité de l’application Changement de l’application 10 B. Caron

11 Introduction – BD SGBD Base de données SGBD Filtres d’accès Logiciel 1
Base de donnée et Système de Gestion de Base de Données Base de données SGBD Filtres d’accès Logiciel 1 Logiciel 2 Logiciel 3 11 B. Caron

12 Base de données : ensemble d’informations :
Introduction – BD SGBD Base de données : ensemble d’informations : exhaustives, non redondantes, structurées, persistantes 12 B. Caron

13 les données d'une base de données.
Introduction – BD SGBD SGBD, un logiciel : décrire modifier interroger administrer les données d'une base de données. Son langage d’interrogation est normalisé 13 B. Caron

14 Introduction – BD SGBD Problèmes résolus Données
Modifications concurrentes : SGBD s’en charge Peu fiables et redondantes : SGBD s’en charge Maintenance : matériel et logiciel SGBD peuvent être changés de manière transparente Evolution Format propriétaire des fichiers : SGBD s’en charge Format propriétaire de l’accès : SGBD s’en charge Complexité de l’application : normalisation de l’accès Changement des applications : possible sans changer la bdd Indépendance traitement et données 14 B. Caron

15 Introduction – BD SGBD Avantages BDD Avantages SGBD
Information n'est stockée qu'une seule fois Une seule source d’information pour toutes les applications Contrôle de l’accès par des vues différentes Avantages SGBD Centralisation des données = intégrité des données Contrôle centralisé de l'accès aux données = Sécurité Traitements puissants = rapidité de développement Traitements non prévus par les applications Indépendance vis-à-vis de la structure physique et logique des données = maintenance facilitée 15 B. Caron

16 Introduction – Propriétés
La BD doit correspondre à la réalité qu'elle modélise : description des données Pas de redondance d'information dans la BD, physiquement à un seul endroit. Le SGBD doit être indépendant du stockage physique LE SGBD doit posséder des fonctions de consultation et de mise à jour. Le SGBD doit pouvoir gérer plusieurs accès simultanés Accès rapides (améliorations possibles indépendantes de l’application) Toutes les données ne sont pas accessibles à tous les utilisateurs Tolérance aux problèmes matériels, logiciels ou humains. 16 B. Caron

17 Introduction – Types d’utilisateurs
Utilisateurs inconscients Utilisateurs conscients Utilisateurs confirmés requêtes Concepteurs Développeurs d’application Administrateurs de BD Développeurs de SGBD 17 B. Caron

18 Introduction : différents niveaux
Niveau externe : Environnement de Programmation, Interface conviviales : outils d’aides, de saisie et d’impression Niveau logique: Structure des données, consultation et mise à jour. Confidentialité et intégrité des données Niveau physique : Mémoire, fichiers, concurrence d’accès, reprises sur pannes, fiabilité 18 B. Caron

19 Introduction - Architecture
Architecture clients/serveur pour les données (2 tiers) Base de données SGBD Filtres d’accès Logiciel 1 Logiciel 2 Logiciel 3 19 B. Caron

20 Introduction - Architecture
Architecture clients/serveur données et Application (3 tiers) Base de données Serveur d’applications Application 1 Application 2 SGBD Application 3 Navigateur WEB Navigateur WEB Navigateur WEB 20 B. Caron

21 Introduction - Différents types de SGBD
SGBD hiérarchique Données sous forme d’arbre Utilisation de pointeurs Reportages Reportages_1 Texte_1 Photos Auteur Texte Photo Auteur Image Date Auteur Image Date Auteur Image Date 21 B. Caron

22 Introduction - Différents types de SGBD
SGBD Réseau Données sous forme de graphe quelconque Utilisation de pointeurs Evite la dissymétrie Reportages_1 Texte_1 Photos Auteur Image Date Rep Auteur Image Date Rep 22 B. Caron

23 Introduction - Différents types de SGBD
SGBD Hiérarchique Dissymétrie (hiérarchique) Application liée à l’implantation physique (pointeurs) Pas de partage des données SGBD Réseau Langage de manipulation complexe 23 B. Caron

24 Introduction - Différents types de SGBD
SGBD relationnel Tables (lignes colonnes) Plus de pointeurs Langage non procédural de manipulation Reportage ( auteur, texte, photos) Photo (auteur,laphoto,date) Reportage, Photo sont des relations 24 B. Caron

25 Introduction - Historique
1961 Premiers systèmes IDS (Integrated Data Storage) modèle réseau 1965 Fichiers et modèle hiérarchique IMS (Information Management System). IMS devient IMS DB/DC (DataBase/DataCom) modèle réseau. 1970 Modèle relationnel 1974 Méthode Merise Entité/Relation 1975 SGBD relationnels expérimentaux : INGRES SGBD fichiers sur micro : dbase 1980 SGBD relationnels commerciaux : Oracle, DB2, MySQL, Postgres 1990 SGBD orientés objet expérimentaux 25 B. Caron

26 Introduction - Modélisation
Nécessité d’utiliser des méthodes de conception de bases de données Systématiques Permettent la réutilisation Méthodes les plus possible indépendantes du SGBD Méthodes permettant de décrire le monde réel 26 B. Caron

27 Modélisation conceptuelle - les étapes
Etapes de modélisation Monde réel Etape 1 de modélisation conceptuelle UML Dépendances fonctionnelles puis Entité/Association Ne dépend pas du SGBD Modèle conceptuel Vue 1 Etape 2 de modélisation logique Relationnel Objet Dépend su SGBD Modèle logique Vue 2 Implantation 27 B. Caron

28 Chap 1 : Modélisation conceptuelle
Etapes de la modélisation Dictionnaire des données Dépendances fonctionnelles Modèle Entité/Association Passage DF vers EA 28 B. Caron

29 Modélisation conceptuelle – les étapes
Dictionnaire des données Dépendances fonctionnelles Modèle Entité/Associations 29 B. Caron

30 Mod. conceptuelle – dic. des données
Information quelconque Suppression des synonymes Vérifier que 2 données différentes ont un nom différent Enlever les données inutiles Enlever les paramètres Enlever les données calculables Donner le domaine des données restantes On peut conserver des données calculables pour des raisons de temps de calcul, mais à faire lors de l’optimisation, à la fin. 30 B. Caron

31 Mod. conceptuelle – dic. des données
synonyme inutile paramètre calculable Date naissance Age * Nbre enfants Nbre Filles Nbre garçons Nombre total d’enfants Couleur des cheveux Part fiscale enfant Part fiscale adulte 31 B. Caron

32 Mod. conceptuelle – dic. des données
domaine Date naissance 2N-2N-4N Nbre Filles 2N Nbre garçons 32 B. Caron

33 Mod. Conceptuelle – Dep. fonctionnelles
Dépendance fonctionnelle : Lien d’une donnée source vers une donnée cible. Tel que à une source correspond une seule cible Représentation graphique : Source Cible N° étudiant Nom étudiant Nom de famille Livre emprunté Livre emprunté N° étudiant 33 B. Caron

34 Mod. Conceptuelle – Dep. fonctionnelles
Représentation sous forme de matrice : Sources -> V Cibles V Nom étudiant N° étudiant Age * 1 N° étudiant 34 B. Caron

35 Mod. Conceptuelle – Dep. fonctionnelles
Règles 1 : Une ligne qui n’est pas une source ne doit avoir qu’un 1 (1 seul antécédent) Graphiquement : N° étudiant N° étudiant N° INSEE N° INSEE Nom étudiant Nom étudiant 35 B. Caron

36 Mod. Conceptuelle – Dep. fonctionnelles
Règles 2 : Recherche des données isolées (pas de 1 dans une ligne de la matrice) Combiner 2 sources Graphiquement : Cours N° étudiant Note 36 B. Caron

37 Mod. Conceptuelle – Dep. fonctionnelles
Règles 3 : Suppression des dépendances implicites Graphiquement : N° étudiant N° INSEE Nom étudiant 37 B. Caron

38 Mod. Conceptuelle – Dep. fonctionnelles
Règles 4 : Recherche des dépendances entre sources (avec ou sans données associées) Ajouter une donnée Graphiquement : Date Appartenance Etudiant Groupe Nom étudiant Nom Groupe 38 B. Caron

39 Mod. Conceptuelle – Dep. fonctionnelles
Résumé de la démarche graphique: Mettre un lien entre les sources et les cibles Bien vérifier qu’à une source correspond une seule cible Recherche des données isolées : 2 sources sont nécessaires Recherche des dépendances entre 2 sources Suppression des dépendances implicites Souligner les sources 39 B. Caron

40 Mod. Conceptuelle – Dep. fonctionnelles
Exemple Une agence de presse gère ses reportages et les photos associées aux reportages ainsi que les auteurs des photos et des reportages Un reportage est composé de plusieurs images, d’un auteur et d’un texte ainsi que d’une date de parution. Une image qui peut appartenir à plusieurs reportages est composée de l’image elle-même, de son auteur et d’une date. Les auteurs des images et des reportages sont définis par leur nom et prénom. Num_rep 10N Num_image 12N Num_auteur 5N Texte 10000C Date_rep 2N+2N+4N Date_image 2N+2N+4N Image C Nom 20C Prénom 20C 40 B. Caron

41 Mod. Conceptuelle – Dep. fonctionnelles
Num_rep Num_image Num_auteur Nom Prénom Image Date_image Date_Rep Appartenance 41 B. Caron

42 Mod. Conceptuelle – Entité Association
Objets ou individus du monde réel Plusieurs occurrences de l’objet Nom du type de l’objet Un ou des identifiants (soulignés) Des propriétés Etudiant numero_e nom prénom Les propriétés viennent du dictionnaire Les identifiants permettent de distinguer de manière unique les occurrences de l’objet = clé 42 B. Caron

43 Mod. Conceptuelle – Entité Association
Regroupement entre 2 ou plusieurs entités On lui donne un nom Etudiant Livre numero_e nom prénom numero_l auteur titre emprunter 43 B. Caron

44 Mod. Conceptuelle – Entité Association
On indique la cardinalité On peut ajouter des attributs Etudiant (est emprunté par) Livre (Emprunte) numero_e nom prénom numero_l auteur titre emprunter Emprunter date 0..1 0..n 44 B. Caron

45 Mod. Conceptuelle – Entité Association
L’association de plusieurs entités est possible Livre numero_l auteur titre (est emprunté par) 0..1 Etudiant (Emprunte) numero_e nom prénom emprunter Biliothèque 0..n numero_b lieu 0..n (accueille des emprunteurs) 45 B. Caron

46 Mod. Conceptuelle – DF vers EA
Num_rep 0..n 1..1 Reportage Auteur Rédiger Num_rep Date_rep Num_auteur Prénom Nom Num_auteur Date_Rep 0..n Prénom Nom Num_image 0..n Ajout Créer 1..1 Ajout Date_image Image Image Num_image Date_image Image 0..n Une source élémentaire -> identité + clé Une source vers plusieurs cibles elles-mêmes sources -> identité plus clé des cibles Cible terminale -> attribut DF entre identifiants -> Association 46 B. Caron

47 Mod. Conceptuelle – DF vers EA
Autres cas N° cours N° étudiant 1..n 1..n Etudiant N° Cours Note Noter Note N° étudiant Date_rep Num_auteur Prénom Nom 47 B. Caron

48 Chap 2 : Modélisation logique
Modèle relationnel Passage E-A -> modèle relationnel Normalisation 48 B. Caron

49 Modélisation logique - Modèle
Modèle relationnel Mod. Conceptuelle : Entités-Associations Bdd relationnelles Normalisé : SQL Modèle objet Mod. Conceptuelle : UML Bdd objet 49 B. Caron

50 Modélisation logique - Modèle
Produit cartésien D1 X D2 X D3 D1 D2 D3 : ensembles les tuples <V1,V2,V3> tels que : V1  D1 , V2  D2 , V3  D3 Exemple : D1={Eléphant,Souris} D2={Grand, Petit} D3 = {Mammifère, Oiseau} <Eléphant, Grand, Mammifère> <Souris, Petit, Mammifère> Graphiquement : Elephant Souris Grand Petit Mammifère Oiseau 50 B. Caron

51 Modélisation logique - Modèle
Relation : table à 2 dimensions Attribut Collection Animal Taille Genre Eléphant Grand Mammifère Souris Petit Nom de la relation 51 B. Caron

52 Modélisation logique - Modèle
Clé : Un ou plusieurs attributs permettant de distinguer chaque tuple (la connaissance de la clé permet d’identifier un tuple unique) Toute relation doit posséder une clé Dans l’exemple, clé : Animal 52 B. Caron

53 Modélisation logique - Modèle
Clé candidate : Une clé candidate d'une relation est un ensemble minimal des attributs de la relation dont les valeurs identifient à coup sûr une occurrence. La valeur d'une clé candidate est donc distincte pour toutes les occurrences. La notion de clé candidate est essentielle dans le modèle relationnel. Toute relation a au moins une clé candidate et peut en avoir plusieurs. 53 B. Caron

54 Modélisation logique - Modèle
Clé primaire : La notion de clé primaire est moins importante que celle de clé candidate dans le modèle relationnel. La clé primaire peut être choisie arbitrairement mais le contexte aide souvent à déterminer laquelle des clés candidates doit être considérée comme clé primaire. Pour signaler la clé primaire, ses attributs sont soulignés. 54 B. Caron

55 Modélisation logique - Modèle
Clé étrangère Une clé étrangère d'une relation est formée d'un ou plusieurs de ses attributs qui constituent une clé candidate dans une autre relation on met un # devant l’attribut. 55 B. Caron

56 Modélisation logique - Modèle
Schéma d’une relation Nom de la relation Nom des attributs Les Clés Notation Collection (Animal, Taille, Classification) Liste des attributs Nom de la relation Clé primaire : soulignée 56 B. Caron

57 Modélisation logique - Modèle
Clé étrangère Exemple : Image(Num_image,Date_image,Image Reportage(Num_rep,Date_rep,Texte) Ajout(#Num_rep,#Num_image) Clé étrangère 57 B. Caron

58 Modélisation logique - Passage E-A -> Mod. R
Entité correspond Association Relation correspond Association si aucune cardinalité maximale 1 Si clé : conservée, sinon on concatène les clé des entités associées 0..n 1..1 Reportage Auteur Rédiger Num_rep Date_rep Num_auteur Prénom Nom Image(Num_image,Date_image,Image) Reportage (Num_rep,Date_rep) Auteur (Num_auteur, Prénom,Nom) Ajout (Num_rep,Num_image) 0..n 0..n Créer 1..1 Ajout Image Clé formée des 2 attributs Num_image Date_image Image 0..n 58 B. Caron

59 Modélisation logique - Passage E-A -> Mod. R
Relation correspond Association avec cardinalité maximale 1 on ajoute à la relation (correspond à la card. 1) comme attribut la clé de la relation qui a une cardinalité >1 0..n 1..1 Reportage Auteur Rédiger Num_rep Date_rep Num_auteur Prénom Nom Image(Num_image,Date_image,Image, Num_auteur) Reportage (Num_rep,Date_rep,Num_auteur) Auteur (Num_auteur, Prénom,Nom) Ajout (Num_rep,Num_image) 0..n 0..n Créer 1..1 Ajout Image Num_image Date_image Image 0..n 59 B. Caron

60 Modélisation logique - Normalisation
Première forme normale (1NF): Un attribut d’une relation ne doit pas pouvoir prendre plusieurs valeurs Solution : créer une autre relation Exemple : Machine(Num_machine,Date_instal, logiciel) Devient : Machine(Num_machine,Date_instal) logiciel(Num_Logiciel, Num_machine) 60 B. Caron

61 Modélisation logique - Normalisation
Deuxième forme normale (2NF) Un attribut qui ne fait pas partie de la clé candidate ne doit pas être dépendent d’une partie de la clé. Toute clé candidate a un seul attribut est forcément 2NF Solution : créer une relation pour enlever l’attribut Exemple : Fournisseur (NomFourn, Article, Adresse, Prix) NomFourn, Article  Prix et NomFourn  Adresse (manque Article) Devient : Fournisseur (NomFourn, Adresse) Produit (NomFourn, Article, Prix) 61 B. Caron

62 Modélisation logique - Normalisation
Deuxième forme normale (2NF) Exemple correct : Ajout (Num_rep, Num_photo, date, Num_personne) Astuces : Éviter les clés à 2 attributs Éviter d’autres attributs que ceux de la clé 62 B. Caron

63 Modélisation logique - Normalisation
Troisième forme normale (3NF) : chacun des attributs d’une relation qui ne fait pas partie de la clé élémentaire est en dépendance fonctionnelle élémentaire directe de la clé (pas de transitivité). Solution : 2 relations Exemple : EMPLOYE (Matricule, Nom, Dep, NomDep) Matricule  Dep  NomDep Devient EMPLOYE (Matricule, Nom, Dep) EMPLOYE (Dep, NomDep) 63 B. Caron

64 Modélisation logique - Normalisation
Relations de l’exemple : Image(Num_image,Date_image,Image, Num_auteur) Reportage (Num_rep,Date_rep,Num_auteur) Auteur (Num_auteur, Prénom,Nom) Ajout (Num_rep,Num_image) Toutes 3NF (et donc 2NF et 1NF) La première étape de modélisation conceptuelle par les DF doit normalement aboutir à des relations 3NF. Il existe d’autres formes normales 64 B. Caron

65 Description des relations Modification des relations
Chap 3 : SQL Introduction Description des relations Modification des relations Manipulation des données Interrogation 65 B. Caron

66 Il existe de nombreux langages, SQL est le plus répandu
SQL - Introduction Il existe de nombreux langages, SQL est le plus répandu SQL = Structured Query Language (langage de requête structuré). Normalisation internationale et en constante évolution Utilisés dans de nombreux produits : Oracle SQL server (Microsoft) Mysql 66 B. Caron

67 SQL - Introduction SQL permet de supprimer créer modifier des relations dans une base de données : langage de description des données SQL permet de supprimer créer modifier des occurrences dans une relation : langage de manipulation des données SQL basée sur l’algèbre relationnelle sur laquelle SQL réalise des opérations d’interrogation : langage d’interrogation des données l’algèbre relationnelle ne sera pas étudiée ici On utilisera MySQL qui est un sous ensemble et ne respecte pas complètement la syntaxe SQL Manuel de référence : Manuel de la version 4.1 : 67 B. Caron

68 SQL – description des relations
Image(Num_image,Date_image,Image, Num_auteur) Reportage (Num_rep,Date_rep,Num_auteur) Auteur (Num_auteur, Prénom,Nom) Ajout (#Num_rep,#Num_image) Classique pour une clé CREATE DATABASE agence Image(Num_image,Date_image,Image, Num_auteur) CREATE TABLE Image(Num_image INTEGER AUTO_INCREMENT, Date_image DATE, Image BLOB, Num_auteur INTEGER, PRIMARY KEY (NUM_image)) RAW en SQL 68 B. Caron

69 SQL – description des relations
Reportage (Num_rep,Date_rep,Num_auteur) CREATE TABLE Reportage( Num_rep INTEGER AUTO_INCREMENT, Date_rep DATE, Num_auteur INTEGER, PRIMARY KEY (Num_rep)) Auteur (Num_auteur, Prénom,Nom) CREATE TABLE Auteur(Num_auteur INTEGER AUTO_INCREMENT, Prenom CHAR(20), Nom CHAR(20), PRIMARY KEY (Num_auteur)) 69 B. Caron

70 SQL – description des relations
Ajout (#Num_rep,#Num_image) CREATE TABLE Ajout(Num_rep INTEGER, Num_image INTEGER, PRIMARY KEY (Num_rep, Num_image)) Clé étrangère inexistante en MySQL Selon le format de la table 70 B. Caron

71 SQL – modification des relations
Ajout (#Num_rep, #Num_image, date) ALTER TABLE Ajout ADD Date_aj DATE Ajout (#Num_rep,#Num_image) ALTER TABLE Ajout DROP Date_aj Suppression d’une table : DROP TABLE Ajout Suppression d’une base : DROP DATABASE Agence 71 B. Caron

72 SQL – Manipulation des données
Auteur (Num_auteur, Prénom,Nom) Ajout d’un tuple : INSERT INTO Auteur VALUES (NULL, 'Jean', 'Blanc') Modification d’un tuple UPDATE Auteur SET Prenom='Paul' WHERE Prenom='Jean' Suppression d’un tuple DELETE FROM Auteur WHERE Prenom='Paul'" 72 B. Caron

73 SQL – Interrogation des données
INSERT INTO auteur VALUES (NULL, 'Jean', 'Blanc'), (NULL,'Claude','Blanc'), (NULL,'Jean-Claude','Blanc'), (NULL,'Jean','Noir'), (NULL,'Claude','Noir') SELECT * FROM auteur 73 B. Caron

74 SQL – Interrogation des données
SELECT * FROM auteur WHERE NOM= 'Noir' SELECT * FROM auteur WHERE NOM= 'Noir' AND PRENOM= 'Jean' 74 B. Caron

75 SQL – Interrogation des données
reportages (Num_rep,Date_rep,Num_auteur) INSERT INTO reportages VALUES (NULL, ' ', '1'), (NULL, ' ', '2'), (NULL, ' ', '2'), (NULL, ' ', '3'), (NULL, ' ', '3') SELECT * FROM reportages 75 B. Caron

76 SQL – Interrogation des données
image(Num_image,Date_image,Image, Num_auteur) INSERT INTO image VALUES (NULL, ' ', 'xxx', '2'), (NULL, ' ', 'xxx', '5'), (NULL, ' ', 'xxx', '3'), (NULL, ' ', 'xxx', '4'), (NULL, ' ', 'xxx', '1') SELECT * FROM images 76 B. Caron

77 SQL – Interrogation des données
ajout (#Num_rep,#Num_image) INSERT INTO ajout VALUES ('1', '2'), ('1', '3'), ('2', '1'), ('2', '2'), ('3', '4') SELECT * FROM ajout 77 B. Caron

78 SQL – Interrogation des données
Jointure de tables (partagent une clé) select auteur.nom from auteur,reportage where auteur.Num_auteur=reportage.Num_auteur 78 B. Caron

79 Pour aller plus loin Optimisation Clés étrangères 79 B. Caron

80 Pour aller plus loin – Optimisation
SELECT * FROM auteur WHERE nom = 'BLANC' Le SGBD regarde toutes les lignes pour retrouver tous les 'BLANC‘ Temps de réponse très lent Création d’un index dans la table CREATE TABLE Auteur(Num_auteur INTEGER AUTO_INCREMENT, Prenom CHAR(20), Nom CHAR(20), PRIMARY KEY (Num_auteur), Index (Nom)) Le SGBD crée en mémoire des blocs disques Ils contiennent des couples : index, numéro de bloc Accès plus rapide mais : Modification plus lente (création blocs et couples) Prend plus de place 80 B. Caron

81 Pour aller plus loin – Optimisation
Utiliser les types les plus compacts possibles (TINYINT, MEDIUMINT,INT) N’utiliser des SELECT que sur les attributs utiles. Exemple on veut les prénoms : SELECT PRENOM FROM auteur WHERE NOM= 'Noir' Préférable à : SELECT * FROM auteur WHERE NOM= 'Noir' 81 B. Caron

82 Clés étrangères Reportage (Num_rep,Date_rep,Num_auteur)
CREATE TABLE Reportage( Num_rep INTEGER AUTO_INCREMENT, Date_rep DATE, Num_auteur INTEGER, PRIMARY KEY (Num_rep)) TYPE=InnoDB Image(Num_image,Date_image,Image, Num_auteur) CREATE TABLE Image(Num_image INTEGER AUTO_INCREMENT, Date_image DATE, Image BLOB, Num_auteur INTEGER, PRIMARY KEY (NUM_image)) TYPE=InnoDB Ajout (#Num_rep,#Num_image) CREATE TABLE Ajout(Num_rep2 INTEGER, Num_image2 INTEGER, FOREIGN KEY (Num_rep2) REFERENCES reportage(Num_rep), FOREIGN KEY (Num_image2) REFERENCES image(Num_image) ) TYPE=InnoDB 82 B. Caron


Télécharger ppt "Licence IRX Bernard Caron"

Présentations similaires


Annonces Google