GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données...

150
GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

Transcript of GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données...

Page 1: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Bases de données

Access, Mysql et autresSystèmes de Gestion de Base de

Données Relationnelle (=SGBDR) (=DBMS)

Page 2: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Sommaire– Base de données : définition et utilisation – Pourquoi pas Excel ?– BdD : éviter la redondance– Langage SQL et requêtes

Page 3: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Définition• Base de données

– Un ensemble de données – Une structuration forte– Une gestion de plusieurs utilisateurs

simultanés– Un ensemble d’outils permettant d’extraire

rapidement des informations de l’ensemble des données

Ensemble structuré de données enregistrées avec le minimum de Ensemble structuré de données enregistrées avec le minimum de redondances pour satisfaire simultanément plusieurs utilisateurs de redondances pour satisfaire simultanément plusieurs utilisateurs de façon sélective et en un temps opportun.façon sélective et en un temps opportun.

Ensemble structuré de données enregistrées avec le minimum de Ensemble structuré de données enregistrées avec le minimum de redondances pour satisfaire simultanément plusieurs utilisateurs de redondances pour satisfaire simultanément plusieurs utilisateurs de façon sélective et en un temps opportun.façon sélective et en un temps opportun.

Page 4: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

UtilisationVoir article « 

Quel SGBD choisir »– Access– Paradox– Sybase– SQL Server– Oracle– MySQL (libre avec

PHP)– InterBase– PostGreSQL– SQLite

Page 5: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Bases de données omniprésentes• Les bases de données sont omniprésentes :

– Hautes Écoles, Universités :• Données sur les étudiants

– Id, nom, prénom, classe, section, cycle, année…

• Données sur les formations– matière, intervenant (enseignant), public, salle

• Données sur les résultats– matière, intervenant (enseignant), pondération, résultat

– Entreprises• fichiers clients, fournisseurs, commandes• facturation,• gestion de stock, inventaire.

Page 6: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Bases de données omniprésentes• Les bases de données sont omniprésentes :

– Bibliothèques :• Données sur les lecteurs

– Id, nom, prénom, statistiques, montant dû…

• Données sur les livres– Titre, ISBN, auteur, genre, code, emplacement, emprunts,

collection, éditeurs

• Données sur les auteurs– Livres, adresse, nom, prénom,

– Privé• Collection de CD ou DVD• Contenu de congélateur• …

Page 7: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Pourquoi pas Excel ? (1)

• Et c’est parti… j’attends ma première commande…

Page 8: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Pourquoi pas Excel ? (2)

• Premier client, première commande…

Page 9: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Pourquoi pas Excel ? (3)• Dans sa commande, mon client désire

plusieurs produits …

Page 10: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Pourquoi pas Excel ? (4)

• Chiffre d’affaires pour les tomates ?

Page 11: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Pourquoi pas Excel ? (5)

• Les défauts : – Redondance :

• Données répétées (info client si plusieurs commandes, info produit si plusieurs fois commandé…)

– Réécriture• Orthographe, perte de temps, mise à jour difficile

– Nombre de lignes• 65535 = 216 – 1

– Mélange de divers types de données• Client, produit, commande, prix, …• gestion de stock, inventaire.

Page 12: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Base de données (1)

• Exemple : un carnet d’adresses organise les informations sur vos interlocuteurs en plusieurs catégories : nom, numéro de téléphone fixe, gsm, fax, adresse, e-mail, etc.

Une base de données est un ensemble organisé d’informationsstructurées

Page 13: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Base de données (2)

Nom Prénom Adresse Tél Fax E-mail

Nom1Nom2

……

……

……

……

……

Une table contient des enregistrements en lignes, correspondant aux individus (animés ou inanimés) et des champs en colonnes, décrivant chaque individu

Page 14: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Éviter la redondance (1)

Nom Prénom Classe Matières

Durand Pierre 1NSSE Compta1

Durand Pierre 2NSSE Compta2

Dupond Paul 1NSSE Compta1

Dupond Paul 1NSSE Droit1

Durand Pierre 1NSSE Droit1

Dupond Paul 1NSSE Stat

Durand Pierre 1NSSE Stat

Nom Prénom Classe

Durand Pierre 1NSSE

Durand Pierre 2NSSE

Dupond Paul 1NSSE

Dupond Paul 1NSSE

Durand Pierre 1NSSE

Dupond Paul 1NSSE

Durand Pierre 1NSSE

Classe Matières

1NSSE Compta1

2NSSE Compta2

1NSSE Compta1

1NSSE Droit1

1NSSE Droit1

1NSSE Stat

1NSSE Stat

Page 15: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Éviter la redondance (2)

Nom Prénom Classe Matières

Durand Pierre 1NSSE Compta1

Durand Pierre 2NSSE Compta2

Dupond Paul 1NSSE Compta1

Dupond Paul 1NSSE Droit1

Durand Pierre 1NSSE Droit1

Dupond Paul 1NSSE Stat

Durand Pierre 1NSSE Stat

Nom Prénom Classe

Durand Pierre 1NSSE

Durand Pierre 2NSSE

Dupond Paul 1NSSE

Classe Matières

1NSSE Compta1

2NSSE Compta2

1NSSE Droit1

1NSSE Stat

Attention :Un élève peut suivre plusieurs cours

un même cours peut être suivi par plusieurs élèves

n n

À éviter…

Page 16: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Éviter la redondance (3)

NoClient RaisonSociale Adresse1

C987 Dupont & Co 12 rue Par..

C986 Durand & Cie 71 cbru

… … ….

Ref prod Descript Puht

P1234567 Tomate 10

B9873685 Banane 4

C9875986 Poire 180

… … …

Client Produit

Attention :Un client peut acheter plusieurs produits

un même produit peut être acheté par plusieurs clients

nn

À éviter…

Page 17: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Redondance (4), relation fonctionnelle

NoClient

RaisonSociale

Adresse1

Ref prod

Descript

Puht

TxTVA

… … …

Client Produit

Commande .

NoComm

DateCommande

# NoClient

Commande Comprendre

# NoComm

# Ref Prod

Quantité

Attention :Un client peut passer plusieurs commandes

n

Mais :Une commande ne peut être passée que par un seul client

1Acceptable…

Page 18: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Redondance (4), relation fonctionnelle

NoClient

RaisonSociale

Adresse1

Ref prod

Descript

Puht

TxTVA

… … …

Client Produit

Commande .

NoComm

DateCommande

# NoClient

Commande Comprendre (ou Ligne de commande)

# NoComm

# Ref Prod

Quantité

Attention : Une commande peut comprendre plusieurs couples ‘commande-produit’ (lignes de commandes) pour des quantités différentes

n

Mais : Un couple ‘commande-produit’ ou une ligne de commande ne peut être compris(e) qu’une fois que dans une seule commande

1

n1

Acceptable…

Page 19: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Redondance (4), relation fonctionnelle

NoClient

RaisonSociale

Adresse1

Ref prod

Descript

Puht

TxTVA

… … …

Client Produit

Commande .

NoComm

DateCommande

# NoClient

Commande Comprendre

# NoComm

# Ref Prod

Quantité

Attention : Un produit ne peut être compris que dans un seul couple ‘commande-produit’ pour une quantité précise

n

Et : Un couple ‘commande-produit’ ne peut comprendre qu’un seul produit

1

n1

1

1

Acceptable…

Page 20: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Données saisies ou calculées

saisies calculées

Page 21: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Données : tablesL’analyse de la liste des données saisies permet de mettre en évidence des ensembles homogènes.

Exemples :- données concernant les clients- données concernant les produits

Chacun de ces ensembles est représenté par une table.

Exemples : - la table « client »

- la table  « produit »

7

Page 22: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Table : sa structureUne table se compose: - de colonnes où sont indiqués les différents attributs

Un attribut principal appelé clé primaire doit permettre d’identifier chaque enregistrement sans ambiguïté.

DÉPENDANCE FONCTIONNELLE

La connaissance d’une valeur de l’attribut clé primaire détermine de façon unique la connaissance des valeurs des autres attributs,

on dit qu’il existe entre eux une dépendance fonctionnelle.

Exemple : la connaissance du numéro de client nous permet de retrouver son nom et son adresse. 

Les valeurs de l’attribut clé primaire doivent donc obligatoirement être uniques.Pour la table client, « Numcli » répond le mieux à ce critère.

La clé primaire est généralement située en première

colonne.

- de lignes où sont rangées les valeurs des différents attributs.L’ensemble des valeurs d’une ligne est appelé un enregistrement.

8

Page 23: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Table : modèle relationnel (1.1)

• Entités – attributs (caractéristiques) : description– ex. : clients, produits, élèves, citoyens belges, motos

belges ...– Clé primaire unique

• Relations– relation entre entités– ex. : commandes (clients, produits),

proprio (moto, citoyen)conjoint (citoyen1, citoyen2)

Page 24: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Table : modèle relationnel (1.2)

Nom de la relation/entité (en majuscules) suivi de parenthèses

Attributs séparés par des virgules

8

CLIENT

Clé primaire en premier lieu et soulignée : unique.

CLIENT ( NumCli, Nomcli, Adresseruecli,

AdresseCPcli, Adressevillecli)

Page 25: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Base : modèle relationnel entre deux tables (2.1)

8

La connaissance d’un numéro de commande nous permet de retrouver de façon unique un numéro de client.

Dépendancefonctionnelle

Attribut commun aux deux tables

matérialisant la dépendance

fonctionnelle.

Il existe donc une dépendance fonctionnelle entre deux tables (commande et client).

Pour matérialiser ce lien, une colonne (numcli) sera ajoutée à la table source de la dépendance fonctionnelle.Celle-ci sera appelée clé étrangère.

10

1n

Page 26: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Base : modèle relationnel entre deux tables (2.2)

8

Attribut commun aux deux tables

matérialisant la dépendance

fonctionnelle.

10

1n

CLIENT ( NumCli, Nomcli, Adresseruecli, AdresseCPcli, Adressevillecli)

COMMANDE ( NumCom, datecom, NumCli )#

Si la relation comprend un attribut clé étrangère, celui-ci sera placé à la fin et

précédé du signe #.

Page 27: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Table : modèle relationnel entre deux tables (2.3)

• Ce qui est nécessaire :– 2 tables (ou requêtes ou une combinaison des deux)– 1 champ en commun dans chacune des tables– même type de champ (texte avec texte, numérique

avec numérique ...)– même longueur (pas un champ long de 15 caractères

avec un autre long de 50 caractères !)– même genre d'information (Ex.: Code d'inventaire

avec des codes d'inventaires, NAS avec NAS ...)

• Et vive les clés primaires et étrangères !!!

Page 28: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Table : modèle relationnel entre deux tables (2.4)

– Quant à la table Produits, elle fait référence à la table Fournisseurs, mais elle ne doit pas forcément inclure toutes les informations de contact de tous les fournisseurs.

– La table Fournisseurs contient toutes les informations de contact au sujet de ces entreprises

Page 29: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Base : modèle relationnel entre plusieurs tables (1)

810

La connaissance du numéro de commande et de la référence du produit nous permet de retrouver de façon unique la quantité commandée.

Il existe donc une dépendance fonctionnelle multiple ou composée à partir des tables « PRODUIT » et « COMMANDE ».

Celle-ci sera composée d’une clé primaire concaténée « Numcom+Refprod » et de l’attribut « quantite »

Dépendancefonctionnelle

composée

Pour matérialiser ce double lien, une table supplémentaire « COMPRENDRE » sera créée.

12

Page 30: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Base : modèle relationnel entre plusieurs tables (2)

810

12

CLIENT ( NumCli, Nomcli, Adresseruecli, AdresseCPcli, Adressevillecli)

COMMANDE ( NumCom, datecom, # NumCli )

PRODUIT ( Refprod, Designprod, PUprod)

COMPRENDRE ( NumCom, Refprod, Quantité )

Dans le cas d’une clé primaire concaténée, l’ensemble des attributs formant la clé est souligné.

Page 31: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Duferco• Duferco produit des brames qu’elle vend.

• Brame : La brame est un demi-produit sidérurgique. C'est la matière première utilisée pour la fabrication des tôles ou des plaques sur les trains de laminoirs.

• La brame ou slab est une masse d'acier de forme parallélépipédique de fortes dimensions (plus de 1000 mm de largeur pour plus de 10 mètres de long et un poids de plusieurs dizaines de tonnes), obtenue soit directement de coulée continue soit après réduction d'un lingot dans un slabbing lequel est un train de laminoirs dégrossisseur.

Page 32: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Duferco (2)

Brames

Codebrame

Clients

Codeclient

Commandes

Codecommande

Codebrame

Codeclient

Coulées

Codecoulée

Codecoulée

Compchim

Codechim

Codechim

Equipes

Codeequip

Codeequip

Fourniss

Codefourniss

Codefourniss

Page 33: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Duferco (3)

Page 34: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Bases & tables : exemples

1. Dufercotables, relations_0,

2. Enseignement supérieurx

3. Police d’Ixellesx

4. Centre de documentationx

5. Réservations théâtrex

6. 9e art

x

Page 35: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une base de données (0)Contrainte de clé primaire :Une fois que la clé primaire sera désignée et le champ déclaré sans doublons, les saisies de valeurs identiques seront impossibles.

Choix du type :Il s’agit de préciser quel type de valeurs sera stocké dans le champ.Il existe trois grands types (numérique, date, texte). Pour les champs de type texte, il est possible d’intervenir sur la taille du champ, de manière à optimiser la place occupée sur le support de stockage.

Contrôle de la saisie :Pour faciliter la saisie, un masque, une valeur par défaut, peuvent être mis en place.

Contrainte de domaine :Il est possible, pour un champ donné, de limiter les valeurs autorisées à la saisie. Celles-ci sont indiquées dans la case « Valide si », un message d’erreur peut y être associé.

Lors de la création d’une table, la clé primaire et l’appartenance des données à un type doivent être obligatoirement définies.D’autres éléments peuvent être posés pour assurer le confort et la sécurité de la saisie.

9

Page 36: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une base de données (1)• Possibilité de créer avec SQL, mais pas indispensable

• Base de données = ensemble de tables

Page 37: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une base de données (2)•

• Donner un nom à la Base de données extension .mdb

Page 38: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une base de données (3)• La Base de données est créée,

• Elle ne contient aucune ‘Table’ au départ

Page 39: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Objets d’une base de données (1)• Tables, Requêtes

• Formulaires, États

• Tables,entités/relations

• Requêtes,interrogations

• Formulaires,visualisation de tous les attributs

• États,documents à

publier

Page 40: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Objets d’une base de données (2)• Tables, Requêtes

• Formulaires, États

• Tables,entités/relations

• Requêtes,interrogations

• Formulaires,visualisation de tous les attributs

• États,documents à

publier

Page 41: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Objets d’une base de données (3)

• Tables,entités/relations

saisir les données

• Requêtes,interroger les

données

• Formulaires,visualiser et

faciliter la saisie des attributs

• États,publier et mettre

en forme les résultats

• Macros,automatiser des

actions à exécuter

• Modules,programmer en

VisualBasic

Page 42: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table (0)

12

3

Page 43: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table – données (1)

Page 44: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table – assistant (2.1)

Page 45: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table – assistant (2.2)

Page 46: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table – création (3.1)

Page 47: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table – création (3.2)

Page 48: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une table – SQL (4)• CREATE TABLE

• exemple : Créer la nouvelle table "table_test" contenant quatre champs : un champ avec un entier qui doit toujours être saisi et un champ contenant une chaîne de 5 caractères :

• CREATE TABLE table_test (

champ1 int unsignedchamp2 integer CONSTRAINT champ2 NOT NULL, champ3 char(5),champ4 date

);

Page 49: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les types d’attributs (1)

Page 50: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les types d’attributs (2)1. Texte

max : 255 caractères2. Mémo

max : 65 535 caractères3. Numérique

entier, simple précision, nbre décimales, etc.4. Date/Heure

année 1009999, 12 ou 24 h5. Monétaire

nombres réels de 1 à 4 décimales6. NuméroAuto

incrémentation automatique7. Oui/Non

Vrai/Faux , Actif/inactif8. Objet OLE (Object Linking and Embedding)

feuilles de calcul, sons, vidéos, graphiques…9. Lien Hypertexte

chemin complet (local ou internet)

Page 51: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (1)

Page 52: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (2)

Page 53: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (3)

Page 54: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (4)Symbole Signification

0 Chiffre de 0 à 9 obligatoire

9 Chiffre ou espace facultatif

# Chiffre ou espace ou + ou -

L Lettre de A à Z obligatoire

? Lettre de A à Z non obligatoire

A Lettre ou chiffre obligatoire

a Lettre ou chiffre non obligatoire

& Caractère quelconque obligatoire

C Caractère quelconque non obligatoire

< Passe tout en minuscules (bas de casse)

> Passe tout en majuscules (haut de casse)

! Saisie à partir de la droite

Page 55: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (5)

masque sens exemples

00 00 00 00 00 Numéro de téléphone français nouvelle numérotation

04 12 34 56 78

00 999 Code postal français (département obligatoire) 75 123 ou 59

>CCCCCCCCCCCCCCCCCCCC

Nom de maximum 20 caractères, converti en capitales VAN DELDER ou BOND

>C<CCCCCCCCCCCCCCCCCCC

Prénom de maximum 20 caractères, 1re lettre capitale, lettres suivantes bas de casse

Guy ou James 007

0 00 00 00 0000 Matricule d’enseignant sur précisément 11 chiffres

1 53 06 07 0557

(000) 000-0000 Téléphone avec indice régional obligatoire (207)555-0199 ou

(165)345-2025

00/00/0099 Date avec année possible sur 2 ou 4 chiffres 07/06/1953 ou 22/02/53

Page 56: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (6)

masque sens exemples

(999) 000-0000! Téléphone avec indice régional facultatif – remplissage par la droite

(207)555-0199 ou ()345-2025

(000) AAA-AAAA Téléphone américain (derniers chiffres peuvent être des lettres)

(206) 555-TELE

#999 Nombre positif ou négatif, composé de quatre caractères ou moins, sans séparateur de milliers ni séparateur décimal.

2345 ou -20

>L????L?000L0 Combinaison de lettres obligatoires (L), lettres facultatives (?) et nombres obligatoires (0). Le signe « > » oblige les utilisateurs à entrer toutes les lettres en capitales.

GREENGR339M3 ou MAY R462B7

0 00 00 00 0000 Matricule d’enseignant sur précisément 11 chiffres

1 53 06 07 0557

(000) 000-0000 Téléphone avec indice régional obligatoire (207)555-0199 ou

(165)345-2025

00/00/0099 Date avec année possible sur 2 ou 4 chiffres 07/06/1953 ou 22/02/53

Page 57: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les masques de saisie (5)

Page 58: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

La saisie (1)

Page 59: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les listes déroulantes (1)

Monsieur, M., Mr, Dr, Me, Madame, Mme, Mlle, …

Page 60: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les listes déroulantes (2)solution simple, par valeurs souhaitées

Dans la table, créer le champ Titre

Cliquer sur ‘Assistant Liste de choix’

Sélectionner "Je taperai les valeurs souhaitées"

Dresser la liste dans Contenu

Page 61: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les listes déroulantes (3)

Page 62: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les listes déroulantes (4)

Page 63: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les listes déroulantes (5)

Page 64: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les clefs (1)

Page 65: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Lier des tables (1)

Page 66: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Lier des tables (2)

Page 67: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Lier des tables (3)

Page 68: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les filtres (1)

Les filtres permettent de limiter simplement, de façon temporaire, les enregistrements affichés dans une table.

On peut filtrer selon deux méthodes :

- le filtre sur un seul critère :ex : les étudiants qui habitent Braine-le-Comte ;

- le filtre sur plusieurs critères :

ex : les étudiants qui habitent Braine-le-Comte ou ceux qui s’appellent « Durand ».

Page 69: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les filtres (2) à un seul critère1. on se positionne sur l'enregistrement d'un client habitant Paris,

2. on sélectionne le mot ‘Paris’ dans le champ ‘Ville’ ;

3. on clique sur l’icône de filtre ; et voilà…

4. pour revenir à un affichage non filtré, on clique sur l’icône ; et nous voilà comme avant…

Page 70: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les filtres (3a) à plusieurs critères(= filtre par formulaire)

1. on clique sur l’icône de filtre ;

2. un enregistrement vide apparaît ;

3. on sélectionne « Machin » dans le champ ‘Nom’ ;

4. Puis on sélectionne « ou » dans le coin inférieur gauche, on obtient un nouvel enregistrement vide…

Page 71: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les filtres (3b) à plusieurs critères(= filtre par formulaire)

5. on sélectionne « Saint-Quentin » dans le champ ‘Ville’ ;

6. pour terminer (et pas pour revenir à un affichage non filtré), on clique sur l’icône ; …

Page 72: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les requêtes (= interroger une base de données)

1. Requête de consultation, (=sélection, interrogation…)

2. Requête d’action (attention)

3. Requête d’analyse croisée

4. Requête SQL

1. Requêtes dans une table ou plusieurs tables2. Tri, filtres (critères), calculs, regroupement3. Projection, sélection / restriction, jointure

1. Mise à jour2. Suppression3. Ajout4. Création de table

1. Langage spécifique, permet une exécution ‘fine’ des requêtes ci-dessus

Page 73: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une requête de consultation (1)

Interroger une base de données (plusieurs tables éventuellement)

=

Créer une requête de consultation

Page 74: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une requête de gestion (1)

Gérer une base de données (plusieurs tables éventuellement)

=

Créer une nouvelle table ;

Modifier la structure d’une table ;

Supprimer une table ;

Créer ou supprimer un index.

Page 75: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une requête de manipulation (1)

Manipuler une base de données (plusieurs tables éventuellement)

=

Ajouter des données dans une table ;

Modifier les données d’une table ;

Supprimer des données d’une table.

Page 76: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une requête de consultation (1)

Interroger une base de données (plusieurs tables éventuellement)

=

Créer une requête de consultation

les noms des clients et ceux des villes où ils sont domiciliés ?

les noms des clients domiciliés à Paris ?

les dates des commandes passées par les clients domiciliés à Paris ?

Projection (d’une table) -> tous les enregistrements, quelques champs

projection et restriction/sélection (d’une table) -> quelques champs de quelques enregistrements spécifiques

projection, restriction/sélection et jointure (de plusieurs tables)

Page 77: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une requête : consultation (2)

Requêteur graphique = langage visuel propre à chaque logiciel,possibilités sont limitées lors de cas complexes.

SELECT liste des champs à afficher

FROM liste des tables utilisées

WHERE champ et critère de condition

AND champ commun aux tables utilisées

ORDER BY champ à trier ASC ou DESC22

Les logiciels SGBDR intègrent égalementun langage textuel de programmation de requêtes :le SQL (Structured Query language), universel, normalisé et capable de traiter toutes les difficultés.

Page 78: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Créer une requête consultation (3)

SELECT liste des champs à afficher

FROM liste des tables utilisées

WHERE champ et critère de condition

AND champ commun aux tables utilisées

ORDER BY champ à trier ASC ou DESC

Les requêtes de consultation en SQL ont généralement la structure suivante:

L’instruction SELECT permet de lister les champs que l’on souhaite obtenir, il correspond à l ’opérateur de PROJECTION.

L’instruction FROM permet de lister les tables utiles à la requête.

Les instructions WHERE et AND sont liées. Elles permettent d’introduire :

- les critères de conditions correspondant à l’opérateur de RESTRICTION.

- les champs communs aux tables utilisées correspondant à l’opérateur de JOINTURE.

L’instruction ORDER BY permet de demander un tri sur un champ (ASC pour croissant et DESC pour décroissant).

22

Page 79: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Langage des requêtes : projection(présentation théorique)

Requête1 : On souhaite obtenir les noms des clients (tous) et ceux des villes où ils sont domiciliés.Pour cela, nous allons utiliser l’opérateur de projection.

Une requête de consultation est une interrogation de la base de données portant sur le contenu d’une ou plusieurs relations.Elle met en jeu des opérateurs (projection, restriction, jointure).

La projection consiste en un découpage

vertical.

15

Page 80: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : projection(requêteur graphique)

Les logiciels de gestion de bases de données (SGBDR) mettent à disposition des utilisateurs un requêteur graphique (Query by example dans le logiciel Access) permettant de réaliser des requêtes de consultation facilement et intuitivement.

Table utilisée dans la requête.

Projection des champs retenus dans la requête.

Un attribut est appelé un champ par le logiciel.

Requête avec projection : VILLES DES CLIENTS

18

Page 81: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : projection(langage SQL[1])

Projection – Exemple

Une projection est une instruction de consultation permettant de sélectionner un ensemble de colonnes (champs, arguments) dans une table.

Soit la table Clients qui contient les champs :NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli

++++++++++++++++++++++++++++++++++++++++++++++++

L’instruction Select * FROM Clients aura commerésultat un tableau contenant l’ensemble de la table (tous les champs)

L’instruction Select NomCli, Adressevillecli FROM Clients aura comme résultat un tableau contenant uniquement les informations (les champs) correspondant(e)s.

Page 82: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : projection(langage SQL[2])

Projection – SuiteUne projection est une instruction de consultation permettant de sélectionner un ensemble de colonnes dans une table.

Soit la table Clients qui contient les champs :NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli

++++++++++++++++++++++++++++++++++++++++++++

L’instruction Select DISTINCT Adressevillecli FROM Clients aura commerésultat l’ensemble des villes où l’on a des clients (sans doublons)

L’instruction Select NomCli, Adressevillecli FROM Clients ORDER BY Adressevillecliaura commerésultat la liste des clients, classés alphabétiquement par commune.

Page 83: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : projection

Page 84: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : restriction/sélection(présentation théorique)

La restriction ou sélection consiste en un découpage horizontal.

Requête2 : On souhaite obtenir les noms des clients domiciliés à Paris. Nous conserverons le nom de la ville dans l’affichage.Pour cela, nous allons utiliser les opérateurs de projection et de restriction/sélection.

La projection consiste en un découpage

vertical.

16

Page 85: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : restriction sélection(requêteur graphique)

Table utilisée dans la requête.

Projection des champs retenus dans la requête.

Restriction sur le champ « adressevillecli » en posant comme critère

« paris ».

Requête avec projection et restriction :

CLIENTS PARISIENS19

Page 86: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : restriction sélection (langage SQL[1])

Restriction - sélection – Exemple

Une restriction est une instruction de consultation permettant de sélectionner un ensemble de lignes dans une table, selon un critère fixé.

Soit la table Clients qui contient les champs :NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli

++++++++++++++++++++++++++++++++++++++++

L’instruction Select Nomcli FROM Clients WHERE Adressevillecli="paris"aura commerésultat la liste des clients parisiens

L’instruction Select NomCli, Adressevillecli FROM Clients WHERE Adressevillecli="paris"OR Adressevillecli="lille"aura comme résultatla liste des clients parisiens ou lillois.

Page 87: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : restriction sélection (langage SQL[2])

Soit la table ETUDIANT (N°Etudiant, Nom, Age, CodePostal, Ville)

SELECT * FROM ETUDIANTWHERE Age IN (19, 20, 21, 22, 23) ;

SELECT * FROM ETUDIANTWHERE Age BETWEEN 19 AND 23 ;

SELECT * FROM ETUDIANTWHERE CodePostal LIKE ’70*’ ;     

SELECT * FROM ETUDIANTWHERE CodePostal LIKE ’70?0’ ;

    SELECT * FROM ETUDIANT

WHERE Ville IS NULL ;     // Étudiants pour lesquels la ville n'est pas renseignée

SELECT * FROM ETUDIANTWHERE Ville IS NOT NULL ;     // Étudiants pour lesquels la ville est renseignée

Page 88: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : restriction sélection (exemple 1)

Soit une base contenant plusieurs tables,soit la table Clients

On clique sur ‘requêtes’‘nouveau/elle’

‘mode création’ // Étudiants pour lesquels la ville est renseignée

Page 89: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : combinaison de critères [1]

L’instruction Select titre FROM Tableaux WHERE (expo NOT LIKE “*paris*“) AND ((année BETWEEN 1600 And 1699) OR (année BETWEEN 1900 And 1999))aura comme résultat la liste des titres des tableaux non exposés à Paris, et datant des XVIIe ou XXe siècles

Page 90: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : combinaison de critères [2]

Et

Ou

Page 91: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : combinaison de critères [3]

Et/ou [1]

Et/Ou [2]

Plusieurs Ou = in(x;y;z;w)

Page 92: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Langage des requêtes : restriction sélection

Page 93: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes consultation : jointure(présentation théorique)

Requête3 : On souhaite obtenir les dates des commandes passées par les clients domiciliés à ParisPour cela, nous allons utiliser les opérateurs de projection,

de restriction et de jointure.

La jointure permet de lier deux tables ayant un

attribut commun.La projection consiste

en un découpage vertical.

La restriction consiste en un découpage

horizontal.

17

Page 94: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : jointure(requêteur graphique)

Requête avec projection, restriction et jointure : DATES DE COMMANDES DES CLIENTS PARISIENS

Tables utilisées dans la requête.

Projection des champs retenus dans la requête.

Restriction sur le champ « adressevillecli » avec le

critère « paris ».

Jointure liant les deux tables ayant un champ commun : « numcli ».

20

Page 95: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : jointure(langage SQL[1])

Jointure – Exemple

Une jointure est une instruction permettant de sélectionner un ensemble de lignes dans plusieurs tables (liées), selon un critère fixé.

Soit les tables Client, Commande qui contient les champs :NumCli, NomCli, Adresseruecli, AdresseCPcli, AdressevillecliNumCom, datecom, NumCli

+++++++++++++++++++++++++++++++++++++++++

L’instruction Select Nomcli, Adressevillecli, datecom FROM Clients, Commande WHERE Adressevillecli="paris“ AND Clients.NumCli = Commande.NumCli

aura commerésultat la liste des dates de commandes des clients parisiens

Page 96: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Langage des requêtes : jointure

Page 97: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Langage des requêtes : jointure

Page 98: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les requêtes paramétrées

Dans la ligne Critères du (ou des) champs concerné(s) par le paramétrage, entrer entre crochets [ ] l’invite qui apparaîtra dans la boîte de dialogue.

La requête est alors exécutée en fonction de la réponse de l'opérateur.

Page 99: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : analyse croiséeIl s'agit d'un tableau interactif qui contient des données de synthèse constituées à partir d'une BDD interne (Access) ou externe (SQL Server, etc.) que l'on peut manipuler à l'aide de fonctions statistiques pour les analyser sous divers angles.

Le vocable dynamique découle du fait que l'on peut faire pivoter les titres des colonnes et des lignes pour obtenir différentes présentations analytiques des données.

Exemples, • récapituler les ventes par service, par mois ou par vendeur ;• subdiviser ces catégories par produit ;• comparer les ventes réalisées et les dépenses avec les montants budgétés par mois, par trimestre ou par année.

Par rapport à une requête Sélection, les informations obtenues sont plus compactes et se prêtent donc mieux à une analyse. 

Page 100: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : analyse croisée

Par rapport à une requête Sélection, les informations obtenues sont plus compactes et se prêtent donc mieux à une analyse. 

Page 101: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : fonctions de calcul

• Les fonctions suivantes peuvent être utilisées dans une clause SELECT pour effectuer des calculs sur le résultat de la requête :

• COUNT : nombre d'enregistrements (Pour éviter de compter les doublons, on peut ajouter le paramètre DISTINCT)

• SUM : somme d'une colonne• AVG : moyenne (average)• MAX : maximum d'une colonne• MIN : minimum d'une colonne

Page 102: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : fonctions de calcul

• Select AVG(tableagrégation.nombre) as Moyennedenombre from tableagrégation

Page 103: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : fonctions de calcul

• Select COUNT(*) from PERSONNEL nombre de salariés

Page 104: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : fonctions de calcul

• Select SUM(salaire) from PERSONNELwhere fonction=« maitre-assistant » Somme des salaires des «maître-assistant »

Page 105: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : regroupement sans fonction de calcul [1]

• Select tableagrégation.ville from tableagrégationGROUP BY tableagrégation.ville

Page 106: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : regroupement sans fonction de calcul [2]

• Select from GROUP BY

Page 107: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : fonctions de calcul et groupement

• Select AVG(tableagrégation.nombre) as Moyennedenombre from tableagrégationGROUP BY tableagrégation.ville

Page 108: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : groupement, sélection et fonction de calcul

Select tableagrégation.ville, avg(nombre) from tableagrégationGROUP BY tableagrégation.villeHAVING avg(nombre)>400

On affiche les villes pour lesquelles la moyenne du champ "nombre" est supérieure à 400.On affiche aussi les moyennes du champ "nombre" pour les villes retenues.

Page 109: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : groupement, sélection et fonction de calcul [2]

Select numclient, count(*) from commandeGROUP BY numclient

On affiche les numéros de client et le nombre de commandes passées.

Page 110: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : groupement, sélection et fonction de calcul [3]

Select numclient, min(montant), max(montant) from commandeGROUP BY numclient

HAVING count(*)>2

On affiche pour chaque client ayant passé plus de 2 commandes, quel est

le montant minimum, et maximum des commandes qu’il a passées.

Page 111: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : groupement, sélection et fonction de calcul [4]

Select cl.numclient, nom, prenom, count(*), avg(montant), sum(montant) from client cl, commande co

WHERE cl.numclient = co.numclientGROUP BY numclient

HAVING count(*)>2 ORDER BY 4 desc, nom, prenom

On affiche pour chaque client ayant passé plus de 2 commandes, son numéro, nom, prénom, nombre de commandes passées, moyenne et cumul total des montants, le tout trié par nombre décroissant de commandes passées, puis par noms, prénoms croissants

Page 112: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : groupement, sélection et fonction de calcul [5]

Select * from details

WHERE quantite – quantite * 0,1 > 500

On affiche pour chaque élément commandé, ceux dont 90% de la quantité commandée dépasse les 500 unités

Page 113: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : groupement, sélection et fonction de calcul [6]

Select sum(prixunitaire * quantite) from details

WHERE numcommande = « PO467-2009 »

On affiche pour chaque élément commandé, ceux dont 90% de la quantité commandée dépasse les 500 unités

Page 114: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : requêtes imbriquées (intersection) [1]

Select numetud, nom, prenom from students

WHERE numetud in (select numetud from JPO)

On affiche les étudiants qui se sont inscrits après être passés par la journée ‘portes ouvertes’

Select numetud, nom, prenom from students

Intersect select numetud from JPO)

Page 115: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : requêtes imbriquées (intersection) [2]

Select numetud, nom, prenom from students

WHERE numetud NOT in (select numetud from JPO)

On affiche les étudiants qui se sont inscrits sans être passés par la journée ‘portes ouvertes’

Select numetud, nom, prenom from students

Minus select numetud from JPO)

Select numetud, nom, prenom from students

Except select numetud from JPO)

Page 116: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : exemples et exercices

Travail (présentation Powerpoint) relatif aux requêtes (les fautes d’orthographe sont de leurs auteurs) :

• Fait par Hyacinthe Laini (59 dias) :

• Fait par Didric Sluis (21 dias) :

• Fait par Céline Stevens (21 dias) :

• Fait par Giusy Talluto (27 dias) :

• Fait par Jonathan Visage (23 dias) :

Page 117: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Requêtes : exemples et exercices

Travail (présentation Powerpoint) relatif aux requêtes, une cinquantaine d’exemples (les fautes

d’orthographe sont de leurs auteurs) :

• NET_PROVENCE,fait par Richit Nathalie, Pouplier Thierry, Patrice Viaud, Patrick Richit Nathalie, Pouplier Thierry, Patrice Viaud, Patrick

LaupiesLaupies (42 dias) :

Page 118: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (1)

Page 119: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (2.1)

Page 120: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (2.2)

Page 121: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (3)

Page 122: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (4)

Page 123: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (5)

Page 124: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assistant (6)

Page 125: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : instantané (6)

Page 126: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assist. Graph. (7)

Page 127: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assist. Graph. (8)

Page 128: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Formulaires : assist. tabl. dyn. (9)

Page 129: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (1)

Page 130: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (2)

Page 131: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (3)

Page 132: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (4)

Page 133: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (5)

Page 134: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (6)

Page 135: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : création (7)

Page 136: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : assistant étiquettes (8)

Page 137: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : assistant étiquettes (9)

Page 138: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : calculs (10)

Page 139: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

États : tris & regroupements (11)

Page 140: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Cas Baronnia (énoncé [1])Dans la haute société, Madame la Baronne Damien Fèz de V'nir

(Ukraine) est une figure incontournable. Elle organise avec un brio inégalé des réceptions qui vont du souper simple entre amis (24 couverts, 5 services), à la soirée de mariage princier.

Inutile de dire que ses invitations sont extrêmement prisées. Et pour cause...

Madame la Baronne, avec beaucoup de tact, veille à inviter au moins une fois l'an chacune de ses relations. En bonne hôtesse, elle sait présenter ses invités les uns aux autres en rappelant les professions respectives et, le cas échéant, à quelle réception ils ont déjà eu l'occasion de se rencontrer.

Le nombre d'amis et relations ne faisant que croître, Madame la Baronne envisage - non sans une certaine répugnance - de recourir à l'ordinateur ("Vous savez très chère, cette chose pleine de puces et de souris..."). Sur recommandation de son ami intime, le Comte René de Saissandre, qui vous connaît très bien (si, si ...), elle décide de vous confier la résolution de cet angoissant problème.

Page 141: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Cas Baronnia (énoncé [2])Madame la Baronne désire :• établir un carnet d'adresse de ses amis, relations et connaissances (en

distinguant chacune de ces catégories) ;• savoir si telle personne était présente à la dernière réception, si elle était

malade ou excusée ;• savoir depuis combien de temps telle personne n'a plus été invitée et

adresser des invitations à celles qui n'ont plus été invitées depuis 8 mois ;

• connaître l'âge (en toute discrétion bien sûr), la profession et le revenu annuel (en toute discrétion aussi ça va de soi) de ses relations ;

• faire la liste des personnes qui appartiennent à une tranche d'âge donnée ;

• vérifier le budget, c'est-à-dire connaître le coût des réceptions. On compte un coût fixe (location du château) et un coût proportionnel par invité (menu) ;

• savoir si une invitation a été confirmée ;• savoir si le temps était beau, maussade ou pluvieux à chacune de ses

réceptions ;• etc.

Page 142: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Cas Baronnia (énoncé [3])Quelques informations supplémentaires :

• On ne considère que les personnes individuelles et non les

couples ;

• Les invités apportent souvent un petit cadeau. Pour éviter tout impair, il faut savoir qui a apporté quoi et à quelle réception ;

• De même, certains invités reçoivent un petit cadeau (anniversaire, promotion...) ; il faut savoir qui a reçu quoi et à quelle réception... et pour quelle valeur (budget) ;

• Plusieurs amis possèdent un titre de noblesse

Page 143: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Cas Baronnia (énoncé [4])Quelques exigences particulières, il faudrait pouvoir obtenir :

• la liste des personnes invitées à la réception du jj/mm/aaaa,

[titre, nom, prénom, profession de l'invité ; tri par nom] ;

• la liste des personnes présentes à la réception du jj/mm/aaaa (critère) [tous les champs ; tri par nom] ;

• la liste de toutes les réceptions [Date, lieu, nombre d'invités présents ; tri par date décroissante] ;

• le coût d'une réception donné par la formule suivante :nombre d'invités (sauf excusés) x coût par personne + coût fixe + coût des cadeaux offerts

Page 144: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Cas Baronnia (énoncé [5])Quelques réceptions remarquables :

Lieu Date Coût fixe (Eur) Coût / pers (Eur)

Château de Lamalle

21 juillet 1999 1 250 100

Château d'Outre Meuse

15 août 1999 1 350 125

Domaine des Prés Fleuris

14 février 1998 950 62,5

Ferme du Marquisat

21 mars 1999 450 45

Page 145: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Cas Baronnia (énoncé [6])Quelques amis et relations (remarquables ?) :

Identité Adresse Ville

Omer d’Alors Rue neuve 5 Juprelle

Dominique Nique (marquise)

Rue Dewonck 67 Fexhe

Roland Nôset-Abond Rue du sale 118 Mellery

Elvire Sacutti Rue provinciale Villers

Aubin Sahalore (comte)

Rue Maréchal 114 Lantin

Page 146: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Diviser pour régner…

Carnet d’adresse

Covert Harry, rue Minant 3, 6681 Lavacherie, 0475 98 76 54

Dalors Homère, rue Tilant 9, 1348 Louvain-la-Neuve, 010 11 12 13

John Deuf, rue Barbe 10, 7090 Dour, 065 43 21 00

Qui Où Tel

Covert Harry rue Minant 3, 6681 Lavacherie, 0475 98 76 54

Dalors Homère rue Tilant 9, 1348 Louvain-la-Neuve

010 11 12 13

John Deuf rue Barbe 10, 7090 Dour 065 43 21 00

cPrenom cNom cAdresse cCP cCommune cTel

Harry Covert rue Minant 3 6681 Lavacherie 0475 98 76 54

Homère Dalors rue Tilant 9 1348 Louvain-la-Neuve 010 11 12 13

John Deuf rue Barbe 10 7090 Dour 065 43 21 00

Page 147: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Structure des bases de données

Base de donnéesmabase.mdb

Table1Élèves

Table2Classe

Table3Matières

Enregistrement1Élv Dupont

Enregistrement2 Élv Durand Pierre1

Champ1Nom

Champ2Prénom

Page 148: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Utile dans les requêtes (1)Like "S*"

Fournit tous les enregistrements pour lesquels le champ commence par  S.

Like "*Imports"Fournit tous les enregistrements pour lesquels le

champ termine par le mot "Imports".

Like "[A-D]*"Fournit tous les enregistrements pour lesquels le

champ commence par une lettre entre A et D.

Like "*ar*" Fournit tous les enregistrements pour lesquels le

champ contient la séquence "ar".

Like "Acc?"Fournit tous les enregistrements pour lesquels le

champ commence par "Acc" et pour lesquels la quatrième et dernière lettre est inconnue.

Like [forms]![NomForm]![NomChamp]

Fournit tous les enregistrements pour lesquels le champ est identique au champ "NomChamp" du formulaire "NomForm".

Page 149: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Utile dans les requêtes (2)< 100

Fournit tous les enregistrements pour lesquels le champ contient une valeur numérique inférieure à 100.

< 1/1/2000Fournit tous les enregistrements pour lesquels le

champ contient une date antérieure au 1/1/2000.

A And BFournit tous les enregistrements pour lesquels le

champs satisfait le critère A et le critère B.

A Or BFournit tous les enregistrements pour lesquels le

champs satisfait le critère A ou le critère B.

A Xor BFournit tous les enregistrements pour lesquels le

champs satisfait le critère A ou le critère B de manière exclusive.

NullFournit tous les enregistrements pour lesquels le

champs est vide.

Is not nullFournit tous les enregistrements pour lesquels le

champs n'est pas vide.

Page 150: GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

GVdK = CUY

Les cardinalités (1)AAAA

aa11

aa22

aa33

aa44

aa55

aa66

BBBB

bb11

bb22

bb33

bb44

bb55

AAAA

aa11

aa22

aa33

aa44

aa55

BBBB

bb11

bb22

bb33

bb44

bb55

bb66

AAAA

aa11

aa22

aa33

aa44

aa55

aa66

BBBB

bb11

bb22

bb33

bb44

bb55

bb66

<1,1><1,1>(0,1)-(1,1)(0,1)-(1,1)One to oneOne to one

<1,n><1,n>(0,n)-(1,1)(0,n)-(1,1)

One to manyOne to many

<m,n><m,n>(1,n)-(0,n)(1,n)-(0,n)

Many to manyMany to many