TP3 : Creation de tables 1 seance

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

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

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

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

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

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

Olivier Mondet

CREATION WEB DYNAMIQUE

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

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Bases de données relationnelles

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

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

Création et Gestion des tables

MySQL / SQL EXEMPLES

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

TP Contraintes - Triggers

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

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

I4 : Bases de Données

Historisation des données

Compétences Business Objects

Les BASES de DONNEES dans WampServer

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

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

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

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

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

1. Base de données SQLite

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

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Intégrité des données

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

Le Langage SQL version Oracle

Gestion de base de données

I. MySQL : Serveur et SGBD

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

Bases de Données Avancées

SQL Historique

1/ Présentation de SQL Server :

Auto-évaluation Oracle: cours de base

Bases de données relationnelles & SQL

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

Cours: Administration d'une Base de Données

Systèmes de Gestion de Bases de Données

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

Application web de gestion de comptes en banques

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

BASES DE DONNEES TP POSTGRESQL

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

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

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

Rappel sur les bases de données

Objectifs du TP : Initiation à Access

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

Stockage du fichier dans une table mysql:

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Compte-rendu de projet de Système de gestion de base de données

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

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

Les bases de données

1 Position du problème

UML et les Bases de Données

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Raja Bases de données distribuées A Lire - Tutoriel

A QUOI SERVENT LES BASES DE DONNÉES?

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

LE LANGAGE SQL2 1. INTRODUCTION

OpenPaaS Le réseau social d'entreprise

SQL Server Cyril Gruau. 11 février 2003

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

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

SQL Server 2000, Analysis Services et DTS

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

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

Devoir Data WareHouse

Corrigés détaillés des exercices

A QUOI SERVENT LES BASES DE DONNÉES?

Comprendre les bases de données

FileMaker 13. Guide de référence SQL

Bases de Données Avancées

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

INTEGRITE ET BD ACTIVES

1. Introduction Création d'une requête...2

Installation d'un serveur FTP géré par une base de données MySQL

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Gestion des utilisateurs et de leurs droits

Sybase Adaptive Server Enterprise 15

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Mejdi BLAGHGI & Anis ASSÈS

Réplication logique avec PostgreSQL 9.4

SQL Server ressource SOMMAIRE

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

BTS/CGO P10 SYSTEME INFORMATION Année

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

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

Transcription:

Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer les exercices du TP precedent si ce n'est pas deja le cas. Le schema entite-relation suivant modelise les deux nouvelles tables que vous allez creer durant ce TP : 1 Creer ou supprimer une table Pour creer une table simple, on utilisera la commande CREATE TABLE en speciant le nom et le type de chaque colonne. A la creation, la table sera vide, mais un certain espace lui sera alloue. La syntaxe est la suivante : CREATE TABLE nom table(nom col1 TYPE1, nom col2 TYPE2, ) ; Pour supprimer la table nom table, on fera appel a la commande DROP TABLE de la facon suivante : DROP TABLE nom table ; La denition de la table ainsi que son contenu sont detruits, et l'espace occupe par la table est libere. Exercice 1. On souhaite la table personne contenant les colonnes suivantes : personne(nom, ville, ddn) 1. Avant de creer cette table, assurer vous d'avoir prealablement eace toute table homonyme avec la commande DROP TABLE. 2. Creer la table personne, en precisant les types suivants pour chacune des colonnes : nom : VARCHAR(20) { ddn : DATE { ville : VARCHAR(20) 3. Verier le resultat de la commande en tapant nd.

2 Contraintes d'integrite A la creation d'une table, les contraintes d'integrite se declarent de la facon suivante : CREATE TABLE nom table ( nom col 1 type 1, nom col 2 type 2, nom col n type n [CONSTRAINT nom contrainte 1] contrainte 1, [CONSTRAINT nom contrainte 2] contrainte 2, [CONSTRAINT nom contrainte m] contrainte m ) ; ou directement apres le nom de la colonne : CREATE TABLE nom table ( nom col 1 type 1 [CONSTRAINT nom contrainte 1] contrainte 1, nom col 2 type 2 [CONSTRAINT nom contrainte 2] contrainte 2, nom col n type n [CONSTRAINT nom contrainte n] contrainte n) ; Les contraintes dierentes que l'on peut declarer sont les suivantes : { NOT NULL : la colonne ne peut pas contenir de valeurs NULL (cette contrainte s'emploie directement apres le nom de la colonne) { UNIQUE : chaque ligne de la table doit avoir une valeur dierente ou NULL pour cette (ou ces) colonne(s). { PRIMARY KEY : chaque ligne de la table doit avoir une valeur dierente pour cette (ou ces) colonne(s). Les valeurs NULL sont rejetees. { REFERENCES : cette colonne fait reference a une colonne d'une autre table (cette contrainte s'emploie directement apres le nom de la colonne) { FOREIGN KEY REFERENCES : cette colonne (ou liste de colonnes) fait reference a une colonne (ou liste de colonnes) formant une cle primaire d'une autre table (cette contrainte ne s'emploie qu'en n de table) { CHECK : permet de specier les valeurs acceptables pour une colonne. Exercice 2. On souhaite creer la table voiture contenant les colonnes suivantes : voiture(numero, marque, puissance, nom propt, prenom propt, cout, taxe) 1. Avant de creer cette table, assurer vous d'avoir prealablement eace toute table homonyme avec la commande DROP TABLE. 2. Creer la table voiture, en placant les contraintes suivantes pour chacune des colonnes : { numero : INTEGER doit ^etre une clef primaire { marque : VARCHAR(20) ne doit pas ^etre NULL { puissance : INTEGER { nom propt : VARCHAR(20) { prenom propt : VARCHAR(20) { cout : INTEGER ne doit pas ^etre NULL { taxe : INTEGER 2

3 Modier une table On peut modier dynamiquement la denition d'une table gr^ace a la commande ALTER TABLE. Deux types de modications sont possibles : ajout d'une colonne et modication d'une colonne existante. 3.1 Ajout/Suppression d'une colonne La commande suivante permet d'ajouter une colonne a une table existante : ALTER TABLE nom table ADD COLUMN nom col1 TYPE1 ; Les types possibles sont les m^emes que ceux decrits avec la commande CREATE TABLE. Si la table contient deja des lignes, la nouvelle colonne aura des valeurs NULL pour les lignes existantes. Pour retirer une colonne, utiliser la commande : ALTER TABLE nom table DROP COLUMN nom col1 ; Les donnees des colonnes mentionnees disparaissent. Les contraintes de table les impliquant sont aussi supprimees. Neanmoins, si une colonne est referencee par une contrainte de cle etrangere dans une autre table, PostgreSQL ne supprimera pas silencieusement cette contrainte. Exercice 3. Ajouter dans la table personne une colonne prenom de type VARCHAR(20), ainsi qu'une colonne age de type INTEGER. 3.2 Modier une colonne On peut modier le nom d'une colonne, changer son type ou modier une contrainte NOT NULL en faisant appel aux commandes : { ALTER TABLE nom table RENAME COLUMN ancien nom TO nouveau nom ; { ALTER TABLE nom table ALTER COLUMN nom colonne TYPE nouveau type ; { ALTER TABLE nom table ALTER COLUMN nom colonne SET DROP NOT NULL ; Dans tous les cas, si la colonne contient des donnees, il faut s'assurer que le nouveau type est compatible avec les donnees existantes. Exercice 4. Modier la table personne an d'autoriser la saisie de noms ayant jusqu'a 30 lettres. 3.3 Modication de contraintes de table On peut ajouter ou supprimer les contraintes d'une table en faisant appel aux commandes suivantes : { ALTER TABLE nom table ADD [CONSTRAINT nom contrainte] contrainte ; { ALTER TABLE nom table DROP CONSTRAINT nom contrainte ; Remarque : Si les contraintes n'ont pas ete nommees, un nom par defaut leur est attribue an que l'on puisse les supprimer ulterieurement! Exercice 5. Modier les tables personne et voiture an de prendre en compte les contraintes suivantes : 3

{ Les colonnes nom et prenom de la table personne forment une clef primaire. { Les colonnes nom propt et prenom propt de la table voiture forment une clef etrangere se referant aux colonnes nom et prenom de la table personne. { la colonne age de la table personne doit contenir des donnees qui, lorsqu'elles sont non NULL, doivent ^etre en accord avec la date de naissance ddn de la personne. On se reportera a la documentation disponible en ligne pour savoir comment eectuer des operations sur les dates et recuperer la date courante. 4 Modier le contenu d'une base 4.1 Ajout de lignes La commande INSERT permet d'inserer une ligne dans une table en speciant les valeurs a inserer. La syntaxe est la suivante : INSERT INTO nom table(nom col 1, nom col 2, ) VALUES (val 1, val 2) La liste des noms de colonne est optionnelle. Si elle est omise, la liste des colonnes sera par defaut la liste de l'ensemble des colonnes de la table dans l'ordre de la creation de la table. Si une liste de colonnes est speciee, les colonnes ne gurant pas dans la liste auront la valeur NULL. Exercice 6. Ajouter dans la table personne les personnes suivantes : { M. Paul Dupont, ne le 05 Juin 1946, demeurant a Montrouge { Mme Michele Dulong, nee le 03 Juillet 1963, demeurant a Maubeuge { M. Dominique Ducourt ne le 23 Mars 1956, demeurant a Elancourt { Melle Julie Dupuy nee le 28 Mai 1980, demeurant a Meudon Exercice 7. Ajouter dans la table voiture les vehicules suivants : { la voiture numero 123, de marque Renault, classe en puissance 4, appartenant a M. Paul Dupont, de prix 15000 e dont taxe 150. { la voiture numero 160, de marque Renault, classe en puissance 3, appartenant a M. Paul Dupont, de prix 10000 e dont taxe 100. { la voiture numero 190, de marque Citroen, classe en puissance 4, appartenant a Mme Michele Dulong, de prix 8000 e dont taxe 80. { la voiture numero 500, de marque Peugeot, classe en puissance 4, appartenant a M. Michele Dulong, de prix 9500 e dont taxe 95. { la voiture numero 600, de marque Renault, classe en puissance 3, de proprietaire inconnu, de prix 9000 e dont taxe 90. 4

4.2 Modication de lignes La commande UPDATE permet de modier les valeurs d'une ou plusieurs colonnes, dans une ou plusieurs lignes existantes d'une table. La syntaxe est la suivante : UPDATE nom table SET nom col 1 = expression 1, nom col 2 = expression 2 nom col p = expression p WHERE predicat Les valeurs des colonnes nom col1, nom col2,, nom colp sont modiees dans toutes les lignes satisfaisant au predicat. En l'absence d'une clause WHERE, toutes les lignes sont mises a jour. Les expressions expression1, expression2, peuvent faire reference aux anciennes valeurs de la ligne. Exercice 8. Augmenter de 1% les taxes appliquees au prix des voitures. 4.3 Suppression de lignes La commande DELETE permet de supprimer des lignes d'une table. La syntaxe est la suivante : DELETE FROM nom table WHERE predicat ; Toutes les lignes pour lesquelles predicat est evalue a vrai sont supprimees. En l'absence de clause WHERE, toutes les lignes de la table sont supprimees. Exercice 9. Supprimer tous les voitures dont le proprietaire est M. Paul Dupont. Lors de la correction, une grande attention sera portee a presentation du rapport. la clarte des reponses et la 5