SQL Définition des données

Documents pareils
Le Langage De Description De Données(LDD)

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

Olivier Mondet

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

Création et Gestion des tables

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Langage SQL : créer et interroger une base

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

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

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

TP Contraintes - Triggers

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

TP3 : Creation de tables 1 seance

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

Intégrité des données

Historisation des données

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

MySQL / SQL EXEMPLES

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

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

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

CREATION WEB DYNAMIQUE

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

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

Bases de données relationnelles

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

I4 : Bases de Données

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

Bases de données relationnelles & SQL

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

A QUOI SERVENT LES BASES DE DONNÉES?

INTEGRITE ET BD ACTIVES

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

1/ Présentation de SQL Server :

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

Compétences Business Objects

1. Base de données SQLite

Les bases de données

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

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

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

Cours: Administration d'une Base de Données

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

UML et les Bases de Données

1 Position du problème

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin

Auto-évaluation Oracle: cours de base

Mejdi BLAGHGI & Anis ASSÈS

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

I. MySQL : Serveur et SGBD

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

SQL Server 2000, Analysis Services et DTS

Les BASES de DONNEES dans WampServer

SQL Historique

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

SQL Server Cyril Gruau. 11 février 2003

16H Cours / 18H TD / 20H TP

Application web de gestion de comptes en banques

Le Langage SQL version Oracle

Partie II Cours 3 (suite) : Sécurité de bases de données

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

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

Gestion de base de données

BASES DE DONNEES TP POSTGRESQL

Bases de données et sites WEB

NF26 Data warehouse et Outils Décisionnels Printemps 2010

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

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

LE LANGAGE SQL2 1. INTRODUCTION

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février alexandre.patin@free.fr URL :

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

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

Bases de données. Mihaela Mathieu

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

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

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

Corrigés détaillés des exercices

Gestion des utilisateurs et de leurs droits

Bases de Données Avancées

A QUOI SERVENT LES BASES DE DONNÉES?

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

Systèmes de Gestion de Bases de Données

Introduction au PL/SQL Oracle. Alexandre Meslé

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

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

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

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

OpenPaaS Le réseau social d'entreprise

Bases de données Cours 4 : Le langage SQL pour ORACLE

FileMaker 13. Guide de référence SQL

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Bases de Données Avancées

Comprendre les bases de données

SQL Server ressource SOMMAIRE

Ecole Industrielle et Commerciale de la ville de Namur. Structure et application des bases de données. Y. Mine

Bases de données élémentaires Maude Manouvrier

Notes de cours : bases de données distribuées et repliquées

Cours de SQL SERVER 2005 SQL SERVER 2005

Transcription:

SQL Définition des données

Instructions Définitions (LDD) CREATE, DROP, ALTER

Définition des structures 3 principales étapes: 1. Création de la base de donnée 2. Description des schémas de tables (relations) et de leur contenu 3. Définition des contraintes qui assurent des contrôles sur l intégrité des données

Exemple Employe num nom age fonc sup datent salaire comm dept Departement num nom noresp datecre loc

Types de la norme ANSI Numériques Chaînes de caractères Dates

Types numériques INTEGER Entiers relatifs 4 octets SMALLINT Entiers relatifs 2 octets BIGINT Entiers relatifs 8 octets FLOAT Flottants 4 octets DOUBLE Flottants 8 octets

Types chaînes de caractères CHAR(M) VARCHAR(M) Chaînes de longueur fixe Chaînes de longueur variable M octets au plus M octets Text Chaînes d'octets longueur de la chaîne

Types dates DATE date(hour, mois, an) 4 octets TIME heure(h, mm, ss) 4 octets DATETIME date et heure 8 octets YEAR année 2 octets

Définition des relations Instructions sur les relations CREATE TABLE créer une relation DROP TABLE supprimer une relation ALTER TABLE modifier la structure d'une relation

Exemple CREATE TABLE Employe( num INTEGER, nom VARCHAR(20), age INTEGER, fonc VARCHAR(10), sup CHAR(4), datent DATE, salaire DOUBLE, comm DOUBLE, dept INTEGER);

CREATE TABLE Departement( num nom noresp INTEGER, VARCHAR(14), INTEGER, datcre DATE, loc VARCHAR(15) );

Définition des contraintes Lors de la création de la relation : sur valeurs nulles et valeurs par défaut contraintes de clé d' intégrité référentielle sur le domaine de l'attribut

Valeurs nulles, Valeurs par défaut NOT NULL pour préciser que l attribut correspondant doit toujours avoir une valeur motdepasse VARCHAR(60) NOT NULL DEFAULT pour définir la valeur d' un attribut par défaut adresse VARCHAR (50) DEFAULT Inconnue

Exemple CREATE TABLE Employe( num CHAR(4) NOT NULL, nom VARCHAR(20), age NUMERIC(2), fonc VARCHAR(10), sup CHAR (4), datent DATE, salaire NUMERIC(6,2), comm NUMERIC(3,2), dept CHAR (2) );

CREATE TABLE Departement( num nom CHAR (2) NOT NULL, VARCHAR(14), noresp CHAR (4), datcre DATE, loc VARCHAR(15) DEFAULT 'NICE' );

Clés primaires PRIMARY KEY (att) PRIMARY KEY (att1,..., attn) Tous les attributs figurant dans une clé doivent être déclarés NOT NULL On peut également spécifier que la valeur d un attribut est unique pour l ensemble de la colonne. (UNIQUE) (clés secondaires) UNIQUE (nom, prenom)

CREATE TABLE Employe( num CHAR(4) NOT NULL, nom VARCHAR(20), age NUMERIC(2), fonc VARCHAR(10), sup CHAR (4), datent DATE, salaire NUMERIC(6,2), comm NUMERIC(3,2), dept CHAR (2), PRIMARY KEY (num) );

CREATE TABLE Departement( num CHAR (2) NOT NULL, nom VARCHAR(14) NOT NULL, noresp CHAR (4), datcre DATE, loc VARCHAR(15) NOT NULL DEFAULT 'NICE', PRIMARY KEY (num), UNIQUE(nom, loc) );

Intégrité référentielle Clés étrangères FOREIGN KEY (att) REFERENCES... FOREIGN KEY (att1,..., attn) REFERENCES... FOREIGN KEY(numprod) REFERENCES Produit(num) indique que numprod référence la clé primaire de la table Produit En cas d'insertion, suppression, maj le SGBD vérifie la violation de la contrainte Action par défaut : rejet de l'opération

CREATE TABLE Employe( num CHAR(4) NOT NULL, nom VARCHAR(20), age NUMERIC(2), fonc VARCHAR(10), sup CHAR(4), datent DATE, salaire NUMERIC(6,2), comm NUMERIC(3,2), dept CHAR(2), PRIMARY KEY (num), FOREIGN KEY(dept) REFERENCES Department(num), FOREIGN KEY(sup) REFERENCES Employe(num));

CREATE TABLE Departement( num CHAR (2) NOT NULL, nom VARCHAR(14) NOT NULL, noresp CHAR (4), datcre DATE, loc VARCHAR(15) NOT NULL DEFAULT 'NICE', PRIMARY KEY (num), UNIQUE(nom, loc), FOREIGN KEY(noresp) REFERENCES Employe(num));

Clauses d'action référentielle en cas de violation, si l'action par défaut de rejet de l'opération ne convient pas on peut spécifier la répercussion de la mise à jour ON UPDATE ON DELETE de manière à ce que la contrainte soit respectée SET NULL clé étrangère mise à NULL CASCADE application de la même opération SET DEFAULT valeur par défaut pour la clé étrangère FOREIGN KEY(numprod) REFERENCES Produit ON DELETE CASCADE ON UPDATE CASCADE

CREATE TABLE Employe( num CHAR(4) NOT NULL, nom VARCHAR(20), age NUMERIC(2), fonc VARCHAR(10), sup CHAR(4), datent DATE, salaire NUMERIC(6,2), comm NUMERIC(3,2), dept CHAR(2), PRIMARY KEY (num), FOREIGN KEY(dept) REFERENCES Department(num) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY(sup) REFERENCES Employe(num) ON DELETE SET NULL ON UPDATE CASCADE);

CREATE TABLE Departement( num CHAR (2) NOT NULL, nom VARCHAR(14) NOT NULL, noresp CHAR (4), datcre DATE, loc VARCHAR(15) NOT NULL DEFAULT 'NICE', PRIMARY KEY (num), UNIQUE(nom, loc), FOREIGN KEY(noresp) REFERENCES Employe ON UPDATE CASCADE );

Contraintes sur domaines CHECK sur un attribut ou une ligne CHECK (annee BETWEEN 1900 AND 2050) CHECK (nomcinema IN (SELECT nom FROM Cinema)) CHECK (capacite<300 OR climatise = O ) En cas d'insertion ou d une modification, le SGBD vérifie que la nouvelle valeur vérifie la contrainte spécifiée par la clause CHECK Contrainte nommée CONSTRAINT annee_cst CHECK (annee BETWEEN 1900 AND 2050)

Modification du schéma Suppression d'une relation DROP TABLE nom_de_relation ; Modification d'une table ALTER TABLE nom_de_relation ACTION description

ALTER TABLE Departement MODIFY nom VARCHAR(20) ALTER TABLE Employe ADD adresse VARCHAR(20); ALTER TABLE Employe ALTER adresse SET DEFAULT NICE ; ALTER TABLE Employe DROP adresse CASCADE; ALTER TABLE Departement ADD CONSTRAINT NLocUnique UNIQUE (nom, loc) ALTER TABLE Employe ADD CONSTRAINT E_cst PRIMARY KEY (num) ALTER TABLE Employe ADD CONSTRAINT E_cst FOREIGN KEY (sup) REFERENCES Employe