Title: Bases de donnes Cours 4
1Bases de données Cours 4
- Linterrogation dune base de données
2Rappel
- Base de données
- Table, Champ, Enregistrement, Clé
- Création dune BD avec Access
- Modèle Entité-Relation
- Conception dune BD relationnelle
- Formes normales, normalisation
3Solution problème TD3
4Erreurs TD3
5Requêtes
- Requête interrogation de la base de données,
ayant comme réponse une nouvelle table
CountryInflation
- Requêtes
- la liste de pays avec une inflation inférieure Ã
3 - la liste de pays avec une inflation entre 0 et
1 - la liste de pays en ordre alphabétique
6SQL
- Structured Query Language
- Langage permettant la construction de requêtes
- SELECT CountryName FROM CountryInflation WHERE
Inflation gt 3 - SELECT CountryName FROM CountryInflation
- WHERE Inflation gt 0 AND Inflation lt 1
- SELECT CountryName FROM CountryInflation
- ORDERED BY CountryName
7Algèbre relationnelle
- Langage algébrique dinterrogation dune BD
relationnelle - PROJCountryName (SELInflation gt
3(CountryInflation)) - PROJCountryName (SELInflation gt 0 and Inflation lt
1(CountryInflation))
8Projection
- Constitution dune table formées de colonnes
sélectionnées
AR PROJCountryName,Date (CountryInflation) SQL
SELECT CountryName, Date FROM CountryInflation
9Sélection
- Sélection des enregistrements satisfaisant une
condition
AR SELInflationgt1 and Inflation lt 2
(CountryInflation) SQL SELECT FROM
CountryInflation WHERE Inflation gt 1 AND
Inflation lt 2
10Sélection - opérateurs
- , ltgt, lt, gt, lt, gt
- SELECT FROM CountryInflation
- WHERE Inflation gt 1 AND Inflation lt 2
- NOT, AND, OR
- SELECT CountryName FROM CountryInflation
- WHERE (Inflation gt 1 AND Inflation lt 2) OR
(CountryName France) - IN, BETWEEN
- SELECT FROM CountryInflation
- WHERE Inflation BETWEEN 1 AND 2
- SELECT FROM CountryInflation
- WHERE CountryName IN (France, Andorra)
- LIKE
- SELECT FROM CountryInflation
- WHERE CountryName LIKE F
11Exercices projection sélection
- Afficher les noms de pays avec une surface
supérieure à 250000 km2 - AR PROJNom(SELSurfacegt250000(Pays))
- SQL SELECT Nom FROM Pays WHERE Surface gt
250000 - Afficher le nom et la capitale de tous les pays
avec une surface supérieure à 10000 km2 et ayant
une capitale qui commence avec P
12Union
- L Union de deux tables R et S de même schéma est
une relation T de même schéma contenant l
ensemble des enregistrement appartenant à R ou S
ou aux deux tables. - T R?S
Pays
Pays
?
Pays2
AR Pays Pays ? Pays2 SQL INSERT INTO Pays
SELECT Pays. FROM Pays, Pays2
13Produit
- Le produit de deux tables R et S est une table
ayant pour attributs la concaténation de ceux de
R et de S et dont les enregistrements sont toutes
les concaténations d un enregistrement de R à un
enregistrement de S. - T RXS
Pays
Pays_Continents
X
Continents
AR Pays_Continents Pays X Continents SQL
SELECT Pays., Continents. FROM Continents, Pays
14Jointure équijointure
- L équi-jointure de deux tables R et S sur les
colonnes C1, , Ck?R et D1, , Dk?R est une
table ayant pour contenu les enregistrements
satisfaisant - R.C1 S.D1, , R.Ck S.Dk
Pays
Pays_Continents
Continents
AR Pays_Continents Pays Equi-joinPays.IDContin
ent Continents.IDContinent Continents SQL
SELECT Pays., Continents. FROM Continents
INNER JOIN Pays ON Pays.IDContinent
Continents.IDContinent
15Jointure ?-jointure
- La ?-jointure de deux tables R et S sur les
colonnes C1, , Ck?R et D1, , Dk?R est une
table ayant pour contenu les enregistrements
satisfaisant - R.C1 ? S.D1, , R.Ck ? S.Dk
- Où ? ? , lt, gt, ltgt, lt, gt
Pays
Pays_Continents
Continents
SQL SELECT Pays., Continents. FROM
Continents INNER JOIN Pays ON Pays.IDContinent
Continents.IDContinent AND Pays.Inflation lt
Continents.Inflation
16Jointures
INNER JOIN
SELECT Pays., Continents. FROM Continents INNER
JOIN Pays ON Pays.IDContinent
Continents.IDContinent
LEFT JOIN
SELECT Pays., Continents. FROM Continents LEFT
JOIN Pays ON Pays.IDContinent
Continents.IDContinent
RIGHT JOIN
SELECT Pays., Continents. FROM Continents RIGHT
JOIN Pays ON Pays.IDContinent
Continents.IDContinent
17Différence
- La différence de deux tables R et S de même
schéma est une table T de même schéma contenant l
ensemble des enregistrements appartenant à R et
nappartenant pas à S. - T R-S
Pays
Pays
-
Pays2
AR Pays Pays - Pays2 SQL SELECT Pays.,
Pays2.IDPays FROM Pays LEFT JOIN Pays2 ON
Pays.Nom Pays2.Nom WHERE (Pays2.IDPays Is
Null)
18Intersection
- Lintersection de deux tables R et S de même
schéma est une table T de même schéma contenant l
ensemble des enregistrements appartenant à la
foi à R et S. - T R?S
Pays
Pays
?
Pays2
AR Pays Pays ? Pays2 SQL SELECT Pays.,
Pays2.IDPays FROM Pays LEFT JOIN Pays2 ON
Pays.Nom Pays2.Nom WHERE (Pays2.IDPays Is Not
Null)
19Cours prochain
- Linterrogation dune base de données - 2