nicolas zozor 2012nzozor@gmail.com. 2/47 retour sur les clés une clé primaire est une clé dune...
Post on 03-Apr-2015
110 Views
Preview:
TRANSCRIPT
Nicolas Zozor 2012nzozor@gmail.com
2/47
Retour sur les clés Une clé primaire est une clé d’une table qui est composée
d’un ou plusieurs (dit clé composée) attributs (colonnes) de la table et est utilisée pour identifier chaque ligne de manière unique. La clé primaire ne doit pas contenir de colonne valeur NULL.
Une clé unique possède les mêmes propriétés qu’une clé primaire à l’exception qu’une colonne définie comme clé unique peut être NULL. Elle contrôle l’unicité de la valeur
Une clé étrangère représente une relation entre les tables. Elle est composée d’une ou plusieurs attributs (colonnes) dont les valeurs dépendent de clés primaires (ou uniques) d’autres tables
On parle d’intégrité référentielle quand on veut signifier que les relations représentées par les clés sont maintenues. Elle assure la cohérence des données.
3/47
Entité et tables Lorsque l’on crée la base de donnée, l’entité devient une
table.
4/47
Requête Une requête est une question posée pour interroger une base
de donnée Permet d’extraire des données d’une ou plusieurs tables
5/47
Algèbre relationnelle
Outils de traitement permettant de formaliser les opérations pouvant être réalisées sur un schéma relationnel.
Opérateurs algébriques: (SELECTION,PROJECTION,JOINTURE)
Opérateurs ensemblistes:(UNION, INTERSECTION, DIFFERENCE, PRODUIT
CARTESIEN)
6/47
7/47
PROJECTION
Consiste à ne retenir que certains attributs d’une relation( 1 relation = 1 entité )
Le nombre de colonnes se trouve ainsi limité
8/47
PROJECTION Client(codeClient, nom, prénom, adresse,
codePostal, ville, telephone, mail) Materiels(codeMateriel, Désignation, Fabricant,
dateAchat, #codeClient) Interventions(numInterventions, descriptifPannne,
dateIntervention, temps_passé, #codeMateriel, #codeInterventions)
TypesInterventions(codeIntervention, designation, prixHoraire)
PiècesNeuves(refPièceNeuve, libellé, prix) Utiliser(#numInterventions,#refPièceNeuve, quantité)
9/47
PROJECTION
codeClient
nom prénom adresse codePostal
ville telephone
230 Vins Diesel Rue F1 V8769 Los Ang 08600 Vins@
231 Deep Johnny Pont 9 97233 Cap Est 07990 Deep@
232 Judor Eric Rue H 97200 FDF 05969 Judor@
Table Client : Mode feuille de données
Table d’origine
10/47
PROJECTION
R1 = SELECT * FROM Client; * selectionne tous les attributs de la table
11/47
PROJECTION
codeClient
nom prénom adresse codePostal
ville telephone
230 Vins Diesel Rue F1 V8769 Los Ang 08600 Vins@
231 Deep Johnny Pont 9 97233 Cap Est 07990 Deep@
232 Judor Eric Rue H 97200 FDF 05969 Judor@
Table Client : Mode feuille de données
Résultat de la requête:
12/47
PROJECTION
R1 = SELECT nom, prénom FROM Client; “Nom » et « prénom » sont 2 attributs de la table
client
13/47
PROJECTION
nom prénom
Vins Diesel
Deep Johnny
Judor Eric
Table Client : Mode feuille de données
Résultat de la requête:
14/47
SELECTION
Consiste à n’afficher que certaines lignes d’une table en utilisant:
Opérateurs de comparaison: <, <=, >, >= Connecteurs logiques: AND, OR, NOT Opérateurs ensemblistes: IN, BETWEEN, LIKE La clause NULL (champs vide)
15/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 FDF 5
Table Client : Mode feuille de données
Table d’origine
16/47
SELECTION
R1 = SELECT * FROM Client WHERE nbFilms = 51; Sélectionner tous les attributs des clients ayant
joués 51 films
17/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
18/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 FDF 5
Table Client : Mode feuille de données
Table d’origine
19/47
SELECTION
R1 = SELECT * FROM Client WHERE nbFilms = 5; Sélectionner tous les attributs des clients ayant
joués dans 5 films
20/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
232 Judor Eric Rue H 97200 FDF 5
21/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 FDF 5
Table Client : Mode feuille de données
Table d’origine
22/47
SELECTION
R1 = SELECT * FROM Client WHERE nbFilms > 50; Sélectionner tous les attributs des clients ayant
joués dans 50 films et plus
23/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
24/47
SELECTION
R1 = SELECT nom, prénom FROM Client WHERE nbFilms > 50;
Sélectionner les noms et prénoms des clients ayant joués dans 50 films et plus
25/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
nom prénom
Vins Diesel
Deep Johnny
26/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 FDF 5
Table Client : Mode feuille de données
Table d’origine
27/47
SELECTION
R1 = SELECT * FROM Client WHERE nbFilms BETWEEN 2 AND 52;
Sélectionner tous les attributs des clients ayant joués entre 2 et 52 films
28/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
232 Judor Eric Rue H 97200 FDF 5
29/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 FDF 5
Table Client : Mode feuille de données
Table d’origine
30/47
SELECTION
R1 = SELECT * FROM Client WHERE nom LIKE ‘de%’
Sélectionner tous les attributs des clients ayant un nom commençant par ‘de’
31/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
231 Deep Johnny Pont 9 97233 Cap Est 55
32/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 NULL 5
Table Client : Mode feuille de données
Table d’origine
33/47
SELECTION
R1 = SELECT * FROM Client WHERE ville IS NULL Sélectionner tous les attributs des clients ayant
l’attribut ville vide (null)
34/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
232 Judor Eric Rue H 97200 NULL 5
35/47
SELECTION
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
232 Judor Eric Rue H 97200 NULL 5
Table Client : Mode feuille de données
Table d’origine
36/47
SELECTION
R1 = SELECT * FROM Client WHERE ville IS NOT NULL
Sélectionner tous les attributs des clients n’ayant pas l’attribut ville vide (null)
37/47
SELECTION
Table Client : Mode feuille de données
Résultat de la requête:
codeClient
nom prénom adresse codePostal
ville nbFilms
230 Vins Diesel Rue F1 V8769 Los Ang 51
231 Deep Johnny Pont 9 97233 Cap Est 55
38/47
JOINTURE
Permet d’obtenir des données provenant de plusieurs tables
39/47
JOINTURE
Schéma relationnel FOURNISSEUR(NumFrs, NomFrs, AdrFrs, VilleFrs) ARTICLE(NumArt, LibArt, Stock, PrixUnitHT) ACHAT(#NumFrs,#NumArt, PrixAchat, Délai, EnCde)
40/47
JOINTURE
NumFrs NomFrs AdrFrs VilleFrs
230 Gcom Rue F1 FDF
231 Exnet Pont 9 Lamentin
232 Webplus Rue H FDF
Table Client : Mode feuille de données
Table Fournisseur
41/47
JOINTURE
NumArt LibArt Stock PrixUnitHT
100 PCportable 20 450
101 TelPortabl 50 70
102 clavierUsb 100 30
103 HautParleur
200 100
Table Client : Mode feuille de données
Table Article
42/47
JOINTURE
#NumFrs,#NumArt PrixAchat Délai EnCde
230,100 350 6 validé
232,102 20 9 validé
231,101 50 2 validé
Table Client : Mode feuille de données
Table Achat
43/47
JOINTURE
Numéro et délai de livraison des articles pour lesquels le prix unitaire est compris entre 50€ et 500€
R1 = SELECT NumFrs, NumArt, Délai
FROM ACHAT,ARTICLE
WHERE ACHAT.NumArt = ARTICLE.NumArt
AND PrixUnitHt BETWEEN 50 AND 500
44/47
JOINTURE
NumFrs, NumArt Délai
230 100 6
231 101 2
top related