10 Copyright © 2004, Oracle. Tous droits réservés. Créer d'autres objets de schéma.

Slides:



Advertisements
Présentations similaires
T ECHNOLOGIES O RACLE Création et gestion des objets © sebvita.com.
Advertisements

Limiter et trier des données
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Créer des packages.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Les Contraintes.
Création et Gestion de Tables
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
4 Copyright © Oracle Corporation, Tous droits réservés. Gérer les sous-programmes.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Les bases de données Séance 8 Jointures.
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
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.
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.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
SQL partie 5 1 LMD create – update – primary key secondary key.
Le langage de définition de données B.T.S. S.I.O – SI3 –
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
1- phpMyAdmin 3ème partie : Manipulation des données Le langage SQL 2- Gérer les tables 3- Gérer les données.
SQL partie 1 Langage de Définition de Données. SQL est un langage de définition de données  SQL est un langage de définition de données (LDD), c'est-à-dire.
Intégration web & Base de données 1 Intégration Web & Base de DonnéesMariem Farhat Intérêt des bases de données pour le Web Cours préparé par : Mariem.
Environnement du développement de BD ORACLE REPORTS 10g
Introduction aux Systèmes de Gestion de Bases de données
ملخص Initiation à la sgbdr
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Structured Query Language SQL DDL
Langage de manipulation de données (LMD)
Sous menu de l’application «micro» (‘IHM’)
Collecte de données CAPI
Module 12 : Configuration et gestion des disques
Généralité sur les bases de données
Les bases de données et le modèle relationnel
Langage de Manipulation des Données LMD
Module 5 : Gestion des disques.
SQL LID – INTERROGATIN DES DONNEES
SQL LMD FICHE 4.6.
Manipulation D’Une Base De Données
Langage d’interrogation des Données LID
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
4 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données agrégées à l'aide des fonctions de groupe.
5 Copyright © 2004, Oracle. Tous droits réservés. Afficher des données de plusieurs tables.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
7 Copyright © 2004, Oracle. Tous droits réservés. Utiliser les opérateurs ensemblistes.
8 Copyright © 2004, Oracle. Tous droits réservés. Manipuler les données.
9 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des instructions LDD pour créer et gérer des tables.
11 Copyright © 2004, Oracle. Tous droits réservés. Gérer les objets à l'aide de vues du dictionnaire de données.
Préface. Préface-3 Profil Avant de commencer Avant de commencer ce cours, vous devez savoir utiliser une interface graphique. Vous devez en outre être.
Préface Introduction Objectifs du chapitre I-2 Objectifs du cours I-3 Oracle10g I-4 Oracle Database 10g I-6 Oracle Application Server 10g I-7 Oracle Enterprise.
C Copyright © 2004, Oracle. Tous droits réservés. Syntaxe des jointures Oracle.
D Copyright © 2004, Oracle. Tous droits réservés. Utiliser SQL*Plus.
Remarque : Un nombre ou une lettre en gras fait référence à un chapitre entier ou à une annexe entière. A Affichage des dates par défaut 02-06, Ajouter.
Module 12 : Configuration et gestion des disques
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
Les classes et les objets
7 Contraintes d’intégrité en SQL
Semaine 3 Retour sur la semaine 2 Plan de séance
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Info Bases de données avancées
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.
© Robert Godin. Tous droits réservés.
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Apprentissage de la lecture au cycle 2
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Opérateurs Ensemblistes
Transcription de la présentation:

10 Copyright © 2004, Oracle. Tous droits réservés. Créer d'autres objets de schéma

Copyright © 2004, Oracle. Tous droits réservés. Objectifs A la fin de ce chapitre, vous pourrez : créer des vues simples et complexes extraire des données à partir de vues créer, gérer et utiliser des séquences créer et gérer des index créer des synonymes privés et publics

Copyright © 2004, Oracle. Tous droits réservés. Objets de base de données ObjetDescription TableUnité de stockage de base ; constituée de lignes VueReprésentation logique de sous-ensembles de données d'une ou de plusieurs tables SéquenceGénère des valeurs numériques IndexAméliore les performances de certaines interrogations SynonymeAffecte d'autres noms aux objets

Copyright © 2004, Oracle. Tous droits réservés. Qu'est-ce qu'une vue ? Table EMPLOYEES

Copyright © 2004, Oracle. Tous droits réservés. Avantages des vues Restreindre l'accès aux données Simplifier les interrogations complexes Permettre l'indépendance des données Présenter les mêmes données sous différentes vues

Copyright © 2004, Oracle. Tous droits réservés. Vues simples et vues complexes FonctionnalitéVues simplesVues complexes Nombre de tablesUneUne ou plusieurs Contient des fonctionsNonOui Contient des groupes de données NonOui Opérations LMD par l'intermédiaire d'une vue OuiPas toujours

Copyright © 2004, Oracle. Tous droits réservés. Créer une vue Incluez une sous-interrogation dans l'instruction CREATE VIEW : La sous-interrogation peut contenir une syntaxe SELECT complexe. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY [CONSTRAINT constraint]];

Copyright © 2004, Oracle. Tous droits réservés. Créer une vue Créer la vue EMPVU80, qui contient les informations relatives aux employés du département 80 : Décrire la structure de la vue à l'aide de la commande i SQL*Plus DESCRIBE : DESCRIBE empvu80 CREATE VIEW empvu80 AS SELECT employee_id, last_name, salary FROM employees WHERE department_id = 80; View created.

Copyright © 2004, Oracle. Tous droits réservés. Créer une vue Créer une vue à l'aide d'alias de colonne dans la sous-interrogation : Sélectionner les colonnes de cette vue par les noms d'alias indiqués : CREATE VIEW salvu50 AS SELECT employee_id ID_NUMBER, last_name NAME, salary*12 ANN_SALARY FROM employees WHERE department_id = 50; View created.

Copyright © 2004, Oracle. Tous droits réservés. SELECT * FROM salvu50; Extraire des données d'une vue

Copyright © 2004, Oracle. Tous droits réservés. Modifier une vue Modifiez la vue EMPVU80 en utilisant une clause CREATE OR REPLACE VIEW. Ajoutez un alias pour chaque nom de colonne : Les alias de colonne dans la clause CREATE OR REPLACE VIEW sont répertoriés dans le même ordre que les colonnes de la sous-interrogation. CREATE OR REPLACE VIEW empvu80 (id_number, name, sal, department_id) AS SELECT employee_id, first_name || ' ' || last_name, salary, department_id FROM employees WHERE department_id = 80; View created.

Copyright © 2004, Oracle. Tous droits réservés. Créer une vue complexe Créez une vue complexe contenant des fonctions de groupe pour afficher les valeurs de deux tables : CREATE VIEWdept_sum_vu (name, minsal, maxsal, avgsal) AS SELECT d.department_name, MIN(e.salary), MAX(e.salary),AVG(e.salary) FROM employees e, departments d WHERE e.department_id = d.department_id GROUP BY d.department_name; View created.

Copyright © 2004, Oracle. Tous droits réservés. Règles concernant les opérations LMD sur une vue Vous pouvez généralement effectuer des opérations LMD sur des vues simples. Vous ne pouvez pas supprimer une ligne si la vue contient les éléments suivants : –Des fonctions de groupe –Une clause GROUP BY –Le mot-clé DISTINCT –Le mot-clé ROWNUM de pseudo-colonne

Copyright © 2004, Oracle. Tous droits réservés. Règles concernant les opérations LMD sur une vue Vous ne pouvez pas modifier les données d'une vue si cette vue contient : Des fonctions de groupe Une clause GROUP BY Le mot-clé DISTINCT Le mot-clé ROWNUM de pseudo-colonne Des colonnes définies par des expressions

Copyright © 2004, Oracle. Tous droits réservés. Règles concernant les opérations LMD sur une vue Vous ne pouvez pas ajouter de données par l'intermédiaire d'une vue si celle-ci comporte : Des fonctions de groupe Une clause GROUP BY Le mot-clé DISTINCT Le mot-clé ROWNUM de pseudo-colonne Des colonnes définies par des expressions Des colonnes NOT NULL dans les tables de base, qui ne sont pas sélectionnées par la vue

Copyright © 2004, Oracle. Tous droits réservés. Utiliser la clause WITH CHECK OPTION Vous pouvez garantir que les opérations LMD effectuées sur la vue restent dans le domaine de la vue, à l'aide de la clause WITH CHECK OPTION : Toute tentative de modification du numéro de département d'une ligne quelconque de la vue échoue, car elle transgresse la contrainte WITH CHECK OPTION. CREATE OR REPLACE VIEW empvu20 AS SELECT* FROM employees WHERE department_id = 20 WITH CHECK OPTION CONSTRAINT empvu20_ck ; View created.

Copyright © 2004, Oracle. Tous droits réservés. Empêcher les opérations LMD Vous pouvez garantir qu'aucune opération LMD n'est effectuée en ajoutant l'option WITH READ ONLY à la définition de la vue. Toute tentative d'effectuer une opération LMD sur une ligne quelconque de la vue entraîne la génération d'une erreur par le serveur Oracle.

Copyright © 2004, Oracle. Tous droits réservés. CREATE OR REPLACE VIEW empvu10 (employee_number, employee_name, job_title) AS SELECTemployee_id, last_name, job_id FROM employees WHERE department_id = 10 WITH READ ONLY ; View created. Empêcher les opérations LMD

Copyright © 2004, Oracle. Tous droits réservés. Supprimer une vue Vous pouvez supprimer une vue sans perdre de données, car une vue est basée sur les tables sous- jacentes de la base. DROP VIEW view; DROP VIEW empvu80; View dropped.

Copyright © 2004, Oracle. Tous droits réservés. Exercice 10 : présentation de la partie 1 Cet exercice porte sur les points suivants : créer une vue simple créer une vue complexe créer une vue avec une contrainte CHECK tenter de modifier des données d'une vue supprimer des vues

Copyright © 2004, Oracle. Tous droits réservés. Séquences ObjetDescription TableUnité de stockage de base ; constituée de lignes VueReprésente de façon logique des sous-ensembles de données d'une ou plusieurs tables SéquenceGénère des valeurs numériques IndexAméliore les performances de certaines interrogations SynonymeAffecte d'autres noms aux objets

Copyright © 2004, Oracle. Tous droits réservés. Séquences Une séquence : Permet de générer automatiquement des nombres uniques Est un objet pouvant être partagé Peut être utilisée pour créer une valeur de clé primaire Remplace le code de l'application Permet un accès plus rapide aux valeurs lorsqu'elle est placée en mémoire cache

Copyright © 2004, Oracle. Tous droits réservés. Instruction CREATE SEQUENCE : syntaxe Définir une séquence pour générer automatiquement des nombres séquentiels : CREATE SEQUENCE sequence [INCREMENT BY n] [START WITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}];

Copyright © 2004, Oracle. Tous droits réservés. Créer une séquence Créez une séquence nommée DEPT_DEPTID_SEQ à utiliser comme clé primaire dans la table DEPARTMENTS. N'utilisez pas l'option CYCLE. CREATE SEQUENCE dept_deptid_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE; Sequence created.

Copyright © 2004, Oracle. Tous droits réservés. Pseudo-colonnes NEXTVAL et CURRVAL NEXTVAL renvoie la prochaine valeur de la séquence. Elle renvoie une valeur unique chaque fois qu'elle est référencée, même pour des utilisateurs différents. CURRVAL renvoie la valeur actuelle de la séquence. La pseudo-colonne NEXTVAL doit être utilisée pour que CURRVAL contienne une valeur.

Copyright © 2004, Oracle. Tous droits réservés.

Utiliser une séquence Insérer un nouveau département nommé "Support" dans l'emplacement dont l'ID est 2500 : Afficher la valeur actuelle de la séquence DEPT_DEPTID_SEQ : INSERT INTO departments(department_id, department_name, location_id) VALUES (dept_deptid_seq.NEXTVAL, 'Support', 2500); 1 row created. SELECTdept_deptid_seq.CURRVAL FROMdual;

Copyright © 2004, Oracle. Tous droits réservés. Mettre en mémoire cache les valeurs d'une séquence La mise en mémoire cache des valeurs d'une séquence permet un accès plus rapide à ces valeurs. Des trous peuvent apparaître dans les valeurs de la séquence dans les cas suivants : –Une annulation se produit –Le système connaît une défaillance –Une séquence est utilisée dans une autre table

Copyright © 2004, Oracle. Tous droits réservés. Modifier une séquence Modifier la valeur de l'incrément, la valeur maximale, la valeur minimale, l'option de recyclage ou l'option de mise en mémoire cache : ALTER SEQUENCE dept_deptid_seq INCREMENT BY 20 MAXVALUE NOCACHE NOCYCLE; Sequence altered.

Copyright © 2004, Oracle. Tous droits réservés. Règles de modification d'une séquence Vous devez être propriétaire de la séquence ou posséder le privilège ALTER pour la séquence. Seuls les numéros de séquence ultérieurs sont affectés. La séquence doit être supprimée et recréée pour permettre le redémarrage de la séquence à un numéro différent. Une validation est effectuée. Pour supprimer une séquence, utilisez l'instruction DROP : DROP SEQUENCE dept_deptid_seq; Sequence dropped.

Copyright © 2004, Oracle. Tous droits réservés. Index ObjetDescription TableUnité de stockage de base ; constituée de lignes VueReprésente de façon logique des sous-ensembles de données d'une ou plusieurs tables SéquenceGénère des valeurs numériques IndexAméliore les performances de certaines interrogations SynonymeAffecte d'autres noms aux objets

Copyright © 2004, Oracle. Tous droits réservés. Index Un index : Est un objet de schéma Est utilisé par le serveur Oracle pour accélérer l'extraction de lignes à l'aide d'un pointeur Peut réduire les E/S disque à l'aide d'une méthode d'accès permettant de localiser les données rapidement Est indépendant de la table indexée Est utilisé et géré automatiquement par le serveur Oracle

Copyright © 2004, Oracle. Tous droits réservés. Comment les index sont-ils créés ? Automatiquement : un index unique est créé automatiquement lorsque vous incluez une contrainte PRIMARY KEY ou UNIQUE dans la définition d'une table. Manuellement : les utilisateurs peuvent créer des index non-uniques sur des colonnes afin d'accélérer l'accès aux lignes.

Copyright © 2004, Oracle. Tous droits réservés. Créer un index Créer un index sur une ou plusieurs colonnes : Accélérer l'accès des interrogations à la colonne LAST_NAME de la table EMPLOYEES : CREATE INDEX emp_last_name_idx ON employees(last_name); Index created. CREATE INDEX index ON table (column[, column]...);

Copyright © 2004, Oracle. Tous droits réservés. Règles de création des index Créez un index dans les cas suivants :  Une colonne contient un large éventail de valeurs  Une colonne contient un grand nombre de valeurs NULL  Une ou plusieurs colonnes sont fréquemment utilisées ensemble dans une clause WHERE ou une condition de jointure  La table est volumineuse et la plupart des interrogations doivent extraire moins de 2 à 4 % des lignes de la table Ne créez pas d'index dans les cas suivants :  Les colonnes ne sont pas souvent utilisées comme condition dans l'interrogation  La table est petite ou la plupart des interrogations doivent extraire plus de 2 à 4 % des lignes de la table  La table est mise à jour fréquemment  Les colonnes indexées sont référencées dans le cadre d'une expression

Copyright © 2004, Oracle. Tous droits réservés. Supprimer un index Supprimer un index du dictionnaire de données à l'aide de la commande DROP INDEX : Supprimer l'index UPPER_LAST_NAME_IDX du dictionnaire de données : Pour supprimer un index, vous devez en être le propriétaire ou posséder le privilège DROP ANY INDEX. DROP INDEX emp_last_name_idx; Index dropped. DROP INDEX index;

Copyright © 2004, Oracle. Tous droits réservés. Synonymes ObjetDescription TableUnité de stockage de base ; constituée de lignes VueReprésente de façon logique des sous-ensembles de données d'une ou plusieurs tables SéquenceGénère des valeurs numériques IndexAméliore les performances de certaines interrogations SynonymeAffecte d'autres noms aux objets

Copyright © 2004, Oracle. Tous droits réservés. Synonymes Simplifiez l'accès aux objets en créant un synonyme (un autre nom pour un objet). Grâce aux synonymes, vous pouvez : Créer une référence plus simple à une table appartenant à un autre utilisateur Raccourcir le nom des objets CREATE [PUBLIC] SYNONYM synonym FOR object;

Copyright © 2004, Oracle. Tous droits réservés. Créer et supprimer des synonymes Créer un nom abrégé pour la vue DEPT_SUM_VU : Supprimer un synonyme : CREATE SYNONYM d_sum FOR dept_sum_vu; Synonym Created. DROP SYNONYM d_sum; Synonym dropped.

Copyright © 2004, Oracle. Tous droits réservés. Synthèse Ce chapitre vous a permis d'apprendre à : créer, utiliser et supprimer des vues générer automatiquement des numéros de séquence à l'aide d'un générateur de numéros de séquence créer des index afin d'accélérer l'extraction par les interrogations utiliser des synonymes pour affecter des noms alternatifs aux objets

Copyright © 2004, Oracle. Tous droits réservés. Exercice 10 : présentation de la partie 2 Cet exercice porte sur les points suivants : créer des séquences utiliser des séquences créer des index non-uniques créer des synonymes

Copyright © 2004, Oracle. Tous droits réservés.