training & consulting cours de base en informatique - … · 6.1 inner join 79 6.2 left et...

120
TRAINING & CONSULTING Cours de base en informatique - module 4 ABIS Training & Consulting www.abis.be [email protected] © ABIS 2013, 2014 Document: 1660_02f.fm 18 octobre 2015 Prière d’envoyer des commentaires sur cette publication à: ABIS Training & Consulting, Postbus 220, B-3000 Leuven, Belgique Tel.: (+32)-16-245610, Fax: (+32)-16-245639 © Copyright ABIS N.V.

Upload: hoangkhuong

Post on 31-Mar-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

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.

C vi

ours de base en informatique - module 4

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 4

ABIS 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 4

ABIS 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 4

ABIS 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 4

ABIS 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]