En juin 1970, Edgar Frank Codd publia l'article A Relational Model of Data for Large Shared Data Banks (« Un référentiel de données relationnel pour de grandes banques de données partagées ») dans la revue Communications of the ACM (Association for Computing Machinery). Ce référentiel relationnel fondé sur la logique des prédicats du premier ordre a été rapidement reconnu comme un modèle théorique intéressant, pour l'interrogation des bases de données, et a inspiré le développement du langage Structured English QUEry Language (SEQUEL) (« langage d'interrogation structuré en anglais »), renommé ultérieurement SQL pour cause de conflit de marque déposée.
Pour ce chapitre , nous allons utiliser la version portable de SQLiteBrowser : https://sqlitebrowser.org/dl/
A copier dans le cahier.
"SQL" désigne "Structured Query Language". Le mot query se traduit en français par "requète".
A faire dans le cahier.
On considère une agence de voyage qui doit gérer une base de données comportant :
Le langage SQL est un langage très simple d'utilisation :
CREATE TABLE machintruc(
attribut1 type,
attribut2 type
);
DROP TABLE machintruc;
UPDATE machintruc
SET
attribut1 = "chouette",
attribut2 = "chose"
WHERE untestàfaire;
INSERT INTO machintruc
VALUES (attribut1,attribut2);
DELETE FROM machintruc WHERE untestàfaire;
SELECT attribut1 , attribut2
FROM machintruc;
SELECT attribut1 , attribut2
FROM machintruc
ORDER BY attribut;
SELECT DISTINCT attribut1
FROM machintruc;
COUNT()
pour compter le nombre d'éléments.MAX()
pour connaitre la valeur maximale d'un attribut.MIN()
pour connaitre la valeur minimale d'un attribut.SUM()
pour additionner des valeurs.AVG()
pour calculer la moyenne de valeurs.Le langage SQL permet de joindre les informations de différentes entités.
Nous pouvons par exemple faire une jointure interne :
SELECT lesattributs
FROM table1
INNER JOIN table2
ON table1.attribut=table2.attribut
WHERE condition;
SELECT lesattributs
FROM table1
LEFT JOIN table2
ON table1.attribut=table2.attribut
WHERE condition;
SELECT lesattributs
FROM table1
RIGHT JOIN table2
ON table1.attribut=table2.attribut
WHERE condition;
SELECT lesattributs
FROM table1
FULL JOIN table2
ON table1.attribut=table2.attribut
WHERE condition;
Après avoir testé vos commandes, vous les noterez dans le cahier.
A l'aide de la base de données précédente :
Le but de ce projet est d'appréhender les bases de données de la conception jusqu'à l'implémentation.
Voici les exigences :
Il y a trois fichiers à fournir :
Un fichier .pdf
comportant :
Un fichier .db
Un fichier .sql
comportant :
INSERT INTO
;UPDATE
;DELETE FROM
;SELECT
simples ;SELECT
associée avec la commande ORDER BY
;SELECT
associée avec la commande WHERE
;SELECT
associée avec les commandes WHERE
et ORDER BY
;SELECT
associée avec les commandes WHERE
et JOIN
;SELECT
comportant 2 commandes JOIN
;SELECT
avec la fonction COUNT()
SELECT
avec la fonction MAX()
SELECT
avec la fonction MIN()
SELECT
avec la fonction SUM()
SELECT
avec la fonction AVG()