Académique Documents
Professionnel Documents
Culture Documents
de données
Je manipule les datas !
Le but de l’algorithme est d’acquérir une méthode, des outils (démarches) à suivre pour
résoudre un problème informatique. Il s’agit de donner les instructions à un ordinateur pour
qu’il nous produise un résultat. Cela passe par plusieurs étapes dont les plus importantes
(figure 1.1).cependant, le résultat qui sera obtenu à travers l’ordinateur se fera suivant les
méthodes fournit par le programme qui est une traduction de l’algorithme. Par ailleurs les
traitements se feront sur la base des informations pris en entrées.
Définir les éléments qui permettront la compréhension plus facile de l’algorithme, et qui
porte sur, l’algorithmique et, en mettant l’accent sur l’aspect programmation.
III. DEEFINITION
Un algorithme est une suite finie de règles à appliquer dans un ordre déterminé et en
nombre fini de données pour arriver à un certain résultat. Tout algorithme doit s’arrêter au
bout d’un temps donné.
IV. ALGORITHMIQUE
Pour organiser des informations, on peut par exemple faire une partition d’un
ensemble de données, créer des fils, énumérer les nombre d’éléments de chaque fil, suivit
d’une incrémentation et enfin faire la liste des informations traitées.
VII. LES INFORMATIONS ET LES DONNEES
Toutes information est associée à un objet du monde réel. On peut avoir un étudiant
de l’établissement X ou encore une pause qui se passe entre 12h et 13h. Un objet peut être
une constate ou une variable. Un objet est décrit par une ou plusieurs informations.
Exemple : la carte nationale d’identité décrit plusieurs informations comme la taille, le peut
le nom. Un objet, peut être structuré ou simple. Un objet est dit simple lorsqu’il décrit une
seule information et composé lorsqu’il décrit plusieurs informations.
Exemple :
la couleur blanche décrit un objet simple
Un pays de l’Afrique centrale est un objet composé.
Par ailleurs si un objet est une variable, il est désigné par un identificateur
Une information possède deux caractéristiques principales qui sont : le type et la nature.
Le type renseigne sur le contenu d’une variable. La nature renseigne sur la provenance, la
durée et l’activité d’une information.
1. Les types
constantes que prenne la variable. Exemple : considérons la variable pays d’Afrique centrale
qui a pour identifiant pays_ac. Son type est chaine de caractères.
c. Le type structuré
Il concerne les objets composés. On distingue :
Le type structuré homogène c'est-à-dire les objets qui le composent sont
tous de même type. Exemple : un vecteur en vecteur maths, matrix, file, une
pile
Les objets structurés hétérogène : c’est une structure composé de plusieurs
objets différents. L’ensemble des informations décrivant un objet structuré
et hétérogène est appelé un enregistrement logique. Exemple un fichier.
X. RUBRIQUE EXERCICES
Il est question dans le cadre de ce chapitre de donner aux étudiants des notions
Donner aux étudiants des compétences pour la mise en place bien d’une structurés
minimale d’un algorithme en utilisant les mots clés ou les réservés englobent dans les noms
suivants : variables, les constantes, les types de données, l’affectation, les opérateurs, la
Un objet est un outil ou un être du monde réel que l’on manipule dans l’algorithme. Le
traitement d’un objet concerne la valeur de cet objet. Si cette valeur ne peut être modifié
nous parlerons de constante, sinon, nous parlerons de variable. Un objet est parfaitement
Son identificateur ;
Son type ;
Sa valeur ;
a. Les booléens
L’ensemble des constantes est vrai ou faux et l’ensemble des opérateurs est : ET,
OU, NON
a b a et b a ou b a Non a
V V V V V F
V F F V F V
F F F V
F V F F
b. Les numériques
L’ensemble des constantes est R ou Z qui peuvent être réels ou entiers. L’ensemble des
c. Chaines de caractères
Soit une chaîne vide matérialisé par les double cote (‘’ ‘’) ;
Un caractère est : soit une lettre de l’alphabet soit différents codes d’opérateur
(+,/ ,*,- ….), un signe de ponctuation ou tout autre codes. Un caractère est lié à un code
numérique (code ASCII) qui le représente en machine et qui permet d’établir une relation
d’ordre.
1. L’affectation
C’est l’opération qui consiste à affecter une valeur à un objet. La notation
Var x : entier ;
3. Expressions et operateurs
a. Opérateurs numériques
c. Opérateur de Comparaison
Les opérateurs sont :
< Inferieur ;
<= inferieur ou égale ;
= égale ;
>Supérieur ;
>= Supérieur ou égale ;
<> différent.
Il faut préciser que les opérateurs de comparaisons portent sur une ou plusieurs valeurs
et, peuvent concerner les types entiers, réels et chaîne de caractères. Le résultat de
4. Incrémentation et décrémentation
L’algorithme autorise les écritures simplifies pour l’incrémentation et la décrémentation
périphérique d’entrée (clavier) et une instruction qui permet l’édition (sur l’écran).la
trois parties :
Algorithme : identificateur ;
Constante ;
Variables ;
DEBUT
Instruction1 ;
Instruction2 ;
Instruction3 ;
:
Instruction n ;
FIN.
Plusieurs éléments entre dans la mise au point des algorithmes afin qu’il puisse obéir
limitée. Voilà pourquoi les structures de données ont été définir afin de prendre en compte
Il est question pour nous ici de donner à l’étudiant des compétences qui leurs
permettront de maitriser les structures afin d’aboutir à une analyse plus complète des
C’est une structure dont la validation d’une condition entraine l’exécution d’une
si (condition) alors
action ;
Finsi ;
Exercice : écrire un algorithme qui affiche bienvenue au campus x si votre âge est
mutuellement. Dans cette structure, l’exécution d’un des deux traitements ne dépend que
si (condition1) alors
action1 ;
sinon
action2
Finsi ;
3. Imbrication du si
Il se peut que dans certains cas, l’expression du de la condition si ne suffise pas pour
exprimer tous les cas possibles. Nous pouvons alors exprimer un si après le alors d’un si. Et
pouvons alors énumérer ces valeurs en les séparant par des virgules. Sa notation est la
suivantes :
. . .
fin si suivant
Cette structure permet la répétition d’une ou plusieurs actions tant qu’une condition
est satisfaite. La condition est testée avant la première exécution de l’action définie. La
condition exprimée après l’instruction tant que permet l’exécution de l’action définie.
Exemple Affichons tous les nombres compris entre 1 et 5 dans l'ordre croissant
Algorithme test1;
Var i : entier
Debut
i 1;
tant que (i<= 5) faire
ecrire(‘’ la valeur de i est :’’,i) ;
i i+1 ;
fintque
fin.
VI. LES STRUCTURES REPETITIVE
ce qu’une condition soit vérifiée. La condition n’est test qu’après une première exécution de
repeter
action ;
Jusqu’à< condition > ;
Algorithme test2 ;
Var i : entier
Debut
i 1;
repeter
i i+1 ;
fin.
fin pour ;
Algorithme test3 ;
Var i : entier
Debut
pour i 1 à 5 faire
finpour ;
fin.
VIII. EXERCICES
Exercice 1 : écrire un algorithme qui affiche la table de multiplication par 9.
l’équation ax+b=0.
Le port est gratuit si le prix des produits (tot) est supérieur à 500f, dans le
La remise est de 5% si tot est compris entre 200 et 1000f et de 10% au-delà
le produit de trois nombres. Nous appelons menu l’association d’un numéro séquentiel
Exercice 7 : Écrire un algorithme qui trois nombres réels et affiche dans l’ordre
Faciliter l’écriture des algorithmes à travers les fonctions, les procédures en mettant
l’accent sur la notion de :
Structure d’un algorithme intégrant les fonctions et procédures ;
paramètre et de variables locales et globales ;
procédures sans paramètres et avec paramètres
Fonctions sans paramètres et avec paramètres ;
Appel des procures et fonctions ;
Intégration des procédures et fonction dans l’algorithme.
III. STRUCTURE DE L’ALGORITHME INTEGRANT LES SOUS
PROGRAMME
Algorithme : identificateur ;
Constante ;
Variables ;
Fonction ou Procédure ;
DEBUT
Instruction1 ;
Instruction n ;
Appel des fonctions et procédure ;
FIN.
1. Variable globales
On dit qu’une variable est globale lorsque son identifiant a été déclaré dans
l’algorithme. Elle est connue de toutes les procédures et fonctions qui sont déclarées par la
suite.
2. Variables locales
On dit qu’une variable est locale lorsque sa portée est limitée à la procédure ou la
fonction.
V. PROCEDURES
1. Procédure sans paramètres
a. Définition
Une procédure est un Object qui permet aux programmeurs de traiter un problème
sans s’embarrasser du règlement dans les détails des sous problèmes le composant
b. Déclaration
procedure identificateur () ;
declaration de variables locales
debut
corps de la proedure(instruction)
fin ;
c. Appel d’une procédure
Elle se fait uniquement à l’aide de l’identificateur de la procédure.la syntaxe est la
suivantes : identificateur ;
Remarque : un appel de procédure est une instruction.
Exercice d’application : écrire un algorithme qui affiche 5 fois la phrase il fait trop chaud
à douala.
Démarche à suivre : nous allons créer une procédure chaud et déclarer une variable
globale i comme compteur.
Algorithme proced1 ;
Var i : entier ;
Procedure chaud ;
Debut
Ecrire(‘’ il fait trop chaud à douala’’) ;
Fin ;
Debut
Pour i de 1 à 5 faire
chaud ;
Fin.
2. Procédure avec paramètres
a. définition
Une procédure qui utilise des données (par exemple les résultats des calculs
antérieurs) fournit par l’algorithme principal est appelé procédure avec paramètre. Cette
procédure sera écrite avec des arguments fictifs appelés paramètres formels auquel on
fera correspondre l’hors de l’appel des données réels appelées paramètres effectifs.
b. Déclaration
declaration de variableslocales ;
debut
corps de la proedure
fin
c. Appel d’une procédure avec paramètres
Algorithme proced2 ;
Var i,n : entier ;
Procedure somme ;
Var som, prod : reel ;
Debut
Som 0 ;
prod1 ;
Pour i de 1 à 10 faire
som som+i ;
prod prod*i ;
ecrire(‘’la somme est :’’, som, ‘’ et le produi
est : ‘’, prod
Fin ;
Debut
Ecrire (‘’ entrez un entier naturel’’) ;
Lire(n) ;
Somme(n) ;
Fin.
VI. FONCTIONS
1. Définition
Une fonction est une procédure avec paramètre ou sans paramètre qui rend un résultat
unique de type déterminé.
2. Déclaration des fonctions sans paramètre
Fonction identificateur () : type de sortie ;
Déclaration de variables locales
debut
corps de la fonction
fin
L’un des inconvenant des algorithmes écrits jusqu’ici est que, en cas d’erreur sur la
saisie d’un objet, on est obligé de tout recommencer. De plus il n’y a aucun moyen de voir
dans sa totalité les différents objets saisis. Il existe une structure (tableau) capable de
stocker plusieurs valeurs. Il sera dont question dans le cadre de ce chapitre d’apprendre à
manipuler les tableaux et en mettant avant tout l’accent sur les procédures de création des
tableaux (notion de dimension, type, élément et indice).
III. DEFINITION
Un tableau est une structure de donnée ayant une dimension et un type déterminés
qui permet de stocker en mémoire plusieurs valeurs de même type. Ces valeurs sont
appelées éléments du tableau. Chacun de ces éléments est repéré par un indice indiquant
sa position relative par rapport au début du tableau.
1. La dimension
Il désigne la nature des valeurs stockées dans le tableau (entier, réel, caractère,
chaîne de caractères …..)
3. Elément
C’est la façon de designer une valeur du tableau.
4. Indice
C’est un entier naturel donc les valeurs varient de 1 à la dimension du tableau. A chaque
valeur de l’indice correspond une seule valeur dans le tableau.
5. Exemple de tableau
5 14 7 15 8
ieme
Le premier élément du tableau est noté T[1] et sa valeur est 5 le n élément du
tableau est noté T[n].
IV. La syntaxe
Un tableau est dit a une dimension lorsqu’un seul indice suffit à adresser les éléments
du tableau dans ce cas, l’utilisation des éléments du tableau ne peut se faire qu’élément par
élément. L’accès à un élément peut se faire :
Avec une constante comme indice ;
Avec une variable comme indice ;
Avec une expression comme indice.
Exercice d’application 1 : soit un tableau de 100 notes, écrivons un algorithme qui permet
de rechercher un élément à l’aide de sa position relative (donne par l’utilisateur)
Algorithme recherche1 ;
OBJECTIFS GÉNÉRAUX
L’indépendance entre les données et les traitements vise à permettre une évolution
des structures de données sans répercussion sur les programmes d’application utilisant
ces données. Voilà pourquoi ce cours est consacré à la mise en place d’une base de
données sans au préalable définir un SGBD par défaut. Pour y arriver, l’enseignant
Les objectifs spécifiques qu’on peut assigner de façon généralement aux bases de
données et aux systèmes de Gestion des Bases de données sont les suivants :
Gestion la confidentialité,
Gestion de la sécurité.
OBJECTIFS GÉNÉRAUX
La mise en place d’une base de données passe par plusieurs étapes, mais il faudrait
au préalable maitriser les concepts d’élémentaires pour les bases de données. L’accent
sera mis beaucoup plus sur la notion de SGBD qui est un système de gestion des bases
OBJECTIFS SPÉCIFIQUES
concepts suivants :
QUELLES NOTIONS
1. Base de données
C’est un ensemble structuré de données apparentées qui modélisent un univers
réel, une BD est faite pour enregistrer des faits, des opérations au sein d'un organisme
(administration, banque, université, hôpital, ...) Les BD ont une place essentielle dans
l'informatique.
nom ayant une extension (il faut noter ici l’extension permet d’identifier la nature du
fichier) exemple Doc pour Word 2003, docx pour Word 2007, txt pour les fichiers
tests…..
Données des fichiers sont décrites Les données de la BD sont décrites hors des
dans les programmes programmes dans la base elle-même
Programme
Programme
difficile les mises à jour. D'où l'idée d'intégration et de partage des données. D’où les
intrinsèque), c’est le langage de définition des données connu sur le nom DATA
Il s’agit ici d’interroger et mettre à jour les données sans préciser l'algorithme
d'accès c'est-à-dire dire le QUOI sans dire COMMENT. On parle dans ce cas de
sous le nom de DATA MANIPULATION LANGUAGE (DML). Exemple : quels sont les
4. L’intégrité
manipulés. Comme exemple, on peut avoir la pension des étudiants qui doit être comprise
5. confidentialité
manipulé. Dans les deux cas à savoir l’intégrité et la confidentialité, on parle du langage
de contrôle des données connu sur le nom DATA CONTROL LANGUAGE (DCL).
6. Partage
Une BD doit être partagée entre plusieurs utilisateurs en même temps, il s’agit du
7. Sécurité
8. Performances d'accès
La notion d’index (hashage, arbres balancés ...) permet de faciliter la recherche dans
les tables.
9. Indépendance physique
Pouvoir modifier les structures de stockage ou les index sans que cela ait de
répercussion au niveau des applications, les disques, les méthodes d’accès, les modes de
Permettre aux différentes applications d’avoir des vues différentes des mêmes
données Permettre au DBA (data base administrator) de modifier le schéma logique sans
L’ARCHITECTURE ANSI/SPARC
L’ANSI 1 /SPARC entendu par (Standard Planning And Requirement Comitte) qui
1. Le concept de vue
Permet d'obtenir l'indépendance logique, la modification du schéma logique
n’entraîne pas la modification des applications (une modification des vues est cependant
nécessaire) Chaque vue correspond à la perception d’une partie des données, mais aussi des
données qui peuvent être, synthétisées à partir des informations représentées dans la BD
2. Le niveau conceptuel
Il contient la description des données et des contraintes d’intégrité (Dictionnaire
3. Le niveau interne
Il correspond aux structures de stockage et aux moyens d’accès (index). Ainsi nous
pouvant résumer ce qui suit en trois points selon la fonction d’un SGBD:
1
American National Standard Institute (Organisme de normalisation Américaine)
déclaratif) ;
EXERCICES
Exercice 1 : Établissez le lien qui existe entre une base de données et un SGBD.
OBJECTIFS GENERAUX
l’évolution des bases de données en mettant l’accent sur leur architecture et surtout
OBJECTIFS SPECIFIQUE
De déterminer l’inter action entre les entités afin de mettre en place le model
entité /association.
NOTION DE MODELISATION
UNIVERS
REEL
LE MODÈLE ENTITÉ-ASSOCIATION
1. Le concept d’entité
NOM ENTITE
Liste des
propriétés
Les entités peuvent être regroupées en types d’entités. Par exemple, on peut
considérer que tous les employés particuliers sont des instances du type d’entité générique
EMPLOYE Par exemple l’employé nommé DUPONT est une instance ou occurrence de
l’entité EMPLOYE.
2. Les propriétés
Il s’agit des données élémentaires relatives à une entité, les propriétés sont des
données élémentaires relatives à une entité. Par exemple, un numéro d’employé, une date
particulier. En outre les propriétés d’une entité sont également appelées des attributs, ou
3. L’identifiant
Il s’agit d’une propriété ou groupe de propriétés qui servent à identifier une entité.
L’identifiant d’une entité est choisi par l’analyste de façon à ce que deux occurrences de
cette entité ne puissent pas avoir le même identifiant. Par exemple, le numéro d’employé
4. Les associations
Représentation d’un lien entre deux entités ou plus une association peut avoir des
Adhérent Exemplaire
Emprunter
Liste des Liste des
propriétés Date emprunté propriétés
5. Les cardinalités
La cardinalité d’une association pour une entité constituante est constituée d’une
Par exemple :
Adhérent Exemplaire
Emprunter
Liste des Liste des
propriétés Date emprunté propriétés
Employé Projets
Participer
1,n 1,n
1,1
Travailler
1,n
Département
NB :
2
Le père du modèle relationnel
Il faut noter ici qu’il s’agit schéma logique représenté par un ARBRE (voir schémas
ci-dessous) par ailleurs il important de préciser que c’est en 1970, que CODD présente
2. Le schéma relationnel
Le schéma relationnel est l'ensemble des RELATIONS qui modélisent le monde réelLes
relaitions représentent les entités du monde réel (comme des personnes, des objets, etc.) ou
les associations entre ces entités.Passage d'un schéma conceptuel EA à un schéma relationn
nom_de_l'association (liste des identifiants des entités participantes, liste des attributs
Exemple : à travers les règles de gestions suivantes, faites le schéma conceptuel E-A et
ressortez le schéma de relation et les tables relatives à chaque relation. Ainsi comme règle
on a :
Les avantages du modèle relationnel peuvent être classés selon les descriptions
suivantes :
Simplicité de présentation
Opérations relationnelles
les tables
Indépendance physique
Indépendance logique
L’indépendance logique est basée sur le concept de vues facilitant l’accès aux informations
Maintien de l’intégrité
PRINCIPAUX SYSTÈMES
EXERCICES
séance de travail portant sur la gestion des congés, au cours d’une séance de
La mise en place d’un congé est effective après décision du chef hiérarchie
concevoir une base de données devant palier à cela. Vous disposez des informations
suivantes :
puis déterminé les liens directes – identifier les objets pouvant être entités ainsi
que leurs attributs- déterminer les règles de gestion qui vous permettra
OBJECTIFS GÉNÉRAUX
et physique, mettre à la disposition des utilisateurs des langages de haut niveau pouvant
OBJECTIFS SPÉCIFIQUES
Les données sont organisées sous forme de tables à deux dimensions, encore
appelées relations et chaque ligne est un n-uplet ou tuple, les données sont manipulées
données.
1. Le domaine
noter que les domaines sont les ensembles de valeurs possibles dans lesquels sont puisées
les données, en plus, deux ensembles peuvent avoir les mêmes valeurs bien que
sémantiquement distincts.
Exemple :
2. La relation
matérialise sous la forme suivante : R ⊂ D1 × D2 × ... × Dn. Ou D1, D2, ... , Dn sont
Date_naissance_etudiant
Il est aussi possible d’avoir une relation INSCRIT qui découle de la relation
3. Les n-uplets
représente un fait. Comme exemple nous avons : «Tenfack pierre est un étudiant né le 1
4. Les attributs
attribut est porteur de sens et, Il est en général différent du nom de domaine, il est
Exemple : soit la relation TRAJET qui définit un point de départ et un point d’arrivé. On
trajet.
Le schéma d'une relation est défini par le nom de la relation et la liste de ses
attributs sa matérialisation ce fait selon ce qui suit : R (A1, A2, ... , An)
Exemple :
ETUDIANT
(Nom_etudiant,Prenom_etudiant,Date_naissance_etudiant)
Le schéma d'une base de données est défini par l’ensemble des schémas des
relations qui la composent, par ailleurs, il faut notez qu’il existe une différence entre le
schéma de la BDR qui dit comment les donné sont organisées dans la base de donnée
alors que l’ensemble des n-uplets de chaque relation, représentent les données stockées
dans la base de données. La représentation d’une relation (une relation=une table) est :
COLONNE
Attribut 1 Attribut 2 Attribut 3
LIGNE V1 V1 V1
V2 V2 V2
Il faut préciser ici que 1 ÉLÉMENT ou n-uplet = 1 LIGNE alors que un 1 attribut ou
propriété=1 colonne. Attention : une relation est un ensemble ou on ne peut pas avoir 2 lignes
identiques.
Exemple : soit la relation étudiant plus haut on peut avoir ce qui suit
Exemple: Dans la relation PRODUIT, nom est une clé candidate (à condition
qu'il n'y ait jamais 2 produits de même nom).
2. Clé primaire
Le choix d'une clé parmi les clés candidates
3. Clé étrangère ou clé secondaire
C’est un attribut (ou groupe d'attributs) qui fait référence à la clé
primaire d'une autre relation. Exemple:
Les règles d'intégrité sont les assertions qui doivent être vérifiées par les données
contenues dans une base de données. Le modèle relationnel impose les contraintes
structurelles suivantes :
Intégrité de domaine
Intégrité de clé
Intégrité référentielle
La gestion automatique des contraintes d’intégrité est l’un des outils les plus
importants d’une base de données. Elle justifie à elle seule l’usage d’un SGBD.
1. Intégrité de domaine
Les valeurs d'une colonne de relation doivent appartenir au domaine
correspondant :
contrôle des valeurs des attributs ;
contrôle entre valeurs des attributs.
2. Intégrité de clé
Les valeurs de clés primaires doivent être unique et non nul. Il s’agit bien attendu de:
Unicité de clé ;
La valeur null est une valeur conventionnelle pour représenter une information
inconnue. Cependant, dans toute extension possible d'une relation, il ne peut exister 2
n-uplets ayant même valeur pour les attributs clés sinon 2 clés identiques
absurde.
3. Intégrité révérencielle
Les valeurs des clés étrangères sont 'NULL' ou sont des valeurs de la clé
primaire auxquelles elles font référence. C’est dans ce cas précis que nous évoquons
les relations dépendantes qui portent généralement sur des Liaisons de un à plusieurs
L’objectif ici étant de les contraintes de référence qui ont un impact important pour
les opérations de mises à jour car, elles permettent d’éviter les anomalies de mises à
jour.
d’informations
Il existe trois formes normales à mettre en place pour la formalisation des relations
ou tables. Cependant elles doivent être prises en compte dans le processus de mise en
place des bd. Ainsi on a :
être un ensemble de valeurs comme liste_notes, il faut dont décomposer la relation. Ainsi,
note_etudiant(matricule,num_matiere,note)
Une relation est en 2FN si elle est en 1FN et si tout attribut n’appartenant pas à la clé
ne dépend pas d’une partie de la clé. C’est le moment idéal pour identifier des clés et éviter
totalité de la clé.
Exemple : commande (date, numclt, numpdt, qte, pu) elle n'est pas en 2FN car le pu ne
produit (numpdt,designation,pu).
Une relation est en 3FN si elle est en 2FN et si tout attribut n’appartenant pas à la clé ne
dépend pas d’un attribut non clé. Ce qui évite les redondances.
EXERCICES
Questions : faites un tableau comparatif entre les règles d’intégrités et les formes
normales.
OBJECTIFS GENERAL
L'algèbre relationnelle fait partie des fondements des bases de données relationnelles,
utilisée en interne par le SGBD pour évaluer les requêtes. Le langage SQL quant à lui est
destiné aux utilisateurs du SGBD et, à l'heure actuelle, est le langage standard
de n-uplets.
OBJECTIFS SPÉCIFIQUES
Ce chapitre est concentré à la structure des requêtes et qui permet d’interroger une
bd sur toutes ces formes. Pour y parvenir, l’accent sera mis sur les points suivants :
La structure de base d’une requête ;
Les fonctions d’agrégats ;
PRÉSENTATION
C'est un langage fourni avec tout SGBD relationnel commercialisé. C'est un standard
reconnu par l'IS0 depuis 87 (standard donc portabilité). On en est à la version 2 (SQL92)
et la version 3 est annoncée pour bientôt. SQL est un LDD et un LMD. Il est aussi utilisé
pour définir des vues, les droits d'accès, manipulation de schéma physique…
STRUCTURE DE BASE
1. La clause select
Les Ai sont des attributs, les rj sont des noms de relations et P est un prédicat 3.
3
Conditions d’entrées
d'attributs :
LA CLAUSE WHERE: Elle correspond au prédicat ou condition qui porte sur des attributs
Remarque: SQL utilise les connecteurs AND, OR et NOT. Pour simplifier la clause
2. La clause order by
Ce sont des fonctions qui agissent sur des ensembles (multi-ensembles) de valeurs :
Attention : Un même titre peut être compté plusieurs fois s'il est programmé à des heures
AGREGATS ET GROUP BY
Les attributs qui apparaissant dans la clause SELECT en dehors des agrégats doivent être
REQUETES IMBRIQUEES
SQL fournit un mécanisme qui permet d'imbriquer les requêtes. Une sous requête est
une requête SQL (SELECT-FROM-WHERE) qui est incluse dans une autre requête. SQL
permet l'imbrication de sous-requêtes au niveau de la clause WHERE d'où le terme
"structuré" dans Structured Query Language. Les sous-requêtes utilisées les prédicats
suivants:
un prédicat d’égalité ou d’inégalité (=, <>, <, >, <=, >=)
LES VUES
Équivalent à une requête. Une vue peut être considérée comme une relation quelconque
lors de l’expression des requêtes. Une vue est une relation virtuelle dans le sens où elle ne
contient pas effectivement des « tuples ». Elles permettent de définir des relations
virtuelles dans le but de :
Cacher certaines informations à des utilisateurs,
Faciliter l'expression de certaines requêtes,
Améliorer la présentation de certaines données.
Une vue est définie par une expression de la forme : CREATE VIEW V AS requête.
Requête est une expression quelconque de requête et V est le nom de la vue. Exemple : Emp
(NumE, Salaire, Dept, Adresse)
CREATE VIEW EmpGen AS ( SELECT NumE, Dept, Adresse FROM Emp )
1. Domaines
RAJOUT DE CONTRAINTES
CLE ETRANGERE
Soient Personne (NSS, Nom) et Voiture (Matricule, modèle, Proprio). « Proprio » correspond
au NSS du propriétaire. C'est une clé étrangère dans le schéma Voiture car c'est une clé