I - Introduction à SQL. Chapitre I. Introduction à SQL. 1.1 Définitions. Les types abstraits de données. Chapitre 1 : Introduction à SQL 1

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

Les bases de données

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

Langage SQL : créer et interroger une base

I4 : Bases de Données

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

Cours Bases de données 2ème année IUT

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

Le Langage De Description De Données(LDD)

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

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

Le langage SQL Rappels

Master Exploration Informatique des données DataWareHouse

Bases de données cours 1

Bases de Données. Plan

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

16H Cours / 18H TD / 20H TP

Du 10 Fév. au 14 Mars 2014

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

TP Contraintes - Triggers

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

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

Structure fonctionnelle d un SGBD

Intégrité sémantique dans les bases de données relationnelles

MySQL / SQL EXEMPLES

Partie 0 : Gestion des tablespace et des utilisateurs... 3

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

Intégrité des données

Bases de données avancées Introduction

Administration des bases de données. Jean-Yves Antoine

Bases de données relationnelles & SQL

CESI Bases de données

Gestion des transactions et accès concurrents dans les bases de données relationnelles

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

Java DataBaseConnectivity

TP Bases de données réparties

Administration de Bases de Données : Optimisation

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

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

UML et les Bases de Données

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Bases de données relationnelles

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

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

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

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

1 Introduction et installation

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

Les bases de données Page 1 / 8

Introduction aux SGBDR

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

Compétences Business Objects

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

PHP 5. La base de données MySql. A. Belaïd 1

CATALOGUE FORMATIONS DOMAINE Bases de données

TP11 - Administration/Tuning

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

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Optimisation SQL. Quelques règles de bases

Application web de gestion de comptes en banques

Bases de données élémentaires Maude Manouvrier

Cours Bases de données 2ème année IUT

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

TP3 : Creation de tables 1 seance

Introduction aux Bases de Données Relationnelles Conclusion - 1

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

Le Langage SQL version Oracle

Rappel sur les bases de données

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

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Auto-évaluation Oracle: cours de base

Bases de Données Avancées

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

Introduction à la B.I. Avec SQL Server 2008

Gestion des utilisateurs et de leurs droits

LE LANGAGE SQL2 1. INTRODUCTION

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

1 Introduction. 2 Le modèle relationnel. 3 Algèbre relationnelle 4 SQL. 5 Organisation physique des données 1/228

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

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

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

Administration des bases de données relationnelles Part I

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

Table des matières. Avant-propos

4D v11 SQL Release 5 (11.5) ADDENDUM

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

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

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

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

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

Bases de Données Réparties

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Dossier I Découverte de Base d Open Office

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Objectif. Participant. Prérequis. Oracle BI Suite EE 10g R3 - Développer des référentiels. 5 Jours [35 Heures]

Transcription:

I - Introduction à SQL Chapitre I Introduction à SQL 1.1 Introduction 1.2 Répertoires 1.3 Principes des BD relationnelles 1.4 Contraintes d intégrité 1.5 Les composants SQL 1.6 Conclusions 1.1 Définitions BD = ensemble structuré d informations accessibles simultanément par plusieurs utilisateurs Bases de Données / Banques de Données Systèmes d information SGBD = Système de Gestion de Bases de Données «La vérité est dans la base de données» Les types abstraits de données Alphanumérique entier, flottant, chaîne de caractères Multimédia signal, image, dessin, image animée, audiovisuel, document Chapitre 1 : Introduction à SQL 1

1.2 Répertoires Indexation Répertoire / index Accélérateur d accès Sans index : balayage séquentiel de toute la BD très consommateur de temps Nécessité de structure de données adéquates et de procédures d accès Clés........... Adresses Hiérarchie de répertoires Temps de réponse Index niveau 2 Index niveau 1 Données Supposons n enregistrements Index niveau 3 22 1 59 2 89 3 1 2 3 05 5 11 6 22 7 33 8 42 9 59 10 68 11 77 12 89 15... 5 01 20 03 21 05 22 6 07 23 09 24 11 25 7 13 26 15 27 22 28... 15 79 44 85 45 89 46 aaaa bbbb cccc dddd eeee gggg hhhh kkkk... Bloc Bloc sans index (balayage séquentiel) t m = n/2 sans index (balayage dichotomique) t m = log 2 (n) Chapitre 1 : Introduction à SQL 2

Répertoire principal Répertoires secondaires n/p postes Temps de réponse t m p postes n enregistrements tm = p/ 2 + n/ 2 p Optimum : tm tm 1 n = 0 = p = p p 1 2 2 p n n p 1.3 Principes des BD relationnelles Créé par Edgar CODD fin des années 60 «Tout est table» 1 table == 1 relation Opérateurs sur des tables ORACLE, ACCESS, SYBASE, MySQL, etc. Tables et relations VEHICULE (Nom-Propriétaire, Marque, Numéro) VEHICULE Nom-Propriétaire Marque Numéro Pierre Renault 1111AA69 Anne Ford 2222BB69 Marie VW 3333CC69 Jules Fiat 4444DD69 Chapitre 1 : Introduction à SQL 3

Définitions Colonne TABLE Ligne n-uplet t-uple tuple Colonne Correspondant à un attribut Parfois clé ou identificateur Parfois valeur inconnue (NULL) Définie selon un domaine (entier, chaîne, image, etc.) Dom (entier) = N NULL "Order is immaterial" Valeur NULL Lignes NULL = non renseigné valeur inconnue valeur non encore connue, non encore rentrée valeur impossible valeur inapplicable Correspond à un enregistrement / article Possède tous les attributs Identifiée par une clé "Order is immaterial" Chapitre 1 : Introduction à SQL 4

Clés primaires (primary keys) s agit d un identifiant unique à valeur obligatoire attention : dans une table, une clé unique peut être créée à partir de plusieurs attributs, ou plusieurs identifiants permet l accès à une ligne d une table Clés étrangères (foreign keys) Se dit d une clé qui est référencée dans une autre table Exemple PERSONNE (NOID, NOM, NOTEL) TELEPHONE (NOTEL, LIEU) Symbolisation des opérateurs Projection Restriction Objectifs : graphe d enchaînement des opérateurs afin de répondre à une requête Liste d attributs relation Liste de conditions Chapitre 1 : Introduction à SQL 5

Union Intersection Différence Produit cartésien Division - / Rel1 - Rel2 Rel1 / Rel 2 Jointure (interne) Jointure (externe) Résultat Liste d attributs Pivot Pivot Rel. 3 Pivot Exemple Chapitre 1 : Introduction à SQL 6

Remarques sur les jointures Pivot de la forme : Relation1.Toto = Relation2.Titi Autojointure possible Attention aux valeurs NULL dans les jointures internes Jointure externe : les attributs manquants sont forcés à NULL 1.4 Contraintes d intégrité Contrôle de qualité du contenu Conditions ou prédicat Contraintes d intégrité de base existentielle (primary key) référentielle (foreign key) Autres contraintes contrôle de vraisemblance CI topologiques Exemple Ensembles d objets appelés «triangles» 3 côtés 3 angles etc. CI statiques : Contraintes d intégrité S BD C(S) = true t CI dynamiques : avant et après MAJ S(t - ) BD (t - ) S(t + ) BD (t + ) C(S t - ) = true C(S t + ) = true Chapitre 1 : Introduction à SQL 7

Remarques 1 Si le prédicat est faux, il existe une incohérence qu il va falloir corriger. Etat stable / instable de la BD Plusieurs attitudes en cas d incohérence blocage temporaire de la BD : aucun traitement possible tant que l incohérence subsiste cas des CI longues certains traitements sont malgré tout possibles durant un faible temps corrections dites «au burin» Remarques 2 Aucune contradiction entre les CI Nécessité d outils de vérification de la monotonie des CI après intégration Déclarative Vérification des CI à la création de la BD, on donne une liste de prédicats qui doivent toujours être satisfaits vérification à la création et en mise à jour Procédurale programmes de vérification lancés régulièrement (procédures de contrôles) ou sur événements (triggers). Contrainte existentielle Liée aux primary keys Détails de la contrainte toutes les valeurs doivent être différentes les valeurs «NULL» non autorisées En cas de difficultés, créer un identificateur provisoire Vérification déclarative (création) Vérifiée à chaque insertion et MAJ de clé Chapitre 1 : Introduction à SQL 8

Contrainte référentielle Liée aux foreign keys Détails de la contrainte doit toujours avoir une contrepartie de type primary key les NULL peuvent être tolérés Vérification déclarative (création) Vérifiée à chaque insertion et MAJ Contrôle de vraisemblance Vérification des ordres de grandeurs Par exemple : dates, âges, codes postaux, immatriculations de voitures, etc Petites vérifications : déclaratives Grosses vérifications : procédure/trigger Contrôle topologique Dans le cas des BD géographiques (vecteur) polygones non dégénérés deux parcelles ne doivent pas se chevaucher surface totalement couverte etc. Généralement par procédures ou triggers Ordonnancement des ordres de création des tables 1 - sans ALTER Commencer par les tables sans clés (rares) Puis les tables avec PRIMARY KEYS Puis terminer par les tables avec FOREIGN KEYS 2 - avec ALTER rentrer dans n importe quel ordre puis introduire les clés (avec l ordonnancement précédent) Chapitre 1 : Introduction à SQL 9

1.5 Les composants SQL Attention bien distinguer : Composants de SQL Composants schéma Les composants du système SQL (ex schéma, index, cluster, etc.) Les structures de composants logés dans la BD (au sens object-oriented) Composants globaux Partitions Composants Schéma Composants globaux Tables Contraintes Index Vues Types Séquence Procédures Fonctions Triggers Packages Synonymes Clusters etc. Contexte Utilisateurs Profils Rôles Tablespace Segments de rollback Chapitre 1 : Introduction à SQL 10

Partitions Références à des parties de composants Sur les tables, sur les vues matérialisées Index partitionnés sur les tables Schéma Partition BD distribuées Table DUAL Table fictive permettant d assurer la régularité de la grammaire Ex : SELECT SYSDATE FROM DUAL; 1.6 Conclusions Importance des BD et des SI Importance du modèle relationnel Petites et grosses BD Standardisation Importance des BD relationnelles Simplicité du modèle en tables Requête effectuée par combinaison d opérateurs relationnels Chapitre 1 : Introduction à SQL 11