DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

Programme Introduction aux BD et aux SGBD Le modèle relationnel
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
SGBD – Oracle Cours BD LF2 info
T ECHNOLOGIES O RACLE Création et gestion des objets © sebvita.com.
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
Gérer les tablespaces et les fichiers de données
LE LANGAGE SQL Langage de manipulation de données (LMD)
Initiation aux bases de données et à la programmation événementielle
SQL: Contraintes et Triggers
SQL partie3: Langage de définition des données
Création de bases de données
Management of Information Technology - e-business
Bases de Données Avancées - TP2: SQL
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
Maria Berger - Maîtrise d'AES
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation.
SQL Partie 1.
SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.
Problèmes BD. Bases de données - Yann Loyer2 Problèmes BD Ensemble de problèmes couramment rencontrés lors du développement d’applications de bases de.
Chap 4.5 : SQL (LDD) LDD : Langage de définition de données Réfs : Manuel p105.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Gérer la sécurité des mots de passe et les ressources
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Créer des packages.
(Procedural Language / Structured Query Language)
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
PostgreSQL – Présentation
Module 4 : Implémentation de l'intégrité des données.
Sélection de colonnes (la projection)
Structure de stockage et relations
Gérer les rôles.
Les Contraintes.
Gérer les utilisateurs
SQL : Langage de Manipulation des données
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Cours SQL.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Création et Gestion de Tables
Le Langage de Définition de Données LDD
Les vues Une vue: c’est une relation virtuelle. Définie par:
13 Copyright © Oracle Corporation, Tous droits réservés. Gérer l'intégrité des données.
Définition des contraintes Vérification des contraintes Triggers
Modélisation des données Notions de base DON-1 V0-0.
Le Langage de Définition de Données LDD. 2 Les ordres et les objets Ordre CREATE –Création de la structure de l’objet  DD Ordre DROP –Suppression des.
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Les bases de données Séance 8 Jointures.
MANIPULATION DES DONNEES : mise à jour des n-uplets.
Le langage SQL.
Initiation aux bases de données et à la programmation événementielle
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction au langage PL/SQL
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Bases de données – Cours 3
Le Langage de Manipulation de Données LMD Module 6.
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Le langage de définition de données B.T.S. S.I.O – SI3 –
Structured Query Language SQL DDL
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Transcription de la présentation:

DEFINITION DES DONNEES : schéma conceptuel

Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la structure d'une relation DROP TABLEsuppression des n-uplets et de la relation RENAMErenomme une table existante

CREATE TABLE CREATE TABLE table ( attribut type [DEFAULT expr] [contrainte_att] [, attribut type [DEFAULT expr] [contrainte_att] …] [contrainte_rel] [,contrainte_rel…] ) [ ENABLE clause_enable] [ DISABLE clause_disable] [ AS subquery ]

relation, d'attribut : convention nom doit commencer par une lettre longueur : de 1 à 30 caractères doit uniquement contenir les car : A-Z, a-z, 0-9 _, $, # : autorisés mais déconseillés ne doit pas être le nom d'un autre objet propriété du même utilisateur ne doit pas être un mot réservé Oracle

Types de données chaînes de caractères données numériques date données binaires

types : chaînes de caractères CHAR(size)longueur fixe max = 255 (v7), 2000(v8) bytes VARCHAR2(size)longueur variable (en bytes) max = 2000 (v7), 4000 (v8) LONGlongueur variable, max = 2 gigabytes (v7 et v8) CLOBversion 8 max = 4 gigabytes

types : données numériques NUMBER(p,s)données numériques p :précision nbre de chiffres, p є [1, 38] s :scale nbre de chiffres après la virgule, s є [-84, 127] NUMBER(p) : s=0 NUMBER : p=38, s indéfini

types : dates DATEJour et heure : siècle+année+mois+jour+heure+mn+sec [ 01/01/ -4712, 31/12/4712 ] (version 7) [ 01/01/ -4712, 31/12/9999 ] (version 8)

valeur de l'attribut après une op. d'insertion : valeur donnée dans l'instruction INSERT valeur par défaut (déf. dans la clause DEFAULT pour cet attribut dans la table) NULL si autorisée (contrainte att. ou rel.) OK erreur clause DEFAULT

DEFAULT expr Expression : littéral expression fonction SQL Restrictions : compatibilité de types ne peut contenir de référence à d'autres att. constante date non complètement spécifiée (v7)

Contraintes définie lors de la création de la table ou modification ultérieure de la table possède un nom unique donné par l'utilisateur ou généré automatiquement par Oracle (SYS_Cn)

contraintes : types NOT NULLvaleur NULL interdite PRIMARY KEYattribut(s) constituant la clé primaire UNIQUEattribut(s) dont la valeur est unique pour toute la table FOREIGN KEYattribut(s) constituant une clé étrangère CHECKcondition qui doit être vraie

contrainte et clés relations avec plusieurs clés une seule PRIMARY KEY autorisée autres clés : emploi de UNIQUE (sans limite) par défaut, valeur NULL interdite pour tout attribut de la clé primaire soit la PRIMARY KEY autorisée pour le(s) attribut(s) de UNIQUE, FOREIGN KEY

contrainte d'attribut / contrainte de relation pas de différence fonctionnelle légère différence au niveau de la syntaxe Choix sauf dans les situations suivantes : NOT NULL : contrainte d'attribut clé (primaire ou étrangère, unique) avec plusieurs attributs : contrainte de relation

CHECK (condition) Restrictions fortes pour la condition acceptée : Cte ou autre colonne du même n-uplet Interdit référence à des pseudo-col. ( CURRVAL, NEXTVAL,… ) appel à certaines fonctions : sysdate,… requêtes à des valeurs d'autres lignes  rang de valeurs permises  vérification nom en majuscule

contrainte d'attribut : syntaxe [ CONSTRAINT constraint ] { [ NOT ] NULL UNIQUE PRIMARY KEY REFERENCES [schéma.]table [(attributs)] [ ON DELETE CASCADE ] CHECK (condition) } [DISABLE]

contrainte de relation : syntaxe [ CONSTRAINT constraint ] { UNIQUE ( attribut [,attribut…] ) PRIMARY KEY (attribut [,attribut…] ) FOREIGN KEY (attribut [,attribut…] ) REFERENCES [schéma.]table [ (attribut [,attribut…] )] [ ON DELETE CASCADE ] CHECK (condition) } [DISABLE]

exemple : base "projet" create table tâche ( id number(3) primary key, nom varchar2(25) ) create table intervenant ( projet number(3) references projet, tâche number(3) references tâche, personne number(3) references personne, primary key (projet, tache, personne) )

exemple : base "projet" create table intervenant ( projet number(3), tâche number(3), personne number(3), primary key (projet, tache, personne), foreign key (projet) references projet, foreign key (tâche) references tâche, foreign key (personne) references personne )

exemple : base "projet" create table intervenant ( projet number(3) primary key, tâche number(3) primary key, personne number(3) primary key ) interdit

exemple : table planning create table planning ( id number(3) primary key, début date not null, durée number(4) not null, fin date, check (durée > 1), check (fin > début) )

contrainte : activation Une CI peut être rendue active (par défaut) : enable inactive: disable Précisé lors de la définition de la CI ou dans une clause dont la syntaxe est : ENABLE CONSTRAINT constraint DISABLE CONSTRAINT constraint [ CASCADE ]  il faut connaître le nom de la CI  catalogues

création et insertion immédiate CREATE TABLE table [ ( attribut … [,attribut…] ) ] AS subquery création de la table, insertion de n-uplets concordance nombre d'attributs attributs définis avec nom et valeurs par défaut ex : create table test as select * from personne

ALTER TABLE Rel. donnée, modifications autorisées : ajouter un attribut (toujours en dernière position) redéfinir un attribut (type, taille, val. défaut) ajouter / supprimer une CI activer / désactiver une CI modifier les caractéristiques de stockage impossible de supprimer directement un attribut modifier directement une CI

ALTER TABLE ALTER TABLE table [ clause_add | clause_modify | DROP clause_drop | … ] [ENABLE clause_enable ] [DISABLE clause_disable ] itération possible itération possible, idem création

ALTER TABLE : clause_add Ajout d'attribut(s) et/ou de CI : ADD ( attribut type [DEFAULT expr] [contrainte_att] | contrainte_rel ) plusieurs ajouts : ADD (ajout1, ajout2, …) idem création de la table

ALTER TABLE : clause_modify modification de la déf. d'attribut(s) existants MODIFY ( attribut [type] [ DEFAULT expr] [ NULL | NOT NULL ] ) plusieurs modifications : MODIFY (m1, m2, …) parties optionnelles non données  non modifiées restrictions : CI, réduction taille, …

ALTER TABLE : DROP Suppression d'une CI DROP [PRIMARY KEY | UNIQUE (attribut [,attribut …] ) | CONSTRAINT contrainte ] [ CASCADE ] CASCADE : suppressions en cascade des CI qui dépendent de la CI supprimée (ex : foreign keys)

ALTER TABLE : exemples alter table personne add ( constraint uni unique (nom, formation), ville varchar2(30) ) alter table personne modify (nom varchar2(15), salaire default 15000) alter table personne drop constraint uni

DROP TABLE DROP TABLE table [CASCADE CONSTRAINTS] Supprime la table du dictionnaire ainsi que tous ses n-uplets, index, blocs physiques, vues… CASCADE CONSTRAINTS : pour demander la suppression de toutes les CI dans les autres tables de la base qui font référence à la clé primaire et aux clés uniques de la table supprimée

RENAME Pour renommer une table existante, RENAME ancien_nom TO nouveau_nom  m.à.j des liens réalisée automatiquement (CI référentielles, …) ex : rename collaboration to coopération