Introduction aux bases de données et SQL
SGBD : système de gestion de base de données
Requêtes SQL
Modélisation = représentation / façon de décrire une application
Adresse de travail : bd@iut-rodez.fr
SGBD : outils pour gérer les données SQL
Langage SQL (Structured Query Language) : langage pour
communiquer avec une BD
Application informatique (tryptique : organisation en 3 couches) : Traitement SGBD
- Couche de présentation Programme
- Programme
- Données
IHM
Présentation & Interaction
LE LANGAGE SQL
I- HISTORIQUE ET INTERETS
C’est un langage unifié pour communiquer avec les BD
Créateur Ted CODD, dans les années 70
Premier SGBD avec SQL = SGBD relationnels dans les années 80
Norme unifiant les différents SGBD avec un même SQL dans les années 90 (norme SQL2)
II- SQL REPOSE SUR LE MODELE RELATIONNEL
Relation = Table
Ex : relation tclients et tcommandes
ID client Nom Prénom Ville
ID commande Date de com Num clients
Règles : contraintes d’intégrité (2 clients n’ont pas le même nom)
Requêtes : « Affiche les identifiants et noms des clients qui habitent à Rodez »
SELECT ID client, nom
FROM tclients
WHERE ville=’Rodez’
STRUCTURATION PARTICULIERE DE LA BD
Relations (tables)
Attributs (=colonnes)
Contraintes d’intégrité
Clé primaire PRIMARY KEY: identifiant unique (toute relation a une seule clé primaire)
Pour 1 attribut tclients (codecli…) / Parfois plusieurs (ex : linguscom numl, numcom…)
Clé étrangère FOREIGN KEY : attribut dont les valeurs doivent exister dans les valeurs de l’attribut référencé.
Ex : tcommandes (idcom, datecom, numcli)
OBJECTIF : rapprocher des tables (JOINTURE) pour trouver l’information
La clé étrangère sert à gérer la cohérence et l’intégrité des données (on l’a met sur un attribut)
Ex : tclients tcommandes
VN001 C1, 10/09/2021, VN001
VN002 C3, 18/09/2021, VZ048 commandes impossible sans client
Domaine : limité un attribut à un ensemble de valeurs
Ex : il peut y avoir des réductions mais maximum 30% CHECK(reduc BETWEEN 0 AND 0.3)
Valeur obligatoire NOT NULL : Ex : on ne peut pas avoir un client sans nom,…
Valeur unique NOT NULL UNIQUE
, III- SQL CONSULTATION DES DONNÉES
1) SQL FORME GENERALE Cf. Feuille A3 SELECT
SELECT
FROM
[WHERE…] ça veut dire = facultatif / il peut ne pas y avoir de WHERE
Ex :
SELECT * (« * » = donne moi tout les attributs) FROM tfournisseurs
FROM tfournisseurs
SELECT nom, ville (« , » = séparateur dans une liste)
La clause DISTINCT permet de n’afficher que les valeurs différentes dans le résultat.
SELECT DISTINCT ville
FROM tfournisseurs
Cela affiche les différentes villes où il y a des fournisseurs (si 2 fournisseurs dans Albi, cela va afficher 1 fois Albi)
Ex de calcul : Ex : prix moyen adulte des voyages
SELECT nbadulte x prixadulte + nbenfant x prixenfant SELECT AVG (prixadulte)
FROM …………… FROM tvoyages
WHERE ……………. Nombre de voyages proposés
Les agrégats servent à parcourir une ou plusieurs tables pour obtenir un résultat SELECT COUNT (*)
synthétique : AVG / MIN / MAX / COUNT / SUM FROM tvoyages
Résultat (table) : COUNT(*) = 8
Le renommage
SELECT ……….AS nouveau nom
FROM …………
SELECT COUNT(*) AS nbvoyage
FROM tvoyages
La clause FROM
Le plus couramment FROM nomTable ou PN48 50€
FROM nomtable1
JOIN nomtable2
ON attFKt1 = attPKt2
① AC22 PN48 1 0.1
Attention : Réduction
AC22 Commande Produits Quantité Réduc 1 x 0.9 x 50 (et non x 0.1)
3 x 1 x 10 (et non 0)
② ACC22 VP54 3 0
2) LES JOINTURES
Les données d’une application sont stockées dans plusieurs tables.
VP54 10€
Ces tables sont reliées entre elles grâce à des clés (primaire et étrangère).
La recherche d’informations via le SQL nécessite souvent de rapprocher plusieurs tables dans une requête SQL. Ceci se fait grâce
à l’opération de jointure.
① Les données dont vous avez besoin
On part donc d’une première table
FROM tresa
On cible la table sur laquelle on va chercher d’autres informations
JOIN tvoyages
On précise le lien (PK = FK)
ON numresa = coderesa
②Je continue ma requête
Afficher le prix moyen des réservations pour des voyages sur le continent américain
SELECT AVG(montantverse)
…
WHERE zone LIKE ‘Amerique%’
Cette jointure présentée s’appelle aussi l’équi-jointure ou jointure simple.
Les avantages d'acheter des résumés chez Stuvia:
Qualité garantie par les avis des clients
Les clients de Stuvia ont évalués plus de 700 000 résumés. C'est comme ça que vous savez que vous achetez les meilleurs documents.
L’achat facile et rapide
Vous pouvez payer rapidement avec iDeal, carte de crédit ou Stuvia-crédit pour les résumés. Il n'y a pas d'adhésion nécessaire.
Focus sur l’essentiel
Vos camarades écrivent eux-mêmes les notes d’étude, c’est pourquoi les documents sont toujours fiables et à jour. Cela garantit que vous arrivez rapidement au coeur du matériel.
Foire aux questions
Qu'est-ce que j'obtiens en achetant ce document ?
Vous obtenez un PDF, disponible immédiatement après votre achat. Le document acheté est accessible à tout moment, n'importe où et indéfiniment via votre profil.
Garantie de remboursement : comment ça marche ?
Notre garantie de satisfaction garantit que vous trouverez toujours un document d'étude qui vous convient. Vous remplissez un formulaire et notre équipe du service client s'occupe du reste.
Auprès de qui est-ce que j'achète ce résumé ?
Stuvia est une place de marché. Alors, vous n'achetez donc pas ce document chez nous, mais auprès du vendeur juliebonnet. Stuvia facilite les paiements au vendeur.
Est-ce que j'aurai un abonnement?
Non, vous n'achetez ce résumé que pour €6,99. Vous n'êtes lié à rien après votre achat.