coincoins

SQL (Structured Query Language)



Note préliminaire : ce chapitre utilise une base de données dont on téléchargera le script SQL de création la base gescom.

Bases de données, introduction
Rappels ? Une BDD est une collection d'informations élémentaires, structurée en tables et champs et représentée par un schéma relationnel ou un SCD.

1. Introduction

Construire une Base de données : si c'est pour le plaisir de réfléchir, autant aller à la pêche.

Une BDD sert à stocker des informations sous forme de tables (certains pensent tableaux comme dans un tableur) contenant des colonnes (les champs ou propriétés) et des lignes (les données : enregistrement ou tuples).

Exemple : Table client

idnomadresse
123FAURECIA15, rue de l'industrie, F-67390 Marckolsheim, France
456BRAIN AGHAID, D-7390 Freiburg, Deutchland

2. Définition : Clé primaire

Les tables possèdent une clé primaire constituée d'un ou plusieurs champs qui permettent d'identifier de façon unique chaque ligne (enregistrement/tuple) de la table

/ex. : le champ id de la table Client identifie chaque client, chaque valeur est unique et identifie un et un seul client (une et une seule ligne)

3. Définition : Clé étrangère

Les tables sont reliées entre elles grâce à des champs qui font référence aux clé primaires, ce sont des clé étrangères (drole de nom, mais à ne pas confondre avec clé primaire !!!).

/ex : Une commande est passée par un client. On a deux tables : client (avec son identifiant : id) et commande (identifiant : numCde) et un champ dans la commande qui permet de savoir, pour chaque enregistrement, à quel numéro de client la commande fait référence : idClient :

numCdedateidClient
35701/01/2015123
35802/01/2015456
35902/01/2015456
36003/01/2015123

4. Représentation de la BDD

Représenter les tables et les champs peut se faire sous deux formes : une forme textuelle(celle utilisée en terminale) et une représentation graphique. Ces représentations sont le schéma relationnel de la base de données.

On aura, pour les exemples précédents :

  • Client(idCli, nomCli, adrCli, …)
    • Clé primaire : idCli
  • Commande(numCde, date, idClient)
    • numCde
    • idClient référence id dans Client

5. Pourquoi construire une BDD ?

Les informations d'une BDD, une fois saisies (écrite dans la table), on les extrait (lecture) pour les traiter (modification).

Tous les exemples de ce cours utiliseront le SRD et le SCD suivants :

Top of page

Schéma de la base exemple du cours : gescom
schéma relationnel (SRD ou MR) et conceptuel des données (SCD ou MCD) d'une base de gestion commerciale très simple.
  • Client(id, nomCli, adrCli, cpCli, paysCli)
    • Clé primaire : id
  • Commande(numCde, dateCde, idClient)
    • numCde
    • idClient référence id dans Client
  • Article(refArt, descArt, prixHTArt, poidsArt, typeArt)
    • refArt
    • typeArt peut seulement prendre les valeurs : 'M','F','S' ou 'N'
  • Contenir(numCde, refArt, qty)
    • noCde, refArt
    • numCde référence numCde dans Commande
    • refArt référence refArt dans Article

Top of page

Contenu de la base exemple du cours : gescom
Liste des tables de la base gescom et de leur contenu.

Base gescom
Client
idnomCliadrClicpClivilleClipaysCli
1Air FrancePar ci, par là75000ParisFRA
15SAISur la Terre67000StrasbourgFRA
123Faurecia15, rue de l'industrie67390MarckolsheimFRA
357TimkenQuelque part67000StrasbourgFRA
456Brain AGHAID7390Freiburg in BriesgauGER
Commande
numCdedateCdeidClient
12015-04-0115
22015-04-01357
32015-04-0115
42015-04-0215
3572015-01-01123
3582015-01-02456
3592015-01-02456
3602015-01-03123
Contenir
numCderefArtqty
1A15
1A230
2A225
3A14
3A31
4A12
357A11
357A21
357A31
357A41
358A12
358A22
358A32
359A13
359A23
360A14
Article
refArtdescArtprixHTArtpoidsArttypeArt
A1Ancre4515F
A2Manille2.50.03F
A3Sextant12500.45F
A4Bouée1431.3F

Top of page

Installer la base exemple du cours
Procédure pour MySQL avec phpMyadmin ; tout plateforme (linux, wampserver, mamp, easyphp, xamp, ...)

Pour installer la base de données :

Ouvrir/télécharger le script SQL de la base gescom de l'exemple.

  1. Télécharger, installer et lancer un SGBD (mysql contenu dans wampserver, par exemple),
  2. Ouvrir/télécharger le script SQL de la base gescom de l'exemple et copier tout le texte (ctl+a, ctl+c),
  3. Dans le navigateur, afficher le gestionnaire du SGBD (pour mysql : phpmyadmin),
  4. Ouvrir l'interface SQL du SGBD : onglet, bouton, lien "SQL" sur la page d'accueil,
  5. Coller le texte copié plus haut dans la fenêtre SQL et exécuter.

Vous devirez avoir miantenant une nouvelle base de donnée : gescom.

Utiliser cette base pour faire les requêtes proposées.

Top of page