Qu’est ce qu’une base de données ?
• Un SGBD peut être perçu comme un ensemble logiciel
permettant aux utilisateurs d’insérer, de modifier et de
rechercher efficacement les données spécifiques dans
une grande masse d’informations partagées par de
multiples utilisateurs. Les informations sont stockées
sur mémoire secondaire (disques).
• En résumé, un SGBD apparaît comme un outil
informatique permettant la sauvegarde, l’interrogation,
la recherche, le partage, la performance d’accès et la
mise en forme de données stockées sur mémoire
secondaire.
LES DIFFERENTS MODELES DE BASES DE DONNEES
LES BASES DE DONNES HIERARCHIQUES (DL1)
Les données sont regroupées en SEGMENTS, la représentation
d’une base hiérarchique se fait sous la forme d’un organigramme
d’entreprise. Les accès se font par des liens hiérarchiques de
type PARENT-ENFANT ==> dépendance entre l’accès aux
données et le programme.
LES BASES DE DONNES RESEAU (IDMS)
Au niveau du réseau, on parle de RECORDS et non plus de
segments. La représentation d’une base de données
réseau se fait sous la forme d’une grappe ==> dépendance
entre l’accès aux données et le programme.
LES BASES DE DONNES RELATIONNELLES (DB2)
Les données sont regroupées dans une table. Cette table est
composée de (n)lignes et de (n) colonnes ==> indépendance entre le
programme et l’ accès aux données.
L ’ENVIRONNEMENT DB2
TSO
IMS CICS
QMF SPUFI PROG
ATTACH ATTACH ATTACH
THREAD THREAD THREAD
MSTR (system services)
Gère l’activité de LOGGING , gère les THREADs et le RECOVERY
D (LOGs, BSDS, ARCHIVE LOGs) W
D DBM1 IRLM L
F Permet d ’accéder aux données Espace adresse de gestion des M
Récupère les requêtes SQL verrous
Dialogue avec IRLM IRLM pose les LOCKs
ARCHIVE
DATA CATALOGUE DIRECTORY LOGs BSDS LOG
L’ARCHITECTURE SYSPLEX
• C’est un ensemble d’images MVS, s’exécutant sur une ou
plusieurs machines physiques, et qui grâce, à un
dispositif Hardware et Software, apparaît comme une
seule et même entité MVS. Un ensemble de 32 images
MVS peut être relié ensemble.
• Sysplex est là pour répondre à une demande toujours
croissante de puissance machine et de disponibilité.
• Les grands principes du SYSPLEX:
Le data sharing, partage des données, fait que
chaque partition est capable d’effectuer seule
l’intégralité des traitements.
Le partage des ressources
La répartition de la charge
L’ARCHITECTURE SYSPLEX
• LA COUPLING FACILITY
C’est un dispositif Hardware et Software qui assure le partage et l’intégrité
des données. Elle est constituée de mémoire découpée en zones appelées
STRUCTURES, utilisées par les sous-systèmes pour accéder aux données
partageables.
• LES DIFFERENTS TYPES DE STRUCTURES
les structures de type LOCK destinées à centraliser au niveau sysplex les
demandes d’accès simultanées à des ressources communes aux différentes
images MVS et assurer ainsi l’intégrité des données.
les structures de type cache, elles permettent de constituer un cache de
données accessibles aux différents membres d’un groupe sysplex. Elles
permettent également de gérer l’intégrité des données utilisateurs.
les structures de type list, elles permettent la constitution au niveau du
sysplex des files d’attente d’unité de traitement à disposition des différentes
images MVS (JES, VTAM..).
SELECT
La projection correspond à l’ordre suivant :
SELECT NOM_ETUD, DIPLOM_ETUD FROM TETUD
La sélection avec une CONSTANTE correspond à l’ordre suivant :
SELECT NOM_ETUD, DIPLOM_ETUD FROM TETUD
WHERE NOM_COURS = ‘INTRO A DB2’
La sélection avec NOMS DE COLONNES correspond à l’ordre suivant :
SELECT NOM_ETUD, DIPLOM_ETUD FROM TETUD
WHERE NUM_ETUD > AGE_ETUD
La sélection avec HOST VARIABLES correspond à l’ordre suivant :
SELECT NOM_ETUD, DIPLOM_ETUD
INTO :WS-NOM-ETUD, :WS-DIPLOM-ETUD
FROM TETUD
WHERE NUM_ETUD = :WS-NUM-ETUD
SELECT
• L’utilisation du mot clé NOT permet au programmeur de spécifier un
contraire logique.
SELECT NUM_COURS, CLASSE_COURS, INSTRUCT_COURS
FROM TCOURS
WHERE NOT (CLASSE_COURS = ‘DB2001’)
• La clause WHERE LIKE ou NOT LIKE donne un critère de recherche
générique pour accéder aux lignes . Deux caractères spéciaux
‘ % ’ Remplace de 0 à N caractères pour la recherche
SELECT PRENOM_ETUD, NOM_ETUD FROM TETUD
WHERE NOM_ETUD LIKE ‘ %SON ’
‘ _ ’ Un seul caractère générique e comparaison
SELECT PRENOM_ETUD, NOM_ETUD FROM TETUD
WHERE NOM_ETUD LIKE ‘ _ _ _ _SON ’
LES FONCTIONS DE COLONNES
• LES FONCTIONS DE COLONNES
Elles s ’appliquent à l ’ensemble des lignes de la table qualifiées par la clause WHERE.
Ce sont des fonctions de groupe qui agissent sur des occurrences de colonnes
multiples
Toutes les valeurs NULL dans une colonne sont éliminées avant que la fonction soit
appliquée.
MIN: fournit la valeur minimale pour une colonne désignée dans la table
MAX: fournit la valeur maximale pour une colonne désignée dans la table
AVG: fournit la valeur moyenne pour une colonne
SUM: fournit le total des valeurs d ’une colonne
COUNT: compte le nombre de lignes sélectées
• EXEMPLES
SELECT MIN(SALAIRE_INSTRUCT) FROM TINSTRUCTEUR
WHERE DEPT_INSTRUCT = ‘ INFORMATIQUE ’;
SELECT COUNT(*) FROM TINSTRUCTEUR;
LES MOTS CLES
• CURRENT DATE / CURRENT TIME / DATE
SELECT AVG(YEAR(CURRENT DATE - BIRTHDATE))
FROM [Link];
SELECT * FROM TEMPLOYE
WHERE WORKDEPT = ‘ D11 ’ AND
(YEAR(PRENDATE) IN ( YEAR(CURRENT DATE),
YEAR(CURRENT DATE + 1 YEAR),
YEAR(CURRENT DATE + 2 YEARS))
SELECT [Link].*, CURRENT DATE, CURRENT TIME
FROM [Link];
SET :DATEHV = DATE('2000-2-29') + 4 MONTHS;
The host variable DATEHV = '2000-06-29'.
LES FONCTIONS SCALAIRES
• LES FONCTIONS SCALAIRES
Ces fonctions agissent sur les occurrences de colonnes uniques.
SUBSTR: obtient le sous-ensemble d ’une chaîne
LENGTH: détermine la longueur d ’une chaîne de caractères
DIGITS: convertit les données numériques en format caractère
CHAR: convertit les données DATE, TIME en format caractère
YEAR: permet d ’extraire l ’année d ’une colonne définie en DATE ou TIMESTAMP
DAY: utilisé pour extraire le jour d ’une colonne définie en DATE ou
TIMESTAMP
MONTH: utilisé pour extraire le mois d ’une colonne définie en DATE ou
TIMESTAMP
DAYS: Nombre de jours depuis la date système de DB2 (01-01-0001)
• EXEMPLES
• SELECT * FROM TCOURS WHERE SUBSTR(NOM_COURS,1,1) = ‘ S ’;
SELECT CHAR(DATE_COURS,EUR) FROM TCOURS WHERE NUM_COURS = 29;
SELECT * FROM TCOURS WHERE
SUBSTR(CHAR(DATE_COURS),6,2) = ‘ 11 ’
LES ETATS d’UN OBJET DB2
• ETAT NORMAL D ’UN OBJET : RW (READ WRITE)
• ETAT RESTREINT POSES PAR L ’UTILISATEUR:
RO: Objet démarré en READ ONLY
UT: Objet démarré pour les utilitaires seulement
STOPP: Stop de l ’objet en cours (les threads en cours d ’utilisation
se terminent. Les nouveaux ne peuvent plus y accéder).
STOP: Objet stoppé
Les commandes posent des drains, qui sont des verrous exclusifs.
• ETAT RESTREINT POSES PAR LES UTILITAIRES:
UTRO: Accès concurrent en lecture autorisé (DRAIN WRITER)
UTRW: Accès concurrent en mise à jour autorisé (CLAIM)
UTUT: Accès concurrent interdit (DRAIN ALL)
• ETAT RESTREINT POSES PAR DB2
COPYPEND: DB2 ne garantit pas la restauration des données
CHECK: DB2 ne garantit pas l ’intégrité des données
RECP: DB2 ne garantit pas la validité des données.