0% ont trouvé ce document utile (0 vote)
6 vues5 pages

SGBD

Transféré par

Roudaina Saoudi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues5 pages

SGBD

Transféré par

Roudaina Saoudi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

1.

Tables

 Définition : Structure contenant des lignes et des colonnes.

 Création :

 CREATE TABLE employes (

 id NUMBER PRIMARY KEY,

 nom VARCHAR2(50) NOT NULL,

 salaire NUMBER CHECK (salaire > 0),

 departement_id NUMBER REFERENCES departements(id)

);

 Contraintes : PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, CHECK, DEFAULT.

2. Vues (VIEW)

 Définition : Table virtuelle basée sur une requête.

 Création :

 CREATE VIEW vue_employes AS

SELECT nom, salaire FROM employes WHERE salaire > 3000;

 Avantages : Sécurité, simplification des requêtes.

3. Séquences

 Définition : Générateur automatique de valeurs uniques.

 Création :

CREATE SEQUENCE seq_employe START WITH 1 INCREMENT BY 1;

 Utilisation :

INSERT INTO employes (id, nom, salaire) VALUES (seq_employe.NEXTVAL, 'Ali', 4000);
4. Index

 Définition : Améliore la rapidité des recherches.

 Création :

CREATE INDEX idx_nom ON employes(nom);

5. Synonymes

 Définition : Alias pour un objet de la base.

 Création :

CREATE SYNONYM syn_employe FOR employes;

6. Insertion, Mise à Jour et Suppression

 Insertion :

INSERT INTO employes (id, nom, salaire) VALUES (1, 'Ali', 5000);

 Mise à jour :

UPDATE employes SET salaire = 6000 WHERE id = 1;

 Suppression :

DELETE FROM employes WHERE id = 1;

7. Extraction des Données (SELECT)

 Sélection simple :

SELECT * FROM employes;

 Avec condition :

SELECT nom FROM employes WHERE salaire > 3000;

 Tri des résultats :

SELECT nom FROM employes ORDER BY salaire DESC;


 Fonctions d’agrégation :

o COUNT(), SUM(), AVG(), MAX(), MIN()

o Ex :

SELECT AVG(salaire) FROM employes;

8. Sous-interrogations (Subqueries)

 Exemple : Trouver l'employé avec le salaire le plus élevé :

SELECT nom FROM employes WHERE salaire = (SELECT MAX(salaire) FROM employes);

9. Opérations ensemblistes

 UNION : Fusionner des résultats sans doublons.

SELECT nom FROM employes UNION SELECT nom FROM stagiaires;

 UNION ALL : Fusionner avec doublons.

 INTERSECT : Résultats communs entre deux requêtes.

 MINUS : Différence entre deux requêtes.

10. CASE (Conditions dans SELECT, UPDATE, ORDER BY, GROUP BY)

 Exemple avec SELECT :

 SELECT nom,

 CASE

 WHEN salaire > 5000 THEN 'Elevé'

 WHEN salaire BETWEEN 3000 AND 5000 THEN 'Moyen'

 ELSE 'Bas'

 END AS niveau_salaire

FROM employes;
 Exemple avec UPDATE :

 UPDATE employes

 SET prime =

 CASE

 WHEN salaire > 5000 THEN 1000

 ELSE 500

END;

 Exemple avec ORDER BY :

 SELECT nom FROM employes

ORDER BY CASE WHEN salaire > 5000 THEN 1 ELSE 2 END;

11. Modèle et Structure de Programme en PL/SQL

 Bloc Anonyme :

 DECLARE

 v_salaire NUMBER;

 BEGIN

 SELECT salaire INTO v_salaire FROM employes WHERE id = 1;

 DBMS_OUTPUT.PUT_LINE('Salaire : ' || v_salaire);

END;

 Structures de contrôle :

o IF-THEN-ELSE :

o DECLARE

o salaire NUMBER := 4000;

o BEGIN

o IF salaire > 5000 THEN


o DBMS_OUTPUT.PUT_LINE('Salaire élevé');

o ELSIF salaire BETWEEN 3000 AND 5000 THEN

o DBMS_OUTPUT.PUT_LINE('Salaire moyen');

o ELSE

o DBMS_OUTPUT.PUT_LINE('Salaire bas');

o END IF;

END;

o Boucle FOR :

o FOR i IN 1..10 LOOP

o DBMS_OUTPUT.PUT_LINE(i);

END LOOP;

Vous aimerez peut-être aussi