108
Bases de données Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations Systèmes d‘Informations 2 ème année

Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Embed Size (px)

Citation preview

Page 1: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Bases de donnéesBases de données

2012/2013

INFORMATIQUE DE GESTION

Systèmes d‘InformationsSystèmes d‘Informations

2ème année

Page 2: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Système d'information (SI)

Un système d'information (SI) est un ensemble organisaient de ressources (matériels, logiciels, personnel, données et procédures) qui permet de regrouper, de classifier, de traiter et de diffuser de l'information sur un environnement donné.

L'utilisation de moyens informatiques, électroniques et la télécommunication permettent d'automatiser et de dématérialiser les opérations telles que les procédures d'entreprise surtout en matière logistique. Ils sont aujourd'hui largement utilisés en lieu et place des moyens classiques tels que les formulaires sur papier et le téléphone et cette transformation est à l'origine de la notion de système d´information. http://esto.gi.free.fr/access/

2

Document Microsoft Word

Page 3: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Introduction

Le système d'information est le véhicule de la communication dans l'organisation. Sa structure est constituée de l'ensemble des ressources (les hommes, le matériel, les logiciels) organisées pour : collecter, stocker, traiter et communiquer les informations. Le système d'information coordonne grâce à l'information les activités de l'organisation et lui permet ainsi d'atteindre ses objectifs.

Cette quantité d'informations (données) stockée dans un ordinateur s'appelle une base de données.

Un logiciel permettant d'utiliser ces données est un système de gestion de base de données (SGBD).

3

Document Microsoft Word

Page 4: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Introduction

Différents logiciels existent; Un tableur (Excel) peut être considéré comme

un SGBD. Nous allons utiliser dans notre cours le logiciel

Access comme SGBD; Ce logiciel permet une conception aisée de bases de données de "petite" taille avec un nombre restreint d'utilisateurs.

Il est à noter que plusieurs autres SGBD plus performants (mais également plus complexes) existent par ailleurs. On peut citer notamment Oracle, SQL Server, Paradox, MySQL, PostgreSQL parmi beaucoup d'autres.

4

SGBD:

Feuille de calcul Microsoft Excel

Page 5: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Introduction

La plupart de ces systèmes sont basés (dont Access) sur le modèle relationnel et fonctionnent sur les même principes;

Les informations sont stockées dans des tables qui sont reliées entre elles par des relations. L'interrogation de la base de données se fait à l'aide de requêtes, ces requêtes étant écrites à l'aide d'un langage commun à la plupart des SGBD: le SQL (Structured Query Language).

5

SGBD:

Page 6: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Introduction

Access a comme avantage par rapport à la plupart de ses concurrents de permettre une écriture en mode graphique des tables, de leurs relations et de la plupart des requêtes.

De plus, il intègre un système de création d'applications claires et simples pour chaque base de données.

6

SGBD:

Application Microsoft Office Access

Page 7: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Plan du cours

Ce cours est composé de six parties : Cette introduction, Une partie consacrée à la méthode Merise, qui

indique comment concevoir une base de données,

Une partie consacrée à la création de la base de données dans le logiciel Access,

Une partie consacrée aux différents types de requêtes,

Et une dernière partie consacrée à la finalisation de la base de données (notamment conception des formulaires, des états et des menus) qui permet d'avoir un produit fini, utilisable par un utilisateur n'ayant pas de connaissances particulière sur les SGBD,

7

Page 8: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

La méthode Merise a été créée en France dans les années 1970. Méthode d’Etude et de Réalisation

Informatique pour les Systèmes d’Entreprises. Cette méthode utilise le système dit

d'entités-relations. Un outil et une technique d'analyse

permettant de construire des schémas théoriques de raisonnement sur des applications tournant avec des bases de données dite relationnelles (comme celles d'Access).

8

Principes généraux:

Page 9: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

A noter que nous ne présenterons ici qu'une partie de la méthode Merise, puisque la méthode Merise générale traite de l'intégralité de la conception de la base de données :

Elle ne s'intéresse pas uniquement de la partie correspondant au stockage des données, mais également à leur traitement.

9

Principes généraux:

Page 10: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Système d’information

manuel

Expression des Besoins

Modèle Conceptuel

Modèle Organisationnel

Modèle Opérationnel

Système d’informationautomatique

•Recueil des informations•Délimiter le système.•…

•Construire les MCD et MCT

•Construire les MOD et MOT

•Construire (entre autres) les MLD,MPD …

10

Merise…cycle d’abstractionMerise…cycle d’abstraction

Page 11: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

1. La phase d'analyse : Cette phase, qui ne sera pas étudié dans ce cours, est une phase essentielle qui consiste à:

étudier l'existant : y-a-t'il un système qui gère déjà tout ou partie de

l'information, qu'il s'agisse d'un logiciel ou d'un ensemble de documents papiers ?

Comment ces informations sont elles stockées? Quelles sont les informations stockées ? Que manque t-il ? Qu'est ce qui convient ou ne convient pas aux

utilisateurs?

11

Les quartes phases de la méthode Merise:

Page 12: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Interroger les futurs utilisateurs : Qu'attendent-ils du futur SGBD ? Quelles sont les opérations qu'ils

désirent automatiser ? Recueillir les informations existantes, étudier les divers liens qui peuvent exister entre ces informations, mettre en évidence les règles de gestion employées, ...

12

Les quartes phases de la méthode Merise:

Page 13: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

2. La phase conceptuelle : Elle consiste à représenter l'organisation des données de manière générale. Elle aboutit sur la création du modèle conceptuel des données (MCD) dans lequel les données sont représentées sous forme d'entités liées entre elles par des relations.

13

Les quatres phases de la méthode Merise:

Page 14: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 14

Les quartes phases de la méthode Merise:

Page 15: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

3. La phase logique ou organisationnelle : Dans cette phase, la base de données sont représentées sous une forme logique plus proche de leur représentation réelle au sein du SGBD :Les informations sont représentées uniquement sous forme de tables au sein d'un modèle logique des données (MLD).

15

Les quartes phases de la méthode Merise:

Page 16: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 16

Les quartes phases de la méthode Merise:

Page 17: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

4. La phase physique ou opérationnelle : Elle consiste à construire réellement la base de données au sein du SGBD (ici Access). Cette partie ne sera pas décrite dans cette section, mais dans les suivantes.

17

Les quartes phases de la méthode Merise:

Page 18: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Les quatre phases de la méthode Merise : Analyse (étude de l'existant et enquête), Conceptuel (création du MCD), Logique (création du MLD), Physique (conception de la base de

données dans Access).

18

A retenir :

Page 19: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Modèle Conceptuel de données Après la phase d'analyse, nous

pouvons commencer à représenter les informations sous forme conceptuelle.

Le Modèle Conceptuel de Données (MCD) que nous allons construire contient deux éléments principaux : les entités et les relations.

19

Page 20: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Une entité est un élément du problème. Elle est définie par un ensemble de

propriétés. Chacune des propriétés est l'un des éléments qui caractérise l'entité.

Il faut distinguer une entité et une occurrence d'entité (ou instance).

Une entité correspond au type général d'une donnée (ex : le type "employé") alors qu'une occurrence d'une entité est un représentant particulier de cette entité (l'employé "Jean Martin").

20Modèle Conceptuel de données

Page 21: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Une relation est un lien possible qui relie deux entités.

Par exemple, si un employé peut être affecté à un entrepôt, il y aura une relation "affectation" entre l'entité "entrepôt" et l'entité "employé". Cela ne signifie pas nécessairement qu'il y aura affectation pour chacun des employé, juste qu'il est possible qu'un employé soit affecté à un entrepôt.

Une relation peut éventuellement être reliée à plus de deux entités et peut avoir certaines propriétés.

21Modèle Conceptuel de données

Page 22: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Après avoir fait une analyse aussi complète que possible du problème à informatiser, la construction du MCD se fait en quatre étapes :

a. Repérage des entités,b. Construction des entités, choix des

propriétés,c. Construction des relations,d. Choix des cardinalités.

22Modèle Conceptuel de données

Page 23: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

a. Repérage des entités: Une entité est un composant du

problème : une personne, une facture, un livre, ...

C'est la représentation d'un objet matériel ou immatériel pourvu d'une existence propre et conforme aux choix de gestion de l'entreprise.

23

La construction du MCD

Page 24: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Comme dit plus haut, ce que l'on considère comme entité est un type général (ex : l'entité personne représente toutes les personnes) à ne pas confondre avec une occurrence d'entité (Jean Martin étant une personne, on le considère comme une occurrence de l'entité personne).

Une entité doit avoir une existence indépendamment de toute autre entité.

24

La construction du MCD

Page 25: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple : On considère le problème suivant : Un libraire gère des œuvres littéraires. Une

œuvre est une création littéraire. Une œuvre a au moins un auteur et est dans

une édition (un livre). Une édition possède un ISBN unique et a un

unique éditeur. Elle peut contenir plusieurs œuvres.

On veut mémoriser pour chaque édition le nombre d'exemplaires en stock et pour chaque exemplaire son état.

25

La construction du MCD

Page 26: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Dans ce problème, les entités sont : L’entité "œuvre" : Une création littéraire, un récit… L’entité "auteur" : une personne créateur d'œuvre, L’entité "édition" : un livre contenant une ou plusieurs

œuvres littéraires, L’entité "éditeur" : la société qui va imprimer les

livres, L’entité "exemplaire" : un exemplaire physique de

livre. L'ISBN, par exemple, n'est pas une entité puisqu'il

s'agit d'un élément qui caractérise l'entité "édition".

26

La construction du MCD: Exemple

Page 27: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple

27

La construction du MCD: Exemple

Liste des œuvres

ISBN Titre Auteur EditeurStock

s

2.207.30089.7 Fondation 5 Denoël 10

2.221.09973.7 L'incident Jésus 2 Laffont 7

2.070.42167.8 Chrono-Minets 5 Gallimard 8

2.290.03567.X Frankenstein 1 J'ai Lu 12

2.070.36822.X 1984 3 Gallimard 5

Liste des auteurs

Code Nom Prénom

1 Shelley Mary W.

2 Herbert Franck

3 Orwell Georges

4 Bradbury Ray

5 Asimov Isaac

Page 28: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

b. Construction des entités On commence par donner un nom à

chacune des entités. Il faut ensuite rechercher les propriétés de ces entités.

On devra garder à l'esprit les points suivants : toute propriété est élémentaire (elle n'est pas la

composition d'éventuelles propriétés plus petites), une propriété ne doit pas être "instable" ou

"calculable" : si une propriété peut être obtenue par calcul à partir d'autres éléments qui vont apparaitre dans la base de données (notamment d'autres propriétés), on ne doit pas la considérer,

28

La construction du MCD

Page 29: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

toute entité doit posséder une propriété particulière appelée sa clé (ou identifiant). Une clé doit caractériser de manière unique chaque occurrence de l'entité. Par exemple, le nom de famille d'une personne ne peut pas être considéré comme une clé d'une entité "personne" puisque deux personnes peuvent avoir le même nom de famille. Le numéro de sécurité sociale est par contre tout à fait acceptable. Il vaut mieux éviter les identifiants trop longs (on préférera un code de quelques chiffres à un intitulé d'une vingtaine de lettres par exemples),

29

La construction du MCD

Page 30: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

si aucune des propriétés "naturelles" ne peut servir de clé, on en rajoute une artificiellement (Par exemple "CodeLivre" ou "IdAnimal").

Chaque propriété ne doit dépendre que d'une seule entité.

30

La construction du MCD

Page 31: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Une entité se représente ensuite graphiquement sous la forme d'une boite dans laquelle on indique en titre le nom de l'entité suivi de toutes ses propriétés. On indique d'une manière particulière l'identifiant.

31

La construction du MCD

Page 32: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple : Dans l'exemple du libraire, on peut

construire les entités suivantes (les propriétés sont indiquées après le nom de l'entité, l'identifiant est en gras) : œuvre : Idœuvre, titre Auteur : IdAuteur, nom, prénom édition : ISBN, titre, nb pages éditeur : IdEditeur, nom Exemplaire : IdExemplaire, état

32

La construction du MCD

Page 33: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Notons que, dans le cas de l'édition, l'ISBN est un identifiant tout à fait acceptable.

Dans les autres cas, aucune des propriétés ne convenant comme identifiant, il a fallu créer une propriété particulière pour cet effet (Id...).

33

La construction du MCD

Page 34: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 34

La construction du MCD

Œuvres

Idœuvre

Titre

Editions

ISBN

Titre

Nb pages

Editeurs

IdEditeur

NomExemplaires

Id_livre

Etat

Auteurs

IdAuteur

Nom

Prénom

Page 35: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

c. Construction des relations L'étape suivante consiste à énumérer

toutes les relations possibles entre entités. Si une relation a une chance d'apparaitre

(et de nous intéresser), alors on doit la considérer dans le MCD. On parle également parfois d'association.

Une relation se représente de la manière suivante :

35

La construction du MCD

Page 36: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

On notera les points suivants : Une relation est en général entre deux

entités. Il est possible d'avoir des relations entre plus que deux entités.

Par exemple, une relation Vente entre Acheteur, Vendeur et Lieu pour une base de données de transaction immobilière.

Il est néanmoins souvent possible (et préférable!) de se restreindre à des relations entre deux entités.

Dans le cas ici, la relation Vente pourrait être remplacée par une entité Acte de vente qui est en relation avec l'acheteur, le vendeur et le lieu.

36

La construction du MCD

Page 37: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Il est tout à fait possible d'avoir plusieurs relations entre deux entités.

Il est également possible d'avoir une relation dite réflexive, c'est-à-dire entre une entité et elle-même.

Par exemple, on peut avoir une relation Responsable entre une table employé et elle même. Dans ce cas, il convient tout de même de

remarquer que chacune des "pattes" de la relation a une signification différente. Ici, l'une des "pattes" signifiera est responsable de et l'autre signifiera a comme responsable.

37

La construction du MCD

Page 38: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Une relation peut avoir des propriétés. Par exemple, si une relation Contient lie l'entité Facture et l'entité Produit, elle possède certainement la propriété "quantité" (une facture contient un produit x en quantité y). D'ailleurs, si une propriété dépend de plus d'une entité (comme c'est le cas ici avec la quantité qui dépend à la fois de la facture et du produit), c'est certainement qu'elle dépend d'une relation, et non pas d'une entité.

38

La construction du MCD

Page 39: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Il faut éviter les relations que l'on peut déduire d'autres relations par transitivité. Par exemple, dans une base de données gérant une université, si on dispose d'entités étudiant, formation et cours. On a les relations fait partie entre formation et cours (un cours fait partie d'une formation) et inscription entre étudiant et formation. Il est inutile d'avoir en plus une relation inscription entre étudiant et cours : tout étudiant inscrit à une formation est systématiquement inscrit à tous les cours qui composent la formation.

39

La construction du MCD

Page 40: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple : Dans l'exemple du libraire, on a les relations suivantes:

40

La construction du MCD

Page 41: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

d. Choix des cardinalités Une fois les relations établies, il

convient ensuite de caractériser le nombre de fois ou chacune de ces relations peut apparaitre réellement. Ceci se fait à l'aide des cardinalités. Dans une relation classique (i.e. entre deux entités), quatre cardinalités sont à déterminer.

41

La construction du MCD

Page 42: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

minA est le nombre minimal de fois où une occurrence de l'entité A participe à une relation du type considéré. Il s'agit en général de 0 ou 1.

maxA est le nombre maximal de fois où une occurrence de l'entité B participe à la relation. Il s'agit en général de 1 ou n (n pour plusieurs fois, ou un nombre quelconque de fois).

minB et maxB fonctionnent de la même manière, mais en considérant l'entité B.

Notons qu'il est souvent difficile de choisir entre une cardinalité de type 0: n et une cardinalité de type 1: n. Il est important de noter que ce choix a souvent peu d'importance.

42

La construction du MCD

Page 43: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple : Dans l'exemple du libraire, considérons la

relation édite qui existe entre les entités éditeur et édition.

Ainsi, dans l'exemple du libraire, une édition (un livre) a toujours un et un seul éditeur (soit un minimum de un éditeur, et un maximum de un éditeur).

Un éditeur par contre peut éditer au minimum une édition et au maximum plusieurs éditions (un nombre quelconque de fois).

43

La construction du MCD

Page 44: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Ce qui nous donne :

Le MCD complet est donc :

44

La construction du MCD

Page 45: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

e. Cas particuliers et pièges : Quelques points particuliers sont à

garder à l'esprit lors de la réalisation d'un MCD.

Un identifiant est obligatoire pour chaque entité.

Il ne doit pas y avoir de redondance d'informations: Une information quelconque ne doit pas être représentée plus d'une fois dans le MCD.

45

La construction du MCD

Page 46: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Evitez autant que possible les relations entre plus de deux entités. Souvent, il est possible de remplacer la relation par une entité.

Restez dans la mesure du possible avec des cardinalités de valeurs 0, 1 ou n. Il est de toute manière souvent possible de se ramener à ce cas dans les rares cas où des cardinalités d'un autre type semblent plus naturelles. En pratique, il peut y avoir d’autre valeurs, mais c’est très rare (exemple du tiercé : un pari concerne exactement 3 chevaux cardinalité 3:3)

46

La construction du MCD

Page 47: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Dans l'idéal, il faut trouver un bon compromis entre niveau de détail et "taille" de la base de données. Il est toujours possible de multiplier les entités, mais il vaut mieux le faire que si cela a vraiment du sens et un intérêt dans le problème.Par exemple, si on a une entité personne, on peut considérer l'adresse comme une entité séparée (reliée à personne par une relation "habite à") ou comme une propriété de la personne (ce qui est fait usuellement). En règle générale, il est plus économique de définir l'adresse comme une propriété, mais dans un cas ou il est courant que des personnes habitent au même endroit, la règle de non-redondance incite plutôt à utiliser une nouvelle entité

47

Page 48: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

La méthode générale de construction du MCD : Recherche des entités, Recherche des propriétés (dont la clé de

chaque entité), Recherche des relations entre entités, Recherche des cardinalités (0:1, 1:1, 0: n

ou 1:n ?)

48

La construction du MCD: A retenir!

Page 49: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Une banque désire posséder un SGBD pour suivre ses clients. Elle désire ainsi stocker les coordonnées de chaque client (nom, prénom adresse), et les comptes dont elle dispose ainsi que leur solde (sachant par ailleurs que certains compte ont plusieurs bénéficiaires). On stockera également les opérations relatives à ces comptes (retrait et dépôt, avec leur date et le montant).

49

Exercice : réalisation de MCD (Banque)

Page 50: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Une banque désire posséder un SGBD pour suivre ses clients. Elle désire ainsi stocker les coordonnées de chaque client (nom, prénom adresse), et les comptes dont elle dispose ainsi que leur solde (sachant par ailleurs que certains compte ont plusieurs bénéficiaires). On stockera également les opérations relatives à ces comptes (retrait et dépôt, avec leur date et le montant).

50

Exercice : réalisation de MCD

Page 51: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

51

Exercice : réalisation de MCD

Comptes

Id_Cpt

Solde

Clients

NoClient

Nom

Prénom

Adresse

Opérations

Id_op

Type

Date

montant

bénéficie

Concerne

1:n 1:n 0:n

1:1

Page 52: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Les règles de gestion : Le magasin vend des produits a des clients. Les produits possèdent une référence (un code), un

libelle et un prix unitaire. Les clients ont une identité (nom, prénom, adresse...). Les clients passent des commandes de produits. On

mémorise la date de la commande. Pour chaque commande, le client précise une adresse

de livraison. La commande concerne un certain nombre de produits,

en une quantité spécifiée pour chaque produit.

52

Exercice : MCD (gestion de commandes)

Page 53: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 53

Exercice : MCD (gestion de commandes)

Page 54: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Les règles de gestion : Une agence de location de maisons et d’appartements désire

gérer sa liste de logements. Elle voudrait en effet connaître l’implantation de chaque logement (nom de la commune et du quartier) ainsi que les personnes qui les occupent (les signataires uniquement).

Le loyer dépend d’un logement, mais en fonction de son type (maison, studio, T1, T2...) l’agence facturera toujours en plus du loyer la même somme forfaitaire à ses clients. Par exemple, le prix d’un studio sera toujours égal au prix du loyer + 30 DH de charges forfaitaires par mois.

Pour chaque logement, on veut disposer également de l’adresse, de la superficie ainsi que du loyer.

Quant aux individus qui occupent les logements (les signataires du contrat uniquement), on se contentera de leurs noms, prénoms, date de naissance et numéro de téléphone.

54

Exercice : MCD (agence immobilière)

Page 55: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Pour chaque commune, on désire connaître le nombre d’habitants ainsi que la distance séparant la commune de l’agence.

L’agence désire gérer l’historique de l’occupation des logements par les individus. On considèrera de plus qu’un individu peut être signataire de plusieurs contrat de location.

On précise aussi qu’un logement peut faire l’objet de plusieurs locations disjointes dans le temps.

L’unité géographique retenue pour la gestion des logements est le quartier et on considère que chaque commune possède au moins un quartier.

55

Exercice : MCD (gestion de commandes)

Page 56: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

56

Exercice : MCD (gestion de commandes)

Individus

Communes

TypeLogements

Locations

N°identitéNomPrénomDateNaissanceN°téléphone

Id commune Nom communeDistance agenceNombre d'habitants

Type logementCharges forfaitaires

N°LocationDateDébutDateFin

1,N

Correspondre

Effectuer

1,N

0,N

1,1

1,1

1,1

1,1

1,N

Situer Dans

1,1 0,N

Concerner

Appartenir

LogementsN° logement

AdresseSuperficieLoyer

Quartiers

Id quartier Nom quartier

Page 57: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

L'étape de transformation du MCD en MLD est assez simple et passe par trois étapes : Transformation des entités en tables, Transformation des relations du MCD, Suppression des tables inutiles.

57

MCD>>> MLD

Page 58: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

a. Construction des tables La première étape consiste à transformer

toutes les entités du MCD en tables du MLD. Cette transformation est directe : il suffit de

recopier les entités. Il s'agit essentiellement d'un changement de vocabulaire :

une entité devient une table, une propriété devient un champ, un identifiant devient une clé primaire.

A noter toutefois qu'il est essentiel qu'il n'y ait pas deux tables qui aient le même nom.

58

Modèle logique des données

Page 59: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple: la première partie de la construction du

MLD du libraire est directe. Il suffit de recopier les entités.

59

Modèle logique des données

Page 60: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

b. Transformation des relations en liens

60

Modèle logique des données

Pour les associations. Dépend des cardinalités. Deux grand cas possibles :

Relation la relation est matérialisée par l’ajout d’une clé

étrangère

Relationla relation donne lieu à la création d’une table

1:1 ?:?

?:n ?:n

Page 61: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Premier cas: Dans le cas d'une relation ou l'une des

branches a une cardinalité de 1:1 ou 0:1, la transformation de la relation se fait de la manière suivante : On ramène dans la table correspondant à l'entité

"du côté du 1:1" (ou du 0:1) la clé primaire de l'autre table ainsi que toutes les éventuelles propriétés de la relations.

On lie la clé primaire ainsi importée avec la clé primaire de la deuxième table.

Si la relation contenait des propriétés, celle-ci se retrouve également importée du côté du 1:1

61

Modèle logique des données

Page 62: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Se transforme en:

A noter que la clé importée (ici IdB qui se retrouve dans table A) ne devient pas une clé de la table : c'est une propriété comme une autre. Notons aussi que le lien se fait entre champs (on relie IdA à IdB) et non pas, comme dans le MCD, entre les tables.

62

Modèle logique des données

Page 63: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

63

Modèle logique des données

EntitéA

IdA

PropriétéA1

EntitéB

IdB

propriétéB1

TableA

PK_IdA

Champ A1

TableB

PK_IdB

Ch_propriété B1

FK IdA

Ch_proriété R

0:n 1:1relation

propriétéR

devient

Page 64: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Deuxième cas Dans tous les autres cas, la relation du

MCD se transforme en une table du MLD : On crée une nouvelle table correspondant à

la relation. Cette table contient toutes les éventuelles propriétés de la relation.

On intègre à cette table les clés primaires des entités impliquées dans la relation.

64

Modèle logique des données

Page 65: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

On relie les clés primaires des tables avec les clés importées dans la nouvelle table.

On choisit enfin la ou les clés primaires de la nouvelle table. L'idée générale est que chaque occurrence de cette entité doit pouvoir être identifiée de manière unique par ses clés primaires.

65

Modèle logique des données

Page 66: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Cela revient en général à choisir comme clés primaires l'ensemble de clés importées des autres tables.

Se transforme en:

66

Modèle logique des données

Page 67: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Cas particuliers Quelques cas particuliers peuvent apparaitre.

Si la relation est de type 1:1 - 1:1, on fusionne les deux entités en une. Ce type de relation rare est souvent dû à un problème dans la conception du MCD.

Si la relation est de type 0:1 - 1:1, on traite la relation comme une relation de type 1:1 ?:?(en ramenant la clé primaire du côté du 1:1)

67

Modèle logique des données

Page 68: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Cas particuliers Les relations réflexives (entre une entité et

elle-même) se traitent comme les autres relations.

les relations ternaires (entre trois entités, ou plus), se traitent comme d'habitude. Si l'une des branches a une cardinalité de type 1:1, on ramène les clés primaires des autres entités et les propriétés de la relation dans l'entité "du côté du 1:1". Si ce n'est pas le cas, la relation se transforme en table.

68

Modèle logique des données

Page 69: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

c. Suppression des tables inutiles La dernière étape consiste simplement à

supprimer les tables inutiles. En général (mais pas toujours), une table

qui ne contient qu'un seul champ (sa clé) est inutile : elle ne nous apporte aucune information.

L'exemple le plus classique est une entité de type "date".

69

Modèle logique des données

Page 70: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exemple : Le MLD correspondant à l'exemple du

libraire est le suivant :

70

Modèle logique des données

Page 71: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

La méthode de transformation MCD-MLD : les entités sont transformées en tables (sans

modification) les relations sont transformées en fonction de

leurs cardinalités pour une relation de type 1:1 - ?:? entre une entité

A et une entité B se traduit par une importation de la clé primaire de l'entité B dans la table de A, et on ajoute un lien entre les deux clés,

une relation autre (sans 1:1 - ?:?) se transforme en table dans laquelle on retrouve les clés primaires de A et B.

les tables inutiles sont supprimées : il s'agit essentiellement des tables à un seul champ (leur clé). 

71

MCD>>MLD: A retenir

Page 72: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Relation binaire (0,1)-(1,1): On duplique la clé de la table basée sur l'objet à cardinalité

(0,1) dans la table basée sur l'objet à cardinalité (1,1).

72

MCD>>MLD: Quelques cas particuliers

Page 73: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Plusieurs relations entre 2 objets Les règles générales s'appliquent.

73

MCD>>MLD: Quelques cas particuliers

Page 74: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Relation binaire (0,1)-(0,1): On duplique la clé d'une des tables dans l'autre. Lorsque la

relation contient elle-même des propriétés, celles-ci deviennent également attributs de la table dans laquelle a été ajoutée la clé étrangère.

74

MCD>>MLD: Quelques cas particuliers

Page 75: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Relations réflexives: Nous appliquons les règles générales avec la seule

différence que la relation est 2 fois reliée au même objet.

75

MCD>>MLD: Quelques cas particuliers

Page 76: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Relations réflexives: Nous appliquons les règles générales avec la seule

différence que la relation est 2 fois reliée au même objet.

76

MCD>>MLD: Quelques cas particuliers

Page 77: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 

Exercice «Gestion d'école» Transformez le MCD suivant, qui représente «la

gestion d'une école» en un MLD en respectant toutes les règles du passage MCD à MLD.

77

MCD>>MLD: Exercices

Page 78: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 78

MCD>>MLD: Exercices

Page 79: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 79

MCD>>MLD: Exercices

Page 80: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 80

MCD>>MLD: Exercices

Page 81: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise 81

MCD>>MLD: Exercices

81

N°identitéNomPrénomDateNaissanceN°téléphone

Id commune Nom communeDistance agenceNombre d'habitants

Type logementCharges forfaitaires

N°LocationDateDébutDateFin

1,N

Correspondre

Effectuer

1,N

0,N

1,1

1,1

1,1

1,1

1,N

Situer Dans

1,1 0,N

Concerner

Appartenir

N° logementAdresseSuperficieLoyer

Id quartier Nom quartier

Page 82: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

I. Méthode Merise MCD>>MLD: Exercices

Page 83: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Résumé83

La méthode Merise, comprend 4 niveaux avec chacun un modèle référent :

Page 84: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 84

Introduction au SQL

Requêtes de consultation de tables Projection, Sélection, Jointure Tri, Agrégation, Partitionnement

Requêtes de Modification de tables Ajout Suppression

Manipulation de tables, de vues et de bases de données

Page 85: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 85

Projection

Syntaxe SQL :SELECT [UNIQUE1] liste_attributs2 FROM Table ;

1 Permet d'éliminer les doublons (on trouvera aussi DISTINCT).2 On peut mettre une étoile * pour demander tous les attributs. On peut renommer un attribut en ajoutant AS NomAttribut

Page 86: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 86

Projection

86

Soit la Table Étudiants(#num, nom, prénom, âge, ville, CodePostal).

Donner les noms, les prénoms et les âges de tous les étudiants.

Afficher toute la table Étudiant.

• SELECT nom, prénom, âge FROM Étudiants;

• SELECT * FROM Étudiants;

Donner les numéros des étudiants dans une colonne nommée Numéro.

• SELECT #num AS Numéro FROM Étudiants;

Page 87: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 87

Sélection

Syntaxe SQL :SELECT * FROM table WHERE condition;

La condition peut formée sur des noms d'attributs ou des constantes avec

des opérateurs de comparaison : =, >, <, <=, >=, <>1

des opérateurs logiques : AND, OR, NOT des opérateurs : IN, BETWEEN+AND, LIKE, EXISTS, IS _ qui remplace un caractère et % qui remplace une chaîne de

caractères

1 La différence est parfois notée !=

Page 88: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 88

Sélection

88

Quels sont tous les étudiants âgés de 20 ans ou plus ?

SELECT * FROM Étudiants WHERE (Age >= 20);

Quels sont tous les étudiants âgés de 19 à 23 ans ?

SELECT * FROM Étudiants WHERE Age IN (19, 20, 21, 22, 23); SELECT * FROM Étudiants WHERE Age BETWEEN 19 AND 23;

Quels sont tous les étudiants habitant dans le département 60?

SELECT * FROM Étudiant WHERE CodePostal LIKE ‘60%' ;

Quels sont tous les étudiants dont la ville est inconnue/connue ?

SELECT * FROM Étudiants WHERE Ville IS NULL ; SELECT * FROM Étudiants WHERE Ville IS NOT NULL ;

Sur la table Étudiants(#Num, Nom, Prénom, Age, Ville, CodePostal)

Page 89: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 89

Produit Cartésien

Syntaxe SQL :

SELECT * FROM table1 [Alias1], ..., tablen [Aliasn];

Syntaxe SQL :

SELECT * FROM table1 [Alias1], ..., tablen [Aliasn] WHERE condition;

Autre Syntaxe :

SELECT * FROM table1 INNER JOIN table2 ON condition;

89

Page 90: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 90

Produit Cartésien

90

90

Soient les tables :• Produit (#prod, nomProd, fournisseur, pu)• DétailCommande (#cmd, #prod, pu, qte, remise)

Quels sont les numéros de commande correspondant à l'achat d'une table ?

Même requête, mais avec des alias pour les noms de relation :

SELECT dc.#num

FROM Produit p, DétailCommande dc

WHERE p.#prod = dc.#prod AND nomProd LIKE "%table%";

SELECT DétailCommande.#num FROM Produit, DétailCommande WHERE Produit.#prod =DétailCommande.#prod AND nomProd LIKE "%table;

Page 91: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 91

Jointures par requêtes imbriquées

Une jointure peut aussi être effectuée à l'aide d'une sous-requête.

SELECT *

FROM Stock

WHERE #prod IN ( SELECT #prod

FROM Produit)

Principe : Le mot-clef "IN" permet ici de sélectionner les tuples #prod appartenant à la sous-requête.

La sous-requête ne doit retourner qu'une colonne ! Les tables de sous-requêtes ne sont pas visibles depuis

l'extérieur91

91

Page 92: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 92

Jointures par requêtes imbriquées

A partir des relations suivantes : Produit(#prod, libellé, pu)

Stock(#prod, #dép, qté)

Dépôt(#dép, adr, volume)

Quels sont les produits qui sont en rupture de stock et l’adresse du dépôt:

SELECT p.#prod, p.libellé, d.#dép, d.Adr

FROM Produit p, Dépôt d, Stock s

WHERE p.#prod = s.#prod

AND s.#dép = d.#dép

AND s.qte <= 0 92

92

Page 93: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 93

Tri

93

9393

Syntaxe :

Cette clause se place derrière la clause WHERE

ORDER BY attribut [ordre] [, attribut [ordre] ...]

On peut préciser un ordre croissant ASC ou décroissant DESC.

Exemple

Trier Stock par numéro de produit croissant et par quantité décroissanteSELECT *

FROM Stock

WHERE qte > 0

ORDER BY #prod ASC, qte DESC

Page 94: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 94

Agrégation des résultats

94

9494

Il est possible d'utiliser des fonctions f d'agrégation dans le résultat d'une sélection.

Syntaxe :

SELECT f ( [ ALL | DISTINCT ] expression)

FROM ...

où f peut être COUNT nombre de tuples

SUM somme des valeurs d'une colonne

AVG moyenne des valeurs d'une colonne

MAX maximum des valeurs d'une colonne

MIN minimum des valeurs d'une colonne

Pour COUNT, on peut aussi utiliser COUNT(*)

Seul COUNT prend en compte les valeurs à NULL.

Page 95: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 95

Partitionnement des résultats:

95

SyntaxeGROUP BY liste_attributs HAVING condition avec fonctionCette clause regroupe les résultats par valeur selon la condition

Dans l'ordre, on effectue la sélection SELECT le partitionnement GROUP BY on retient les partitions intéressantes HAVING on trie avec ORDER BY.

Page 96: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 96

Partitionnement des résultats:

96

96

Matière Coef Note

Maths 4 15

Sc Nat 3 9

Sc Phy 3 12

Français 2 13

Sc Hum 2 11

Anglais 1 10

Sport 1 12

Résultats (de Pierre)

SELECT coef, Avg(note) as Moyenne

FROM Résultats

GROUP BY coef;

Coef Moyenne

1 11

2 12

3 10.5

4 15

Quelle est la note moyenne pour chaque coefficient ?

Quels sont les coefficients auxquels participe une seule matière ?

SELECT coef

FROM Résultats GROUP BY coef

HAVING count(*)=1;

Coef

4

Page 97: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 97

Plan

Requêtes de consultation de tables Projection, Sélection, Jointure Tri, Agrégation, Partitionnement

Requêtes de Modification de tables Ajout Suppression

Manipulation de tables, de vues et de bases de données

97

Page 98: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 98

Insertion

Syntaxe :

Pour insérer un tuple complètement spécifié :

INSERT INTO Table VALUES (val1,..., valn);

Pour insérer un tuple incomplètement spécifié :

INSERT INTO Table (liste_attributs)VALUES (val1,..., valn);

On peut insérer un tuple à partir d'une relation ayant le même schéma.

INSERT INTO Table

SELECT *

FROM ...98

Page 99: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 99

Insertion exemple

99

Sur les relations Étudiants (#Num, Nom, Prénom, Age, Ville, CodePostal)ClubThéâtre(#Num, Nom, Prénom)

Ajouter l'étudiant Sylvain HEBON, 21 ans, habitant Nancy avec le numéro 634.

INSERT INTO Étudiants VALUES (634, 'HEBON', 'Sylvain', 'Nancy', '54000', 21);

Ajouter tous les étudiants Vosgiens dans le Club de Théâtre

INSERT INTO ClubThéâtre SELECT #Num, Nom, Prénom FROM Étudiants WHERE CodePostal LIKE '88%';

Page 100: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 100

Mise à jour

100

Syntaxe :UPDATE TableSET attribut1 = expr1, ..., attributn = exprn

FROM ...WHERE ...

Les expressions peuvent êtreune constanteune valeur NULLune clause SELECT

Page 101: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 101

Mise à jour:

UPDATE Étudiants

SET Age = Age + 1;

Sur la relation Étudiants (#Num, Nom, Prénom, Age, Ville, CodePostal)

Augmenter d'un an l'age de tous les étudiants.

On a appris que tous les étudiants de Bar-le-Duc ont déménagé à Nancy.

UPDATE Étudiants

SET Ville = 'Nancy', CodePostal = '54000'

WHERE Ville = 'Bar-Le-Duc';

Page 102: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 102

Suppression

102

Syntaxe :DELETE FROM Table[WHERE condition]Remarque :

Si on supprime tous les tuples d'une relation, le schéma de relation existe toujours !

Exemple :Retirer de la liste tous les étudiants de plus de 22 ans.

DELETE FROM Étudiants

WHERE Age > 22;

!

Page 103: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 103

Création de table

103

Syntaxe :CREATE TABLE nomTable (

Attribut Domaine [Contraintes ...],...Attribut Domaine [Contraintes ...],[Contraintes ... ] )

Page 104: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 104

Création de table

104104

Créer la table Stock1(Pièce, NbP, Fournisseur)

CREATE TABLE Stock1 (

Pièce VARCHAR(20) NOT NULL,

NbP INT,

Fournisseur CHAR(20) NOT NULL,

PRIMARY KEY (Pièce, Fournisseur)

)

Page 105: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 105

Modification de table

105105

Modification de Schéma de la Table (Syntaxe variable !)

Exemple pour Oracle v6 :ALTER TABLE Table

[ADD (définition_attribut | Contrainte), [définition_attribut | Contrainte] ... )]

[MODIFY (définition_attribut [, définition_attribut ]... )][DROP CONSTRAINT contrainte]

Suppression complète d'une relation (et de son schéma) :

DROP TABLE Table;

Attention, toutes les données de la table sont perdues !

Page 106: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 106

Vue

106106

Une vue est une Table non stockée dans la base de données mais recalculée à chaque utilisation. Syntaxe :CREATE VIEW NomVue AS Requête_de_définition1

Exemple :CREATE VIEW Personnes_Âgées ASSELECT * FROM PersonnesWHERE Age > 70;

La suppression s'effectue avec DROP VIEW NomVue;1 La requête ne doit pas contenir de tris (ORDER BY).

Page 107: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

II. Cours SQL 107

Base de données

107107

Création d'une base de données

Syntaxe :CREATE DATABASE NomBdd;

Destruction totale d'une base de données

Syntaxe :DROP DATABASE NomBdd;

Page 108: Bases de données 2012/2013 INFORMATIQUE DE GESTION Systèmes d‘Informations 2 ème année

Merci

108