TRAINING & CONSULTING Cours de base en informatique - … · 6.1 INNER JOIN 79 6.2 LEFT et RIGHT...
-
Upload
hoangkhuong -
Category
Documents
-
view
215 -
download
2
Transcript of TRAINING & CONSULTING Cours de base en informatique - … · 6.1 INNER JOIN 79 6.2 LEFT et RIGHT...
TRAINING & CONSULTING Cours de base en informatique - module 4ABIS Training & [email protected]
© ABIS 2013, 2014
Document: 1660_02f.fm18 octobre 2015
Prière d’envoyer des commentaires sur cette publication à:ABIS Training & Consulting, Postbus 220, B-3000 Leuven, BelgiqueTel.: (+32)-16-245610, Fax: (+32)-16-245639
© Copyright ABIS N.V.
C iii
T
P
D
1
2
3
R
1
2
3
4
27
e structure de données relationnelle ____________________ 2829
tion de base 30sation 31
tre les tables: clés ___________________________________ 35
ERD ______________________________________________ 38
41
la table: un aperçu __________________________________ 42
ne colonne ________________________________________ 4343
données 43 NULL 44ar défaut 45 des contraintes 46
__________________________________________________ 47
49
e query (requête)? __________________________________ 50
les tables: FROM ___________________________________ 51
sultat: SELECT _____________________________________ 52 colonnes à afficher dans le résultat? 52
ours de base en informatique - module 4
ABLE DES MATIÈRES
RÉFACE V
E FICHIER VERS TABLE 1
____De fichier vers table _____________________________________________2
____Définition Base de Données _______________________________________3
____Comment structurer les données ___________________________________43.1 Structure Hiérarchique 53.2 Structure Réseau 73.3 Structure Relationnelle 93.4 NoSQL 12
ELATIONAL DATABASE MANAGEMENT SYSTEMS 15
____C’est quoi, un Database Management System?_______________________16
____Tâches de l’ RDBMS (DBMS Relationnel) ___________________________17
____Liste de produits RDBMS ________________________________________183.1 DB2 193.2 Oracle 203.3 MySQL 213.4 SQL Server / MS SQL 223.5 Access 23
____SQL - Structured Query Language _________________________________24
NORMALISATION
1 ____Concevoir un1.1 Analyse1.2 Concep1.3 Normali
2 ____Relations en
3 ____Diagramme
TABLES
1 ____Définition de
2 ____Définition d’u2.1 Nom2.2 Type de2.3 Valeurs2.4 Valeur p2.5 Imposer
3 ____Intégrité ___
SQL
1 ____C’est quoi un
2 ____Sélectionner
3 ____Montrer le ré3.1 Quelles
C iv
4
5
6
7
AB
1
2
3
E
1
2
n________________________________________________ 102
_________________________________________________ 104
_________________________________________________ 105 - FROM 106 - Conditions de base 107 - Opérateurs logiques 108 - IN et BETWEEN 109 - LIKE 110 - IS NULL 111 BY 112s mixtes 113
114
ours de base en informatique - module 4
3.2 Afficher les valeurs calculées 533.3 Alias 543.4 DISTINCT 55
____Filtrer les données: WHERE ______________________________________564.1 Conditions de bases 574.2 Opérateurs logiques 604.3 IN 644.4 BETWEEN 664.5 LIKE 684.6 IS NULL 71
____Trier: ORDER BY ______________________________________________74
____Coupler des tables: JOIN ________________________________________786.1 INNER JOIN 796.2 LEFT et RIGHT OUTER JOIN 816.3 FULL OUTER JOIN 83
____Résumé______________________________________________________84
NNEXE A:ASE DE DONNÉES TRAINING 85
____Diagramme ERD_______________________________________________86
____Définitions des tables ___________________________________________872.1 Companies 882.2 Persons 892.3 Courses 902.4 Sessions 912.5 Enrolments 92
____Contenu des tables _____________________________________________93
XERCICES 99
____De fichier vers table ___________________________________________100
____Les DBMS___________________________________________________101
3 ____Normalisatio
4 ____Tables ____
5 ____SQL ______5.1 SELECT5.2 WHERE5.3 WHERE5.4 WHERE5.5 WHERE5.6 WHERE5.7 ORDER5.8 Exercice5.9 Joins
C v
P
Ddostle
Ddela
D
Legadeceauen
ours de base en informatique - module 4
RÉFACE
ans ce module, nous traitons le stockage et la gestion de données dans les bases dennées. Nous parcourons quelques façons selons lequelles les données peuvent etre
ructurées, où l'accent sera mis principalement sur les bases de données relationnel-s.
ans la deuxième partie du cours, SQL sera introduit pour recuperer des donnéespuis une base de données. En faisant beaucoup d’exercices, nous incorporons cette
ngue.
u point de vue des exercices, MS-ACCESS sera utilisé.
s systèmes de gestion de bases de données n’ont pas seulement la tâche de sauve-rder les données afin de les pouvoir rechercher ou manipuler facilement. Égalements tâches de gestion sont effectuées. Dans ce module, nous introduisons certains con-pts, tels que performance, locking, versioning, récupération de données, sécurité,diting et monitoring. Dans le module suivant, certains de ces sujets seront discutés plus de profondeur dans le contexte d'Oracle et SQL Server.
ABIS Training & 1
De fic
s
s?
Consulting
hier vers table
Objectifs :
• Pourquoi une base de données?
• Définition d’une base de donnée
• Comment structurer les donnée
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 2
De fichier vers table 1
Les données peuvent être stockées de différentes façons:
• Fichier
• Feuille de calcul
•
A urité, c tions,...)?
ours de base en informatique - module 4
Base de données
vantages et désavantages (chercher, filtrer, gestion, sécohérence, redondance, formatage, utilisation par applica
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 3
Définition Base de Données 2
“ Une base de données est une collection organisée de données interliées qui est facile à manipuler
ours de base en informatique - module 4
par une ou plusieurs applications pour retrouver et gérer des informations”
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 4
Comment structurer les données 3
Plusieurs façons de structurer des données
• Hiérarchique
• Réseau
•
•
•
D s sont é
ours de base en informatique - module 4
Relationnel
NoSQL
...
ifférence dans la manière dont les liens entre les donnéetablis et les données peuvent être interrogées
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 5
Structure Hiérarchique 3.1
La plus ancienne forme de base de données
Structure d’arbre: relation parent-enfant
C un certain n
Im iers
ours de base en informatique - module 4
haque ligne (enregistrement) peut à nouveau se référer àombre d'autres lignes
plémentations: IMS, Windows Registry, système de fich
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 6
Structure Hiérarchique: avantages et désavantages
Avantages:
• facile à concevoir
• facile à entretenir
•
•
• ête est
D
•
• pas de rela-
•
• ues
•
ours de base en informatique - module 4
facile à protéger
similaire au stockage de données non-électronique
facile à rechercher, mais seulement si triée et si la requcompatible avec le triage
ésavantages:
enfant ne peut avoir qu'un seul parent
un seul arbre par base de données, les branches n'ont tion
pas flexible en cas de références plus complexes
pas toutes les données sont intrinsèquement hiérarchiq
navigation difficile (non-linéaire)
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 7
Structure Réseau 3.2
Introduite au milieu des années 60
Similaire à la structure hiérarchique
D entre les b
R
Im
ours de base en informatique - module 4
ifférence: plusieurs enfants par parent - liens possibles ranches
elations “many-to-many”
plémentations: IDMS, systèmes WAN et LAN
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 8
Structure Réseau: avantages et désavantages
Avantages:
• plusieurs types de relations possibles
• accès facile aux données
•
•
• t
D
•
• le modèle
•
ours de base en informatique - module 4
intégrité des données assurée
données indépendantes du système sous-jacent
plus efficace que le modèle hiérarchique correspondan
ésavantages:
système complexe (derrière l'écran)
difficile à introduire des changements structurels dans
devient vite une toile d'araignée
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 9
Structure Relationnelle 3.3
Edgar Codd, début des années 70
Basé sur l’algèbre relationnelle (théorie des ensembles)
Il te”
C ées
T
R
Im ,...
ours de base en informatique - module 4
n’y a plus d’ hiérarchie entre les données: “structure pla
haque ligne d'une table contient des données qui sont li
ables peuvent être reliées les unes aux autres (clés)
elations “one-to-many”
plémentations: Oracle, Sql Server, Access, DB2, MySQL
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 10
Structure Relationnelle - Exemple
C
id titre durée prix par jour
1 SQL 1 375
2 JAVA 4 400
ours de base en informatique - module 4
omment lier les personnes et les sessions?
id date lieu cours
1 04-11-2013 Abis Leuven 1
2 23-09-2013 Abis Leuven 2
3 18-11-2013 Min Finances 2
id prénom nom de famille
1 Marc Leroy
2 Jean Dupont
3 Anne Dubois
4 Marie Petit
5 Louis Lambert
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 11
Structure Relationnelle: avantages et désavantages
Avantages:
• concepts simples, avec base théorique
• pas de données redondantes
•
•
D
•
• es
•
•
•
ours de base en informatique - module 4
non-navigationnel
bonne sécurité (basé sur le contenu des données)
ésavantages:
perte de performance par une normalisation exagérée
une colonne ne peut contenir que des données similair
difficile de changer la structure de la table plus tard (e.g. ajouter une colonne au milieu)
stocker des structures de données plus complexes?
utilisation de NULL en l’absence de valeur
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 12
NoSQL 3.4
“Not only SQL”
Mouvement lancé en 2009
B
S
U les”, ainsi q
Im
ours de base en informatique - module 4
ut: base de données moderne adaptée au Web, Big Data
tructure plus libre, open-source, distribuée
tilisé pour le stockage de données relationnelles “normaue pour des documents et autres structures (e.g. JSON)
plémentations: Hadoop/Hbase, MongoDB,...
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 13
NoSQL: avantages et désavantages
Avantages:
• ajouter dynamiquement de nouvelles colonnes
• aussi des données non-atomiques peuvent être facilement
•
• tion
•
•
D
•
• utils,...
•
ours de base en informatique - module 4
stockées
interface de requête simple
«traduction» plus directe entre les données et l'applica
rapide
utilisation plus efficace de la mémoire
ésavantages:
“TROP” libre?
pas de standardisation: beaucoup de différents types, o
aucune garantie de cohérence des données
De fichier vers table
1. De fichier vers table2. Définition Base de Données3. Comment structurer les don-
nées
C ABIS 14
ours de base en informatique - module 4ABIS Training & 15
RelatiManag
s et DBMS
Consulting
onal Database ement Systems
Objectifs :
• Différence entre base de donnée
• Tâches du DBMS
• Liste de produits
• SQL, c’est quoi?
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 16
C’est quoi, un Database Management System? 1
SGBD: Système de gestion de base de données
Chapitre précédent: vue LOGIQUE sur le stockage de données
P
“ s données, e tilisateurs”
A ibles”
ours de base en informatique - module 4
hysiquement: données encore dans des fichiers
Database Management System est un outil de gestion det un intermédiaire entre les données et les programmes / u
ussi d'autres tâches que de rendre les données “access
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 17
Tâches de l’ RDBMS (DBMS Relationnel) 2
Rendre les données accessibles, indépendamment de la méthode de stockage / accès physique
Surveiller l'intégrité (= cohérence) des données
M
A
S
É
ours de base en informatique - module 4
aximiser l'accès simultané
ugmenter la performance par l'optimisation
écurité des données (autorisations)
viter toute perte de données par e.a. backup / recovery
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 18
Liste de produits RDBMS 3
• IBM: DB2 (z/OS, LUW), Informix
• Oracle: Oracle, MySQL
• Microsoft: Access, SQL Server (MS SQL)
•
•
•
D
• st installée
•
•
•
•
S
ours de base en informatique - module 4
Ingres, PostGreSQL
Sybase (SAP): Adaptive Server Enterprise, IQ
Teradata
ifférences:
système d’exploitation sur lequel la base de données e
où se trouvent les fichiers - utilisation de la mémoire
type / quantité de données - concurrence - optimisation
tâches de gestion
outils
imilitudes: utilisent une interface similaire (SQL)
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 19
DB2 3.1
Première version 1983, dernière version (11) octobre 2013
Trois «produits» différents dépendant du système d'exploitation
•
•
•
T
C aison”
E s, p
P ères)
O
ours de base en informatique - module 4
DB2 z/OS: Mainframe
DB2 LUW: Linux, AIX, Windows
DB2 for iSeries: AS400
aille maximale d’une table: système de fichiers
her en termes de licences - version gratuite pour “à la m
xtrêmement puissant en cas de systèmes très complexeerformant
rincipalement utilisé par les grandes entreprises (financi
utils: SPUFI, QMF, Data Studio
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 20
Oracle 3.2
Première version 1979, dernière version (12c) juin 2013
OS: Windows, Linux, Solaris, AIX, HP-UX
T
C aison”
E s, p
P
O .
ours de base en informatique - module 4
aille maximale d’une table: illimitée
her en termes de licences - version gratuite pour “à la m
xtrêmement puissant en cas de systèmes très complexeerformant
articulièrement populaire dans les grandes entreprises
utils: SQL Developer, Apex, SQL*Plus, Oracle Reports,..
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 21
MySQL 3.3
Première version 1995, dernière version (5.6) juillet 2013
OS: tous (aussi e.g. Symbian, BSD,...)
O
T
S
P art-ups, e
O
ours de base en informatique - module 4
pen source - bon marché (ou gratuit)
aille maximale d’une table: illimitée (système de fichiers)
imple mise en place de petites bases de données
articulièrement populaire dans les petites entreprises, stntreprises qui développent des applications Web
utils: MySQL Workbench, ligne de commande, ...
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 22
SQL Server / MS SQL 3.4
Première version 1984 (Sybase), 1992 (MS), dernière version “SQL Server 2012” (avril 2012)
OS: Windows
T
M volutivité,...
U ...
O
ours de base en informatique - module 4
aille maximale d’une table: 16 TB
oins cher que Oracle ou DB2, mais plus petite en taille, é
tilisateurs: Windows / “Microsoft-minded” compagnies,
utils: SQL Server Management Studio, Visual Studio, Reporting Services,...
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 23
Access 3.5
Première version 1992, dernière version “MS Access 2013” (janvier 2013)
OS: Windows
O teur g
U
•
•
•
•
A
ours de base en informatique - module 4
util + DBMS dans un seul produit (bonne interface utilisaraphique intégrée)
n vrai DBMS?
maximum taille de base de données: 2GB
pas de triggers, fonctions, procedures,...
nombre limité d'utilisateurs simultanés
pas client-server, mais file-server
utiliser surtout pour les petites applications
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 24
SQL - Structured Query Language 4
Langue avec laquelle les données relationnelles sont adressées
Originellement SEQUEL: “Structured English QUEry Language”
4
S
D
L ition de s
ours de base en informatique - module 4
GL - descriptive et déclarative -> facile à écrire
tandard ISO pour tous les produits RDBMS
ialectes!
angage uniforme pour manipulation de données et défintructure
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 25
SQL
DQL: Data Query Language
• select
D
•
•
•
•
•
D
•
•
•
•
ours de base en informatique - module 4
ML: Data Manipulation Language
insert
update
delete
merge
truncate
DL: Data Definition Language
create
alter
drop
rename
Relational Database Management Systems
1. C’est quoi, un Database Ma-nagement System?
2. Tâches de l’ RDBMS (DBMS Relationnel)
3. Liste de produits RDBMS4. SQL - Structured Query Lan-
guage
C ABIS 26
SQL (continué)
DCL: Data Control Language
• grant
• revoke
T
•
•
•
•
C
•
•
•
ours de base en informatique - module 4
CL: Transaction Control Language
commit
rollback
savepoint
lock
LIENT - SERVER
connect
call
prepare
ABIS Training & 27
Norm
relationnelle
bles
Consulting
alisation
Objectifs :
• Concevoir une base de données
• Diagrammes ERD
• Imposer les relations entre les ta
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 28
Concevoir une structure de données relationnelle 1
Données réparties sur plusieurs tables
Table:
•
•
•
T
•
•
•
•
• ication!)
ours de base en informatique - module 4
nombre fixe de colonnes
nombre variable de lignes
une relation entre les données (= signification fixe)
able:
toutes les données représentées par des valeurs
valeurs “atomiques”
pas de lignes doubles
ordre des lignes pas important
ordre des colonnes pas important (mais bien leur signif
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 29
Analyse 1.1
Quelles données faut-il dans les tables? E.g.:
ours de base en informatique - module 4
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 30
Conception de base 1.2
Mets tout dans une grande table en fonction de la signification
O problèmes d
titre durée date lieu personne données personnelles
entreprise données d’entreprise
D . des Arts
D d Pachéco
D ngerbruggestraat
S . des Arts
O d Pachéco
J ngerbruggestraat
ours de base en informatique - module 4
pérations (insert, update, delete, ...) peuvent causer des ans cette forme-> NORMALISER
B2 3 02/03/2013 Abis Leuven Leroy Rue Neuve Min Finances
Av
B2 3 02/03/2013 Abis Leuven Dubois Bld d’Avroy Belfius Bl
B2 3 05/05/2013 Abis Woerden
Dupont Place de L’Ange Honda La
QL 1 15/08/2013 Min Finances
Petit Place de L’Ange Min Finances
Av
racle 3 05/11/2013 Abis Leuven Dubois Bld d’Avroy Belfius Bl
ava 4 05/11/2013 Abis Leuven Lambert Rue Royale Honda La
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 31
Normalisation 1.3
Etape 1: Cours - Inscriptions (version 1)
titre durée
DB2 3
s d’entreprise
D s Arts
D chéco
D bruggestraat
S s Arts
O chéco
J bruggestraat
ours de base en informatique - module 4
Oracle 3
SQL 1
Java 4
titre date lieu personne données personnelles entreprise donnée
B2 02/03/2013 Abis Leuven Leroy Rue Neuve Min Finances
Av. de
B2 02/03/2013 Abis Leuven Dubois Bld d’Avroy Belfius Bld Pa
B2 05/05/2013 Abis Woerden
Dupont Place de L’Ange Honda Langer
QL 15/08/2013 Min Finances
Petit Place de L’Ange Min Finances
Av. de
racle 05/11/2013 Abis Leuven Dubois Bld d’Avroy Belfius Bld Pa
ava 05/11/2013 Abis Leuven Lambert Rue Royale Honda Langer
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 32
Normalisation
Etape 2: Personnes (version 1) - inscriptions (version 2)
personne données personnelles entreprise données d’entreprise
Leroy Rue Neuve Min Finances Av. des Arts
D
D
P
L
D
D
D
S
O
J
ours de base en informatique - module 4
ubois Bld d’Avroy Belfius Bld Pachéco
upont Place de L’Ange Honda Langerbruggestraat
etit Place de L’Ange Min Finances Av. des Arts
ambert Rue Royale Honda Langerbruggestraat
titre date lieu personne
B2 02/03/2013 Abis Leuven Leroy
B2 02/03/2013 Abis Leuven Dubois
B2 05/05/2013 Abis Woerden
Dupont
QL 15/08/2013 Min Finances
Petit
racle 05/11/2013 Abis Leuven Dubois
ava 05/11/2013 Abis Leuven Lambert
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 33
Normalisation
Etape 3: Sessions - Inscriptions (version finale)
titre date lieu titre date personne
DB2 02/03/2013 Abis Leuven DB2 02/03/2013 Leroy
D
S
O
J
ours de base en informatique - module 4
B2 05/05/2013 Abis Woerden DB2 02/03/2013 Dubois
QL 15/08/2013 Min Finances DB2 05/05/2013 Dupont
racle 05/11/2013 Abis Leuven SQL 15/08/2013 Petit
ava 05/11/2013 Abis Leuven Oracle 05/11/2013 Dubois
Java 05/11/2013 Lambert
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 34
Normalisation
Etape 4: Personnes (version finale) - Entreprises
personne données personnelles entreprise entreprise données d’entreprise
Leroy Rue Neuve Min Finances Min Finances Av. des Arts
D o
D gestraat
P eenweg
L
ours de base en informatique - module 4
ubois Bld d’Avroy Belfius Belfius Bld Pachéc
upont Place de L’Ange Honda Honda Langerbrug
etit Place de L’Ange Min Finances KBC Brusselsest
ambert Rue Royale Honda
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 35
Relations entre les tables: clés 2
Clé primaire (primary key, PK) = colonne qui identifie chaque ligne de façon unique
• chaque valeur est différente
•
•
•
• tuellement
C ui se réfère à
• la PK à
•
S rentielle
ours de base en informatique - module 4
ne peut pas être vide (NULL)
(max) 1 PK par table
définie sur une ou plusieurs colonnes
souvent un numéro d'identification artificielle, qui évenest augmenté automatiquement
lé étrangère (foreign key, FK) = colonne dans une table q une clé primaire dans une autre (ou la même) table
obligation d’avoir la même définition (sauf le nom) que laquelle elle se réfère
table peut contenir plusieurs FK
i ces clés sont définies, le DBMS maintient l'intégrité réfé
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 36
Relations entre les tables
A
personne données personnelles entreprise entreprise données d’entreprise
Leroy Rue Neuve Min Finances Min Finances
Av. des Arts
Dubois Bld d’Avroy Belfius Belfius Bld Pachéco
estraat
enweg
nnées d’entreprise
v. des Arts
d Pachéco
ngerbruggestraat
usselsesteenweg
ours de base en informatique - module 4
vec une clé primaire artificielle:
Dupont Place de L’Ange Honda Honda Langerbrugg
Petit Place de L’Ange Min Finances KBC Brusselseste
Lambert Rue Royale Honda
FK PK
personne données personnelles
no d’entreprise no d’entreprise entreprise do
Leroy Rue Neuve 1 1 Min Finances A
Dubois Bld d’Avroy 2 2 Belfius Bl
Dupont Place de L’Ange 3 3 Honda La
Petit Place de L’Ange 1 4 KBC Br
Lambert Rue Royale 3
Janssens Rue de l’Eglise NULL
FK PK
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 37
Relations - JOINS
JOIN = fusion de deux ou plusieurs tables en fonction de leurs clés étrangères et primaires
P dans la FK e
personne données personnelles no d’entreprise entreprise données d’entreprise
ours de base en informatique - module 4
lusieurs types de JOIN, en rapport avec les valeurs NULLt / ou des valeurs de la PK qui ne figurent pas dans la FK
Leroy Rue Neuve 1 Min Finances Av. des Arts
Dubois Bld d’Avroy 2 Belfius Bld Pachéco
Dupont Place de L’Ange 3 Honda Langerbruggestraat
Petit Place de L’Ange 1 Min Finances Av. des Arts
Lambert Rue Royale 3 Honda Langerbruggestraat
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 38
Diagramme ERD 3
ERD = Entity - Relationship Diagram
Documente la relation entre les tables de façon graphique
A de données
O vice-versa
D
ours de base en informatique - module 4
ussi utilisée pendant la phase de conception de la base
utils existent pour traduction depuis ERD vers tables et
ifférentes implémentations: UML, Chen, Bachmann, ...
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 39
ERD - UML
UML = Unified Modeling Language
Différents diagrammes, dont le “diagramme classe”
M
ours de base en informatique - module 4
S-Access utilise un diagramme pareil
Normalisation
1. Concevoir une structure de données relationnelle
2. Relations entre les tables: clés
3. Diagramme ERD
C ABIS 40
ours de base en informatique - module 4ABIS Training & 41
Table
colonnes
Consulting
s
Objectifs :
• Définir des tables
• Valeurs NULL
• Intégrité des données - clés
• Imposer des restrictions sur les
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 42
Définition de la table: un aperçu 1
Une table est constituée de plusieurs colonnes
Chaque colonne définie par:
•
•
•
•
•
C
C in
ours de base en informatique - module 4
nom
type de données
NULLs acceptés?
défauts (optionnel)
contraintes (optionnel)
lés (PK et FK) sont une forme particulière de contrainte
omment préserver l'intégrité -> quoi faire dans le cas desert/update/delete
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 43
Définition d’une colonne 2
Nom 2.1
• 1 “mot”
• commence par une lettre
•
• le contenu!
T 2.2
• la longueur
•
r)
•
•
ours de base en informatique - module 4
longueur maximale dépend du DBMS
sélectionnez un nom de colonne qui identifie clairement
ype de données
chaque colonne caractérisée par le type de données et
3 types de base:
- texte: longueur fixe (char), longueur variable (varcha
- numérique: entier, décimal, ...
- chronologique: date, temps, durée, ...
binaire, LOB, XML, ...
titre exact et implémentation peut dépendre du DBMS!
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 44
Valeurs NULL 2.3
Obligé de remplir une valeur dans la colonne?
• oui
• non -> NULL accepté (défaut)
N le
N
C
•
•
•
•
• qui n’ont
ours de base en informatique - module 4
ULL signifie: valeur inconnue / manquante / pas applicab
ULL n'est pas la même chose que vide!
ontroverse entourant l'utilisation de NULLs:
logique basée sur 3 valeurs (vrai / faux / inconnu)
plusieurs types de jointures requises
sont ignorées par les fonctions de colonne
mémoire physique?
“traduction” nécessaire si utilisé dans des applicationspas (ou partiellement) la notion de la valeur NULL
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 45
Valeur par défaut 2.4
Si un champ est obligatoire, une valeur par défaut peut être définie
Rempli automatiquement si une valeur n'a pas été spécifiée
P
P e de d
•
•
•
ours de base en informatique - module 4
eut être explicitement spécifiée
arfois, valeur par défaut “standard” associée avec le typonnées:
blancs en cas de texte
0 en cas de numérique
“maintenant” en cas de date/temps
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 46
Imposer des contraintes 2.5
Possibilité d'ajouter des règles de validation
Couplées à une colonne ou à la définition de la table
L
E
•
•
•
P
R
ours de base en informatique - module 4
es valeurs sont déterminées par une expression logique
xemples:
sexe in (‘F’, ‘M’)
frais_de_cours > 0
prix_accessoire < prix_total
as de vraies règles métier (business rules)!
ègles de validation limitées à une ligne de table
==> peuvent e.g. pas limiter la taille d'une table
==> peuvent pas lier plusieurs tables(possible en utilisant des triggers et FKs)
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 47
Intégrité 3
Le DBMS vérifie l'intégrité des données si les clés sont définies
Intégrité de l'entité:
NULLs
In
ne clé
Q
• ne
• nes
•
C oprié d
ours de base en informatique - module 4
clé primaire doit être unique et peut pas contenir des
tégrité référentielle:
clé étrangère doit se référer à une valeur correcte d'uprimaire, ou être NULL
uoi en cas de insert/update/delete? -> définir des règles
restrict: erreur si il existe encore des références à la ligenlevée/changée
cascade-> si la ligne est enlevée / changée, aussi les ligréférentes sont enlevées / changées
set null: champs référents sont mis à NULL
omportement par défaut dépend du DBMS, le choix apprépend du sens de la relation
Tables
1. Définition de la table: un aperçu
2. Définition d’une colonne3. Intégrité
C ABIS 48
ours de base en informatique - module 4ABIS Training & 49
SQL
table
Consulting
Objectifs :
• Chercher des données dans une
• Filtrer
• Faire des calculs simples
• Trier
• Coupler des tables
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 50
C’est quoi une query (requête)? 1
SELECT récupère des données à partir d'une ou plusieurs tables
Le résultat est une “table”
P des calculs (
6
er
es données
colonne
D
ours de base en informatique - module 4
ossibilité de filtrer, grouper et trier les données et de fairesimples)
mots de clé:
5 SELECT -> quelles colonnes vous voulez affich
1 FROM -> dans quelle(s) table(s) se trouvent l
2 WHERE -> filtrer (conditions)
3 GROUP BY -> grouper
4 HAVING -> conditions basées sur fonctions de
6 ORDER BY -> trier
ans ce cours: SELECT, FROM, WHERE, ORDER BY
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 51
Sélectionner les tables: FROM 2
Spécifiez la table / vue dans laquelle se trouvent les donnéesselect *from persons
P nom de la t
N teur de la t
ours de base en informatique - module 4
eut aussi être précédé par un nom de schéma, séparé duable avec un point
select *from tbaccad.tutpersons
om du schéma est souvent le nom du propriétaire / créaable
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 52
Montrer le résultat: SELECT 3
Quelles colonnes à afficher dans le résultat? 3.1
•
•
Courses
cid cstitle cdur caprice
ours de base en informatique - module 4
* affiche TOUTES les colonnes select * -> affiche toute la tablefrom courses
choisir les colonnes, séparées par des virgulesselect cstitle , cdurfrom courses
1000 DB2, An overview 5 550.00
2000 IMS/DB 5 600.00
3000 SAS_ADV 3 550.00
cstitle cdur
DB2, An overview 5
IMS/DB 5
SAS_ADV 3
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 53
Afficher les valeurs calculées 3.2
Ajouter de nouvelles colonnes dans le résultat, sur la base des calculs sur des colonnes existantes
Opérateurs: + , - , * , /
U
A le 5)H(sdate), ...
Esfr
ours de base en informatique - module 4
tilisez des points dans les décimales, pas de virgules!
ussi des fonctions scalaires peuvent être utilisées (Modup.ex. LOWER(cstitle), SUBSTR(pfname, 1, 1), MONT
xemple:elect cstitle, caprice * cdur * 1.15om courses
cstitle
DB2, An overview 3162.5
IMS/DB 2070
SAS_ADV 3162.5
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 54
Alias 3.3
Donner un (autre) nom à une colonne dans le résultat
Mot de clé: AS
“
E s :
sfr
L contenu de la
A RDER BY
ours de base en informatique - module 4
AS” peut généralement être omis (sauf en MS-ACCESS)
n cas de plusieurs mots -> ajoutez des guillemets double
elect cstitle AS titre , caprice*cdur*1.15 AS "prix total"om courses
es calculs et les alias dans le SELECT ne changent pas le table originelle
lias seulement à utiliser dans le SELECT (définition) et O
titre prix total
DB2, An overview 3162.5
IMS/DB 2070
SAS_ADV 3162.5
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 55
DISTINCT 3.4
Sélection de lignes uniques sur la base d’une colonne (ou combinaison de colonnes)
DISTINCT = “différent”
sfr
sfr
ours de base en informatique - module 4
elect distinct cdurom courses
elect distinct cdur, capriceom courses
cdur
5
3
cdur caprice
5 550.00
5 600.00
3 550.00
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 56
Filtrer les données: WHERE 4
Limiter le nombre de lignes dans le résultat
Spécifie une condition qui est vraie, fausse ou inconnue (NULL)
S
C
ours de base en informatique - module 4
yntaxe: nom de colonne - OPERATEUR - expression
onditions peuvent être combinées avec AND, OR en NOT
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 57
Conditions de bases 4.1
Opérateurs de comparaison:
• = : égal à
• <> : différent de (dans certains DBMS aussi != ou ^=)
•
•
•
•
D ttez le texte e
V uf si le type d
V
ours de base en informatique - module 4
< : strictement inférieur à
<= : inférieur ou égal à
> : strictement supérieur à
>= : supérieur ou égal à
ans le cas d'une comparaison avec une valeur texte, mentre guillemets simples!
aleurs de texte sont généralement sensibles à la casse, sae données le spécifie différemment (comme chez MS)
aleurs numériques: jamais entre guillemets
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 58
Conditions de base - Exemples
sfrw
sfrw
companies
cono coname cotown cotownno cocountr
1 ABIS N.V. LEUVEN 3000 B
2 ASCO OXFORD RG211RY GB
tr
ours de base en informatique - module 4
elect *om companieshere cono = 2
elect coname , cotown, cocountrom companieshere cocountr <> 'GB'
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
2 ASCO OXFORD RG211RY GB
coname cotown cocountr
ABIS N.V. LEUVEN B
COVERDAT NAARDEN NL
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 59
Conditions de base - Exemples (suite)
select *from companieswhere cono <= 3
sfrw
cono coname cotown cotownno cocountr
1 ABIS N.V. LEUVEN 3000 B
tr
ours de base en informatique - module 4
elect *om companieshere cotown > 'N'
2 ASCO OXFORD RG211RY GB
3 COVERDAT NAARDEN 1411 AR NL
cono coname cotown cotownno cocoun
2 ASCO OXFORD RG211RY GB
3 COVERDAT NAARDEN 1411 AR NL
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 60
Opérateurs logiques 4.2
3 opérateurs pour la combinaison de conditions
• AND: les deux conditions doivent être satisfaites
• OR: au moins une des conditions doit être satisfaite
• , ...)
C(
R
•
• S!
• ite
ours de base en informatique - module 4
NOT: négation (généralement utilisé avec IN, BETWEEN
haque partie est une condition complète comme avant nom de colonne!)
ègles de priorité:
d’abord NOT, puis AND, puis OR
si ordre différent souhaité -> utilisez des PARENTHÈSE
même priorité -> conditions exécutées de gauche à dro
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 61
Opérateurs logiques - Exemples
sfrw
sfrw
companies
cono coname cotown cotownno cocountr
1 ABIS N.V. LEUVEN 3000 B
2 ASCO OXFORD RG211RY GB
tr
tr
ours de base en informatique - module 4
elect *om companieshere cocountr='GB' AND cono>2
elect *om companieshere cocountr='GB' OR cono>2
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
2 ASCO OXFORD RG211RY GB
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 62
Opérateurs logiques - Exemples (suite)
select coname, cocountrfrom companieswhere cocountr='NL' OR cocountr='B'
sfrw
coname cocountr
ABIS N.V. B
ours de base en informatique - module 4
elect coname, cocountrom companieshere cocountr='NL' AND cocountr='B'
COVERDAT NL
coname cocountr
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 63
Opérateurs logiques - Exemples (suite)
select *from companieswhere cocountr='NL' OR cocountr='B' AND cono < 3
sfrw
cono coname cotown cotownno cocountr
1 ABIS N.V. LEUVEN 3000 B
tr
ours de base en informatique - module 4
elect *om companieshere (cocountr='NL' OR cocountr='B') AND cono < 3
3 COVERDAT NAARDEN 1411 AR NL
cono coname cotown cotownno cocoun
1 ABIS N.V. LEUVEN 3000 B
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 64
IN 4.3
Énumération de valeurs
Valeurs entre parenthèses, séparées par des virgules
R
S ur3)
N
ours de base en informatique - module 4
emplace un OR combiné sur la même colonne
yntaxe: nom_de_la_colonne IN (valeur1 , valeur2 , vale
égation: NOT IN
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 65
IN - Exemples
sfrw
sfrw
companies
cono coname cotown cotownno cocountr
1 ABIS N.V. LEUVEN 3000 B
2 ASCO OXFORD RG211RY GB
tr
tr
ours de base en informatique - module 4
elect *om companieshere cotown IN ('LEUVEN','LONDON')
elect *om companieshere cono NOT IN (1,3,4)
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
1 ABIS N.V. LEUVEN 3000 B
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
2 ASCO OXFORD RG211RY GB
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 66
BETWEEN 4.4
“Entre”
Syntaxe: nom_de_la_colonne BETWEEN valeur1 AND valeur2
V
N
U s (
ours de base en informatique - module 4
aleur1 et Valeur2 incluses!
égation: NOT BETWEEN
tilisé principalement pour les valeurs numériques et datemais aussi pour texte)
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 67
BETWEEN - Exemples
sfrw
sfrw
Courses
cid cstitle cdur caprice
1000 DB2, An overview 5 550.00
2000 IMS/DB 5 300.00
ours de base en informatique - module 4
elect cstitle , capriceom courseshere caprice BETWEEN 300 AND 550
elect *om courseshere cdur NOT BETWEEN 4 AND 5
3000 SAS_ADV 3 600.00
4000 ORACLE, An overview 5 550.00
cstitle caprice
DB2, An overview 550.00
IMS/DB 300.00
ORACLE, An overview 550.00
cid cstitle cdur caprice
3000 SAS_ADV 3 600.00
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 68
LIKE 4.5
Rechercher des valeurs de texte avec une certaine forme, comme
• commence par
• contient
•
W
• utilise * )
• tilise ? )
S
N
F ns certains D )
U IN ou “=” !!!
ours de base en informatique - module 4
se termine par
ildcards (jokers, métacaractères) utilisés:
% : 0 ou plus de caractères (ATTENTION: MS-ACCESS
_ : exactement 1 caractère (ATTENTION: MS-ACCESS u
yntaxe: nom_de_la_colonne LIKE '%valeur%'
égation: NOT LIKE
aites attention à l’utilisation de like '%n' (termine par n) daBMS si la colonne est définie comme longueur fixe (char
tilisez TOUJOURS un wildcard avec LIKE, JAMAIS avec
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 69
LIKE - Exemples (syntaxe MS-ACCESS)
sfrw
sfrw
companies
cono coname cotown cotownno cocountr
1 ABIS N.V. LEUVEN 3000 B
2 ASCO OXFORD RG211RY GB
tr
tr
ours de base en informatique - module 4
elect *om companieshere cotown LIKE 'N*'
elect *om companieshere cotown LIKE '*N*'
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
3 COVERDAT NAARDEN 1411 AR NL
cono coname cotown cotownno cocoun
1 ABIS N.V. LEUVEN 3000 B
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 70
LIKE - Exemples (suite)
select *from companieswhere coname LIKE '?O*'
sfrw
sfrw
cono coname cotown cotownno cocountr
3 COVERDAT NAARDEN 1411 AR NL
tr
tr
ours de base en informatique - module 4
elect *om companieshere coname NOT LIKE 'A*'
elect *om companieshere coname NOT LIKE '*A*'
cono coname cotown cotownno cocoun
3 COVERDAT NAARDEN 1411 AR NL
4 EDUCA Ltd. LONDON EC2A 2EN GB
cono coname cotown cotownno cocoun
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 71
IS NULL 4.6
Teste si une valeur est NULL (“inconnue”)
Pas la même chose que vide! Existe aussi pour numérique et date
S
N
A !
M c NULL
N
•
•
•
ours de base en informatique - module 4
yntaxe: nom_de_la_colonne IS NULL
égation: IS NOT NULL -> valeur connue
ttention: n’utilisez jamais nom_de_la_colonne = NULL !!
ot de clé “IS” uniquement à utiliser en combinaison ave
ULL peut être représenté de différentes manières
(dépendant du DBMS et l’outil utilisé)
NULL ou null ou (null) ou \N
---
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 72
IS NULL - Exemples
sfrw
sfrw
persons
pno plname pfname pfunc
1 Smith John programmer
2 Johnson Paul analyst
ours de base en informatique - module 4
elect *om personshere pfunc IS NULL
elect *om personshere pfunc IS NOT NULL
3 Jones Mary NULL
pno plname pfname pfunc
3 Jones Mary NULL
pno plname pfname pfunc
1 Smith John programmer
2 Johnson Paul analyst
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 73
IS NULL - Exemples (suite)
Attention: “<>” ne donne pas les lignes pour lesquelles la valeur est NULL!!!
select *from personswhere pfunc <> ‘PROGRAMMER’
sfrw
ours de base en informatique - module 4
elect *om personshere pfunc <> ‘PROGRAMMER’ OR pfunc IS NULL
pno plname pfname pfunc
2 Johnson Paul analyst
pno plname pfname pfunc
2 Johnson Paul analyst
3 Jones Mary NULL
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 74
Trier: ORDER BY 5
Trier basé sur la base d’une ou plusieurs colonnes
Si plusieurs colonnes: ordre est important
A
S
A
ours de base en informatique - module 4
scendant (ASC: défaut) ou descendant (DESC)
yntaxe : ORDER BY nomcol1 DESC, nomcol2
ussi possible d’utiliser alias ou numéro de colonne
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 75
ORDER BY - Exemples
sfro
sfro
cid cstitle cdur caprice
1000 DB2, An overview 5 550.00
2000 IMS/DB 3 550.00
3000 SAS_ADV 3 600.00
ours de base en informatique - module 4
elect *om coursesrder by cdur
elect * om coursesrder by cstitle DESC
cid cstitle cdur caprice
2000 IMS/DB 3 550.00
3000 SAS_ADV 3 600.00
1000 DB2, An overview 5 550.00
cid cstitle cdur caprice
3000 SAS_ADV 3 600.00
2000 IMS/DB 3 550.00
1000 DB2, An overview 5 550.00
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 76
ORDER BY - Exemples (suite)
select * from coursesorder by cdur, caprice
sfro
cid cstitle cdur caprice
2000 IMS/DB 3 550.00
ours de base en informatique - module 4
elect * om coursesrder by caprice, cdur
3000 SAS_ADV 3 600.00
1000 DB2, An overview 5 550.00
cid cstitle cdur caprice
2000 IMS/DB 3 550.00
1000 DB2, An overview 5 550.00
3000 SAS_ADV 3 600.00
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 77
ORDER BY - Exemples (suite)
select * from coursesorder by cdur DESC,caprice
sfro
cid cstitle cdur caprice
1000 DB2, An overview 5 550.00
ours de base en informatique - module 4
elect cstitle, cdur, caprice om coursesrder by 3
2000 IMS/DB 3 550.00
3000 SAS_ADV 3 600.00
cstitle cdur caprice
IMS/DB 3 550.00
DB2, An overview 5 550.00
SAS_ADV 3 600.00
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 78
Coupler des tables: JOIN 6
Combinaison de plusieurs tables basées sur PK et FK(Condition de jointure)
Dans le FROM
P
•
•
•
•
T dans le S
V et les cA
ours de base en informatique - module 4
lusieurs types de JOINs (à propos des valeurs NULL)
INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
ous les colonnes des tables jointes peuvent être utilisésELECT
ous pouvez donner une alias aux tables (pour la lisibilitéonflits de noms)lias obligatoire en Access
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 79
INNER JOIN 6.1
Contient uniquement les lignes des deux tables, qui ont une PK correspondant au FK
Condition de jointure dans le FROM
S
ours de base en informatique - module 4
yntaxe
SELECT *FROM table1 t1 INNER JOIN table2 t2 ON t1.PK=t2.FK
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 80
INNER JOIN - Exemple
D sonnesfr
R
Companies
cono coname cotownno cotown cocountr
1 ABIS 3000 LEUVEN B
2 ESCON 8200 GENT B
3 FLYGT 1200 TERNAT B
ours de base en informatique - module 4
onnez le prénom et le nom de l’entreprise de chaque perelect pfname, conameom persons p inner join companies c on p.pa_cono=c.cono
ésultat:
Persons
pno pfname pa_cono
1 MARGOT 2
2 CHARLES 3
4 JOHN 2
5 PAUL (null)
pfname coname
MARGOT ESCON
CHARLES FLYGT
JOHN ESCON
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 81
LEFT et RIGHT OUTER JOIN 6.2
LEFT OUTER JOIN: aussi les lignes laissé de table GAUCHE qui n'ont pas de lien avec la table droite sont incluses
RIGHT OUTER JOIN: aussi les lignes laissé de table DROITE qui n'ont p
ntr
)
ours de base en informatique - module 4
as de lien avec la table gauche sont incluses
Persons Companies
pno pfname pa_cono cono coname cocou
1 MARGOT 1 1 ABIS B
2 CHARLES 2 2 XEROX (null
4 JOHN 5 5 IBM NL
5 PAUL (null) 6 APPLE B
PAUL,----MARGOT,ABIS
CHARLES,XEROX----,APPLE
LEFTINNER
RIGHT
JOHN,IBM
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 82
LEFT et RIGHT OUTER JOIN - Exemples
select pfname, conamefrom persons left outer join companies on pa_cono=cono
Résultat
sfr
R
pfname coname
ours de base en informatique - module 4
elect pfname, conameom persons right outer join companies on pa_cono=cono
ésultat
MARGOT ABIS
CHARLES XEROX
JOHN IBM
PAUL (null)
pfname coname
MARGOT ABIS
CHARLES XEROX
JOHN IBM
(null) APPLE
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 83
FULL OUTER JOIN 6.3
Toutes les lignes sont incluses
Combinaison du LEFT et RIGHT outer join
Esfr
R
F
ours de base en informatique - module 4
xempleelect pfname, conameom persons full outer join companies on pa_cono=cono
ésultat
ULL OUTER JOIN n’est pas supporté en Access
pfname coname
MARGOT ABIS
CHARLES XEROX
JOHN IBM
PAUL (null)
(null) APPLE
SQL
1. C’est quoi une query (requê-te)?
2. Sélectionner les tables: FROM
3. Montrer le résultat: SELECT4. Filtrer les données: WHERE5. Trier: ORDER BY6. Coupler des tables: JOIN7. Résumé
C ABIS 84
Résumé 7
SELECT -> quelles colonnes à afficher dans le résultat* -> toutescol1, col2 -> nom de colonnes, séparées par virgulescol1 , col1*col2 AS libellé -> valeurs calculées, alias
F
W
tient
O t)endants select, alias
ours de base en informatique - module 4
DISTINCT col1,col2 -> valeurs uniques
ROM -> table(s) où les données se trouventnom_table1 inner join nom_table2 on fk_col=pk_col
HERE -> conditions de ligne= , <>, < , > , <= , >= -> opérateurs de baseAND, OR, NOT -> opérateurs logiquescol1 (NOT) IN (‘val1’,’val2’,’val3’) -> listecol1 (NOT) BETWEEN val1 AND val2 -> entrecol1 (NOT) LIKE ‘%val%’ -> commence par / concol1 IS (NOT) NULL -> nulls
RDER BY -> trier par colonne dans le résultat (selec col1 DESC , col 2 -> colonnes, DESC = desc 3 , libellé (sauf en ACCESS) -> numéro de colonne dan
ABIS Training & 85
AnnexBase
nnées utilisée dans les exercices
Consulting
e A:de données TRAINING
Objectifs :
• Documentation de la base de do
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 86
Diagramme ERD 1
ours de base en informatique - module 4
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 87
Définitions des tables 2
La base de données TRAINING contient 5 tables:
1. COURSES
2. PERSONS
3
4
5
L épartement T
ours de base en informatique - module 4
. COMPANIES
. SESSIONS
. ENROLMENTS
a base de données est un exemple de l’admistration du dRAINING.
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 88
Companies 2.1
KEY COLNO NAME COLTYPE LENGTH SCALE NULLS DEFAULT------------------------------------------------------------------PK 1 CONO SMALLINT - - N - 2 CONAME CHAR 45 - N - 5 COTOWN CHAR 45 - N - 6 COTOWNNO CHAR 10 - Y NULL 7 COCOUNTR CHAR 4 - Y NULL 8 COTEL CHAR 16 - Y NULL 9 COVAT CHAR 11 - Y NULL
S
• ise
•
•
•
•
•
•
•
ours de base en informatique - module 4
10 COBANKNO CHAR 14 - Y NULL
émantique:
CONO: (PK artificielle), contient le numéro de l’entrepr
CONAME: nom de l’entreprise
COTOWN: localité ou l’entreprise se situe
COTOWNNO: code postal
COCOUNTR: pays (B,NL,D ou GB)
COTEL: numéro de téléphone de l’entreprise
COVAT: numéro TVA
COBANKNO: numéro compte bancaire
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 89
Persons 2.2
KEY COLNO NAME COLTYPE LENGTH SCALE NULLS DEFAULT------------------------------------------------------------------PK 1 PNO SMALLINT - - N - 2 PLNAME CHAR 40 - N - 3 PFNAME VARCHAR 15 - Y NULL 4 PFUNC CHAR 20 - Y NULLFK(N) 5 PA_CONO SMALLINT - - Y NULL 6 PADEPT CHAR 30 - Y NULL 8 PSEX CHAR 1 - Y NULL
S
•
•
•
•
• onne
• travaille
• )
ours de base en informatique - module 4
émantique:
PNO: (PK artificielle), contient le numéro personnel
PLNAME: nom de famille
PFNAME: prénom
PFUNC: fonction de la personne
PA_CONO: FK vers COMPANIES, l’entreprise où la perstravaille
PADEPT: département dans l’entreprise où la personne
PSEX: sexe de la personne, homme (‘M’) ou femme (‘F’
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 90
Courses 2.3
KEY COLNO NAME COLTYPE LENGTH SCALE NULLS DEFAULT------------------------------------------------------------------PK 1 CID CHAR 4 - N - 2 CSTITLE CHAR 45 - N - 3 CLTITLE VARCHAR 60 - Y NULL 4 CDUR SMALLINT - - N - 5 CAPRICE DECIMAL 9 2 N -
S
•
•
•
•
•
ours de base en informatique - module 4
émantique:
CID: (PK artificielle), contient l’ id du cours
CSTITLE: titre court du cours
CLTITLE: titre long du cours
CDUR: durée en nombre de jours
CAPRICE: prix par jour
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 91
Sessions 2.4
PK 1 SNO SMALLINT - - N - 2 SDATE DATE - - N -FK(R) 3 SINS_PNO SMALLINT - - N -FK(R) 4 SLOC_CONO SMALLINT - - N -FK(R) 6 SORG_CONO SMALLINT - - Y NULL 7 SKIND CHAR 1 - N - 8 SINCOMES DECIMAL 9 2 N 0.00 9 SCANCEL CHAR 1 - Y NULLFK(R) 10 S_CID CHAR 4 - N -
S
•
•
• nstructeur
•
• session
•
•
• NULL
•
ours de base en informatique - module 4
émantique:
SNO: (PK artificielle), numéro de la session
SDATE: date de début
SINS_PNO: FK vers PERSONS, numéro personnel de l’i
SLOC_CONO: FK vers COMPANIES, lieu de la session
SORG_CONO: FK vers COMPANIES, organisateur de la
SKIND: type de session, public (‘p’) ou entreprise (‘c’)
SINCOMES: revenus
SCANCEL: session a été annulée? Oui -> ‘c’ autrement
S_CID: FK vers COURSES, cours lié à la session
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 92
Enrolments 2.5
KEY COLNO NAME COLTYPE LENGTH SCALE NULLS DEFAULT------------------------------------------------------------------PK1/FK(C) 1 E_SNO SMALLINT - - N -PK2 2 ENO SMALLINT - - N -FK(R) 3 E_PNO SMALLINT - - Y NULL 4 EPAY DECIMAL 9 2 N 0.00FK(R) 5 E_CONO SMALLINT - - N - 6 ECANCEL CHAR 1 - Y NULL
S
•
•
•
• s)
• e la
• ent NULL
ours de base en informatique - module 4
émantique:
E_SNO: FK vers SESSIONS, session liée à l’inscription
ENO: numéro d’inscription dans une session
E_PNO: FK vers PERSONS, personne qui est inscrite
EPAY: prix par jour payé (après les réductions possible
E_CONO: FK vers COMPANIES, entreprise pour laquellpersonne est inscrite
ECANCEL: l’inscription a été annulée? Oui -> ‘c’ autrem
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 93
Contenu des tables 3
COMPANIES
ours de base en informatique - module 4
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 94
Contenu des tables - PERSONS
ours de base en informatique - module 4
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 95
Contenu des tables - COURSES
ours de base en informatique - module 4
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 96
Contenu des tables - SESSIONS
ours de base en informatique - module 4
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 97
Contenu des tables - ENROLMENTS
ours de base en informatique - module 4
Annexe A:Base de données TRAINING
1. Diagramme ERD2. Définitions des tables3. Contenu des tables
C ABIS 98
ours de base en informatique - module 4ABIS Training & 99
Exerc
es produits RDBMS
Consulting
ices
Objectifs :
• Pratiquer les notions apprises
• Chercher des informations sur l
• Ecrire des requêtes en SQL
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 100
De fichier vers table 1
1. Enumérez les avantages et désavantages de l’utilisation des fichiers, feuilles de calcul et bases de données
2. Jean, Pierre et Bob sont des acheteurs de quincailleries chez des magasins de bricolage. Pour compléter leur stock, ils font des
de Louvain,
and, 500
rossiste A C de
hique et
3 turation de
ours de base en informatique - module 4
commandes chez des grossistes.
Jean: 5000 vis à tôle et 2000 tirefonds chez grossiste A 4000 écrous hexagonaux chez grossiste B de GandPierre: 1000 crochets suspendus chez grossiste B de Gtournevis à bout plat chez grossiste C de BruxellesBob: 5000 tirefonds et 3000 écrous hexagonaux chez gde Louvain, 250 tournevis cruciformes chez grossiste Bruxelles
Représentez cette situation dans une structure hiérarcrelationnelle
. Cherchez au minimum 2 autres façons (Google) de strucdonnées
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 101
Les DBMS 2
1. Outre Sql Server, Oracle,... il y a encore d’autres RDBMS. Trouvez-en au minimum 2.
2. Quelles sont les différences principales entre ACCESS et une vraie RDBMS
3 es réseau il
4 s liez à des l type?), un
5 ont les
ours de base en informatique - module 4
. Aussi pour les structures hiérarchiques et les structury a des produits DBMS. Trouvez-en quelques uns.
. Vous connaissez encore des noms de produits que voubases de données? Recherchez si c'est un DBMS (queoutil, une langue ou ...
. Quelles éditions de SQL Server 2014 y-a t’il? Quelles sdifférences? Les prix?
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 102
Normalisation 3
1. Cherchez les erreurs dans la base de données relationnelle. Pourquoi est-ce qu’on aurait fait ceci? Essayez de corriger..
Table 1: Stock Table
Price
10
22
32
40
40
66
20
86
ours de base en informatique - module 4
Product # Products Price / Product
GREEN PAINT 6 10
BLUE PAINT 10 11
PAINTBRUSH 7 20
Table 2: Order Table
OrderNr Date ClientNr Product # Products
1 02.02.2002 1 GREEN PAINT 1
1 02.02.2002 1 BLUE PAINT 2
1 02.02.2002 1 TOTALS 3
2 03.03.2002 1 PAINTBRUSH 2
2 03.03.2002 1 TOTALS 2
4 04.04.2002 3 BLUE PAINT 6
4 04.04.2002 3 PAINTBRUSH 1
4 04.04.2002 3 TOTALS 7
FK FK
PK
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 103
Normalisation
2
ient encore
ClientNr ClientName PhoneNr FaxNr
1 ABIS 016/245610
016/245611
016/245691
3 ARDATIS 016/000000 -
ours de base en informatique - module 4
. Elaborez l’exercice sur les acheteurs de quincailleries
- quelles informations supplémentaires (colonnes) seraintéressantes?
- identifiez les différentes «entités»
- différence fournisseur-acheteur?
- comment mettre les relations entre les tables? Clés
- Faites un ERD (UML)
2 ACERTA 016/111111 -
2 ACERTA 016/222222 016/333333
PK
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 104
Tables 4
Mettez la base de données de l'exercice précédent à la pratique. Utilisez ACCESS.
1. Choisissez de bons noms pour les colonnes
2
3
4
5
6
7 on à
8
9
E aleurs-clés) e rité est tou-jo
ours de base en informatique - module 4
. Quel type de données (+ longueur) allez-vous utiliser
. Quels champs sont obligatoires?
. Contraintes?
. Quelle table à créer en premier lieu?
. Mettez les relations entres les tables
. Remplissez les tables avec des données. Faites attentil’ordre!!!
. Corrigez votre ERD si nécessaire
. Documentation?
ssayez de modifier quelques données (en particulier les vt enlevez quelques lignes. Qu'est-ce qui se passe? L'intégurs en ordre?
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 105
SQL 5
Étudiez la documentation de la base de données TRAINING
1. Regardez le ERD. Quelles tables sont utilisées? Relations?
2. Examinez les descriptions des colonnes de la table: nom, type de
3 colonnes?
4 tables. Est-
A
1
2 s -> FROM
3
4 alculs?
5
ours de base en informatique - module 4
données, NULLs?
. Consultez la description sémantique. Signification des
. Dans ce cas, nous avons imprimé aussi le contenu desce réaliste?
pproche générale pour écrire une requête:
. Analysez bien la question!!!
. Dans quelle table pouvez-vous trouver les information
. Y a-t-il des conditions à imposer -> WHERE
. Qu'est-ce que vous voulez montrer dans le résultat? C-> SELECT
. Est-ce que le résultat doit être trié? -> ORDER BY
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 106
SELECT - FROM 5.1
1. Affichez le contenu de la table sessions
2. Sélectionnez toutes les informations de la table enrolments
3. Sélectionnez tous les numéros d’identification ainsi que les titres complets de la table courses.
4 ssions
5 le avec le
6 prise
7
8 rs [7]
9 t le sexe de
1 rtement [33]
ours de base en informatique - module 4
. Affichez la date et le numéro de cours de toutes les se
. Donnez le prix total par cours. Montrez ce prix ensembtitre court. Utilisez des noms clairs pour les colonnes
. Donnez le nom, code postal et localité de chaque entre
. Calculez le revenu par session hors TVA (21%)
. Quels sont les différents tarifs journaliers pour les cou
. Donnez le prénom, le nom de famille, le département echaque personne
0.Donnez les combinaisons uniques de fonction et dépa
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 107
WHERE - Conditions de base 5.2
1. Montrez toutes les entreprises britanniques [4]
2. Donnez les titres longs de tous les cours de 3 jours [10]
3. Donnez toutes les sessions avec un revenu de plus de 5000 euro [7]
4
5 s par Abis
6 u minimum
7 it? [5]
8 onne qui
9
1 atuit [1]
ours de base en informatique - module 4
. Affichez toutes les personnes avec prénom David [2]
. Obtenez toutes les sessions qui ne sont pas organisée(cono=3) [6]
. Donnez tous les numéros des entreprises qui ont payé a500 euros par jour pour une inscription [9]
. Pour quelles sessions Frits Meuris (pno=25) était inscr
. Montrez le numéro personnel et le nom de chaque perstravaille pour Berendsen CP (cono=32) [5]
. Montrez toutes les inscriptions annulées [5]
0.Donnez toutes les personnes qui ont suivi un cours gr
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 108
WHERE - Opérateurs logiques 5.3
1. Donnez les noms de tous les programmeurs féminins [1]
2. Affichez toutes les informations des sessions publiques qui ont eu lieu chez Abis (cono=3) [6]
3. Donnez le nom et localité de toutes les entreprises belges et
4 ulées [1]
5 o=3) a ono=10) [3]
6 t dans le
7 numéro
8
ours de base en informatique - module 4
allemandes [15]
. Donnez toutes les sessions du cours 7850 qui sont ann
. Montrez les numéros des cours que Ann De Keyser (pndonnés, et qui étaient organisés par BET Mechanics (c
. Spécifiez la fonction de tous les hommes qui travailleninfocenter de la “Belgische Bank” (cono=22) [2]
. Donnez tous les employés de l’entreprise 1 ou 41 avecpersonnel plus grand que 12 [4]
. Montrez tous les programmeurs du départementSYSTEM SOFTWARE et tous les “project managers”de chez DATA SERVICES [3]
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 109
WHERE - IN et BETWEEN 5.4
1. Donnez toutes les personnes qui travaillent pour entreprise 43, 22 ou 11 [6]
2. Donnez les numéros de cours et les titres courts de chaque cours qui dure 1 ou 2 jours [10]
3 prise en
4 ne sont pas
5 u se situe
6 par Ann De
7 nnels pour inimum 500
ours de base en informatique - module 4
. Donnez les noms et numéro de TVA de toutes les entreAnvers ou Rotterdam [5]
. Donnez le nom et localité de toutes les entreprises qui localisées en Belgique ou aux Pays-Bas [5]
. Donnez le numéro de toutes les sessions dont le revenentre 5000 et 7500 [5]
. Montrez toutes les sessions qui n’ont pas été donnéesKeyser (pno=3) ou Bruce Adamson (pno=36) [7]
. Montrez les numéros de session et les numéros persotous les inscrits qui ont payé au maximum 400 ou au meuro par jour [27]
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 110
WHERE - LIKE 5.5
1. Montrez toutes les personnes avec un prénom qui commence par ‘D’ [6]
2. Donnez le titre court de tous les cours en rapport avec les PC [3]
3. Donnez le nom de tous les managers masculins [13]
4 endroit qui
5 ciétés
ours de base en informatique - module 4
. Donnez le nom des entreprises qui sont situées dans unne commence pas par ‘A’ ou ‘B’ [15]
. Sélectionnez toutes les informations concernant les soanonymes (S.A./N.V.). [3]
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 111
WHERE - IS NULL 5.6
1. Donnez toutes les personnes dont la fonction n’est pas connue [3]
2. Donnez toutes les entreprises dont le numéro de téléphone est connu [9]
3. Donnez les sessions non-annulées [13]
4 n avec une
5 st inconnu,
ours de base en informatique - module 4
. Montrez les noms de chaque personne qui n’a pas de lieentreprise [2]
. Donnez toutes les entreprises dont le numéro de TVA emais dont le compte bancaire est connu [2]
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 112
ORDER BY 5.7
1. Triez toutes les entreprises par pays
2. Triez les sessions descendant sur revenus
3. Rangez les inscriptions par entreprise
4
5 descendant
ours de base en informatique - module 4
. Triez les personnes par nom de famille et prénom
. Triez la table SESSIONS par numéro de l’instructeur, et sur localité
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 113
Exercices mixtes 5.8
1. Donnez les combinaisons uniques de numéro d'instructeur et le lieu où il a enseigné. Triez par numéro d'instructeur. [7]
2. Donnez les personnes de l’entreprise 43 qui ont suivi un cours [4]
3. Donnez le nom et code postal de chaque entreprise néerlandaise
4 nimum 3
5 2]
6
7 ’entreprise
8 i n’ont pas revenus [2]
9 lges qui ne al ne onnu [7]
1 r [27]
ours de base en informatique - module 4
qui se situe dans un lieu qui commence par ‘R’ [2]
. Donnez le prix total de tous les cours qui durent au mijours et dont le id commence par ‘80’ [9]
. Donnez toutes les inscriptions annulées de session 8 [
. Quels instructeurs donnent le cours avec id 7900 [3]
. Montrez tous les numéros personnels et les numéros dde ceux qui ont suivi session 1 [4]
. Donnez le numéro et la date des sessions publiques queu lieu, mais pour lesquelles il y avait quand même des
. Montrez les informations concernant les entreprises bese trouvent pas dans la région de Bruxelles (code postcommence pas par 1) et dont le numéro bancaire est c
0.Affichez toutes les personnes qui ne sont pas manage
Exercices
1. De fichier vers table2. Les DBMS3. Normalisation4. Tables5. SQL
C ABIS 114
Joins 5.9
1. Montrez le numéro personnel et le nom de chaque personne qui travaille pour Berendsen CP [5]
2. Obtenez toutes les sessions qui ne sont pas organisées par Abis [6]
3 ion dont le
4 Center [3]
5
ours de base en informatique - module 4
. Donnez tous les noms des cours et leurs dates de sessrevenu se situe entre 5000 et 7500 [5]
. Donnez le nom de chaque entreprise qui a un Training
. Qui est l’instructeur de la session 5 (donnez son nom)[Peter Tavernier]