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.
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller juliebonnet. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $7.48. You're not tied to anything after your purchase.