1 / 23

Caractéristiques Bâti sur le modèle relationnel.

Présentation du langage SQL / ORACLE. 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. COMMIT ROLLBACK

leena
Download Presentation

Caractéristiques Bâti sur le modèle relationnel.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation du langage SQL / ORACLE • 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.

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

  3. Langage Manipulation des Données LMD

  4. ORDRE SELECT SELECT [DISTINCT | ALL] { * | { [schema.]{table | view | snapshot}.* | expr } [ [AS] c_alias ] [, { [schema.]{table | view | snapshot}.* | expr } [ [AS] c_alias ] ] ... } FROM [schema.]{table | view | subquery | snapshot}[@dblink] [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]

  5. ORDRE SELECT • 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.

  6. ORDRE SELECT • 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 d’un affichage groupé et/ou de l’utilisation des fonctions de groupe. • Les fonctions de groupe

  7. ORDRE SELECT • 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;

  8. Sélection Projection Equi-jointure/Jointure externe Comportements d’une Requête SQL

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

  10. Fonctions non typées DECODE DECODE( 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. GREATEST GREATEST(expr1,expr2,…) Renvoie la plus grande valeur parmi expr1,expr2,… LEAST LEAST(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 Certaines des fonctions numériques utilisées sous SQL

  12. Fonctions alphanumériques

  13. Fonctions DATE

  14. ORDRE SELECT INSERT INTO [schema.]{table | view | subquery }[@dblink] [ (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 | subquery}[@dblink] [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 | view}[@dblink] [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 | view}[@dblink] [, [schema.]{table | view}[@dblink] ]... 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 ALTER CREATE DROP

  21. TYPES DE DONNES

  22. 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]

More Related