La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Caractéristiques Bâti sur le modèle relationnel. Destiné à un large public (informaticien ou non). Langage non procédural. Le seul langage pour dialoguer.

Présentations similaires


Présentation au sujet: "Caractéristiques Bâti sur le modèle relationnel. Destiné à un large public (informaticien ou non). Langage non procédural. Le seul langage pour dialoguer."— Transcription de la présentation:

1 Caractéristiques Bâti sur le modèle relationnel. Destiné à un large public (informaticien ou non). Langage non procédural. Le seul langage pour dialoguer avec la base de données. Son exploitation procédurale passe le PLSQL. Présentation du langage SQL / ORACLE

2 Langage Manipulation Données - LMD - SQL ORACLE Langage Définition Données - LDD - Contrôle Transactions Contrôle sessions Contrôle Système SELECT INSERT UPDATE DELETE TRUNCATE CALL EXPLAIN PLAN LOCK TABLE CREATE ALTER DROP GRANT REVOKE ANALYZE AUDIT COMMENT COMMIT ROLLBACK SAVEPOINT SET TRANSACTION ALTER SESSION SET ROLE ALTER SYSTEM

3 Langage Manipulation des Données LMD

4 SELECT [DISTINCT | ALL] { * | { [schema.]{table | view | snapshot}.* | expr } [ [AS] c_alias ] [, { [schema.]{table | view | snapshot}.* | expr } [ [AS] c_alias ] ]... } FROM [schema.]{table | view | subquery | [t_alias] [, [schema.]... ]... [WHERE condition ] [START WITH condition] [CONNECT BY condition] [[GROUP BY expr [, expr]... [HAVING condition] ] [{UNION | UNION ALL | INTERSECT | MINUS} SELECT command ] [ORDER BY {expr|position} [ASC | DESC] [, {expr|position} [ASC | DESC]]...] [FOR UPDATE [OF [[schema.]{table | view}.]column [, [[schema.]{table | view}.]column]..] [NOWAIT] ORDRE SELECT

5 Clause WHERE Opérateurs de comparaison : = != <> = Prédicat de comparaison : BETWEEN v1 AND v2 IN (v1,v2,v3) IN (SELECT * ……) LIKE %chaine% chaîne impérativement en majuscule. IS NULL / IS NOT NULL. AND OR NOT. EXISTS Clause ORDER BY Tri par ordre croissant ASC ou décroissant DESC sur une ou plusieurs colonnes. UNION UNION ALL INTERSECT MINUS Opérations ensemblistes sur les résultats des requêtes. UNION : toutes les lignes sélectionnées, mais sans doublons. UNION ALL : toutes les lignes sélectionnées avec doublons. INTERSECT : Les lignes communes entre les deux requêtes. MINUS : Les lignes sélectionnées dans une requête et non dans la deuxième requête. Clause CONNECT BY … START WITH Effectue une extraction des lignes selon un ordre hiérarchique prédéfini au niveau de la table. Utilisée dans le cas des relations réflexives. ORDRE SELECT

6 Exemple SELECT no,nom,titre,no_sup FROM e_emp CONNECT BY PRIOR no=no_sup START with titre=PRESIDENT; Ordre GROUP BY … HAVING Réalise des regroupements sur plusieurs enregistrements selon un ou plusieurs critères, en vue dun affichage groupé et/ou de lutilisation des fonctions de groupe. Les fonctions de groupe ORDRE SELECT FONCTIONROLE AVGMoyenne arithmétique SUMSomme MINMinimum dune liste de valeurs MAXMaximum dune liste de valeurs COUNTNombre dapparition (ligne ou colonne) VARIANCEvariance STDDEVÉcart type

7 Exemples SELECT MIN(salaire) "MIN", MAX(salaire) "MAX", AVG(salaire) MOYENNE, STDDEV(salaire) Ecart_type, SUM(salaire) SOMME FROM e_emp WHERE service_no=41; SELECT count(*) "Nombre Employés" FROM e_emp; Remarques importantes Les colonnes figurant dans un SELECT ayant une clause GROUP ne sont que : Des colonnes figurant dans la clause GROUP BY. Des fonctions de groupe. Exemples SELECT service_no,SUM(salaire) SALAIRES FROM e_emp GROUP by service_no; SELECT MAX(count(*)) FROM e_emp GROUP BY service_no; ORDRE SELECT

8 Sélection Equi-jointure/Jointure externe Projection Comportements dune Requête SQL

9 ORDRE SELECT Opérateurs et fonctions Types numériques Non typésType dateType alphanumérique DECODE CASE GREATEST LEAST NVL SYSDATE ADD_MONTHS NEXT_DAY LAST_DAY MONTHS_BETWEEN SUBSTR INSTR UPPER LOWER LTRIM LPAD … ABS CEIL FLOOR MOD POWER ROUND SQRT COS …

10 Fonctions non typées DECODEDECODE( crit, val1, result1 [, val2, result2]... [, default] ) Elle renvoie result1 si critère =val1, result2 si critère=val2,… ou défault dans tous les autres cas. Ex : SELECT DECODE (deptno, 10, 'ACCOUNTING', 20, 'RESEARCH', 30, 'SALES', 40, 'OPERATION', 'NONE') FROM emp;, CASE CASE WHEN cond1 THEN expr1 [cond2 THEN expr2 …] [ELSE expr] END En fonction de la condition vérifiée, l'expression expr est éxecutée. GREATESTGREATEST(expr1,expr2,…) Renvoie la plus grande valeur parmi expr1,expr2,… LEASTLEAST(expr1,expr2, Renvoie la plus petite valeur parmi expr1,expr2,… NVL NVL(expr1,expr2) Renvoie la valeur de expr1 si elle est NOT NULL, sinon expr2.

11 Fonctions numériques FonctionSyntaxeRôle ABSABS(n NUMBER) : NUMBERValeur absolue de n CEILCEIL(n NUMBER) : NUMBEREntier immédiatement >= à n FLOORFLOOR((n NUMBER) : NUMBEREntier immédiatement <= à n MODMOD(n1 NUMBER,n2 NUMBER) : NUMBERReste de division de n1 sur n2 POWERPOWER(n1 NUMBER,e NUMBER) : NUMBERRenvoie n1 puissance e ROUNDROUND(left NUMBER,right BINARY_INTEGER) : NUMBER SIGNSIGN(n NUMBER) : SIGNTYPERenvoie un signe SQRTSQRT(n NUMBER) : NUMBERRacine carrée de n COSCOS(n NUMBER) : NUMBERCosinus de n SINSIN(n NUMBER) : NUMBERSinus de n TANTAN(n NUMBER) : NUMBERTangente de n LNLN(n NUMBER) : NUMBERLogarithme népérien EXPEXP(n NUMBER) : NUMBERExponentielle de n LOGLOG(n NUMBER) : NUMBERLogarithme décimal de n Certaines des fonctions numériques utilisées sous SQL

12 FonctionSyntaxeRôle LENGTHLENGTH(str VARCHAR2) : numériqueLongueur d'une chaîne SUBSTRSUBSTR(str VARCHAR2,pos,length) : chaîneRenvoie une sous-chaîne INSTRINSTR(str1 VARCHAR2,str2 VARCHAR2,pos,nocc) Pos et nocc sont facultatives Position d'une ss-chaîne dans une chaîne UPPERUPPER(str VARCHAR2) : chaîneRenvoie en MAJUSCULE LOWERLOWER(str VARCHAR2) : chaîneRenvoie en minuscule LPADLPAD(char1,n [,char2]) pad est facultatif Complète à gauche la chaîne par des pads. RPADRPAD(str VARCHAR2,len,pad) : chaîne pad est facultatif Complète à gauche la chaîne par des pads. LTRIMLTRIM(VARCHAR2[,set])Supprime les sets à gauche RTRIMLTRIM(VARCHAR2[,set])Supprime les sets à droite REPLACEREPLACE(char, search_string [,replacement_string])Remplacement d'une ss-chaîne dans une chaîne ASCIIASCII(ch CHAR)Code ASCII d'un caractère INITCAPINITCAP(str VARCHAR2) : chaîneRenvoie première lettre en CAPITAL CHRCHR(n NUMBER) : NUMBERCaractère du code ASCII n Fonctions alphanumériques

13 Fonctions DATE FonctionSyntaxeRôle SYSDATE Retourne la date OS ADD_MONTHSADD_MONTHS(date1,n)Rajoute n mois à la date date1 MONTHS_BETWEENMONTHS_BETWEEN(date1,date2)Nombre de mois entre date1 et date2 LAST_DAYLAST_DAY(date1)Date du dernier du mois de date1 NEXT_DAYNEXT_DAY(date1,str)Date du prochain jour indiqué par str TO_DATETO_DATE(char [, fmt [, 'nlsparams'] ]) Conversion d'une chaîne de caractère en date selon le format fmt ROUNDROUND(date1[,fmt])Arrondit date1 selon le format fmt

14 ORDRE SELECT INSERT INTO [schema.]{table | view | subquery [ (column [, column]...) ] {VALUES (expr [, expr]...) | subquery } Exemple INSERT INTO e_continent VALUES (7,'Arctiue'); 1 ligne insérée

15 ORDRE UPDATE UPDATE [schema.]{table | view | [alias] SET { (column [, column]...) = (subquery) | column = { expr | (subquery) } } [, { (column [, column]...) = (subquery) | column = { expr | (subquery) } } ]... [WHERE condition] Exemple UPDATE emp SET enom='BENOIT', salaire=2000 WHERE empno=7155; 1 ligne mise à jour

16 ORDRE DELETE DELETE [FROM] [schema.]{table | [alias] [WHERE condition] Exemple DELETE FROM emp WHERE empno=7155; 1 ligne supprimée

17 ORDRE TRUNCATE TRUNCATE {TABLE [schema.]table | CLUSTER [schema.]cluster} [ {DROP | REUSE} STORAGE] Permet la suppression de toutes les lignes d'une table.

18 ORDRE EXPLAIN PLAN Cette commande permet de déterminer le plan d'exécution d'un requête SQL, en donnant le coût d'exécution en terme de nombre d'accès. Syntaxe EXPLAIN PLAN FOR Requête SQL; Les résultats sont consigés dans la view TABLE_PLAN, créée par le script UTLXPLAN.sql SQL>desc TABLE_PLAN Exemple EXPLAIN PLAN FOR SELECT * FROM SCOTT.EMP; SELECT LPAD(' ',2*(LEVEL-1)||operation "Opération",options,object_name,position FROM plan_table;

19 ORDRE LOCK TABLE Cette ordre permet de poser des verrous sur les enregistrements d'une table. Syntaxe LOCK TABLE [schema.]{table | [, [schema.]{table | ]... IN lockmode MODE [NOWAIT] Les valeurs du paramètre lockmode sont : ROW SHARE ROW EXCLUSIVE SHARE UPDATE SHARE SHARE ROW EXCLUSIVE EXCLUSIVE Exemple LOCK TABLE emp IN ROW SHARE MODE NOWAIT Le mode NOWAIT : Si la table est déjà verrouillée, on est saisi par un message Oracle sans attente.

20 Langage Définition des Données LDD DROP ALTER CREATE

21 TYPES DE DONNES TypeSyntaxeRemarques / Exemple NUMBERNUMBER [(total [, Décimal])]Total est max égal à 38. Salaire NUMBER(7,2) CHARCHAR [(longueur)]Nom CHAR(15) VARCHAR2VARCHAR2 [(longueur)]Le type chaîne le plus efficace sous Oracle DATE Date_Naiss DATE RAWRAW (longueur)Géré comme le VARCHAR2, mais pas affichable. Seq RAW(100) LONG Permet de stocker des chaînes d'une longueur max de 2 Go. Texte LONG LONG RAW Stockage de fichiers binaires comme les images, son et de la vidéo. Longueur max est 2Go Photo LONG RAW

22 TypeSyntaxeRemarques / Exemple BLOB Binaires de type long CLOB Caractères codées sur 2 octets NCLOB Caractères codés sur 4 octets ROWID Chaîne de 18 caractère donnant l'adresse unique d'un enregistrement. TYPES DE DONNES Les LOB (Large Objects) permettent le stockage de 4 Go de données dans la base, ils existent depuis la version 8 d'Oracle, il existe 3 types (BLOB, CLOB, NCLOB).

23 LES TABLES Création CREATE TABLE [schema.]table ( { column datatype [DEFAULT expr] [column_constraint]... | table_constraint} [,{ column datatype [DEFAULT expr] [column_constraint]... | table_constraint} ]...) [ [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace] [STORAGE storage_clause] [ RECOVERABLE | UNRECOVERABLE ] [ PARALLEL ( [ DEGREE { integer | DEFAULT } ] [ INSTANCES { integer | DEFAULT } ] ) | NOPARALLEL ] [ CACHE | NOCACHE ] | [CLUSTER cluster (column [, column]...)] ] [ ENABLE enable_clause | DISABLE disable_clause ]... [AS subquery]


Télécharger ppt "Caractéristiques Bâti sur le modèle relationnel. Destiné à un large public (informaticien ou non). Langage non procédural. Le seul langage pour dialoguer."

Présentations similaires


Annonces Google