SQL Structured Query Language Langage de définition des données. INT Management

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

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

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

Olivier Mondet

Pour les débutants. langage de définition des données

Les bases de données

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

SQL Historique

CREATION WEB DYNAMIQUE

Bases de données relationnelles

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

Le Langage De Description De Données(LDD)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

TP Contraintes - Triggers

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

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

Langage SQL : créer et interroger une base

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

LE LANGAGE SQL2 1. INTRODUCTION

Création et Gestion des tables

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

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

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

Bases de données Outils de gestion

1/ Présentation de SQL Server :

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

Le Langage SQL version Oracle

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

MySQL / SQL EXEMPLES

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

Bases de données relationnelles & SQL

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

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

Bases de Données Avancées

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

TP3 : Creation de tables 1 seance

Application web de gestion de comptes en banques

Intégrité des données

Modélisation et Gestion des bases de données avec mysql workbench

OpenPaaS Le réseau social d'entreprise

Bases de données élémentaires Maude Manouvrier

1 Introduction et installation

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

Les BASES de DONNEES dans WampServer

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

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

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

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

INTEGRITE ET BD ACTIVES

Information utiles. webpage : Google+ : digiusto/

NF26 Data warehouse et Outils Décisionnels Printemps 2010

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

Pratique et administration des systèmes

Java DataBaseConnectivity

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

UML et les Bases de Données

Licence Professionnelle Commerce Electronique. MySQL. Michel DUBOIS Michel Dubois : Support de cours SGBD N 1

16H Cours / 18H TD / 20H TP

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

Historisation des données

INTRODUCTION AUX BASES de DONNEES

I4 : Bases de Données

Compétences Business Objects

A QUOI SERVENT LES BASES DE DONNÉES?

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

Cours: Administration d'une Base de Données

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

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

OBJECTIFS ET ARCHITECTURE DES SGBD

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

Bases de Données. Plan

1 Position du problème

Mejdi BLAGHGI & Anis ASSÈS

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

Auto-évaluation Oracle: cours de base

Les bases de données Page 1 / 8

Bases de données relationnelles : Introduction

Bases de données et sites WEB

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Gestion de base de données

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

Master Exploration Informatique des données DataWareHouse

I. MySQL : Serveur et SGBD

Introduction aux Bases de Données

Bases de données avancées

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

Table des matières. Avant-propos

CATALOGUE FORMATIONS DOMAINE Bases de données

BASES DE DONNEES TP POSTGRESQL

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

Programmation d application Bases de données avec Java

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

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

TP Programmation Java / JDBC / Oracle

SQL MAP. Etude d un logiciel SQL Injection

Transcription:

SQL Structured Query Language Langage de définition des données INT Management 148

Plan du document Introduction slide 150 Définition des données slide 152 Contraintes d intégrité slide 159 149

Présentation de SQL Introduction Fonctionnalités : définition et manipulation de données au format relationnel contrôle des données Le langage de manipulation non procédural emprunté à l'algèbre relationnelle et au calcul relationnel de tuples 150

Présentation de SQL (2) Introduction Origine langage SEQUEL du prototype de SGBD relationnel SYSTEM/R (74-76) laboratoire de recherche IBM à San José Normalisation ISO norme SQL1 (1986, 1989) norme SQL2 (1992) nouvelle norme en préparation SQL3 Langage de requêtes des SGBD relationnels ORACLE (Oracle Corporation - 1977) INGRES (Ingres Technology - 1980) DB2 (IBM - 1984) INFORMIX (Informix Inc - 1981) SYBASE (Sybase Inc - 1984) MySQL (1995) 151

Définition des données Définition des données définition des schémas des relations définition de vues relationnelles définition de contraintes d'intégrité définition de droits validation d'un traitement définition du placement et des index (non normalisé => SGBD dépendant!!) 152

LDD SQL vs. Modèle relationnel Domaines limités Clé facultative : Doublons Opérateur de projection différent ( DISTINCT) Relation n est plus un ensemble 153

Domaines de base Définition des données Numériques : Entier : INTEGER, SMALLINT Décimal : DECIMAL (m,n), NUMBER(m,n) Réel flottant : FLOAT, REAL Chaîne de caractères : CHAR (n), VARCHAR(n) Temporel : DATE (dans la norme SQL2!) chaque SGBD possède d'autres domaines qui lui sont propres Valeur NULL : absence de valeur 154

Schéma d une relation Définition des données Création CREATE TABLE Vins ( num Integer, cru Char(20), annee Integer) Mise à jour Ajout d'un attribut (norme SQL2!) ALTER TABLE Vins ADD COLUMN degre Integer Suppression (norme SQL2!) DROP TABLE Vins 155

BD Exemple: les vins BD Exemple Vins(num, cru, annee, degre) Recoltes(nvin, nprod, quantite) Producteurs(num, nom, prenom, region) Buveurs(num, nom, prenom, ville) Commandes(ncde, date, nb, nvin, qte) Livraisons(ncde, no_ordre, qtelivree) V R P B C L 156

Modèle E/A de la BD des vins BD Exemple num cru degré annee Vins 0,n 0,n Buveurs num nom prenom ville 0,n recoltes quantite concerne Passer 0,n Producteurs num nom prenom region 1,1 1,1 Commandes ncde qté date 0,n Donner_lieu (1,1) Livraisons No_ordre qtelivrée date 157

Exemple en SQL CREATE TABLE VINS ( num integer, cru char (40), annee integer, degre float) CREATE TABLE PRODUCTEURS ( num integer, nom char(40), prenom char(40), region char(40)) CREATE TABLE RECOLTES( nprod integer, nvin integer, quantite integer) 158

Contraintes d intégrité Règles de gestion des données Etat cohérent de la base Vérifiées en permanence 159

Exemples de contraintes d intégrité Schéma de la BD Vins Vins(num, cru, annee, degre) Producteurs(num, nom, prénom, region) Recoltes(nprod, nvin, quantité) Modèle relationnel : Unicité de la clé (num dans vins) CI référentielle (nvin vers num) Domaine : Année entre 1970 et 2000 Région : Bourgogne, Beaujolais, Non nullité : Nom de cru de vin obligatoire Comportementale: Le degré d un vin est supérieur à 7 Le degré d un vin augmente 160

Les CIs dans les SGBD Quand les déclarer? À la création du schéma de BD Au cours de la vie de la BD Comment les exprimer? SQL Extensions de SQL Qu offrent les SGBD? Peu de CIs en général Autres CIs vérifiées par programme 161

Les CIs dans les SGBD (2) Normes : SQL 86 : unicité, non nullité, vue avec «check option» SQL89 : domaine, clé, intégrité référentielle avec «rejet» SQL2 (SQL92) : intégrité référentielle avec «cascade delete et update» Définition d une CI 2 possibilités: À chaque définition d attribut À la fin de la définition d une relation 162

Exemple CREATE TABLE VINS ( num integer PRIMARY KEY, cru char (40) NOT NULL, annee integer CONSTRAINT Cannee CHECK (annee between 1970 and 2000), degre float CONSTRAINT Cdegre CHECK (degre between 9.0 and 15.0)) CREATE TABLE PRODUCTEURS ( num integer, nom char(40), prenom char(40), region char(40) PRIMARY KEY(num)) ALTER TABLE PRODUCTEURS add CONSTRAINT Cregion CHECK (region in ('Bourgogne', 'Beaujolais', 'Alsace', 'Jura', 'Corse')) CREATE TABLE RECOLTES( nprod integer, nvin integer, quantite integer) ALTER TABLE RECOLTES add primary key (nprod, nvin) ALTER TABLE RECOLTES add constraint refvin foreign key (nvin) references VINS(num) on delete cascade ALTER TABLE RECOLTES add constraint refrep foreign key (nprod) references PRODUCTEURS(num) on delete cascade 163

Problèmes liés aux CIs Cohérence Pas de règles contradictoires Redondance Age > 18 et âge > 21 Optimisation Nombre minimal de données mises à jour en jeu pour la vérification Vérification sur certains types de màj uniquement 164