I BASES DE DONNÉES RELATIONNELLES Introduction Christine Bonnet sources : divers et
Cycle de vie du développement d un système Stratégie et Analyse Conception Prototypage Documentation Transition Production I-2 Christine Bonnet sources : divers et
HISTORIQUE PREMIÈRES GÉNÉRATIONS DE SGBD 1 ère GÉNÉRATION : Conception - 1960 Niveau Opérationnel - 1970 SGBD Hiérarchique et Réseau (CODASYL) Exemples : IMS, IDSII, IDMS, etc. 2 ème GÉNÉRATION : Conception - 1970 Niveau Opérationnel - 1980 SGBD Relationnel (Concept Mathématique de Relations) Exemples : ORACLE, SYBASE, ACCESS, INGRES, INFORMIX, etc. SGBD conçus au départ pour des applications classiques de gestion. I-3 Christine Bonnet sources : divers et
BASES DE DONNÉES AVANCÉES : TROISIÈME GÉNÉRATION 3 ème GÉNÉRATION : Conception : 1980 Niveau opérationnel : 1990 2000 OBJECTIFS : Lever les limites des SGBDR Augmenter la puissance de calcul des LMD Augmenter la richesse sémantique des modèles de BD APPROCHES IMPORTANTES : Les BD Relationnelles Objets (ORACLE V.8i) Les BD déductives I-4 Christine Bonnet sources : divers et
Concept de Base de Données Relationnelles Dr. E. F. Codd proposa le modèle relationnel en 1970. Base pour un Système de Gestion de Bases de Données Relationnelles (SGBDR). Le modèle relationnel consiste en: Collection d objets ou de relations Ensemble d opérateurs pour agir sur les relations L intégrité des données pour l exactitude et la cohérence I-5 Christine Bonnet sources : divers et
BASES DE DONNÉES RELATIONNELLES : RAPPELS CARACTÉRISTIQUES Stockage et gestion de gros volumes de données Bases de données Gros volumes de données Données persistantes partagées Technologies : recherche efficace mises à jour fiables Requêtes Efficacité de l accès Contraintes Accès à des données - persistantes, - partagées, - résistantes aux pannes, - pouvant être accédées et mises à jour de façon concurrente par d autres applications. Exprimées dans le langage de définition de données. Langage de définition et de manipulation de données orienté utilisateurs : SQL. I-6 Christine Bonnet sources : divers et
Définition d une Base de Données Relationnelle Une BD relationnelle est une collection de relations ou de tables bi-dimensionnelles BD Nom de table : EMP EMPNO ENAME JOB DEPTNO 7839 KING PRESIDENT 10 10 7698 BLAKE MANAGER 30 30 7782 CLARK MANAGER 10 10 7566 JONES MANAGER 20 20 Nom de table : DEPT DEPTNO DNAME LOC 10 10 ACCOUNTING NEW YORK 20 20 RESEARCH DALLAS 30 30 SALES CHICAGO 40 40 OPERATIONS BOSTON I-7 Christine Bonnet sources : divers et
Stockage des données sur différents médias SALGRADE GRADE LOSAL HISAL --------- --------- --------- DEPT 1 700 1200 DEPTNO DNAME LOC 2 1201 1400 --------- -------------- ---------- 3 1401 2000 10 10 ACCOUNTING NEW YORK 4 2001 3000 20 20 RESEARCH DALLAS 5 3001 9999 30 30 SALES CHICAGO 40 40 OPERATIONS BOSTON Feuille de calcul électronique Classeur Base de données I-8 Christine Bonnet sources : divers et
STRUCTURE RELATIONNELLE CONCEPTS DE BASE DU MODÈLE RELATIONNEL Domaine : ensemble de valeurs. Exemples : Domaine produits = {aspirine, alcool, vitamine, } Domaine D1 = ensemble des entiers. Attribut : variable prenant ses valeurs dans un domaine. Exemple : l'attribut "n représentant" prend ses valeurs dans D1. Relation : une relation R sur un ensemble d'attributs U={A1, A2,, An} de domaines respectifs D1, D2,, Dn est un sous-ensemble du produit cartésien D1 D2... Dn. Exemple : commande(n commande, date commande, date livraison, n client). I-9 Christine Bonnet sources : divers et
STRUCTURE RELATIONNELLE Terminologie : Chaque ligne d'une relation (table) est appelée n-uplet ou tuple. L'ordre d'une relation est le nombre d'attributs (de colonnes) de la relation. La cardinalité d'une relation est le nombre de tuples de la relation. I-10 Christine Bonnet sources : divers et
Terminologie des BD relationnelles 2 3 4 1 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 6 ------------- ------------ --------------------- -------- ---------------- ----------- -------------- ----------- 7839 KING PRESIDENT 17-NOV-81 5000 10 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7900 JAMES CLERK 7698 03-DEC-81 950 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7369 SMITH CLERK 7902 17-DEC-80 800 20 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 5 I-11 Christine Bonnet sources : divers et
STRUCTURE RELATIONNELLE Dépendance Fonctionnelle (DF) : exprime une contrainte. Soit X et Y deux sous-ensembles d'attributs de l'ensemble des attributs d'une relation R, il existe une dépendance fonctionnelle de X vers Y, notée X Y, si pour une valeur donnée à chaque attribut de X, il correspond au plus une valeur pour chaque attribut de Y. lorsque 2 n-uplets ont les mêmes valeurs pour les attributs de X, ils ont les mêmes valeurs sur les attributs de Y. Exemple : n commande date commande, date livraison, n client. I-12 Christine Bonnet sources : divers et
STRUCTURE RELATIONNELLE Type de dépendance fonctionnelle : quelconque. élémentaire : U : ensemble d'attributs X, Y U, X Y est élémentaire X' X tel que X' Y Exemple : n commande, n produit n client, n'est pas élémentaire. directe : X, Y U, X Y est directe Z U tel que X Z et Z Y. Exemple : n commande n client n client nom client n commande nom client, n'est pas directe. I-13 Christine Bonnet sources : divers et
STRUCTURE RELATIONNELLE Clé candidate, clé primaire, clé étrangère : Une clé candidate est un sous-ensemble minimal d'attributs tel qu'il existe une dépendance fonctionnelle de ce sous-ensemble vers tout autre attribut de la relation. Une clé primaire est une des clés candidate (exemple : n commande). Une clé étrangère est un ensemble d'attributs, clé primaire d'une autre relation (exemple : n client dans la table commande). Contraintes : D'unicité de la clé : il ne peut exister deux n-uplets ayant la même valeur pour une occurrence de relation. D'intégrité référentielle : toute valeur d'une clé étrangère dans une relation doit exister dans une autre relation comme valeur de clé primaire (exemple : toute valeur de n client dans la table commande doit exister dans la table client). D'entité : tout attribut participant à une clé primaire ne doit pas avoir de valeur nulle. I-14 Christine Bonnet sources : divers et
STRUCTURE RELATIONNELLE Forme normale d'une relation : 1FN : tous les attributs sont simples et la relation possède une clé primaire. 2FN : 1FN et tous les attributs non clé sont en DF élémentaire avec la clé. 3FN : 2FN et tous les attributs non clé sont en DF directe avec la clé. I-15 Christine Bonnet sources : divers et
Modèles de données Modèle du système dans l esprit du client Modèle EA du modèle du client Modèle de tables du modèle EA Serveur Tables sur disques I-16 Christine Bonnet sources : divers et
Modèle EA Création d un diagramme EA correspondant aux spécifications EMPLOYEE #* number * name o job title assigned to DEPARTMENT #* number * name o location Scénario... Attribuer un ou plusieurs employés à un département...... Quelques départements n ont pas encore d employé... I-17 Christine Bonnet sources : divers et
Lier plusieurs tables Chaque ligne dans une table est identifiée de façon unique par une clé primaire. Vous pouvez lier logiquement des données de plusieurs tables en utilisant les clés étrangères Nom de la table : EMP Nom de la table : DEPT EMPNO ENAME JOB DEPTNO 7839 KING PRESIDENT 10 7698 BLAKE MANAGER 30 7782 CLARK MANAGER 10 7566 JONES MANAGER 20 DEPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Clé primaire Clé étrangèrere Clé primaire I-18 Christine Bonnet sources : divers et
Communiquer avec un SGBDR en utilisant SQL Un ordre SQL est entré SQL> SQL> SELECT SELECT loc loc 2 2 FROM FROM dept; dept; L ordre est envoyé à la BD BD Les données sont affichées LOC LOC ------------- ------------- NEW NEW YORK YORK DALLAS DALLAS CHICAGO CHICAGO BOSTON BOSTON I-19 Christine Bonnet sources : divers et
SGBDR Serveur Tables utilisateur Dictionnaire des données I-20 Christine Bonnet sources : divers et
Solution Oracle Complète Applications Oracle Developer Finance Fabrication...... Oracle Designer Discoverer SQL PL/SQL SQL* Plus Oracle 8/9/10 Database Dictionnaire des données Tables de données I-21 Christine Bonnet sources : divers et
ORDRES SQL SELECT INSERT UPDATE DELETE CREATE ALTER DROP RENAME TRUNCATE COMMIT ROLLBACK SAVEPOINT GRANT REVOKE Recherche de données Langage de manipulation de données (DML) Langage de définition d de Données (DDL) Contrôle des transactions Langage de contrôle des données (DCL) I-22 Christine Bonnet sources : divers et
Tables Utilisées dans le Cours EMP EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --------- ---------- --------- --------- --------- --------- --------- --------- 7839 KING PRESIDENT 17-NOV-81 5000 10 10 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 10 7566 JONES MANAGER 7839 02-APR-81 2975 20 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 30 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 30 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 30 7900 JAMES CLERK 7698 03-DEC-81 950 30 30 DEPTNO 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 DNAME LOC 30 --------- 7902 FORD ANALYST 7566 03-DEC-81 3000 20 -------------- ---------- SALGRADE 20 10 7369 SMITH CLERK 7902 17-DEC-80 800 20 10 ACCOUNTING NEW YORK GRADE LOSAL HISAL 20 20 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 20 RESEARCH DALLAS --------- --------- --------- 20 30 7876 ADAMS CLERK 7788 12-JAN-83 1100 30 SALES CHICAGO 1 700 1200 40 7934 MILLER CLERK 7782 23-JAN-82 1300 10 40 OPERATIONS BOSTON 2 1201 1400 10 3 1401 2000 4 2001 3000 5 3001 9999 DEPT I-23 Christine Bonnet sources : divers et
Interaction entre SQL and SQL*Plus SQL Statements Buffer SQL Statements SQL*Plus Server SQL*Plus Commands Formatted Report Query Results I-24 Christine Bonnet sources : divers et
Ordres SQL / Commandes SQL*Plus SQL Un langage Standard ANSI Mots clés s : pas d abréviation Les ordres manipulent des définitions d de données et de tables de la base de données SQL*Plus Un environnement Propriété d Oracle Abréviation possible des mots clés Les commandes ne permettent pas la manipulation des valeurs de la base de données. SQL statements SQL buffer SQL*Plus commands SQL*Plus buffer I-25 Christine Bonnet sources : divers et
Aperçu de SQL*Plus Ouvrir une session SQL*Plus. Décrire la structure de la table. Éditer vos ordres SQL. Exécuter SQL à partir de SQL*Plus. Sauvegarder des ordres SQL dans des fichiers et ajouter des ordres SQL aux fichiers. Exécuter des fichiers sauvegardés. Charger des commandes à partir d un fichier vers un buffer pour les éditer. I-26 Christine Bonnet sources : divers et
Se connecter à SQL*Plus A partir de l environnement l Windows : INVITE ANTOINEBERMON INVITE ANTOINEBERMON Lyon Lyon A partir d une d ligne de commande: connect [username[/password [@database database]]] I-27 Christine Bonnet sources : divers et
Afficher la structure des tables Commande SQL*Plus : DESCRIBE DESC[RIBE] tablename I-28 Christine Bonnet sources : divers et
Afficher la structure des tables SQL> DESCRIBE dept Name Null? Type ----------------- -------- ------------ DEPTNO NOT NULL NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13) I-29 Christine Bonnet sources : divers et
Commandes d édition de SQL*Plus A[PPEND] text C[HANGE] / old / new C[HANGE] / text / CL[EAR] BUFF[ER] DEL DEL n DEL m n I-30 Christine Bonnet sources : divers et
Commandes d édition de SQL*Plus I[NPUT] I[NPUT] text L[IST] L[IST] n L[IST] m n R[UN] n n text 0 text I-31 Christine Bonnet sources : divers et
Commandes de fichiers de SQL*Plus SAVE filename GET filename START filename @ filename EDIT filename SPOOL filename I-32 Christine Bonnet sources : divers et
EXEMPLE SQL> ed exo1 -- sauvegarde sur le compte personnel -- tests SQL> sta exo1 -- modification de exo1 SQL> ed -- ou Fichier-Ouvrir -- impression des résultats r dans un fichier SQL> spo exo1imp -- exécution de exo1 SQL> spo off I-33 Christine Bonnet sources : divers et