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

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

mail

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

mail

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