SlideShare une entreprise Scribd logo
1  sur  111
SQLSQL
Base de DonnéesBase de Données
NormalisationNormalisation
Gestion de l’InformationGestion de l’Information
Cours de gestion des données : Jean-Antoine MoreauCours de gestion des données : Jean-Antoine Moreau
SQLSQL
Structured Query LanguageStructured Query Language
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 3
L ‘ INFORMATIONL ‘ INFORMATION
• La GestionLa Gestion
• Le TraitementLe Traitement
 Des informationsDes informations
– OrganisationsOrganisations
– EntreprisesEntreprises
– InternetInternet
 Système de ManagementSystème de Management
des Donnéesdes Données
 Système d’Information(s)Système d’Information(s)
 Système de Gestion desSystème de Gestion des
DonnéesDonnées
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 4
Le Langage SQLLe Langage SQL
 Langage de Requête
 Permet de Communiquer avec la Base de Données
 Répond à la Norme SQL ANSI
 Compatible avec la modélisation Objet
 Adaptable au traitement des gros volumes de données
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 5
Base de DonnéesBase de Données
• Collection de Données
• Mécanisme organisé pour stocker des
informations et permettre à un utilisateur de
les retrouver et de les utiliser efficacement.
• Exemples de Base de Données
Annuaires
Listes
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 6
Base de Données RelationnelleBase de Données Relationnelle
• Divisée en Unité Logiques
– Classe
– Objet
– Table
• Ces Unités sont reliées par des Relations
• Ces Relations sont
– Décomposables
– Utilisables
•Processus
•SéquencesPar / En
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 7
ArchitectureArchitecture
• Le SQL est compatible avec les Architectures :
– 2 Tier Client / Serveur
– 3 Tier Client léger
– Utiliser par les Architectures supports aux :
• ERP
• Application Internet et Intranet
• Big Data
• Compatible avec les Langages de Programmation
– Interprétés
– Compilés
– Objet
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 8
ConnexionConnexion
Pour Initialiser une Session SQL:
• Connexion à la Base de Données
– Instruction CONNECT
• Option nom de l’utilisateur
• Le serveur de base de donnée (où la base se trouve)
• Le nom de la base de donnée
• Déconnexion
– DISCONNECT
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 9
AdministrationAdministration
• Administration du Serveur de Base de Donnée
• Administration de la Base de Données
• Administration des Données
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 10
CLASSES / OBJETSCLASSES / OBJETS
InstanciationInstanciation
• Table
– Divisée en plusieurs entités appelé champs
• Champ
– Catégorise les informations spécifiques contenues dans la table
– À un champ est rattaché un type de donnée et un seul
• Enregistrement
– Ligne de données (enregistrement complet)
• Colonne
– Entête verticale appartenant à une table
• Clé Primaire (Primary Key)
 Règle d’Unicité
– Colonne qui fait que chaque ligne de la Table est unique
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 11
STRUCTURE de DONNEESSTRUCTURE de DONNEES
• Les Données stockées dans une base de données
– Deviennent des Informations
• Évolutives
• Traçables
• Ouvertes ou Confidentielles
• Types de Données
– Chaînes de caractères
– Chaînes numériques
– Valeurs date et heure
– Booléennes
– …
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 12
STRUCTURE de DONNEESSTRUCTURE de DONNEES
• Les Données stockées dans une base de données
– Deviennent des Informations
• Évolutives
• Traçables
• Ouvertes ou Confidentielles
• Types de Données
– Chaînes de caractères
– Chaînes numériques
– Valeurs date et heure
– Booléennes
– …
OpérationsOpérations
sur ces donnéessur ces données
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 13
VALEURS de DONNEESVALEURS de DONNEES
• Chaînes
– De caractères
• Longueur fixe
• Longueur variable
– Littéral
• Numériques
– Booléen
– Décimal
– Entier
– Flottant
– Réel
– Double Précision
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 14
Les OBJETSLes OBJETS
• Unicité logique <entité> de la base de
données
• Référence et stocke les données
• Interaction entre Objets
• Forme élémentaire de stockage de
données structurées dans la base
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 15
Le SCHEMALe SCHEMA
• Collection structurée d’Objet
• Le Schéma est Propriété d’un utilisateur
• Une Base de Données peut contenir
– Un Schéma
– Plusieurs Schémas
 Deux Tables de même noms sont différentes, si
elles appartiennent à des Schémas Différents
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 16
CREATION d’une TABLECREATION d’une TABLE
• Nom de la TABLE
• Les Données contenues
• Clé primaire
Règle d’unicité
• Nom des colonnes
• Longueur de chaque colonne
• Taille initiale de la TABLE
– Fournie par l’instanciation des diagrammes UML
de Classe et d’Objet
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 17
Exemples de CommandesExemples de Commandes
• Création
– CREAT TABLE <nom-de-la-table>
• Clause STORAGE pour taille initiale
• Modification
– ALTER TABLE <nom-de-la-table>
• Suppression
– DROP
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 18
CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE
• Concept d’Intégrité Référentielle
• Contrainte Clé Primaire <primary Key>
Unicité
– Identification d’une ligne de donnée unique
– Identification par colonne
– Assignation dès la création de la Table
– Contrainte explicite
– Si la clé primaire est définie par la combinaison de
plusieurs colonnes, la composition est définie lors de
la création
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 19
CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE
• Contrainte clé extérieure
• Clé étrangère <foreign Key>
– « Colonne » place dans un tableau < enfant > pour
référencer la clé primaire (notion d’héritage au sens
objet)
– L’Intégrité Référentielle entre les Tables se fait entre
autre par les mécanismes
• clé étrangère / clé étrangère
• clé étrangère clé primaire
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 20
CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE
• Contrainte NOT NULL
– Les valeurs NULL interdites
• Contrainte de vérifications
– CHK (check)
– Exemple :
• Présence obligatoire d’une donnée dans un champ
• Valeur minimum admise
• Suppression des contraintes
– Exemple Commande
• ALTER TABLE option DROP CONSTAINT
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 21
NORMALISATION DE LANORMALISATION DE LA
BASE DE DONNEEBASE DE DONNEE
• Processus qui a pour objectif de réduire la
redondance des données, dans la base de
données
• Sont normalisés
– Les noms
– Les noms des OBJETs
– Les noms des TABLEs
– Les RELATIONS
– Le noms des RELATIONS
– Etc.
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 22
NORMALISATION DE LANORMALISATION DE LA
BASE DE DONNEEBASE DE DONNEE
• Le Processus de Conception est Normalisé
• Le Processus de Modélisation est Normalisé
 Ils sont déclinés dans le Plan d’AssurancePlan d’Assurance
QualitéQualité
• Processus
– Modèle de Package
– Modèle de Classe
– Modèle Objet
– Modèle Logique
– Modèle Physique
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 23
NORMALISATION DE LANORMALISATION DE LA
BASE DE DONNEEBASE DE DONNEE
• Le Processus de Conception est Normalisé
• Le Processus de Modélisation est Normalisé
 Ils sont déclinés dans le Plan d’AssurancePlan d’Assurance
QualitéQualité
• Processus
– Modèle de Package
– Modèle de Classe
– Modèle Objet
– Modèle Logique
– Modèle Physique
•Méga
•Rational
•Objecteering
• …
OUTILSOUTILS
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 24
IMPACT de laIMPACT de la
NORMALISATIONNORMALISATION
• Le Modèle logique:
– Consiste à ordonnancer les données en
groupes alogiques, organisés, structurés,
standardisés; pour en permettre
l’évolutivité, l’adaptabilité, la performance.
– Le Modèle logique est issu du Modèle Objet
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 25
QUESTIONNEMENTQUESTIONNEMENT
• Comment l’utilisateur accèdera à la Base de Données ?
• Comment l’utilisateur accèdera-t-il aux Données ?
• Comment l’utilisateur mettra-t-il à jour les Données ?
• De quels Droits devra-t-il bénéficier ?
• Comment faut-il regrouper les données dans la Base ?
• Quelles sont les Données les plus fréquemment sollicitées ?
• Quelles sont les Relations les plus fréquemment sollicitées ?
• Quelles sont les relations entre données ?
• Quelles sont les Règles à mettre en œuvre pour assurer la
précision des Données ?
• Quelles sont les Règles à mettre en œuvre pour assurer la
traçabilité des Données ?
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 26
Les FORMES NORMALESLes FORMES NORMALES
• Niveaux de Normalisation d’une Base de Données
• Incluses dans le processus de Modélisation UML
• Définit dans le Plan d’Assurance Qualité
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 27
Les FORMES NORMALESLes FORMES NORMALES
• Première Forme Normale :
– Division de la Base de Données en Unités logiques,
nommées TABLEs
– Assignation de la Clé Primaire
– Décomposition des données en unités logiques
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 28
Les FORMES NORMALESLes FORMES NORMALES
• Seconde Forme Normale
– Données dépendant partiellement de la Clé Primaire
• Et mise en place dans une Autre Table
– Éclatement de TABLE en Sous Unités
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 29
Les FORMES NORMALESLes FORMES NORMALES
• Troisième Forme Normale
– Suppression des données qui ne dépendent
pas de la Clé Primaire, dans la TABLE
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 30
NORMALISATIONNORMALISATION
• Permet donc :
– L’Organisation globale de la Base de Donnée
– La Limitation des Données redondantes
– La Cohérence des Données de la Base
– La Souplesse de Conception d’évolution
– Traçabilité
• Des évolutions de Données
• Des évolutions des Règles de GestionRègles de Gestion
– Un Meilleur contrôle de la sécurité
– L’ Efficience de la Documentation
– L’Intégrité des Données
– Le Maintient en Conditions Opérationnelles
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 31
INTEGRITEINTEGRITE
REFERENTIELLEREFERENTIELLE
• Les valeurs des colonnes dépendent d’une valeur donnée d’une
autre TABLE
• Contrôle des valeurs par restriction du périmètre par plage de
valeur en lien avec:
• Méta-Données (type métier)
• Fonctionnel
• Technique
• Sur échange
• Contrôle par l’utilisation des Clés Primaires et étrangères
• Relations / Présence du couple :
• Clé primaire – clé étrangère
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 32
DENORMALISATIONDENORMALISATION
• Dénormaliser une Base de Données
– Réduire / Détruire les niveaux de regroupement
– Risque d’augmentation de Données redondantes
– Baisse de Performance
– Moins d’adaptabilité
– Perte de la traçabilité
– Facteurs de Maintient en Conditions Opérationnelles
sont alors réduits
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 33
OPERATION SUR LESOPERATION SUR LES
DONNEESDONNEES
• DATA MANIPULTATION LANGUAGE
Sélection d’une Donnée
• le <select>
Insérer un Donnée
• l’ <insert>
Mettre à jour un Donnée
• l’<update>
Suppression d’une Donnée
• le <delete>
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 34
INSERTION d’une DONNEEINSERTION d’une DONNEE
dans une TABLEdans une TABLE
• Pseudo-code :
 INSERER dans <nom-table>
la valeur (…..) dans le champ … de la colonne..
• Instruction / Code | Principe :
INSERT INTO <nom-table>
VALUES (…..)
INSERT INTO table-client
(id-client, id-société, num-commande)
VALUES (….,’….’,’…..’)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 35
SELECTIONNER DESSELECTIONNER DES
DONNEES d’une TABLEDONNEES d’une TABLE
• Pseudo-code :
 SELECTIONNER les valeurs PROVENANT de la TABLE
• Instruction / Code | Principe :
SELECT * from client
Sélectionne toutes les lignes des colonnes de la TABLE client
Donnera la liste du contenu, type listing / tableau
SELECT from client
id-client
VALUE ( … )
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 36
MISE A JOUR Des DONNEESMISE A JOUR Des DONNEES
EXISTANTESEXISTANTES
• Mettre à jour une ou plusieurs TABLEs (Objets):
– Table
– Colonne
– Ligne
– Champ
• Vérifier la cohérence des Données
• Instruction / Code | Principe :
update no-de-la-table
set nom-colonne = ‘value’
[where condition];
update nom-table
set colonne1 = ‘value’
[colonne2=‘value’,]
[colonne3=‘value’]
[where condition];
Modèle logique de données
Une seule colonne
Plusieurs colonnes de plusieurs champs
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 37
TRANSACTIONTRANSACTION
• Unité de Tâche qui se déroule dans une Base de Données
• Unité
• Séquence
• Déroulement
– Manuel
– Automatique
• Propagation de changement(s) dans la Base de Données
•Instruction
•Groupe d’Instructions
Un Ordre Logique
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 38
TRANSACTIONTRANSACTION
PROPRIETEs et CONTRAINTEsPROPRIETEs et CONTRAINTEs
• Toute TRANSACTION possède
– Un DEBUT et une FIN
• Une TRANSACTION peut être
– enregistrée ou annulée
 Si une TRANSACTION échoue
– ALORS
• Aucune portion de la TRANSACTION n’est enregistrée dans
la Base de Données
 FIN de SI
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 39
CONTRÔLECONTRÔLE
TRANSACTIONNELTRANSACTIONNEL
• Capacité à gérer plusieurs transaction pouvant se produire dans le
SGBDR
• Les transactions prennent en compte les commandes, leur
combinatoire, leurs options:
– INSERT
– UPDATE
– DELETE
• Lorsque la transaction s’exécute, s’achève avec succès, la table
cible n’est pas immédiatement modifiée, même si le résultat le laisse à
penser.
– Il existe des commandes de transaction, qui finalise la transaction en:
– Enregistrement les modifications
– En annulant les modifications
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 40
COMMANDES de CONTROLECOMMANDES de CONTROLE
TRANSACTIONNELTRANSACTIONNEL
• COMMIT
– Pour la VALIDATION
• ROLLBACK
– Pour l’ANNULATION
• SAVEPOINT
– Pour l’annulation partielle
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 41
EXEMPLESEXEMPLES
• COMIT
delete from produit
where prix <5€
COMIT;
Les produits dont le prix est inférieur à 5€ sont supprimer
<COMIT> - validation
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 42
• ROLLBACK
update produit
set prix = 350.00
where id-produit = ‘1245’
La ligne est mise à jour
ROLLBACK;
Annulation de la mise à jour
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 43
• SAVEPOINT
< label> point-instantané de la transaction à
partir duquel, on pourra annuler la transaction
• Utilisation avec ROLLBACK donne
– ROLLBACK TO nom-du-savepoint
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 44
• Création d’un SAVEPOINT
SAVEPOINT étiquette1
delete from produit where id=‘1234’
SAVEPOINT étiquette2
delete from produit where id=‘12589’
SAVEPOINT étiquette3
delete from produit where id=‘1367910’
ROLLBACK to étiquette2
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 45
• RELEASE SAVEPOINT
– suppression d’un SAVEPOINT existant
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 46
INITIALISATION d’uneINITIALISATION d’une
TRANSACTIONTRANSACTION
• SET TRANSACTION
SET TRANSACTION READ WRITE;
SET TRANSACTION READ ONLY;
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 47
LES REQUETESLES REQUETES
• Demande adressée à la Base de Données
• Extraction des Données dans un format, exploitable en fonction
des Besoins d’utilisation
• INSTRUCTION SELECT
– Fait partie du Data Query Language
– Cette INSTRUCTION n’est pas autonome, elle est accompagnée :
• D’une CLAUSE obligatoire
• D’une CLAUSE optionnelle
• Mots clés de cette instruction
• SELECT
• FROM
• WHERE
• ORDER BY
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 48
SYNTAXESSYNTAXES
• Avec clause Obligatoire
SELECT [ALL | * DISTINCT COLONE1, COLONE2]
FROM TABLE1 [,TABLE2];
FROM : clause obligatoire
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 49
SYNTAXESSYNTAXES
• Avec clause Optionnelle
SELECT [ALL | * DISTINCT COLONE1, COLONE2]
FROM TABLE1 [,TABLE2];
WHERE [CONDITION1 | EXPRESSION1]
[AND CONDITION1 | CONDITION2 ]
FROM : clause obligatoire
WHERE: clause optionnelle
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 50
SYNTAXESSYNTAXES
• Tri des Résultats
SELECT [ALL | * DISTINCT COLONE1, COLONE2]
FROM TABLE1 [,TABLE2];
WHERE [CONDITION1 | EXPRESSION1]
[AND CONDITION1 | CONDITION2 ]
ORDER BY COLONNE1 | INTEGER [ASC @ DESC]
FROM : clause obligatoire
WHERE: clause optionnelle
ORDER BY: clause optionnelle de tri
• Comptage des Enregistrements contenus dans une
table
– SELECT COUNT(x) FROM nom-table
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 51
SYNTAXESSYNTAXES
• Sélection des Données sur un autre Schéma
SELECT Identifiant
FROM nom-schéma.nom-table
Formulation – syntaxe de type objet
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 52
Le CASSE SENSITIVELe CASSE SENSITIVE
• Les commandes SQL ne sont pas « casse
sensitive »
• Elles peuvent donc être saisies en
majuscules ou en minuscules
• Il est souhaitable de définir des règles
d’écriture :
• Des requêtes
• Des programmes
Dans le Plan d’Assurance
Qualité Logiciel de chaque projetIncéréesIncérées
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 53
Les OPERATEURSLes OPERATEURS
• Un Opérateur
– Permet de spécifier des conditions dans une instruction SQL
– Sert de conjonction à plusieurs conditions
• Types d’Opérateur
– Opérateur de comparaison
– Opérateur logique
– Opérateur utilisé pour nier des conditions
– Opérateur arithmétique
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 54
OPERATEUR deOPERATEUR de
COMPARAISONCOMPARAISON
• Utilisé pour Tester
– L’ Égalité
• Signe =
– La non-égalité
• signe < >
– La valeur inférieure
• signe <
– La valeur supérieures
• signe >
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 55
ExempleExemple
• Pseudo – Code
SELECTIONNER dans la TABLE produit
le produit dont le prix est inférieur à 10
• Syntaxe
SELECT
FROM produit
WHERE price < 10
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 56
OPERATEURS LOGIQUESOPERATEURS LOGIQUES
• Ils sont utilisés comme des mots clés pour effectuer des
comparaisons
• Liste d’opérateur logiques
– IS Null (comparaison à la valeur nulle)
– BEETWEEN (entre deux valeurs, dans une plage)
– IN (une valeur dans une liste de valeur)
– LIKE (comme – similitude)
– EXISTS (existence – Présence dans une liste)
– UNIQUE (permet de vérifier l’unicité)
– ALL (compare la valeur à toutes valeurs)
– ANY (compare la valeur à toutes les valeurs applicable d’une liste)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 57
OPERATEURS CONJONCTIFSOPERATEURS CONJONCTIFS
• AND
– le ET logique
– Utilisation de plusieurs conditions en clause
where
• OR
– Le ou logique
– Combinaison de plusieurs conditions dans
une clause where
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 58
NEGATIONNEGATION
• Opérateur NOT
– Cet opérateur inverse la signification de l’opérateur
logique
– Ce qui donne
• Différent de …
• NOT BETWEEN
• NOT IN
• NOT LIKE
• IS NOT NULL
• NOT EXISTS
• NOT UNIQUE
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 59
OPERATEURSOPERATEURS
ARITHMETIQUESARITHMETIQUES
• Effectuent des Opérations mathématiques avec
le SQL
– Adition
+
– Soustraction
_
– Multiplication
* ou x
– Division
/
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 60
ExempleExemple
• Pseudo – code
Sélectionner dans la Table Produit
Les produits pour lesquels le (prix - la remise fidélité)
+
nouvelle augmentation < 10
• Syntaxe
SELECT (prix-remise)+ nouvelle augmentation < 10
FROM Produit
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 61
FONCTION d’AGREGATIONFONCTION d’AGREGATION
• Fourni des informations de synthèse
– Comptage
– Totaux
– Moyennes
– …
• Quelques fonctions d’agrégation
– COUNT
– SUM
– MAX
– MIN
– AVG
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 62
Description de FonctionDescription de Fonction
d’Agrégationd’Agrégation
• COUNT
– Compte les lignes ou les colonnes ne contenant pas de valeur NULL
• SUM
– Retourne le total des valeurs d’une colonne sur un groupe de ligne
• AVG
– Calcul la moyenne d’un groupe de ligne
• MAX
– Retourne la valeur maximale des champs d’une colonne pour un
groupe de lignes
• MIN
– Retourne la valeur minimale d’une colonne dans un groupe de ligne
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 63
TRIER et REGROUPERTRIER et REGROUPER
des DONNEESdes DONNEES
• Regroupement de Données
• Processus consistant à combiner dans un ordre
logique des lignes de données, dont une ou
plusieurs colonnes prennent une valeur
identique
• Clauses
– GROUP BY
• Regroupement de données
– ORDER BY
• Tri des données
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 64
Fonctions de RegroupementFonctions de Regroupement
• Incluent les fonctions
– AVG
– MAX
– MIN
– SUM
– COUNT
• Clauses de complémentarité
• Clause HAVING
– Indique à la clause GROUP BY le groupe à inclure
dans le résultat
– Place des conditions sur des groupes générés par la
clauses GROUP BY
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 65
AGENCEMENT des DONNEESAGENCEMENT des DONNEES
• Fonctions de caractères ANSI
• Représentent des chaînes de caractères dans les
formats du langage SQL
• Fonctions
– Concaténation
– TRANLATE
– REPLACE
– UPPER
– LOWER
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 66
Explicitation des FonctionsExplicitation des Fonctions
• Concaténation
|| ORACLE
Ou suivant les SGBDR SQL server
+ MySQL
• Exemple (Pseudo code)
sélectionner dans la Table des clients
le nom et le prénom
pour définir le non complet
par une concaténation
SELECT nom || ‘,’ || prénom nom_complet
FROM CLIENT
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 67
FONCTIONS suiteFONCTIONS suite
• TRANSLATE
– Recherche une chaîne de caractères
– Vérifié la présence d’un caractère spécifique
– Recherche la chaîne de substitution correspondante
– Remplace le caractère
• Syntaxe
• TRANSLATE (jeu de caractère, valeur1, valeur2)
• REPLACE
– Remplace chaque occurrence d’un ou de plusieurs caractères par
un ou des caractères spécifiques
• Syntaxe
• REPLACE (‘valeur1’,’valeur2’,[NULL] ‘valeur’]
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 68
FONCTIONS suiteFONCTIONS suite
• UPPER
– Convertit les minuscules d’une chaîne de caractère en majuscules
• Syntaxe
• UPPER (chaîne de caractère)
• LOWER
– Convertit en minuscule, les majuscules d’une chaîne de caractères
• Syntaxe
• LOWER (chaîne de caractère)
• SUBSTR
– Extraction d’une partie de chaîne de caractère (sous chaîne de
caractère) d’une chaîne de caractère
• Syntaxe
• SUBSTR (nom de colonne, position de départ, longueur)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 69
FONCTIONS suiteFONCTIONS suite
• INSTR
– Cherche une chaîne de caractère dans un jeux de caractère
– En indique la position
• Syntaxe
• INSTR (nom de colonne, ‘jeux de caractère’ [position de départ
[,occurrence]]);
• LTRIM
– Élimine les caractères situés à gauche de la chaîne
• Syntaxe
• LTRIM (chaîne de caractère [,jeux de caractères’])
• RTRIM
– Élimine les caractères à droite de la chaîne
• Syntaxe
• RTRIM (chaîne de caractères (,’jeux de caractères])
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 70
FONCTIONS de CARACTERESFONCTIONS de CARACTERES
• LENGHT
– Donne la longueur d’une chaîne
• Syntaxe
• LENGHT (chaîne de caractères)
• NVL
– Récupère les valeurs nulles d’une colonne pour les
remplacer par une expression donnée
• Syntaxe
• NVL (‘valeur’,’substitution’)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 71
FONCTIONS de CARACTERESFONCTIONS de CARACTERES
• LPAD
– Ajout de caractères ou d’espace à gauche de la chaîne
• Syntaxe
• LPAD (jeux de caractères)
• RPAD
– Ajout de caractères ou d’espace à droite de la chaîne
• Syntaxe
• RPAD (jeux de caractère)
• ASCII
– Retourne la représentation (code) ASCII du caractère situé le plus à
gauche de la chaîne
• Syntaxe
• ASCII (jeux de caractères)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 72
FONCTIONS MATHEMATIQUESFONCTIONS MATHEMATIQUES
• Syntaxe
– FONCTION (expression)
• FONCTIONS :
– ABS
• Valeur absolue
– ROUND
• Arrondi
– SQRT
• Racine carré
– SIGN
• Valeur signée
– POWER
• À la puissance …
– CEIL
• Valeur plafond
– FLOOR
• Valeur planché
– EXP
• Exponentielle
– SIN
• Sinus
– COS
• Cosinus
– TAN
• Tangente
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 73
FONCTIONS DE CONVERSIONFONCTIONS DE CONVERSION
• Conversion d’un type en au autre type de données
– Caractère en Numérique
– Numérique en Caractère
– Caractère en Date
– Date en Caractère
• Conversion Nombre en Chaîne de Caractères
– STR ( float_expression [ , length [ , decimal ] ] )
– TO_CHAR
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 74
DATE et HEUREDATE et HEURE
• DATE valeur littérale de Date
• TIME valeur littérale d’heure
• TIMESTAMP valeur littérale de date et
d’heure
• Date en cours ou Date Système GETDATE
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 75
DATE et HEUREDATE et HEURE
• Fuseaux horaires
– AST,ADT
– CST,CDT
– GMT
– HST,HDT
– MST,MDT
– PST,PDT
• Comparaison de DATE
– Opérateur OVERLAP(s)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 76
DATE et HEUREDATE et HEURE
• Image de date
– Composée d’élément de mise en forme
– Exemple
• yy année
• dy jour de l’année
• dw jour de la semaine
• mm mois
• hh heure
• mi minute
• ss seconde
• Sur ORACLE
– DAY le nom du jour de la semaine
– MONTH le mois
– yyyy l’année
– HH l’heure
– MI minute de l’heure
– SS seconde de la minute
– DATENAME > conversion en chaîne de caractère
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 77
JOINTURE de TABLEsJOINTURE de TABLEs
Sélection de données dans plusieurs TABLEs
• Jointure jointure combine deux ou plusieurs tables
pour en extraire une ou plusieurs données
• Types de jointures
– Jointure d’égalité
– Jointure naturel(le)
– Jointure de non-égalité
– Jointure externe
– Jointure réflexive
– Jointure croisée
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 78
JOINTURE d’ EGALITEJOINTURE d’ EGALITE
• Sert à joindre deux tables à l’aide d’une
colonne commune
– Exemple: Primary Key
• noms
– EQUIJOIN
– INNER JOIN
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 79
QUALIFICATIONQUALIFICATION
du nom d’une colonnedu nom d’une colonne
• Pour Qualifier le nom d’une colonne dans une
requête, il faut faire précéder le nom de la colonne
par le nom de la table propriétaire
• Utilisation de la notation OBJET
– Compatible avec la modélisation UMLmodélisation UML et les outils de
modélisation
nom-table.nom-colonne
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 80
JOINTURE NATURELLEJOINTURE NATURELLE
• Permet d’élimer les valeurs dupliquées dans
les colonnes jointes (par la jointure)
• nom
– NATURAL JOINT
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 81
ALIAS de TABLEALIAS de TABLE
• Renomage d’une Table dans une instruction SQL
(lien d’une table sur elle même, portant un autre nom)
• Il s’agit d’un changement temporaire, le nom réel
de la table dans la Base de Donnée ne change pas.
• Utilisé dans le cas de
– Jointure de non égalité
– Jointure externe
– Jointure réflexive
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 82
JOINTURE de NON EGALITEJOINTURE de NON EGALITE
• Jointure de deux tables, à partir de
valeur(s) d’une colonne différente, de la
valeur de la colonne spécifiée de l’autre
table
• non
– NON-EQUOJOINT
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 83
JOINTURE EXTERNEJOINTURE EXTERNE
• Retourne toutes les lignes d’une Table, même si
elles ne possèdent pas de correspondance dans
la Table jointe (par la jointure)
• exemple
FROM TableA, TableB [,TableC]
where TableA.Nom-Colonne[(+)]=
TableB.Nom-Colonne[(+)]
[AND TableA.Nom-Colonne[(+)]=
TableD.Nom-Colonne[(+)]
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 84
JOINTURE REFLEXIVEJOINTURE REFLEXIVE
• Joindre une Table à elle même, comme s’il
y avait deux tables
• Cela implique l’utilisation d’un ALIAS
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 85
JOINTURE CROISSEEJOINTURE CROISSEE
• C’est un Produit CartésienProduit Cartésien
• Sélection des Données d’une ou de plusieurs
Tables
• Le Résultat renvoie toutes les lignes possibles
issues de toutes les Tables sélectionnées
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 86
JOINTURE METHODOLOGIEJOINTURE METHODOLOGIE
• Vérifiez l’existence d’une colonne ayant la capacité à être
‘jointe’ facilement
• Pouvoir utiliser une Table ayant des Champs communs à une
ou plusieurs Tables
– Définir qui sera la Table principale
– Définir qui sera ou seront la(les) Table cliente(s)
• Modéliser (UML), les Objets, les relations, instanciation,
hiérachisation, séquencement,
• Bien spécifier les attentes les décliner en Pseudo-Code
• Puis transcrire le pseudo-code en langage SQL
• Tester par requêteur
• Insertion au programme, qui sera testé sur données de test
[résultat et performance]
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 87
OPERATEURS ENSEMBLISTESOPERATEURS ENSEMBLISTES
• Utilisation d’opérateur ensembliste
– UNION
• Combine le résultat de deux instructions select
– UNION ALL
• Combine les résultats de deux instructions select, y compris les lignes
dupliquées
– INTERSECT
• Combine deux instructions select et retourne les lignes de la première
instruction identique à la seconde
– EXCEPT
• Combine les lignes de deux instructions et retourne les lignes de la première
instruction non retournée par la seconde
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 88
Les INDEXsLes INDEXs
• Un IndexIndex est un ensemble de PointeurPointeur vers les
données d’une table
• L’Index est stocké séparément de la table, pour
la quelle il a été créé
• La création, la modification, la suppression
d’un index n’affecte pas les données
• Objectif: Améliorer les performances de laAméliorer les performances de la
recherche des donnéesrecherche des données
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 89
CREATION d’un INDEXCREATION d’un INDEX
CREATE INDEX ON TABLE
Types d’index
– Index sur colonne unique
CREAT INDEX nom-index
ON nom-table (nom-colonne)
– Index unique
CREAT UNIQUE INDEX nom-index
ON nom-table (nom-colonne)
• Optimisation des performances
• Garantir l’intégrité des données
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 90
CREATION d’un INDEXCREATION d’un INDEX
Types d’index (suite)
– Index composé
• Indexe plusieurs colonne d’une table
CREATE INDEX nom-inde
ON nom-table (colone1, colonne2)
• Utilisé pour des colonnes souvent sollicitées par une
ou des clauses where
– Index explicite
• Créer par le serveur de base de données lors de la
création d’un objet
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 91
INDEXATIONINDEXATION
• Pour, lorsque, en fonction :
– De tables de grandes tailles
– Sollicitation d’objets par clause <where, …>
– Des Relations ou liens entre objets (utilisation du
modèle objet UML)
– Table(s) sollicitée par des traitements fréquents et/ou
lourds
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 92
Éviter l’IndexationÉviter l’Indexation
• Pour ou sur :
– Des colonnes vides
– Des colonnes ayant une proportion importantes de
valeur nulle
– Des colonnes dont les valeurs sont souvent modifiées
– Des colonnes utilisées comme conditions d’une
requête ou de valeurs similaires ou peu différentes
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 93
Une Base de Données mal IndexéeUne Base de Données mal Indexée
verra ses performances baisséesverra ses performances baissées
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 94
SUPPRESSION DES INDEXsSUPPRESSION DES INDEXs
• On supprime les Indexs pour améliorer les
performances
• Un Index supprimé, pourra être recréé.
DROP INDEX nom-de-l-index
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 95
OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES
• Comprend
– Optimisation de la Base de Données
– Optimisation du Code
– Optimisation des données
– Optimisation du Moteur de Base de Donnée
– Optimisation des services utilisés par le SGBDR et l’application
– Optimisation du ou des Serveurs supports
– Optimisation du traffic / Transfert de données (réseaux supports [internes , externes]
– Optimisation, adaptation, implémentation des règles de sécurité dès le pseudo-code
– …
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 96
OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES
• Optimisation de la Base de données
– Optimisation des Modèles
– Classe, Objets, Logique, Physique
– Indexation
– Allocation mémoire
– Surveillance utilisation
– Disque
– Processeur (principal, secondaire(s))
– Input / Output
– Tuning de base et Tuning Système en CohérenceCohérence
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 97
OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES
• Optimisation du Code
– Règles de codage décrites dans le Plan d’Assurance Qualité Logiciel
– Structuration du Code
– Utilisation d’un Pseudo-Code
– Implémentation des règles de sécurité dès le pseudo code
– Ordonnancement du code en tenant compte des Relations entre
Objets
– Prendre en compte l’ordre des tables dans la succession des requêtes
– Position des conditions de jointures, dans les requêtes
– Dans une jointure:
• Aller de la plus petite table à la plus grande
• Faire en sorte que l’optimiseur SQL évalue en premier la condition la plus
restrictive
– Éviter le balayage de table complète
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 98
LISIBILITE du CODELISIBILITE du CODE
• Code documenté
• Utilisation du Pseudo code
• Code structuré
– En lien avec les opération sur les objets (modèle objet UML)
• Débuter une nouvelle ligne à chaque clause d’instruction
• Utiliser des espaces, pour marquer l’indentation sur l’argument
d’une clause de requête
• Être cohérent avec le Plan d’Assurance Qualité Logiciel,
– Règles d’écriture
– Règles de nomage
– Structure de code en cohérence avec la modélisation (objet)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 99
LISIBILITE du CODELISIBILITE du CODE
• Utiliser les ALIAS de Table, lorsque plusieurs tables sont référées dans une
instruction
• Utiliser les commentaires en amont de vos requêtes, pas dans vos requêtes
• Commencer une nouvelle ligne pour chaque nom de colonne déclarée dans un
SELECT
• Commencer une nouvelle ligne pour chaque nom de table déclaré dans
FROM
• Commencer une nouvelle ligne pour chaque condition de la clause where
• Dans une clause FROM, il est préférable de commencer par les plus petites
Tables
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 100
INDEXATIONINDEXATION
• Les colonnes
– Clé primaire
– Clé extérieure ou Clé étrangère
– De jointure
– En condition de requête
– Avec un nombre important de valeur unique
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 101
AMELIORATIONAMELIORATION
• Préférer l’utilisation de l’opérateur LIKE
• Éviter
– OR préférer IN
– la clause HAVING
– Les opérations de tri lourdes
– Les opérations de tri imbriquées
• Utiliser les Procédures StockéesProcédures Stockées
– Procédures SQL compilées stockées dans la base
• Ou leur équivalent en langage objet
• Désactiver les Index(s) lors des chargements par lots
• Utiliser l’outil de suivi et d’optimisation (un de base est fourni)
– SQL serveur
– ORACLE
– MySQL
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 102
Le SCHEMALe SCHEMA
• Création d’un Schéma
CREATE SCHEMA
• Syntaxe
CREAT SCHEMA [nom-schema] [id-utilisateur]
[path nom-schema] [,nom-schema]
[List-element-schema]
• Suppression d’un Schéma
DROP SCHEMA nom-schema { }
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 103
SECURITE de la BASE deSECURITE de la BASE de
DONNEEDONNEE
• La Politique de Sécurité est explicitée dans le Plan Sécurité du SystèmePlan Sécurité du Système
d’Informationd’Information,
Ici seront plus spécifiquement utilisé les règles sur les objets métiers et les
processus intégrés
• Politique de Défense et de Prévention contre les tentatives
– d’intrusion
– de copie
– de perturbation de l’intégrité des donnée ou de leurs règles de gestion
• Les niveaux de Sécurité font appel à la gestion des :
– Utilisateurs
– Schémas
– Objets
– Fichiers d’arrière plan
– Processus internes et liens avec le Dictionnaire des Données de la Base
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 104
PRIVILEGESPRIVILEGES
Droits d’ Usage des DonnéesDroits d’ Usage des Données
• La sécurité fait appelle à des privilèges
– Niveaux d’Autorisation
• Privilèges Systèmes
• Privilèges et droits sur Objets
• Privilèges et droits sur les Processus
• Le contrôle opérationnel des privilèges se fait par des
rôlesrôles
• Les rôles pertinents sont induits par les rôlesrôles des acteursacteurs
issus de la modélisation UML (Acteurs / Objets / Processus)
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 105
VUES et SYNONYMESVUES et SYNONYMES
• Vues
– Table virtuelle
– Table constituée sous la forme d’une requête prédéfinie,
stockée dans la base de donnée
– Une table consomme de l’espace physique; la Vue étant
l’image, ne consomme que l’espace nécessaire à sa définition,
elle est stockée en mémoire.
– Elle est crée à partir d’une ou de plusieurs tables
– On peut aussi créer une table à partir d’une vue
• Synonymes
– Un autre nom pour
– Une table
– Une vue
• Public ou privé
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 106
DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES
DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE
• Il existe pour toute Base de données applicatives
• Il est définit dans le Plan d’Assurance Qualité
• Composé
– D’un groupe qui contient les définitions
– Des autres objets de la Base de Données
– De la Structure de la Base de Données
• Création
– à partir de la modélisation UML (objet)
– Puis consolidation lors de la création de la Base de Données (par le
modèle réel)
– Soit par le DBA après la création de la Base
• Pour la mise en œuvre d’une documentation inexistante
• Pour faire du Reverse engineering
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 107
DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES
DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE
• Informations contenues
– Les utilisateurs
– Les segments et leur stockage
– Les contrainte
– Les vues
– Les objets
– Les tables
– Les colonnes
– Les macros
– Les requêtes
– Les relations
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 108
DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES
DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE
• Informations contenues
– Les vues
– Les synonymes
– Les clés primaires
– Les clés étrangères
– Les triggers
– Les messages d’erreur du serveur
– L’appartenance des tables
– Les rôles
– Les droits d’accès
– Les sessions
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 109
FONCTIONSFONCTIONS
SUPPLEMENTAIRESSUPPLEMENTAIRES
• Les Curseurs
– Zone mémoire de la base de données dans laquelle est stockée les
dernières instructions SQL – valeur en cours – ligne en cours
• Syntaxe
DECLARE CURSOR nom-curseur
IS { }
– Ouvrir le curseur
OPEN nom-curseur
– Récupérer le curseur
FETCH nom-curseur
– Fermer le curseur
CLOSE nom-curseur
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 110
FONCTIONSFONCTIONS
SUPPLEMENTAIRESSUPPLEMENTAIRES
• Procédure Stockée
– Fonction
– Sous fonction
– Sous programme
– Instruction SQL
– Indique à la Base de donnée ce qu’elle doit faire ( type
instruction SQL), et aussi COMMENT elle doit le faire
(procédurale)
– Stockée dans la base de donnée
• Syntaxe
– CREATE PROCEDURE nom-procédure
© Jean-Antoine
Moreau
copying and
reproduction
prohibited
Contact http://jeanantoine.moreau.free.fr JAM 111
FONCTIONSFONCTIONS
SUPPLEMENTAIRESSUPPLEMENTAIRES
• Trigger
– Procédure SQL compilée dans la Base de données
– Forme de Procédure Stockée, qui s’exécute lorsqu’une
action spécifique est prédéfinie, s’accomplit sur un
objet, une table.
– Utilisé pour vérifier l’intégrité des données
• Syntaxe
– CREAT TRIGGER

Contenu connexe

En vedette

569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signalOussema Ben Khlifa
 
Codage de l'information
Codage de l'informationCodage de l'information
Codage de l'informationPeronnin Eric
 
Opérateurs logiques – Systèmes combinatoires et séquentiels
Opérateurs logiques – Systèmes combinatoires et séquentielsOpérateurs logiques – Systèmes combinatoires et séquentiels
Opérateurs logiques – Systèmes combinatoires et séquentielsPeronnin Eric
 
chap1 generalites_signaux-systemes
chap1 generalites_signaux-systemeschap1 generalites_signaux-systemes
chap1 generalites_signaux-systemesBAKKOURY Jamila
 
Relais bluetooth - Balance connectée
Relais bluetooth - Balance connectéeRelais bluetooth - Balance connectée
Relais bluetooth - Balance connectéePeronnin Eric
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signauxBAKKOURY Jamila
 
Comprendre la planification de projets
Comprendre la planification de projetsComprendre la planification de projets
Comprendre la planification de projetsMichel Estève
 
VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)Sirine Ibrahim
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Christian Charreyre
 
Rapport simo issam
Rapport simo issamRapport simo issam
Rapport simo issamsimomans
 
Les commandes CISCO (routeur)
Les commandes CISCO (routeur)Les commandes CISCO (routeur)
Les commandes CISCO (routeur)EL AMRI El Hassan
 
vpn-site-a-site-avec-des-routeurs-cisco
 vpn-site-a-site-avec-des-routeurs-cisco vpn-site-a-site-avec-des-routeurs-cisco
vpn-site-a-site-avec-des-routeurs-ciscoCamara Assane
 
Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0EL AMRI El Hassan
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerMed Ali Bhs
 
Présentation Packet Radio et APRS par F4BHQ et F1IJP
Présentation Packet Radio et APRS par F4BHQ et F1IJPPrésentation Packet Radio et APRS par F4BHQ et F1IJP
Présentation Packet Radio et APRS par F4BHQ et F1IJPLionel Repellin
 
Travaux pratiques configuration du routage entre réseaux locaux virtuels
Travaux pratiques   configuration du routage entre réseaux locaux virtuelsTravaux pratiques   configuration du routage entre réseaux locaux virtuels
Travaux pratiques configuration du routage entre réseaux locaux virtuelsMohamed Keita
 
alphorm.com - Formation Cisco ICND1-CCENT (100-101)
alphorm.com - Formation Cisco ICND1-CCENT (100-101)alphorm.com - Formation Cisco ICND1-CCENT (100-101)
alphorm.com - Formation Cisco ICND1-CCENT (100-101)Alphorm
 
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANGhassen Chaieb
 

En vedette (20)

569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal
 
Codage de l'information
Codage de l'informationCodage de l'information
Codage de l'information
 
Opérateurs logiques – Systèmes combinatoires et séquentiels
Opérateurs logiques – Systèmes combinatoires et séquentielsOpérateurs logiques – Systèmes combinatoires et séquentiels
Opérateurs logiques – Systèmes combinatoires et séquentiels
 
chap1 generalites_signaux-systemes
chap1 generalites_signaux-systemeschap1 generalites_signaux-systemes
chap1 generalites_signaux-systemes
 
Relais bluetooth - Balance connectée
Relais bluetooth - Balance connectéeRelais bluetooth - Balance connectée
Relais bluetooth - Balance connectée
 
chap3 numerisation_des_signaux
chap3 numerisation_des_signauxchap3 numerisation_des_signaux
chap3 numerisation_des_signaux
 
Comprendre la planification de projets
Comprendre la planification de projetsComprendre la planification de projets
Comprendre la planification de projets
 
VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)VTP(Virtual Trunking Protocol)
VTP(Virtual Trunking Protocol)
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Rapport simo issam
Rapport simo issamRapport simo issam
Rapport simo issam
 
Les commandes CISCO (routeur)
Les commandes CISCO (routeur)Les commandes CISCO (routeur)
Les commandes CISCO (routeur)
 
vpn-site-a-site-avec-des-routeurs-cisco
 vpn-site-a-site-avec-des-routeurs-cisco vpn-site-a-site-avec-des-routeurs-cisco
vpn-site-a-site-avec-des-routeurs-cisco
 
Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0Résumé ccna 1chapitre 1 v5.0
Résumé ccna 1chapitre 1 v5.0
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
 
Présentation UMTS
Présentation UMTSPrésentation UMTS
Présentation UMTS
 
Présentation Packet Radio et APRS par F4BHQ et F1IJP
Présentation Packet Radio et APRS par F4BHQ et F1IJPPrésentation Packet Radio et APRS par F4BHQ et F1IJP
Présentation Packet Radio et APRS par F4BHQ et F1IJP
 
Travaux pratiques configuration du routage entre réseaux locaux virtuels
Travaux pratiques   configuration du routage entre réseaux locaux virtuelsTravaux pratiques   configuration du routage entre réseaux locaux virtuels
Travaux pratiques configuration du routage entre réseaux locaux virtuels
 
alphorm.com - Formation Cisco ICND1-CCENT (100-101)
alphorm.com - Formation Cisco ICND1-CCENT (100-101)alphorm.com - Formation Cisco ICND1-CCENT (100-101)
alphorm.com - Formation Cisco ICND1-CCENT (100-101)
 
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WANMise en place de deux réseaux LAN interconnectés par un réseau WAN
Mise en place de deux réseaux LAN interconnectés par un réseau WAN
 

Similaire à SQL Jean-Antoine Moreau

Semantic Information Systems
Semantic Information SystemsSemantic Information Systems
Semantic Information SystemsSerge Garlatti
 
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...Jean-Antoine Moreau
 
Search, nosql et bigdata avec les moteurs de recherche
Search, nosql et bigdata avec les moteurs de rechercheSearch, nosql et bigdata avec les moteurs de recherche
Search, nosql et bigdata avec les moteurs de rechercheLucian Precup
 
Qu’Est Ce Que SharePoint
Qu’Est Ce Que SharePointQu’Est Ce Que SharePoint
Qu’Est Ce Que SharePointSIMOES AUGUSTO
 
EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...
EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...
EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...Sollan France
 
Dwh udl 2014_2015_v0.22 - student
Dwh udl 2014_2015_v0.22 - studentDwh udl 2014_2015_v0.22 - student
Dwh udl 2014_2015_v0.22 - studentCarlos Sanin
 
La Gestion de Configuration des logiciels et du Système d’Information Cours J...
La Gestion de Configuration des logiciels et du Système d’Information Cours J...La Gestion de Configuration des logiciels et du Système d’Information Cours J...
La Gestion de Configuration des logiciels et du Système d’Information Cours J...Jean-Antoine Moreau
 
Web predictif-ertzscheid
Web predictif-ertzscheidWeb predictif-ertzscheid
Web predictif-ertzscheidolivier
 
Business intelligence pour startups
Business intelligence pour startupsBusiness intelligence pour startups
Business intelligence pour startupsSébastien Derivaux
 
15 03 16_data sciences pour l'actuariat_f. soulie fogelman
15 03 16_data sciences pour l'actuariat_f. soulie fogelman15 03 16_data sciences pour l'actuariat_f. soulie fogelman
15 03 16_data sciences pour l'actuariat_f. soulie fogelmanArthur Charpentier
 
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...CERTyou Formation
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhuiRomain Jouin
 
The Dark Side Of The Cloud
The Dark Side Of The CloudThe Dark Side Of The Cloud
The Dark Side Of The CloudRobert Viseur
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerMicrosoft
 
Talei formation-talend-open-studio-data-integration-les-bases
Talei formation-talend-open-studio-data-integration-les-basesTalei formation-talend-open-studio-data-integration-les-bases
Talei formation-talend-open-studio-data-integration-les-basesCERTyou Formation
 
i.a et droit - données d'apprentissage - village de la legaltech
i.a et droit - données d'apprentissage - village de la legaltechi.a et droit - données d'apprentissage - village de la legaltech
i.a et droit - données d'apprentissage - village de la legaltechLaurane Coudriet
 
Réussissez vos projets d’analytique self-service avec une couche de services ...
Réussissez vos projets d’analytique self-service avec une couche de services ...Réussissez vos projets d’analytique self-service avec une couche de services ...
Réussissez vos projets d’analytique self-service avec une couche de services ...Denodo
 
La Banque de demain : Chapitre 4
La Banque de demain : Chapitre 4 La Banque de demain : Chapitre 4
La Banque de demain : Chapitre 4 OCTO Technology
 

Similaire à SQL Jean-Antoine Moreau (20)

Semantic Information Systems
Semantic Information SystemsSemantic Information Systems
Semantic Information Systems
 
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
LINUX Mise en place d’une exploitation industrialisée – automatisée – sécuris...
 
Sem info system_2012
Sem info system_2012Sem info system_2012
Sem info system_2012
 
Search, nosql et bigdata avec les moteurs de recherche
Search, nosql et bigdata avec les moteurs de rechercheSearch, nosql et bigdata avec les moteurs de recherche
Search, nosql et bigdata avec les moteurs de recherche
 
Qu’Est Ce Que SharePoint
Qu’Est Ce Que SharePointQu’Est Ce Que SharePoint
Qu’Est Ce Que SharePoint
 
EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...
EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...
EIM360 La Gouvernance des espaces collaboratifs : Libérer l'information utile...
 
Dwh udl 2014_2015_v0.22 - student
Dwh udl 2014_2015_v0.22 - studentDwh udl 2014_2015_v0.22 - student
Dwh udl 2014_2015_v0.22 - student
 
Blockchain Jean-Antoine Moreau
Blockchain   Jean-Antoine MoreauBlockchain   Jean-Antoine Moreau
Blockchain Jean-Antoine Moreau
 
La Gestion de Configuration des logiciels et du Système d’Information Cours J...
La Gestion de Configuration des logiciels et du Système d’Information Cours J...La Gestion de Configuration des logiciels et du Système d’Information Cours J...
La Gestion de Configuration des logiciels et du Système d’Information Cours J...
 
Web predictif-ertzscheid
Web predictif-ertzscheidWeb predictif-ertzscheid
Web predictif-ertzscheid
 
Business intelligence pour startups
Business intelligence pour startupsBusiness intelligence pour startups
Business intelligence pour startups
 
15 03 16_data sciences pour l'actuariat_f. soulie fogelman
15 03 16_data sciences pour l'actuariat_f. soulie fogelman15 03 16_data sciences pour l'actuariat_f. soulie fogelman
15 03 16_data sciences pour l'actuariat_f. soulie fogelman
 
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
Dw521 g formation-ibm-puredata-system-for-analytics-pour-developpeurs-et-admi...
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui
 
The Dark Side Of The Cloud
The Dark Side Of The CloudThe Dark Side Of The Cloud
The Dark Side Of The Cloud
 
Deep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL ServerDeep Dive Performance , le In-Memory dans SQL Server
Deep Dive Performance , le In-Memory dans SQL Server
 
Talei formation-talend-open-studio-data-integration-les-bases
Talei formation-talend-open-studio-data-integration-les-basesTalei formation-talend-open-studio-data-integration-les-bases
Talei formation-talend-open-studio-data-integration-les-bases
 
i.a et droit - données d'apprentissage - village de la legaltech
i.a et droit - données d'apprentissage - village de la legaltechi.a et droit - données d'apprentissage - village de la legaltech
i.a et droit - données d'apprentissage - village de la legaltech
 
Réussissez vos projets d’analytique self-service avec une couche de services ...
Réussissez vos projets d’analytique self-service avec une couche de services ...Réussissez vos projets d’analytique self-service avec une couche de services ...
Réussissez vos projets d’analytique self-service avec une couche de services ...
 
La Banque de demain : Chapitre 4
La Banque de demain : Chapitre 4 La Banque de demain : Chapitre 4
La Banque de demain : Chapitre 4
 

Plus de Jean-Antoine Moreau

l'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine Moreaul'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine MoreauJean-Antoine Moreau
 
Management of the Performance Jean-Antoine Moreau
Management of the Performance Jean-Antoine MoreauManagement of the Performance Jean-Antoine Moreau
Management of the Performance Jean-Antoine MoreauJean-Antoine Moreau
 
Management de la Performance Jean-Antoine Moreau
Management de la Performance Jean-Antoine MoreauManagement de la Performance Jean-Antoine Moreau
Management de la Performance Jean-Antoine MoreauJean-Antoine Moreau
 
Stratégie Économique Jean-Antoine Moreau
Stratégie Économique Jean-Antoine MoreauStratégie Économique Jean-Antoine Moreau
Stratégie Économique Jean-Antoine MoreauJean-Antoine Moreau
 
Economic Strategy Jean-Antoine Moreau
Economic Strategy Jean-Antoine MoreauEconomic Strategy Jean-Antoine Moreau
Economic Strategy Jean-Antoine MoreauJean-Antoine Moreau
 
Stratégie Industrielle Jean-Antoine Moreau
Stratégie Industrielle Jean-Antoine MoreauStratégie Industrielle Jean-Antoine Moreau
Stratégie Industrielle Jean-Antoine MoreauJean-Antoine Moreau
 
Industrial Strategy Jean-Antoine Moreau
Industrial Strategy Jean-Antoine MoreauIndustrial Strategy Jean-Antoine Moreau
Industrial Strategy Jean-Antoine MoreauJean-Antoine Moreau
 
Regional Economic Development Jean-Antoine Moreau
Regional Economic Development Jean-Antoine MoreauRegional Economic Development Jean-Antoine Moreau
Regional Economic Development Jean-Antoine MoreauJean-Antoine Moreau
 
MARKETING STRATEGY Jean-Antoine Moreau
MARKETING STRATEGY Jean-Antoine MoreauMARKETING STRATEGY Jean-Antoine Moreau
MARKETING STRATEGY Jean-Antoine MoreauJean-Antoine Moreau
 
Politique Industrielle Seconde Partie
Politique Industrielle Seconde PartiePolitique Industrielle Seconde Partie
Politique Industrielle Seconde PartieJean-Antoine Moreau
 
Politique industrielle Jean-Antoine Moreau
Politique industrielle Jean-Antoine MoreauPolitique industrielle Jean-Antoine Moreau
Politique industrielle Jean-Antoine MoreauJean-Antoine Moreau
 
Réindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine Moreau
Réindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine MoreauRéindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine Moreau
Réindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine MoreauJean-Antoine Moreau
 
Le Chômage en France Etude, Impacts sociétaux et économiques
Le Chômage en France Etude, Impacts sociétaux et économiquesLe Chômage en France Etude, Impacts sociétaux et économiques
Le Chômage en France Etude, Impacts sociétaux et économiquesJean-Antoine Moreau
 
Diagnostic Projet Jean-Antoine Moreau
Diagnostic Projet  Jean-Antoine MoreauDiagnostic Projet  Jean-Antoine Moreau
Diagnostic Projet Jean-Antoine MoreauJean-Antoine Moreau
 
Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...
Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...
Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...Jean-Antoine Moreau
 
Systemic approach to commercial programming and commercial choices Jean-Antoi...
Systemic approach to commercial programming and commercial choices Jean-Antoi...Systemic approach to commercial programming and commercial choices Jean-Antoi...
Systemic approach to commercial programming and commercial choices Jean-Antoi...Jean-Antoine Moreau
 
Linux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine MoreauLinux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine MoreauJean-Antoine Moreau
 
Les Processus d’Ingénierie des logiciels Cours Jean-Antoine Moreau
Les Processus d’Ingénierie des logiciels Cours Jean-Antoine MoreauLes Processus d’Ingénierie des logiciels Cours Jean-Antoine Moreau
Les Processus d’Ingénierie des logiciels Cours Jean-Antoine MoreauJean-Antoine Moreau
 

Plus de Jean-Antoine Moreau (20)

Histoire de la Drogue en France
Histoire de la Drogue en FranceHistoire de la Drogue en France
Histoire de la Drogue en France
 
l'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine Moreaul'Intelligence Artificielle Jean-Antoine Moreau
l'Intelligence Artificielle Jean-Antoine Moreau
 
Management of the Performance Jean-Antoine Moreau
Management of the Performance Jean-Antoine MoreauManagement of the Performance Jean-Antoine Moreau
Management of the Performance Jean-Antoine Moreau
 
Management de la Performance Jean-Antoine Moreau
Management de la Performance Jean-Antoine MoreauManagement de la Performance Jean-Antoine Moreau
Management de la Performance Jean-Antoine Moreau
 
Le Budget Jean-Antoine Moreau
Le Budget Jean-Antoine MoreauLe Budget Jean-Antoine Moreau
Le Budget Jean-Antoine Moreau
 
Stratégie Économique Jean-Antoine Moreau
Stratégie Économique Jean-Antoine MoreauStratégie Économique Jean-Antoine Moreau
Stratégie Économique Jean-Antoine Moreau
 
Economic Strategy Jean-Antoine Moreau
Economic Strategy Jean-Antoine MoreauEconomic Strategy Jean-Antoine Moreau
Economic Strategy Jean-Antoine Moreau
 
Stratégie Industrielle Jean-Antoine Moreau
Stratégie Industrielle Jean-Antoine MoreauStratégie Industrielle Jean-Antoine Moreau
Stratégie Industrielle Jean-Antoine Moreau
 
Industrial Strategy Jean-Antoine Moreau
Industrial Strategy Jean-Antoine MoreauIndustrial Strategy Jean-Antoine Moreau
Industrial Strategy Jean-Antoine Moreau
 
Regional Economic Development Jean-Antoine Moreau
Regional Economic Development Jean-Antoine MoreauRegional Economic Development Jean-Antoine Moreau
Regional Economic Development Jean-Antoine Moreau
 
MARKETING STRATEGY Jean-Antoine Moreau
MARKETING STRATEGY Jean-Antoine MoreauMARKETING STRATEGY Jean-Antoine Moreau
MARKETING STRATEGY Jean-Antoine Moreau
 
Politique Industrielle Seconde Partie
Politique Industrielle Seconde PartiePolitique Industrielle Seconde Partie
Politique Industrielle Seconde Partie
 
Politique industrielle Jean-Antoine Moreau
Politique industrielle Jean-Antoine MoreauPolitique industrielle Jean-Antoine Moreau
Politique industrielle Jean-Antoine Moreau
 
Réindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine Moreau
Réindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine MoreauRéindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine Moreau
Réindustrialisation,Politique Industrielle,Plan Industriel Jean-Antoine Moreau
 
Le Chômage en France Etude, Impacts sociétaux et économiques
Le Chômage en France Etude, Impacts sociétaux et économiquesLe Chômage en France Etude, Impacts sociétaux et économiques
Le Chômage en France Etude, Impacts sociétaux et économiques
 
Diagnostic Projet Jean-Antoine Moreau
Diagnostic Projet  Jean-Antoine MoreauDiagnostic Projet  Jean-Antoine Moreau
Diagnostic Projet Jean-Antoine Moreau
 
Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...
Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...
Élaborer et Mesurer Une Stratégie d’Entreprise Modèle Méthode simple d’évalua...
 
Systemic approach to commercial programming and commercial choices Jean-Antoi...
Systemic approach to commercial programming and commercial choices Jean-Antoi...Systemic approach to commercial programming and commercial choices Jean-Antoi...
Systemic approach to commercial programming and commercial choices Jean-Antoi...
 
Linux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine MoreauLinux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine Moreau
 
Les Processus d’Ingénierie des logiciels Cours Jean-Antoine Moreau
Les Processus d’Ingénierie des logiciels Cours Jean-Antoine MoreauLes Processus d’Ingénierie des logiciels Cours Jean-Antoine Moreau
Les Processus d’Ingénierie des logiciels Cours Jean-Antoine Moreau
 

Dernier

Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesangevaleryn
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 

Dernier (9)

Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniques
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 

SQL Jean-Antoine Moreau

  • 1. SQLSQL Base de DonnéesBase de Données NormalisationNormalisation Gestion de l’InformationGestion de l’Information Cours de gestion des données : Jean-Antoine MoreauCours de gestion des données : Jean-Antoine Moreau
  • 3. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 3 L ‘ INFORMATIONL ‘ INFORMATION • La GestionLa Gestion • Le TraitementLe Traitement  Des informationsDes informations – OrganisationsOrganisations – EntreprisesEntreprises – InternetInternet  Système de ManagementSystème de Management des Donnéesdes Données  Système d’Information(s)Système d’Information(s)  Système de Gestion desSystème de Gestion des DonnéesDonnées
  • 4. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 4 Le Langage SQLLe Langage SQL  Langage de Requête  Permet de Communiquer avec la Base de Données  Répond à la Norme SQL ANSI  Compatible avec la modélisation Objet  Adaptable au traitement des gros volumes de données
  • 5. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 5 Base de DonnéesBase de Données • Collection de Données • Mécanisme organisé pour stocker des informations et permettre à un utilisateur de les retrouver et de les utiliser efficacement. • Exemples de Base de Données Annuaires Listes
  • 6. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 6 Base de Données RelationnelleBase de Données Relationnelle • Divisée en Unité Logiques – Classe – Objet – Table • Ces Unités sont reliées par des Relations • Ces Relations sont – Décomposables – Utilisables •Processus •SéquencesPar / En
  • 7. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 7 ArchitectureArchitecture • Le SQL est compatible avec les Architectures : – 2 Tier Client / Serveur – 3 Tier Client léger – Utiliser par les Architectures supports aux : • ERP • Application Internet et Intranet • Big Data • Compatible avec les Langages de Programmation – Interprétés – Compilés – Objet
  • 8. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 8 ConnexionConnexion Pour Initialiser une Session SQL: • Connexion à la Base de Données – Instruction CONNECT • Option nom de l’utilisateur • Le serveur de base de donnée (où la base se trouve) • Le nom de la base de donnée • Déconnexion – DISCONNECT
  • 9. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 9 AdministrationAdministration • Administration du Serveur de Base de Donnée • Administration de la Base de Données • Administration des Données
  • 10. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 10 CLASSES / OBJETSCLASSES / OBJETS InstanciationInstanciation • Table – Divisée en plusieurs entités appelé champs • Champ – Catégorise les informations spécifiques contenues dans la table – À un champ est rattaché un type de donnée et un seul • Enregistrement – Ligne de données (enregistrement complet) • Colonne – Entête verticale appartenant à une table • Clé Primaire (Primary Key)  Règle d’Unicité – Colonne qui fait que chaque ligne de la Table est unique
  • 11. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 11 STRUCTURE de DONNEESSTRUCTURE de DONNEES • Les Données stockées dans une base de données – Deviennent des Informations • Évolutives • Traçables • Ouvertes ou Confidentielles • Types de Données – Chaînes de caractères – Chaînes numériques – Valeurs date et heure – Booléennes – …
  • 12. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 12 STRUCTURE de DONNEESSTRUCTURE de DONNEES • Les Données stockées dans une base de données – Deviennent des Informations • Évolutives • Traçables • Ouvertes ou Confidentielles • Types de Données – Chaînes de caractères – Chaînes numériques – Valeurs date et heure – Booléennes – … OpérationsOpérations sur ces donnéessur ces données
  • 13. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 13 VALEURS de DONNEESVALEURS de DONNEES • Chaînes – De caractères • Longueur fixe • Longueur variable – Littéral • Numériques – Booléen – Décimal – Entier – Flottant – Réel – Double Précision
  • 14. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 14 Les OBJETSLes OBJETS • Unicité logique <entité> de la base de données • Référence et stocke les données • Interaction entre Objets • Forme élémentaire de stockage de données structurées dans la base
  • 15. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 15 Le SCHEMALe SCHEMA • Collection structurée d’Objet • Le Schéma est Propriété d’un utilisateur • Une Base de Données peut contenir – Un Schéma – Plusieurs Schémas  Deux Tables de même noms sont différentes, si elles appartiennent à des Schémas Différents
  • 16. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 16 CREATION d’une TABLECREATION d’une TABLE • Nom de la TABLE • Les Données contenues • Clé primaire Règle d’unicité • Nom des colonnes • Longueur de chaque colonne • Taille initiale de la TABLE – Fournie par l’instanciation des diagrammes UML de Classe et d’Objet
  • 17. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 17 Exemples de CommandesExemples de Commandes • Création – CREAT TABLE <nom-de-la-table> • Clause STORAGE pour taille initiale • Modification – ALTER TABLE <nom-de-la-table> • Suppression – DROP
  • 18. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 18 CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE • Concept d’Intégrité Référentielle • Contrainte Clé Primaire <primary Key> Unicité – Identification d’une ligne de donnée unique – Identification par colonne – Assignation dès la création de la Table – Contrainte explicite – Si la clé primaire est définie par la combinaison de plusieurs colonnes, la composition est définie lors de la création
  • 19. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 19 CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE • Contrainte clé extérieure • Clé étrangère <foreign Key> – « Colonne » place dans un tableau < enfant > pour référencer la clé primaire (notion d’héritage au sens objet) – L’Intégrité Référentielle entre les Tables se fait entre autre par les mécanismes • clé étrangère / clé étrangère • clé étrangère clé primaire
  • 20. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 20 CONTRAINTES d’INTEGRITECONTRAINTES d’INTEGRITE • Contrainte NOT NULL – Les valeurs NULL interdites • Contrainte de vérifications – CHK (check) – Exemple : • Présence obligatoire d’une donnée dans un champ • Valeur minimum admise • Suppression des contraintes – Exemple Commande • ALTER TABLE option DROP CONSTAINT
  • 21. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 21 NORMALISATION DE LANORMALISATION DE LA BASE DE DONNEEBASE DE DONNEE • Processus qui a pour objectif de réduire la redondance des données, dans la base de données • Sont normalisés – Les noms – Les noms des OBJETs – Les noms des TABLEs – Les RELATIONS – Le noms des RELATIONS – Etc.
  • 22. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 22 NORMALISATION DE LANORMALISATION DE LA BASE DE DONNEEBASE DE DONNEE • Le Processus de Conception est Normalisé • Le Processus de Modélisation est Normalisé  Ils sont déclinés dans le Plan d’AssurancePlan d’Assurance QualitéQualité • Processus – Modèle de Package – Modèle de Classe – Modèle Objet – Modèle Logique – Modèle Physique
  • 23. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 23 NORMALISATION DE LANORMALISATION DE LA BASE DE DONNEEBASE DE DONNEE • Le Processus de Conception est Normalisé • Le Processus de Modélisation est Normalisé  Ils sont déclinés dans le Plan d’AssurancePlan d’Assurance QualitéQualité • Processus – Modèle de Package – Modèle de Classe – Modèle Objet – Modèle Logique – Modèle Physique •Méga •Rational •Objecteering • … OUTILSOUTILS
  • 24. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 24 IMPACT de laIMPACT de la NORMALISATIONNORMALISATION • Le Modèle logique: – Consiste à ordonnancer les données en groupes alogiques, organisés, structurés, standardisés; pour en permettre l’évolutivité, l’adaptabilité, la performance. – Le Modèle logique est issu du Modèle Objet
  • 25. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 25 QUESTIONNEMENTQUESTIONNEMENT • Comment l’utilisateur accèdera à la Base de Données ? • Comment l’utilisateur accèdera-t-il aux Données ? • Comment l’utilisateur mettra-t-il à jour les Données ? • De quels Droits devra-t-il bénéficier ? • Comment faut-il regrouper les données dans la Base ? • Quelles sont les Données les plus fréquemment sollicitées ? • Quelles sont les Relations les plus fréquemment sollicitées ? • Quelles sont les relations entre données ? • Quelles sont les Règles à mettre en œuvre pour assurer la précision des Données ? • Quelles sont les Règles à mettre en œuvre pour assurer la traçabilité des Données ?
  • 26. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 26 Les FORMES NORMALESLes FORMES NORMALES • Niveaux de Normalisation d’une Base de Données • Incluses dans le processus de Modélisation UML • Définit dans le Plan d’Assurance Qualité
  • 27. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 27 Les FORMES NORMALESLes FORMES NORMALES • Première Forme Normale : – Division de la Base de Données en Unités logiques, nommées TABLEs – Assignation de la Clé Primaire – Décomposition des données en unités logiques
  • 28. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 28 Les FORMES NORMALESLes FORMES NORMALES • Seconde Forme Normale – Données dépendant partiellement de la Clé Primaire • Et mise en place dans une Autre Table – Éclatement de TABLE en Sous Unités
  • 29. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 29 Les FORMES NORMALESLes FORMES NORMALES • Troisième Forme Normale – Suppression des données qui ne dépendent pas de la Clé Primaire, dans la TABLE
  • 30. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 30 NORMALISATIONNORMALISATION • Permet donc : – L’Organisation globale de la Base de Donnée – La Limitation des Données redondantes – La Cohérence des Données de la Base – La Souplesse de Conception d’évolution – Traçabilité • Des évolutions de Données • Des évolutions des Règles de GestionRègles de Gestion – Un Meilleur contrôle de la sécurité – L’ Efficience de la Documentation – L’Intégrité des Données – Le Maintient en Conditions Opérationnelles
  • 31. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 31 INTEGRITEINTEGRITE REFERENTIELLEREFERENTIELLE • Les valeurs des colonnes dépendent d’une valeur donnée d’une autre TABLE • Contrôle des valeurs par restriction du périmètre par plage de valeur en lien avec: • Méta-Données (type métier) • Fonctionnel • Technique • Sur échange • Contrôle par l’utilisation des Clés Primaires et étrangères • Relations / Présence du couple : • Clé primaire – clé étrangère
  • 32. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 32 DENORMALISATIONDENORMALISATION • Dénormaliser une Base de Données – Réduire / Détruire les niveaux de regroupement – Risque d’augmentation de Données redondantes – Baisse de Performance – Moins d’adaptabilité – Perte de la traçabilité – Facteurs de Maintient en Conditions Opérationnelles sont alors réduits
  • 33. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 33 OPERATION SUR LESOPERATION SUR LES DONNEESDONNEES • DATA MANIPULTATION LANGUAGE Sélection d’une Donnée • le <select> Insérer un Donnée • l’ <insert> Mettre à jour un Donnée • l’<update> Suppression d’une Donnée • le <delete>
  • 34. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 34 INSERTION d’une DONNEEINSERTION d’une DONNEE dans une TABLEdans une TABLE • Pseudo-code :  INSERER dans <nom-table> la valeur (…..) dans le champ … de la colonne.. • Instruction / Code | Principe : INSERT INTO <nom-table> VALUES (…..) INSERT INTO table-client (id-client, id-société, num-commande) VALUES (….,’….’,’…..’)
  • 35. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 35 SELECTIONNER DESSELECTIONNER DES DONNEES d’une TABLEDONNEES d’une TABLE • Pseudo-code :  SELECTIONNER les valeurs PROVENANT de la TABLE • Instruction / Code | Principe : SELECT * from client Sélectionne toutes les lignes des colonnes de la TABLE client Donnera la liste du contenu, type listing / tableau SELECT from client id-client VALUE ( … )
  • 36. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 36 MISE A JOUR Des DONNEESMISE A JOUR Des DONNEES EXISTANTESEXISTANTES • Mettre à jour une ou plusieurs TABLEs (Objets): – Table – Colonne – Ligne – Champ • Vérifier la cohérence des Données • Instruction / Code | Principe : update no-de-la-table set nom-colonne = ‘value’ [where condition]; update nom-table set colonne1 = ‘value’ [colonne2=‘value’,] [colonne3=‘value’] [where condition]; Modèle logique de données Une seule colonne Plusieurs colonnes de plusieurs champs
  • 37. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 37 TRANSACTIONTRANSACTION • Unité de Tâche qui se déroule dans une Base de Données • Unité • Séquence • Déroulement – Manuel – Automatique • Propagation de changement(s) dans la Base de Données •Instruction •Groupe d’Instructions Un Ordre Logique
  • 38. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 38 TRANSACTIONTRANSACTION PROPRIETEs et CONTRAINTEsPROPRIETEs et CONTRAINTEs • Toute TRANSACTION possède – Un DEBUT et une FIN • Une TRANSACTION peut être – enregistrée ou annulée  Si une TRANSACTION échoue – ALORS • Aucune portion de la TRANSACTION n’est enregistrée dans la Base de Données  FIN de SI
  • 39. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 39 CONTRÔLECONTRÔLE TRANSACTIONNELTRANSACTIONNEL • Capacité à gérer plusieurs transaction pouvant se produire dans le SGBDR • Les transactions prennent en compte les commandes, leur combinatoire, leurs options: – INSERT – UPDATE – DELETE • Lorsque la transaction s’exécute, s’achève avec succès, la table cible n’est pas immédiatement modifiée, même si le résultat le laisse à penser. – Il existe des commandes de transaction, qui finalise la transaction en: – Enregistrement les modifications – En annulant les modifications
  • 40. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 40 COMMANDES de CONTROLECOMMANDES de CONTROLE TRANSACTIONNELTRANSACTIONNEL • COMMIT – Pour la VALIDATION • ROLLBACK – Pour l’ANNULATION • SAVEPOINT – Pour l’annulation partielle
  • 41. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 41 EXEMPLESEXEMPLES • COMIT delete from produit where prix <5€ COMIT; Les produits dont le prix est inférieur à 5€ sont supprimer <COMIT> - validation
  • 42. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 42 • ROLLBACK update produit set prix = 350.00 where id-produit = ‘1245’ La ligne est mise à jour ROLLBACK; Annulation de la mise à jour
  • 43. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 43 • SAVEPOINT < label> point-instantané de la transaction à partir duquel, on pourra annuler la transaction • Utilisation avec ROLLBACK donne – ROLLBACK TO nom-du-savepoint
  • 44. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 44 • Création d’un SAVEPOINT SAVEPOINT étiquette1 delete from produit where id=‘1234’ SAVEPOINT étiquette2 delete from produit where id=‘12589’ SAVEPOINT étiquette3 delete from produit where id=‘1367910’ ROLLBACK to étiquette2
  • 45. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 45 • RELEASE SAVEPOINT – suppression d’un SAVEPOINT existant
  • 46. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 46 INITIALISATION d’uneINITIALISATION d’une TRANSACTIONTRANSACTION • SET TRANSACTION SET TRANSACTION READ WRITE; SET TRANSACTION READ ONLY;
  • 47. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 47 LES REQUETESLES REQUETES • Demande adressée à la Base de Données • Extraction des Données dans un format, exploitable en fonction des Besoins d’utilisation • INSTRUCTION SELECT – Fait partie du Data Query Language – Cette INSTRUCTION n’est pas autonome, elle est accompagnée : • D’une CLAUSE obligatoire • D’une CLAUSE optionnelle • Mots clés de cette instruction • SELECT • FROM • WHERE • ORDER BY
  • 48. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 48 SYNTAXESSYNTAXES • Avec clause Obligatoire SELECT [ALL | * DISTINCT COLONE1, COLONE2] FROM TABLE1 [,TABLE2]; FROM : clause obligatoire
  • 49. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 49 SYNTAXESSYNTAXES • Avec clause Optionnelle SELECT [ALL | * DISTINCT COLONE1, COLONE2] FROM TABLE1 [,TABLE2]; WHERE [CONDITION1 | EXPRESSION1] [AND CONDITION1 | CONDITION2 ] FROM : clause obligatoire WHERE: clause optionnelle
  • 50. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 50 SYNTAXESSYNTAXES • Tri des Résultats SELECT [ALL | * DISTINCT COLONE1, COLONE2] FROM TABLE1 [,TABLE2]; WHERE [CONDITION1 | EXPRESSION1] [AND CONDITION1 | CONDITION2 ] ORDER BY COLONNE1 | INTEGER [ASC @ DESC] FROM : clause obligatoire WHERE: clause optionnelle ORDER BY: clause optionnelle de tri • Comptage des Enregistrements contenus dans une table – SELECT COUNT(x) FROM nom-table
  • 51. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 51 SYNTAXESSYNTAXES • Sélection des Données sur un autre Schéma SELECT Identifiant FROM nom-schéma.nom-table Formulation – syntaxe de type objet
  • 52. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 52 Le CASSE SENSITIVELe CASSE SENSITIVE • Les commandes SQL ne sont pas « casse sensitive » • Elles peuvent donc être saisies en majuscules ou en minuscules • Il est souhaitable de définir des règles d’écriture : • Des requêtes • Des programmes Dans le Plan d’Assurance Qualité Logiciel de chaque projetIncéréesIncérées
  • 53. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 53 Les OPERATEURSLes OPERATEURS • Un Opérateur – Permet de spécifier des conditions dans une instruction SQL – Sert de conjonction à plusieurs conditions • Types d’Opérateur – Opérateur de comparaison – Opérateur logique – Opérateur utilisé pour nier des conditions – Opérateur arithmétique
  • 54. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 54 OPERATEUR deOPERATEUR de COMPARAISONCOMPARAISON • Utilisé pour Tester – L’ Égalité • Signe = – La non-égalité • signe < > – La valeur inférieure • signe < – La valeur supérieures • signe >
  • 55. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 55 ExempleExemple • Pseudo – Code SELECTIONNER dans la TABLE produit le produit dont le prix est inférieur à 10 • Syntaxe SELECT FROM produit WHERE price < 10
  • 56. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 56 OPERATEURS LOGIQUESOPERATEURS LOGIQUES • Ils sont utilisés comme des mots clés pour effectuer des comparaisons • Liste d’opérateur logiques – IS Null (comparaison à la valeur nulle) – BEETWEEN (entre deux valeurs, dans une plage) – IN (une valeur dans une liste de valeur) – LIKE (comme – similitude) – EXISTS (existence – Présence dans une liste) – UNIQUE (permet de vérifier l’unicité) – ALL (compare la valeur à toutes valeurs) – ANY (compare la valeur à toutes les valeurs applicable d’une liste)
  • 57. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 57 OPERATEURS CONJONCTIFSOPERATEURS CONJONCTIFS • AND – le ET logique – Utilisation de plusieurs conditions en clause where • OR – Le ou logique – Combinaison de plusieurs conditions dans une clause where
  • 58. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 58 NEGATIONNEGATION • Opérateur NOT – Cet opérateur inverse la signification de l’opérateur logique – Ce qui donne • Différent de … • NOT BETWEEN • NOT IN • NOT LIKE • IS NOT NULL • NOT EXISTS • NOT UNIQUE
  • 59. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 59 OPERATEURSOPERATEURS ARITHMETIQUESARITHMETIQUES • Effectuent des Opérations mathématiques avec le SQL – Adition + – Soustraction _ – Multiplication * ou x – Division /
  • 60. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 60 ExempleExemple • Pseudo – code Sélectionner dans la Table Produit Les produits pour lesquels le (prix - la remise fidélité) + nouvelle augmentation < 10 • Syntaxe SELECT (prix-remise)+ nouvelle augmentation < 10 FROM Produit
  • 61. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 61 FONCTION d’AGREGATIONFONCTION d’AGREGATION • Fourni des informations de synthèse – Comptage – Totaux – Moyennes – … • Quelques fonctions d’agrégation – COUNT – SUM – MAX – MIN – AVG
  • 62. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 62 Description de FonctionDescription de Fonction d’Agrégationd’Agrégation • COUNT – Compte les lignes ou les colonnes ne contenant pas de valeur NULL • SUM – Retourne le total des valeurs d’une colonne sur un groupe de ligne • AVG – Calcul la moyenne d’un groupe de ligne • MAX – Retourne la valeur maximale des champs d’une colonne pour un groupe de lignes • MIN – Retourne la valeur minimale d’une colonne dans un groupe de ligne
  • 63. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 63 TRIER et REGROUPERTRIER et REGROUPER des DONNEESdes DONNEES • Regroupement de Données • Processus consistant à combiner dans un ordre logique des lignes de données, dont une ou plusieurs colonnes prennent une valeur identique • Clauses – GROUP BY • Regroupement de données – ORDER BY • Tri des données
  • 64. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 64 Fonctions de RegroupementFonctions de Regroupement • Incluent les fonctions – AVG – MAX – MIN – SUM – COUNT • Clauses de complémentarité • Clause HAVING – Indique à la clause GROUP BY le groupe à inclure dans le résultat – Place des conditions sur des groupes générés par la clauses GROUP BY
  • 65. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 65 AGENCEMENT des DONNEESAGENCEMENT des DONNEES • Fonctions de caractères ANSI • Représentent des chaînes de caractères dans les formats du langage SQL • Fonctions – Concaténation – TRANLATE – REPLACE – UPPER – LOWER
  • 66. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 66 Explicitation des FonctionsExplicitation des Fonctions • Concaténation || ORACLE Ou suivant les SGBDR SQL server + MySQL • Exemple (Pseudo code) sélectionner dans la Table des clients le nom et le prénom pour définir le non complet par une concaténation SELECT nom || ‘,’ || prénom nom_complet FROM CLIENT
  • 67. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 67 FONCTIONS suiteFONCTIONS suite • TRANSLATE – Recherche une chaîne de caractères – Vérifié la présence d’un caractère spécifique – Recherche la chaîne de substitution correspondante – Remplace le caractère • Syntaxe • TRANSLATE (jeu de caractère, valeur1, valeur2) • REPLACE – Remplace chaque occurrence d’un ou de plusieurs caractères par un ou des caractères spécifiques • Syntaxe • REPLACE (‘valeur1’,’valeur2’,[NULL] ‘valeur’]
  • 68. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 68 FONCTIONS suiteFONCTIONS suite • UPPER – Convertit les minuscules d’une chaîne de caractère en majuscules • Syntaxe • UPPER (chaîne de caractère) • LOWER – Convertit en minuscule, les majuscules d’une chaîne de caractères • Syntaxe • LOWER (chaîne de caractère) • SUBSTR – Extraction d’une partie de chaîne de caractère (sous chaîne de caractère) d’une chaîne de caractère • Syntaxe • SUBSTR (nom de colonne, position de départ, longueur)
  • 69. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 69 FONCTIONS suiteFONCTIONS suite • INSTR – Cherche une chaîne de caractère dans un jeux de caractère – En indique la position • Syntaxe • INSTR (nom de colonne, ‘jeux de caractère’ [position de départ [,occurrence]]); • LTRIM – Élimine les caractères situés à gauche de la chaîne • Syntaxe • LTRIM (chaîne de caractère [,jeux de caractères’]) • RTRIM – Élimine les caractères à droite de la chaîne • Syntaxe • RTRIM (chaîne de caractères (,’jeux de caractères])
  • 70. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 70 FONCTIONS de CARACTERESFONCTIONS de CARACTERES • LENGHT – Donne la longueur d’une chaîne • Syntaxe • LENGHT (chaîne de caractères) • NVL – Récupère les valeurs nulles d’une colonne pour les remplacer par une expression donnée • Syntaxe • NVL (‘valeur’,’substitution’)
  • 71. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 71 FONCTIONS de CARACTERESFONCTIONS de CARACTERES • LPAD – Ajout de caractères ou d’espace à gauche de la chaîne • Syntaxe • LPAD (jeux de caractères) • RPAD – Ajout de caractères ou d’espace à droite de la chaîne • Syntaxe • RPAD (jeux de caractère) • ASCII – Retourne la représentation (code) ASCII du caractère situé le plus à gauche de la chaîne • Syntaxe • ASCII (jeux de caractères)
  • 72. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 72 FONCTIONS MATHEMATIQUESFONCTIONS MATHEMATIQUES • Syntaxe – FONCTION (expression) • FONCTIONS : – ABS • Valeur absolue – ROUND • Arrondi – SQRT • Racine carré – SIGN • Valeur signée – POWER • À la puissance … – CEIL • Valeur plafond – FLOOR • Valeur planché – EXP • Exponentielle – SIN • Sinus – COS • Cosinus – TAN • Tangente
  • 73. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 73 FONCTIONS DE CONVERSIONFONCTIONS DE CONVERSION • Conversion d’un type en au autre type de données – Caractère en Numérique – Numérique en Caractère – Caractère en Date – Date en Caractère • Conversion Nombre en Chaîne de Caractères – STR ( float_expression [ , length [ , decimal ] ] ) – TO_CHAR
  • 74. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 74 DATE et HEUREDATE et HEURE • DATE valeur littérale de Date • TIME valeur littérale d’heure • TIMESTAMP valeur littérale de date et d’heure • Date en cours ou Date Système GETDATE
  • 75. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 75 DATE et HEUREDATE et HEURE • Fuseaux horaires – AST,ADT – CST,CDT – GMT – HST,HDT – MST,MDT – PST,PDT • Comparaison de DATE – Opérateur OVERLAP(s)
  • 76. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 76 DATE et HEUREDATE et HEURE • Image de date – Composée d’élément de mise en forme – Exemple • yy année • dy jour de l’année • dw jour de la semaine • mm mois • hh heure • mi minute • ss seconde • Sur ORACLE – DAY le nom du jour de la semaine – MONTH le mois – yyyy l’année – HH l’heure – MI minute de l’heure – SS seconde de la minute – DATENAME > conversion en chaîne de caractère
  • 77. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 77 JOINTURE de TABLEsJOINTURE de TABLEs Sélection de données dans plusieurs TABLEs • Jointure jointure combine deux ou plusieurs tables pour en extraire une ou plusieurs données • Types de jointures – Jointure d’égalité – Jointure naturel(le) – Jointure de non-égalité – Jointure externe – Jointure réflexive – Jointure croisée
  • 78. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 78 JOINTURE d’ EGALITEJOINTURE d’ EGALITE • Sert à joindre deux tables à l’aide d’une colonne commune – Exemple: Primary Key • noms – EQUIJOIN – INNER JOIN
  • 79. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 79 QUALIFICATIONQUALIFICATION du nom d’une colonnedu nom d’une colonne • Pour Qualifier le nom d’une colonne dans une requête, il faut faire précéder le nom de la colonne par le nom de la table propriétaire • Utilisation de la notation OBJET – Compatible avec la modélisation UMLmodélisation UML et les outils de modélisation nom-table.nom-colonne
  • 80. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 80 JOINTURE NATURELLEJOINTURE NATURELLE • Permet d’élimer les valeurs dupliquées dans les colonnes jointes (par la jointure) • nom – NATURAL JOINT
  • 81. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 81 ALIAS de TABLEALIAS de TABLE • Renomage d’une Table dans une instruction SQL (lien d’une table sur elle même, portant un autre nom) • Il s’agit d’un changement temporaire, le nom réel de la table dans la Base de Donnée ne change pas. • Utilisé dans le cas de – Jointure de non égalité – Jointure externe – Jointure réflexive
  • 82. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 82 JOINTURE de NON EGALITEJOINTURE de NON EGALITE • Jointure de deux tables, à partir de valeur(s) d’une colonne différente, de la valeur de la colonne spécifiée de l’autre table • non – NON-EQUOJOINT
  • 83. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 83 JOINTURE EXTERNEJOINTURE EXTERNE • Retourne toutes les lignes d’une Table, même si elles ne possèdent pas de correspondance dans la Table jointe (par la jointure) • exemple FROM TableA, TableB [,TableC] where TableA.Nom-Colonne[(+)]= TableB.Nom-Colonne[(+)] [AND TableA.Nom-Colonne[(+)]= TableD.Nom-Colonne[(+)]
  • 84. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 84 JOINTURE REFLEXIVEJOINTURE REFLEXIVE • Joindre une Table à elle même, comme s’il y avait deux tables • Cela implique l’utilisation d’un ALIAS
  • 85. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 85 JOINTURE CROISSEEJOINTURE CROISSEE • C’est un Produit CartésienProduit Cartésien • Sélection des Données d’une ou de plusieurs Tables • Le Résultat renvoie toutes les lignes possibles issues de toutes les Tables sélectionnées
  • 86. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 86 JOINTURE METHODOLOGIEJOINTURE METHODOLOGIE • Vérifiez l’existence d’une colonne ayant la capacité à être ‘jointe’ facilement • Pouvoir utiliser une Table ayant des Champs communs à une ou plusieurs Tables – Définir qui sera la Table principale – Définir qui sera ou seront la(les) Table cliente(s) • Modéliser (UML), les Objets, les relations, instanciation, hiérachisation, séquencement, • Bien spécifier les attentes les décliner en Pseudo-Code • Puis transcrire le pseudo-code en langage SQL • Tester par requêteur • Insertion au programme, qui sera testé sur données de test [résultat et performance]
  • 87. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 87 OPERATEURS ENSEMBLISTESOPERATEURS ENSEMBLISTES • Utilisation d’opérateur ensembliste – UNION • Combine le résultat de deux instructions select – UNION ALL • Combine les résultats de deux instructions select, y compris les lignes dupliquées – INTERSECT • Combine deux instructions select et retourne les lignes de la première instruction identique à la seconde – EXCEPT • Combine les lignes de deux instructions et retourne les lignes de la première instruction non retournée par la seconde
  • 88. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 88 Les INDEXsLes INDEXs • Un IndexIndex est un ensemble de PointeurPointeur vers les données d’une table • L’Index est stocké séparément de la table, pour la quelle il a été créé • La création, la modification, la suppression d’un index n’affecte pas les données • Objectif: Améliorer les performances de laAméliorer les performances de la recherche des donnéesrecherche des données
  • 89. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 89 CREATION d’un INDEXCREATION d’un INDEX CREATE INDEX ON TABLE Types d’index – Index sur colonne unique CREAT INDEX nom-index ON nom-table (nom-colonne) – Index unique CREAT UNIQUE INDEX nom-index ON nom-table (nom-colonne) • Optimisation des performances • Garantir l’intégrité des données
  • 90. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 90 CREATION d’un INDEXCREATION d’un INDEX Types d’index (suite) – Index composé • Indexe plusieurs colonne d’une table CREATE INDEX nom-inde ON nom-table (colone1, colonne2) • Utilisé pour des colonnes souvent sollicitées par une ou des clauses where – Index explicite • Créer par le serveur de base de données lors de la création d’un objet
  • 91. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 91 INDEXATIONINDEXATION • Pour, lorsque, en fonction : – De tables de grandes tailles – Sollicitation d’objets par clause <where, …> – Des Relations ou liens entre objets (utilisation du modèle objet UML) – Table(s) sollicitée par des traitements fréquents et/ou lourds
  • 92. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 92 Éviter l’IndexationÉviter l’Indexation • Pour ou sur : – Des colonnes vides – Des colonnes ayant une proportion importantes de valeur nulle – Des colonnes dont les valeurs sont souvent modifiées – Des colonnes utilisées comme conditions d’une requête ou de valeurs similaires ou peu différentes
  • 93. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 93 Une Base de Données mal IndexéeUne Base de Données mal Indexée verra ses performances baisséesverra ses performances baissées
  • 94. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 94 SUPPRESSION DES INDEXsSUPPRESSION DES INDEXs • On supprime les Indexs pour améliorer les performances • Un Index supprimé, pourra être recréé. DROP INDEX nom-de-l-index
  • 95. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 95 OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES • Comprend – Optimisation de la Base de Données – Optimisation du Code – Optimisation des données – Optimisation du Moteur de Base de Donnée – Optimisation des services utilisés par le SGBDR et l’application – Optimisation du ou des Serveurs supports – Optimisation du traffic / Transfert de données (réseaux supports [internes , externes] – Optimisation, adaptation, implémentation des règles de sécurité dès le pseudo-code – …
  • 96. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 96 OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES • Optimisation de la Base de données – Optimisation des Modèles – Classe, Objets, Logique, Physique – Indexation – Allocation mémoire – Surveillance utilisation – Disque – Processeur (principal, secondaire(s)) – Input / Output – Tuning de base et Tuning Système en CohérenceCohérence
  • 97. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 97 OPTIMISATION des PERFORMANCESOPTIMISATION des PERFORMANCES • Optimisation du Code – Règles de codage décrites dans le Plan d’Assurance Qualité Logiciel – Structuration du Code – Utilisation d’un Pseudo-Code – Implémentation des règles de sécurité dès le pseudo code – Ordonnancement du code en tenant compte des Relations entre Objets – Prendre en compte l’ordre des tables dans la succession des requêtes – Position des conditions de jointures, dans les requêtes – Dans une jointure: • Aller de la plus petite table à la plus grande • Faire en sorte que l’optimiseur SQL évalue en premier la condition la plus restrictive – Éviter le balayage de table complète
  • 98. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 98 LISIBILITE du CODELISIBILITE du CODE • Code documenté • Utilisation du Pseudo code • Code structuré – En lien avec les opération sur les objets (modèle objet UML) • Débuter une nouvelle ligne à chaque clause d’instruction • Utiliser des espaces, pour marquer l’indentation sur l’argument d’une clause de requête • Être cohérent avec le Plan d’Assurance Qualité Logiciel, – Règles d’écriture – Règles de nomage – Structure de code en cohérence avec la modélisation (objet)
  • 99. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 99 LISIBILITE du CODELISIBILITE du CODE • Utiliser les ALIAS de Table, lorsque plusieurs tables sont référées dans une instruction • Utiliser les commentaires en amont de vos requêtes, pas dans vos requêtes • Commencer une nouvelle ligne pour chaque nom de colonne déclarée dans un SELECT • Commencer une nouvelle ligne pour chaque nom de table déclaré dans FROM • Commencer une nouvelle ligne pour chaque condition de la clause where • Dans une clause FROM, il est préférable de commencer par les plus petites Tables
  • 100. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 100 INDEXATIONINDEXATION • Les colonnes – Clé primaire – Clé extérieure ou Clé étrangère – De jointure – En condition de requête – Avec un nombre important de valeur unique
  • 101. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 101 AMELIORATIONAMELIORATION • Préférer l’utilisation de l’opérateur LIKE • Éviter – OR préférer IN – la clause HAVING – Les opérations de tri lourdes – Les opérations de tri imbriquées • Utiliser les Procédures StockéesProcédures Stockées – Procédures SQL compilées stockées dans la base • Ou leur équivalent en langage objet • Désactiver les Index(s) lors des chargements par lots • Utiliser l’outil de suivi et d’optimisation (un de base est fourni) – SQL serveur – ORACLE – MySQL
  • 102. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 102 Le SCHEMALe SCHEMA • Création d’un Schéma CREATE SCHEMA • Syntaxe CREAT SCHEMA [nom-schema] [id-utilisateur] [path nom-schema] [,nom-schema] [List-element-schema] • Suppression d’un Schéma DROP SCHEMA nom-schema { }
  • 103. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 103 SECURITE de la BASE deSECURITE de la BASE de DONNEEDONNEE • La Politique de Sécurité est explicitée dans le Plan Sécurité du SystèmePlan Sécurité du Système d’Informationd’Information, Ici seront plus spécifiquement utilisé les règles sur les objets métiers et les processus intégrés • Politique de Défense et de Prévention contre les tentatives – d’intrusion – de copie – de perturbation de l’intégrité des donnée ou de leurs règles de gestion • Les niveaux de Sécurité font appel à la gestion des : – Utilisateurs – Schémas – Objets – Fichiers d’arrière plan – Processus internes et liens avec le Dictionnaire des Données de la Base
  • 104. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 104 PRIVILEGESPRIVILEGES Droits d’ Usage des DonnéesDroits d’ Usage des Données • La sécurité fait appelle à des privilèges – Niveaux d’Autorisation • Privilèges Systèmes • Privilèges et droits sur Objets • Privilèges et droits sur les Processus • Le contrôle opérationnel des privilèges se fait par des rôlesrôles • Les rôles pertinents sont induits par les rôlesrôles des acteursacteurs issus de la modélisation UML (Acteurs / Objets / Processus)
  • 105. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 105 VUES et SYNONYMESVUES et SYNONYMES • Vues – Table virtuelle – Table constituée sous la forme d’une requête prédéfinie, stockée dans la base de donnée – Une table consomme de l’espace physique; la Vue étant l’image, ne consomme que l’espace nécessaire à sa définition, elle est stockée en mémoire. – Elle est crée à partir d’une ou de plusieurs tables – On peut aussi créer une table à partir d’une vue • Synonymes – Un autre nom pour – Une table – Une vue • Public ou privé
  • 106. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 106 DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE • Il existe pour toute Base de données applicatives • Il est définit dans le Plan d’Assurance Qualité • Composé – D’un groupe qui contient les définitions – Des autres objets de la Base de Données – De la Structure de la Base de Données • Création – à partir de la modélisation UML (objet) – Puis consolidation lors de la création de la Base de Données (par le modèle réel) – Soit par le DBA après la création de la Base • Pour la mise en œuvre d’une documentation inexistante • Pour faire du Reverse engineering
  • 107. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 107 DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE • Informations contenues – Les utilisateurs – Les segments et leur stockage – Les contrainte – Les vues – Les objets – Les tables – Les colonnes – Les macros – Les requêtes – Les relations
  • 108. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 108 DICTIONNAIRE DES DONNEESDICTIONNAIRE DES DONNEES DATA DICTIONARY LANGAGEDATA DICTIONARY LANGAGE • Informations contenues – Les vues – Les synonymes – Les clés primaires – Les clés étrangères – Les triggers – Les messages d’erreur du serveur – L’appartenance des tables – Les rôles – Les droits d’accès – Les sessions
  • 109. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 109 FONCTIONSFONCTIONS SUPPLEMENTAIRESSUPPLEMENTAIRES • Les Curseurs – Zone mémoire de la base de données dans laquelle est stockée les dernières instructions SQL – valeur en cours – ligne en cours • Syntaxe DECLARE CURSOR nom-curseur IS { } – Ouvrir le curseur OPEN nom-curseur – Récupérer le curseur FETCH nom-curseur – Fermer le curseur CLOSE nom-curseur
  • 110. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 110 FONCTIONSFONCTIONS SUPPLEMENTAIRESSUPPLEMENTAIRES • Procédure Stockée – Fonction – Sous fonction – Sous programme – Instruction SQL – Indique à la Base de donnée ce qu’elle doit faire ( type instruction SQL), et aussi COMMENT elle doit le faire (procédurale) – Stockée dans la base de donnée • Syntaxe – CREATE PROCEDURE nom-procédure
  • 111. © Jean-Antoine Moreau copying and reproduction prohibited Contact http://jeanantoine.moreau.free.fr JAM 111 FONCTIONSFONCTIONS SUPPLEMENTAIRESSUPPLEMENTAIRES • Trigger – Procédure SQL compilée dans la Base de données – Forme de Procédure Stockée, qui s’exécute lorsqu’une action spécifique est prédéfinie, s’accomplit sur un objet, une table. – Utilisé pour vérifier l’intégrité des données • Syntaxe – CREAT TRIGGER