125
Systèmes d’information 2 ème année ECT Brahim bakkas CPGE Omar AL Khayyam

Cours brahim bakkas

Embed Size (px)

DESCRIPTION

cours brahim bakkas

Citation preview

Page 1: Cours brahim bakkas

Systèmes d’information

2ème année ECT

Brahim bakkas

CPGE Omar AL Khayyam

Page 2: Cours brahim bakkas

Plan

Chapitre 1: généralités et notion de base

Chapitre 2: Méthode merise

MCD

MLD

MPD

Chapitre 3: algèbre relationnel

Chapitre 4: langage Sql

Infocpge.blogspot.com Brahim BAKKAS

2

Page 3: Cours brahim bakkas

Chapitre 1:

Généralités et notions de

base

Page 4: Cours brahim bakkas

4

Introduction :

Définition d’une base de données:

Une base de données est un ensemble structuré de données persistantes représentant une réalité extérieure au système, partagé par plusieurs utilisateurs (application d’une même entreprise)

Infocpge.blogspot.com Brahim BAKKAS

Page 5: Cours brahim bakkas

5

Introduction :

Remarque :

Persistante : les données sont conservées de manière permanente, elles sont disponibles pour chaque utilisateur.

Réalité extérieur : les informations contenues dans une base de données sont des données du monde réel et non des données informatiques.

Plusieurs utilisateurs : les utilisateurs qui partagent les fichiers de la base de données peuvent avoir des préoccupations différentes.

Entreprise : les applications qui pointe vers la même base de données doivent appartenir à la même entreprise

Infocpge.blogspot.com Brahim BAKKAS

Page 6: Cours brahim bakkas

6

Introduction :

Définition d’une base de données :

Une base de données contient des informations représentant des objets du même monde extérieur(monde réel) ainsi que des liens sémantiques entre ses objets.

Infocpge.blogspot.com Brahim BAKKAS

Page 7: Cours brahim bakkas

7

Utilité d'une base de données

Une base de données permet de mettre des données à la disposition des utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces derniers

Infocpge.blogspot.com Brahim BAKKAS

Page 8: Cours brahim bakkas

8

Utilité d'une base de données(suite)

Une base de données peut être

locale, c'est-à-dire utilisable sur une machine par un utilisateur,

répartie, c'est-à-dire que les informations sont stockées sur des machines distantes et accessibles par le réseau.

L'avantage

accédées par plusieurs utilisateurs simultanément.

Infocpge.blogspot.com Brahim BAKKAS

Page 9: Cours brahim bakkas

9

Conception d’une base de données

Définitions:

Les éléments constitutifs d’une base de données lors de sa phase de conception correspondent aux 3 notions : entité, attribut et association

Infocpge.blogspot.com Brahim BAKKAS

Page 10: Cours brahim bakkas

10

Conception d’une base de données(suite)

Définition d’une entité : Une entité est un objet du monde extérieur que

l’on peut distinguer et qui a une existence propre et qui possède des propriétés.

Exemple : BD pour la gestion des notes possède 3 entités:

- Etudiant, - Matière, - Enseignant.

BD commerciale : - Client, - Fournisseur, - Commande.

Infocpge.blogspot.com

Brahim BAKKAS

Page 11: Cours brahim bakkas

11

Conception d’une base de données(suite)

Définition d’un attribut :

Un attribut est le plus petit élément d’information manipulé par l’entreprise et qui a un sens en lui même.

Exemple :

Étudiant: Nom, prénom, adresse, date de naissance.

Infocpge.blogspot.com Brahim BAKKAS

Page 12: Cours brahim bakkas

12

Conception d’une base de données(suite)

Définition d’une association :

Une association est un lien sémantique entre deux entités.

Exemple:

Commande Client

Passer

Infocpge.blogspot.com Brahim BAKKAS

Page 13: Cours brahim bakkas

13

Conception d’une base de données(suite)

Les divers types d’associations :

Il y’a quatre types d’associations:

1. Association binaire réciproque ou un à un:

2. Association binaire un à plusieurs:

Conjoint Employé Employé

Employé

Établissement Employé

Infocpge.blogspot.com Brahim BAKKAS

Page 14: Cours brahim bakkas

14

Conception d’une base de données(suite)

3. Association binaire plusieurs à plusieurs:

Fournir

Fournisseur Produit

Infocpge.blogspot.com Brahim BAKKAS

Page 15: Cours brahim bakkas

15

Exemple

Soient les règles de gestions suivantes :

Un client peut passer plusieurs commandes,

Une commande est passée par un et un seul client.

une commande se compose de plusieurs produits

un produit peut être livré par plusieurs fournisseurs.

1. Extraire les entités du problème ?

2. Représenter la structure du problème en utilisant le

formalisme entité association ?

passer

Livrer

Composer

Fournisseur

Client Commande

Produit

Infocpge.blogspot.com Brahim BAKKAS

Page 16: Cours brahim bakkas

16

Exemple

Soient les règles de gestions suivantes :

Un client peut passer plusieurs commandes,

Une commande est passée par un et un seul client.

une commande se compose de plusieurs produits

un produit peut être livré par plusieurs fournisseurs.

1. Extraire les entités du problème ?

2. Représenter la structure du problème en utilisant le formalisme entité association ?

passer

Livrer

Composer

Fournisseur

Client Commande

Produit

Infocpge.blogspot.com Brahim BAKKAS

Page 17: Cours brahim bakkas

17

Exercice n°2

Considérons une entreprise structurée en un certain nombre d’établissement ;

Soient les règles de gestions suivantes :

Les établissements emploient des personnes, chaque personne ne travaille que dans un seul établissement, mais il peut participer à différents projets de l’entreprise.

Un projet peut regrouper plusieurs employés du même établissement ou pas.

Un projet est dirigé par un et un seul employé et un employé ne peut diriger qu’un seul projet.

Si le conjoint d’un employé travaille dans l’entreprise ce lien doit être enregistrer

L’entreprise s’adresse à des fournisseurs qui lui fournissent des produits qu’elle stockent dans des entrepôts.

Un fournisseur, un établissement, un entrepôt, sont localisé dans une seule ville,

Un produit peut être composé de plusieurs autres produits.

En utilisant le formalisme (entité – association), représenter la structure du problème ? Infocpge.blogspot.com

Brahim BAKKAS

Page 18: Cours brahim bakkas

18

Système de gestion des bases de données

Définition d’un SGBD :

Le SGBD représente un ensemble coordonné de logiciels qui permet de décrire, manipuler, traiter les ensembles de données formant la base.

Il doit également assurer la sécurité et la confidentialité des données dans un environnement où de nombreux utilisateurs ayant des besoins variés peuvent interagir simultanément sur ces données.

Infocpge.blogspot.com Brahim BAKKAS

Page 19: Cours brahim bakkas

19

Système de gestion des bases de données

L’organisation des données dans un SGBD:(exemple Access)

- Dans les SGBD, les informations doivent être segmentées en données qui sont stockées dans des tables. Une table est donc un ensemble de données, organisées en lignes et en colonnes.

- On peut stocker dans une table n’importe quel type d’information (texte, chiffres, graphisme, son, etc...)

Infocpge.blogspot.com Brahim BAKKAS

Page 20: Cours brahim bakkas

20

Système de gestion des bases de données

Chaque table est divisée en enregistrements, les enregistrements étant l’ensemble des données relatives à la même information.

Chaque enregistrement contient un ensemble d’informations qui ont elles-mêmes diviser l’enregistrement en plusieurs parties, chaque partie s’appelle un champ. Le champ contient une partie des informations de chaque enregistrement.

Infocpge.blogspot.com Brahim BAKKAS

Page 21: Cours brahim bakkas

21

Fonctionnalités d’un SGBD :

Gestion du stockage : faire face à des tailles énormes de données.

Persistance: Les données «survivent» aux programmes qui les créent.

Fiabilité : Mécanismes de reprise sur pannes (logiciel ou matériel)

Sécurité - Confidentialité : Droits d'accès aux données

Cohérence : Contraintes d'intégrité

contrôle de concurrence: Conflits d'accès. Répercussions sur la cohérence

Interfaces homme – machine : Convivialité + différents types d'utilisateurs

Infocpge.blogspot.com Brahim BAKKAS

Page 22: Cours brahim bakkas

22

Objectifs d’un SGBD :

Indépendance physique: Le niveau physique (type de données)peut être modifié (int → float) indépendamment du

niveau conceptuel.

Cela signifie que tous les aspects matériels de la base de données n'apparaissent pas pour l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations

Infocpge.blogspot.com Brahim BAKKAS

Page 23: Cours brahim bakkas

23

Objectifs d’un SGBD :

Indépendance logique: le niveau conceptuel doit pouvoir être modifié sans remettre en cause le niveau physique, c'est-à-dire que l'administrateur de la base doit pouvoir la faire évoluer sans que cela gêne les utilisateurs.

Infocpge.blogspot.com Brahim BAKKAS

Page 24: Cours brahim bakkas

24

Objectifs d’un SGBD :

Manipulation: des personnes ne connaissant pas la base de données doivent être capables de décrire leurs requêtes sans faire référence à des éléments techniques de la base de données,

Rapidité des accès: le système doit pouvoir fournir les réponses aux requêtes le plus rapidement possible, cela implique des algorithmes de recherche rapides,

Infocpge.blogspot.com

Brahim BAKKAS

Page 25: Cours brahim bakkas

25

Objectifs d’un SGBD :

Administration centralisée: le SGBD doit permettre à l'administrateur de pouvoir manipuler les données, insérer des éléments, vérifier son intégrité de façon centralisée

Limitation de la redondance: le SGBD doit pouvoir éviter dans la mesure du possible des informations redondantes, afin d'éviter d'une part un gaspillage d'espace mémoire mais aussi des erreurs,

Infocpge.blogspot.com Brahim BAKKAS

Page 26: Cours brahim bakkas

26

Objectifs d’un SGBD :

Vérification de l'intégrité: les données doivent être cohérentes entre elles, de plus lorsque des éléments font références à d'autres, ces derniers doivent être présents,

Partage des données: le SGBD doit permettre l'accès simultané à la base de données par plusieurs utilisateurs,

Sécurité des données: Le SGBD doit présenter des mécanismes permettant de gérer les droits d'accès aux données selon les utilisateurs.

Infocpge.blogspot.com Brahim BAKKAS

Page 27: Cours brahim bakkas

27

Modèles d’un SGBD

Il existe cinq modèles de SGBD, différenciés selon la représentation des données qu'elle contient :

1. le modèle hiérarchique: C’est un modèle inspiré par la pratique courante de la programmation COBOL, il consiste à organiser les divers entités de la base en arbre. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle de SGBD

Infocpge.blogspot.com Brahim BAKKAS

Page 28: Cours brahim bakkas

28

Modèles d’un SGBD

2. le modèle réseau: Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements, et il permet de relier plusieurs entités.

Infocpge.blogspot.com Brahim BAKKAS

Page 29: Cours brahim bakkas

29

Modèles d’un SGBD

3. le modèle relationnel (SGBDR, Système de gestion de bases de données relationnelles): les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie mathématique des relations.

Infocpge.blogspot.com Brahim BAKKAS

Page 30: Cours brahim bakkas

30

Modèles d’un SGBD

4. le modèle objet

(SGBDO, Système de gestion de bases de données objet): c’est un modèle qui est adapté aux structures complexe.

5. le modèle déductif

Infocpge.blogspot.com Brahim BAKKAS

Page 31: Cours brahim bakkas

31

Architecture d’un SGBD

L'architecture ANSI/SPARC d’un SGBD :

L'architecture ANSI/SPARC, datant de 1975, définit des niveaux d'abstraction pour un système de gestion de bases de données:

Niveau interne (ou physique): Il définit la façon

selon laquelle sont stockées les données et les méthodes pour y accéder

Niveau conceptuel: appelé aussi MCD (modèle conceptuel des données) ou MLD (modèle logique des données). Il définit l'arrangement des informations au sein de la base de données

Niveau externe: Il définit les vues des utilisateurs

Infocpge.blogspot.com Brahim BAKKAS

Page 32: Cours brahim bakkas

32

Les principaux SGBD

Les principaux systèmes de gestion de bases de données sont les suivants: Interbase

Microsoft SQL server

Microsoft Access

Microsoft FoxPro

Oracle

Sybase

MySQL

PostgreSQL

mSQL

Infocpge.blogspot.com Brahim BAKKAS

Page 33: Cours brahim bakkas

Chapitre 2:

Gestion de projet informatique et conception d’un système

d’information

(méthodologie Merise)

Page 34: Cours brahim bakkas

34

Définitions :

Système

Le système est un tous constitué d’éléments uni par des relations.

Système d’information

Un système d’information est une représentation possible de n’importe quel système notamment tous système humain organisé.

Génie logiciel

La génie logiciel est une sous discipline informatique offrant des méthodes et des techniques pour développer et maintenir des logiciels de qualité.

Infocpge.blogspot.com Brahim BAKKAS

Page 35: Cours brahim bakkas

35

Cycle de vie d’un logiciel

Cycle de vie est une suite de phases de réalisation d’un logiciel depuis sa spécification jusqu’à sa commercialisation ou sa mise en œuvre

Le développement d’un logiciel suit différents modèles:

Modèle en cascade

Modèle en V

Modèle en spirale

Modèle de la fontaine

Infocpge.blogspot.com Brahim BAKKAS

Page 36: Cours brahim bakkas

36

Cycle de vie d’un logiciel

Cycle en cascade :

Infocpge.blogspot.com Brahim BAKKAS

Page 37: Cours brahim bakkas

37

Description des états :

Définition du problème «Pourquoi ? » : définir le problème avec précision :

Documents de définition du problème :

- Objectif de l’usage

- Les contraintes majeures

Outil de description :

- Langage naturel

Infocpge.blogspot.com Brahim BAKKAS

Page 38: Cours brahim bakkas

38

Description des états :

Analyse des besoins :

Définir les fonctionnalités des systèmes donnés, les objectifs et les contraintes et si nécessaires faire une équipe de faisabilité qui doit analyser les besoins contre les contraintes,

Infocpge.blogspot.com Brahim BAKKAS

Page 39: Cours brahim bakkas

39

Description des états :

Spécification :

A cette étape on répond au question suivantes :

- Quel sont les entrées du système ? - Quel sont les fonctions de chaque entrée ?

- Quel sont les sorties correspondantes ?

Infocpge.blogspot.com Brahim BAKKAS

Page 40: Cours brahim bakkas

40

Description des états :

Conception:

A cette étape : représenter les fonctions

pour faciliter leur implémentation, et

choisir les structures de données,

Structurer le système en modules logiques

et fonctionnels.

Infocpge.blogspot.com Brahim BAKKAS

Page 41: Cours brahim bakkas

41

Description des états :

Codage et tests « Comment ?»

Écrire les unités du programme dans un langage

exécutable,

Pour chaque programme il faut préparer une

documentation à inclure dans le manuel

technique du système, puis faire les tests.

Infocpge.blogspot.com Brahim BAKKAS

Page 42: Cours brahim bakkas

42

Modèle en cascade

Infocpge.blogspot.com Brahim BAKKAS

Page 43: Cours brahim bakkas

43

Système d’information

un système d’information décrit l’ensemble des connaissances et des services de l’organisation à informatiser. Un tel système permet une bonne supervision de l’organisation, optimise sa rentabilité et aide à prendre des décisions.

Le fait d’établir un système permet aussi d’analyser et d’identifier les parties du système qui peuvent être automatisable.

Infocpge.blogspot.com Brahim BAKKAS

Page 44: Cours brahim bakkas

44

Système d’information(suite)

Ce système d’information assurera le lien entre deux autres systèmes de l’entreprise : le système opérant, et le système de pilotage :

Infocpge.blogspot.com Brahim BAKKAS

Page 45: Cours brahim bakkas

45

Système d’information(suite)

Le système opérant : englobe toutes les fonctions liées à l’activité propre de l’entreprise: facturer les clients, régler les salariées, gérer les stocks,…

Le système de pilotage : décide des actions à conduire sur le système opérant en fonction des objectifs et des politiques de l’entreprise,

Infocpge.blogspot.com Brahim BAKKAS

Page 46: Cours brahim bakkas

46

Architecture d’un système

d’information

Le schéma suivant synthétise l’architecture d’un système d’information.

Infocpge.blogspot.com Brahim BAKKAS

Page 47: Cours brahim bakkas

47

Architecture d’un système

d’information (suite)

Le processeur d’information produit des changements dans la base d’information à la réception d’un message. Un message contient des informations et exprime une commande décrivant l’action à entreprendre dans la base d’information.

Le processeur interprète la commande et effectue le changement en respectant les contraintes et les règles.

Dans tous le cas, l’environnement a besoin de connaître que la commande a été acceptée ou refusée, le processeur émet à cet effet un message vers l’environnement.

Infocpge.blogspot.com Brahim BAKKAS

Page 48: Cours brahim bakkas

48

l’approche analytique et l’approche

systémique

Les méthodes d’étude des systèmes d’information ont pour objectif de décrire ces systèmes à l’aide de modèles, puis de réaliser les systèmes informatisés en découlant.

Elles sont regroupées essentiellement en deux groupes: les méthodes analytiques, et les méthodes systémiques.

Infocpge.blogspot.com Brahim BAKKAS

Page 49: Cours brahim bakkas

49

Les méthodes analytiques

La démarche analytique est basée sur une

décomposition du domaine d’étude en des

domaines plus réduits qui sont des sous

ensembles du domaine global.

Chaque partie prise séparément est alors étudiée

puis réintégrée à l’ensemble afin de tenter de

reconstituer le tout.

Leur défaut majeur est d’aboutir à des applications

difficiles à lier et dont la juxtaposition est

généralement peu cohérente.

Infocpge.blogspot.com

Brahim BAKKAS

Page 50: Cours brahim bakkas

50

Les méthodes systémiques

La démarche systémique passe par la modélisation

du domaine à étudier pour le comprendre. Le réel

perçu est représenté par un modèle, réduction de

cette réalité, lui-même décomposé ; chaque partie

est ensuite étudiée en relation avec l’ensemble.

Merise est une méthode systémique de conception

de systèmes d’information.

Infocpge.blogspot.com Brahim BAKKAS

Page 51: Cours brahim bakkas

51

Merise

Historique

Merise est une méthodologie de conception

des applications logicielles ou plus précisément

est une approche d’analyse, de modélisation

et de réalisation d’un système d’information :

d’un système réelle quelconque (entreprise,

organisation, administration…)

C'est la méthode la plus répandue en France,

Elle a été créée en 1978 à Aix en Provence

(CETE, centre d'étude technique de l'équipement,

et CTI, centre technique d'informatique). Infocpge.blogspot.com

Brahim BAKKAS

Page 52: Cours brahim bakkas

52

Modèle

Un modèle peut être définit comme étant une image de la réalité.

Toute réalité complexe doit être représentée pour être comprise et maîtrisée

Le modèle, c’est l’expression de quelque chose que nous cherchons à appréhender, représentée en des termes que nous pensons comprendre.

Infocpge.blogspot.com Brahim BAKKAS

Page 53: Cours brahim bakkas

53

Modèles Merise :

Infocpge.blogspot.com Brahim BAKKAS

Page 54: Cours brahim bakkas

54

Le formalisme conceptuel se découpe en trois

niveaux de modélisation :

le modèle conceptuel des données,

le modèle conceptuel de communication (ou

diagramme de flux)

et le modèle organisationnel des traitements.

Infocpge.blogspot.com Brahim BAKKAS

Page 55: Cours brahim bakkas

55

Modèles

Formalisme Organisationnel :

Le niveau organisationnel décrit le SI en

répondant aux questions QUI ? Où ? et Quand ?

Le MOT intègre les notions de temps, de durées,

de ressources, de lieu, de responsabilité et la

nature des traitements.

Infocpge.blogspot.com Brahim BAKKAS

Page 56: Cours brahim bakkas

56

Modèle conceptuel de communication

(MCC):

Définition de l’organisation :

MCC représente, au niveau conceptuel, les échanges d’information entre les acteurs :

Acteurs

– Représenté par un cercle et un libelle pour le nom de l’acteur

– L’acteur représente une unité active intervenant dans le fonctionnement d’un système opérant.

- Un acteur est un rôle plutôt qu’une personne physique

Infocpge.blogspot.com Brahim BAKKAS

Page 57: Cours brahim bakkas

57

Définition de l’organisation

Un acteur c’est une personne ou un groupe de personnes qui s’échangent des informations

Acteur interne : font parties du sous ensemble de l’organisation étudiée

Acteur externe : échangent des informations avec les acteurs internes du domaines étudié mais n’en font pas partie

Infocpge.blogspot.com Brahim BAKKAS

Page 58: Cours brahim bakkas

58

Étapes de création du modèle MCC

1. Délimiter le système: identifier les acteurs externes

Exemple:

Organisation: « Bibliothèque »

Etudiant

Acteur externe

Infocpge.blogspot.com Brahim BAKKAS

Page 59: Cours brahim bakkas

59

Étape de création du modèle MCC

2. Identifier les acteurs internes

Saisir les prêts

Retourner les livres à leur place

Infocpge.blogspot.com Brahim BAKKAS

Page 60: Cours brahim bakkas

60

MCC(suite)

Flux d’information

Représenté par une flèche entre deux acteurs, étiquetée par le nom du flux

Infocpge.blogspot.com Brahim BAKKAS

Page 61: Cours brahim bakkas

61

Modèle conceptuel des données(MCD)

Le Modèle conceptuel des données est une représentation statique du système d’information de l’entreprise.

Chaque mot du langage de l’entreprise a une signification précise et le modèle conceptuel des données décrit les rapports qui existent entre les sens de ces mots.

Infocpge.blogspot.com Brahim BAKKAS

Page 62: Cours brahim bakkas

62

Modèle conceptuel des données(MCD)

Vocabulaire:

1. Entité:

Une entité est un objet du réel, concret ou abstrait dont on s'accorde à reconnaître une existence propre.

Représentation graphique :

Infocpge.blogspot.com Brahim BAKKAS

Page 63: Cours brahim bakkas

63

Vocabulaire (suite)

2. Une propriété est une caractéristique que l'on perçoit sur une entité ou sur une association entre entités dans le réel.

Exemples : - Une propriété peut être simple:

Nom de personne

Numéro de commande

Le prix d'un produit

Le mois

- Ou composée: La date (jour, mois, année) l'adresse : nom, rue, numéro, code postal, ville.

Client

Num client

Nom client

Adresse client

Infocpge.blogspot.com Brahim BAKKAS

Page 64: Cours brahim bakkas

64

Identifiant Un identifiant est une propriété particulière telle qu'il

n'existe pas deux occurrences de cette propriété pour lesquelles cette propriété puisse prendre la même valeur.

Une entité est complètement définie par :

Un nom

Un identifiant

Une liste de propriétés

Chaque fois que l'on veut définir une entité, on devra déterminer son identifiant.

Client

Num client

Nom client

Adresse client

Infocpge.blogspot.com Brahim BAKKAS

Page 65: Cours brahim bakkas

Occurrences

Infocpge.blogspot.com Brahim BAKKAS

65

Client

102

Ilhame Karam

Diour jamae Rabat

Client

103

Adnane Hajji

Hay Riyyad Rabat

Client

101

HAMID FATTAH

Hay salam Sallé

Page 66: Cours brahim bakkas

66

Association

Une association (ou relation) est perçue dans le réel entre des individus

Une association définit une relation entre une ou plusieurs entités

Exemple : un client passe une commande

Représentation graphique :

Commande

Num commande

Date commande

Passe

Client

Num client

Nom client

Adresse client

Infocpge.blogspot.com Brahim BAKKAS

Page 67: Cours brahim bakkas

67

Association (suite)

Une association n'a pas d'existence propre, elle

dépend des entités qu'elle regroupe

Une association peut être porteuse de propriétés

Exemple:

Pour désigner une occurrence de l'association, il

faut désigner les occurrences des entités qui la

composent

Produit

Ref_produit

Prix unitaire

Contenir

Quantité

Commande

Num commande

Infocpge.blogspot.com Brahim BAKKAS

Page 68: Cours brahim bakkas

68

Type d’association (suite)

1. Association binaire

2. Association ternaire:

Exemple:

matière

Nom_matiére Enseigne

Enseignant

Id_enseignant

Nom

Prenom

Salle

Num_salle

Infocpge.blogspot.com Brahim BAKKAS

Page 69: Cours brahim bakkas

69

Type d’association (suite)

Remarque:

- Plusieurs associations peuvent exister entre deux entités

- Exemple:

Infocpge.blogspot.com Brahim BAKKAS

Page 70: Cours brahim bakkas

70

Cardinalités

Les cardinalités, au sens arithmétique du

terme, permettent de dénombrer les

éléments de l'entité d'arrivée en

relation avec un élément de l'entité de

départ, et vice versa.

Infocpge.blogspot.com Brahim BAKKAS

Page 71: Cours brahim bakkas

71

Cardinalités

cardinalité minimale :combien

d ’occurrence au minimum? (0 ou 1)

cardinalité maximale :combien

d ’occurrence au maximum ? ( 1 ou n )

Infocpge.blogspot.com Brahim BAKKAS

Page 72: Cours brahim bakkas

72

Exemple

Considérons le cas de l'association "habite" et les

deux entités "être humain" et "appartement" du

schéma précédent, les cardinalités minimales et

maximales sont les suivantes

sens "être humain" vers "appartement" : 0

(minimum) et 1 (maximum)

sens "appartement" vers "être humain" : 0

(minimum) et n (maximum)

Infocpge.blogspot.com

Brahim BAKKAS

Page 73: Cours brahim bakkas

73

Cardinalités(suite)

Tout être humain ne réside pas forcément dans un

appartement, peut être dans une maison,

Un être humain réside dans un appartement et un

seul à la fois, mais qu’un appartement peut se

trouver vide ou être pourvu de plusieurs résidents.

En outre nous avons convenu qu’un même être

humain ne pouvait résider dans plusieurs

appartements à la fois.

Infocpge.blogspot.com Brahim BAKKAS

Page 74: Cours brahim bakkas

74

Cardinalités(suite)

On note les cardinalités de chaque côté de

l'association, sur les traits faisant la liaison entre

l'association et l'entité.

Infocpge.blogspot.com Brahim BAKKAS

Page 75: Cours brahim bakkas

75

Exemple

Appartement

Num Appartement

Adresse

Étage

Réside

Être humain

Id_etre_humain

Nom

Prénom

Adresse

Sexe

0,1 0,n

Infocpge.blogspot.com Brahim BAKKAS

Page 76: Cours brahim bakkas

76

Exercice1

Chaque client est caractérisé par un numéro, nom, prénom,adresse. Une commande est identifié par un numéro de commande. Un produit est caractérisé par une référence unique,libellé et le prix unitaire. Pour chaque fournisseur on connaît son identifiant, son nom,et son adresse. Un client peut passer plusieurs commandes, Une commande est passée par un et un seul client, une commande se compose de plusieurs produits, un produit peut être livré par plusieurs fournisseurs. Représenter le modèle conceptuel de données (MCD) ?

Infocpge.blogspot.com Brahim BAKKAS

Page 77: Cours brahim bakkas

77

Exercice 2

Pour les besoins d’un aéroport, on souhaite mémoriser dans une base de données les informations nécessaires à la description des faits suivants : chaque avion géré est identifié par un numéro

d’immatriculation. Il est la propriété soit d’une société, soit d’un particulier, dans les deux cas on doit connaître le nom et le numéro de téléphone du propriétaire, ainsi que la date d’achat de l’avion ;

chaque avion est d’un certain type, celui ci étant caractérisé par son nom, le nom du constructeur, la puissance du moteur et le nombre de places ;

la maintenance des avions est assurée par les mécaniciens de l’aéroport. Les interventions sont toujours effectuées par deux mécaniciens. Pour toute intervention effectuée, on conserve l’objet de l’intervention, la date et la durée ;

Infocpge.blogspot.com Brahim BAKKAS

Page 78: Cours brahim bakkas

78

Exercice 2(suite)

pour chaque mécanicien, on connaît son nom, son adresse et son numéro de téléphone;

un certain nombre de pilotes sont enregistrés auprès de l’aéroport. Pour chaque pilote on connaît son nom, son adresse, son numéro de brevet et le nombre total de vols qu’il a effectué sur chacun de ces types;

1. Extraire les entités et leurs attributs ?

2. Représenter le modèle conceptuel de données (MCD) ?

Infocpge.blogspot.com Brahim BAKKAS

Page 79: Cours brahim bakkas

79

Exercice 2 solution

Infocpge.blogspot.com Brahim BAKKAS

Page 80: Cours brahim bakkas

80

Exercice 3

Un enseignant est caractérisé par son nom, prénom et son bureau. Il peut enseigner une ou plusieurs matières.

Une matière peut être enseignée par un ou plusieurs enseignants. Une matière est distinguée par son intitulé.

Un étudiant est caractérisé par son nom, prénom.

Un étudiant doit s’inscrire à une ou plusieurs matières.

Un étudiant passe un ou plusieurs contrôles continus dans chaque matière. Chaque contrôle est caractérisé par une note et un coefficient.

Il passe aussi un ou plusieurs examens dans chaque matière où il est inscrit. Un examen est caractérisé par une note et un coefficient. Infocpge.blogspot.com

Brahim BAKKAS

Page 81: Cours brahim bakkas

81

Exercice 3: solution

Infocpge.blogspot.com Brahim BAKKAS

Page 82: Cours brahim bakkas

82

Recherche des propriétés à gérer

Regroupement des propriétés par entité

Représentation des entités

Recherche des relations

Recherche des cardinalités

Vérification et validation du modèle

Démarche dans la construction d’un MCD

Infocpge.blogspot.com Brahim BAKKAS

Page 83: Cours brahim bakkas

83

1ér forme normale

L’existence d’un identifiant pour chaque objet:

Certain objet réel ne sont pas identifié au préalable; il faut donc créer la donnée permettant de se mettre en conformité avec la regle1.

Remarque: Rappelons qu’on peut pas avoir deux occurrences identiques pour un même identifiant.

Client

Nom client

Adresse client

Client

Num client

Nom client

Adresse client

Infocpge.blogspot.com Brahim BAKKAS

Page 84: Cours brahim bakkas

81

1ére forme normale

Toutes les propriétés doivent être élémentaires c’est-à-dire non décomposable: il vaut mieux éclater des propriétés qui pourraient être regroupées que de regrouper des propriétés qui doivent être éclatées.

Exemple:

Décomposer la propriété adresse:

Rue

Ville

Code postal

Infocpge.blogspot.com Brahim BAKKAS

Client

Num client

Nom client

Adresse client

Client

Num client

Nom client

Rue

Ville

Code postal

Page 85: Cours brahim bakkas

85

2éme forme normale

Le modèle est en 1FN

Toute les propriétés autre que l’identifiant doivent être en dépendance fonctionnelle mono value à cet identifiant c.-à-d. pour une occurrence d’une entité, chacun des propriétés ne peut prendre qu’une valeur.

Infocpge.blogspot.com Brahim BAKKAS

Page 86: Cours brahim bakkas

86

2éme forme normale

Dépendances fonctionnelles

Une propriété (ou un groupe de propriétés) Y dépend fonctionnellement d’une autre propriété (ou groupe de propriétés) X si étant donné une valeur de X, il lui correspond une valeur unique de Y .

On note

X→Y (X détermine Y )

Infocpge.blogspot.com Brahim BAKKAS

Page 87: Cours brahim bakkas

87

Exemple:

Employé

Matricule

Nom

Prénom Diplôme

Diplôme

Id_diplome

Diplôme_employé

Avoir

détermine

Matricule Nom

détermine

Matricule

Infocpge.blogspot.com Brahim BAKKAS

diplôme

diplôme

diplôme

Page 88: Cours brahim bakkas

88

3éme forme normale

Le modèle est en 2FN

La dépendance fonctionnelle transitive doit être écartée.

Si une propriété est en dépendance fonctionnelle de l’identifiant , et d’une autre propriété de l’objet, elle-même en dépendance fonctionnelle simple de cet identifiant, il y a un objet imbriqué dans celui que l’on étudie;

Il faut éclater en deux objets celui qui contient une dépendance fonctionnelle transitive.

Infocpge.blogspot.com Brahim BAKKAS

Page 89: Cours brahim bakkas

89

3éme forme normale

Ou bien:

Toutes les DF entre les propriétés sont directes

– Les propriétés d’une entité doivent dépendre

de l’identifiant de l’entité de manière directe

– Toute propriété n’appartenant pas à un

identifiant ne dépend pas d’un attribut non

identifiant

Infocpge.blogspot.com Brahim BAKKAS

Page 90: Cours brahim bakkas

90

4éme forme normale

Le modèle est en 3FN

Une propriété ne peut qualifier qu’un seul objet ou qu’une seule relation.

Par exemple: la propriété «Nom» ne peut être présente à la fois dans l’objet «Client» et dans l’objet «Fournisseur»;si tel est le cas, alors il faut appeler l’une « Nom client » et l’autre « Nom fournisseur»

Client

Num client

Nom

Fournisseur

Num fournisseur

Nom

Polyséme

Infocpge.blogspot.com Brahim BAKKAS

Page 91: Cours brahim bakkas

Modèle logique des données

(MLD)

Infocpge.blogspot.com Brahim BAKKAS 91

Page 92: Cours brahim bakkas

92

Modèle logique des données(MLD)

le MCD a pour but de modéliser les données (aspect

statique)

Le modèle logique des données consiste à décrire la

structure de données utilisée sans faire référence à

un langage de programmation

Le MLD (Modèle Logique des Données) tient compte des

choix concernant le système de gestion des données utilise

dans l’entreprise. Le plus utilise est le modèle relationnel

associe aux bases de données relationnelles (Oracle,

Informix, SQLserver,..., Access, mySQL, postgreSQL...)

Infocpge.blogspot.com Brahim BAKKAS

Page 93: Cours brahim bakkas

93

Vocabulaire

Le domaine est l’ensemble des valeurs que peut prendre une donnée.

Une table est un sous-ensemble du produit des domaines ; une table est donc un ensemble d’enregistrements ( lignes).

la table est composée d’attributs prenant leurs valeurs dans les domaines correspondants et elle porte aussi un nom.

Une clé est constituée de 1 ou plusieurs attributs telle que une valeur de la clé détermine exactement l’enregistrement.

Infocpge.blogspot.com Brahim BAKKAS

Page 94: Cours brahim bakkas

Exemple

Id_client Nom Prénom Adresse tél

100 Hamdan Mohamed Hay salam sallé

066666666

120 Rachidi Nabiha Dior jamaa Rabat

0634234423

121 Naser Soultana Hay massira 1 temara

Infocpge.blogspot.com Brahim BAKKAS

94

Client Attributs

Enre

gis

trem

ents

Page 95: Cours brahim bakkas

95

Passer du MCD au MLD

Pour les entités : toute entité devient une table, les propriétés de l’entité sont les attributs de la table, l’identifiant de l’entité est la clé primaire de la table ;

Pour les relations : cela dépend des cardinalités. deux cas sont possibles:

la relation disparaît, elle est matérialisée par

l’ajout d’une clé étrangère,

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

Infocpge.blogspot.com Brahim BAKKAS

Page 96: Cours brahim bakkas

96

Passer du MCD au MLD

Relation binaire aux cardinalités

(X,1) (X,n) avec X=0 ou X=1

La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Étrangère dans la table à la cardinalité (X,1)

Infocpge.blogspot.com Brahim BAKKAS

Entité A

Clé_A

Entité B

Clé_B

X,n X,1

Page 97: Cours brahim bakkas

97

Passer du MCD au MLD

La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Étrangère dans la table à la cardinalité (X,1)

Infocpge.blogspot.com Brahim BAKKAS

Entité A

Clé_A #Clé_B

Entité B

Clé_B

Page 98: Cours brahim bakkas

98

Exemple

Modèle Conceptuel de Donnée (MCD) :

Modèle Logique de Donnée Relationnelle (MLDR) :

EMPLOYE (id_Employe, Nom_Employe,#id_Societe)

SOCIETE (id_Societe, Nom_Societe)

Infocpge.blogspot.com

Brahim BAKKAS

Page 99: Cours brahim bakkas

99

Passer du MCD au MLD

Relation binaire aux cardinalités

(X,n) (X,n) avec X=0 ou X=1

Il y a création d'une table supplémentaire ayant comme Clé Primaire une clé composée des identifiants des 2 entités. On dit que la Clé Primaire de la nouvelle table est la concaténation des Clés Primaires des deux autres tables. Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table.

Infocpge.blogspot.com Brahim BAKKAS

Page 100: Cours brahim bakkas

100

Exemple

Une commande est composée de 1 ou n produits distincts en certaine quantité. Un produit est présent dans 0 ou n commandes en certaine quantité.

MLDR COMMANDE (id_Commande, Date_commande) PRODUIT (id_Produit, libelle) COMPOSE (id_Commande, id_Produit, quantité)

Infocpge.blogspot.com Brahim BAKKAS

Page 101: Cours brahim bakkas

101

Passer du MCD au MLD: Relation n-aire

quelles que soient les cardinalités Il y a création d'une table supplémentaire ayant

comme Clé Primaire la concaténation des identifiants des entités participant à la relation.

Si la relation est porteuse de donnée, celles ci

deviennent des attributs pour la nouvelle table.

Infocpge.blogspot.com Brahim BAKKAS

Page 102: Cours brahim bakkas

102

Exemple:

Un étudiant parle une ou plusieurs langues avec un niveau. Chaque langue est donc parlée par 0 ou n étudiants avec un niveau. Pour chaque niveau, il y a 0 ou plusieurs étudiants qui parlent une langue.

MCD :

MLDR :

ETUDIANT (id_Etudiant, Nom_Etudiant)

NIVEAU (id_Niveau, Nom_Niveau) LANGUE (id_Langue, Nom_Langue) PARLE (id_Etudiant, id_Niveau, id_Langue) Infocpge.blogspot.com

Brahim BAKKAS

Page 103: Cours brahim bakkas

103

Passer du MCD au MLD

Relation binaire aux cardinalités (0,1) - (1,1): La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Étrangère dans la table à la cardinalité (1,1)

Exemple: Chaque enseignant encadre 0 ou 1 groupe, chaque groupe étant encadré par un et un seul enseignant.

Infocpge.blogspot.com Brahim BAKKAS

Page 104: Cours brahim bakkas

104

MCD:

MLDR: enseignant (Id_ens, Nom,Prénom) groupe (Id_Groupe, Nom_Groupe, #Id_ens)

Exemple

groupe

Id_Groupe

Nom_Groupe

Encadre

enseignant

Id_ens

Nom

Prénom

0,1 1,1

Infocpge.blogspot.com Brahim BAKKAS

Page 105: Cours brahim bakkas

105

Contraintes d’intégrité

de structure : valeur de la clé primaire unique et toujours

définie,

de domaine : les valeurs prises par un attribut doivent

vérifier des contraintes,

de référence : les valeurs d’une clé étrangère doivent

correspondre à des valeurs existantes dans la table

d’origine.

La vérification des contraintes assurent que la base reste intègre.

Cette vérification s’effectue, soit directement par le système de gestion de bases de données utilisé quand c’est possible, soit par au moment de la programmation.

Infocpge.blogspot.com Brahim BAKKAS

Page 106: Cours brahim bakkas

106

EXERCICE

Client

Id_client

Nom client

Prenom client

Fournisseur

Id_f

Nom_f

Adresse_f

Commande

Id_commande

Date _commande

Passe

1,n 1,1

Contient

0,n

1,n

Qte

- Construire le MLDR correspondant à ce modèle conceptuel de données?

Produit

Id_produit

Libelle

Fournir

1,n 1,n

Infocpge.blogspot.com Brahim BAKKAS

Page 107: Cours brahim bakkas

107

MCD/MLDR

Infocpge.blogspot.com Brahim BAKKAS

Page 108: Cours brahim bakkas

108

Exercice:

Pour la gestion d’une bibliothèque, voici une partie d’un MCD établi ;

Est-ce que cette partie de MCD établi est valide ? c-a-d est ce que cette entité vérifie les formes normales ?

Etudiant

Nom

Prénom

Titre_livre

Cote_livre

Infocpge.blogspot.com Brahim BAKKAS

Page 109: Cours brahim bakkas

109

Exemple: Modèle Physique des Données

Infocpge.blogspot.com Brahim BAKKAS

Page 110: Cours brahim bakkas

110

Exemple 2

Infocpge.blogspot.com Brahim BAKKAS

Page 111: Cours brahim bakkas

Chapitre 3

L’algèbre relationnel

Infocpge.blogspot.com Brahim BAKKAS 111

Page 112: Cours brahim bakkas

112

L’algèbre relationnel

Vocabulaire:

l’algèbre relationnelle consiste en un ensemble d’opérations qui permettent de manipuler des relations(tables), considérées comme des ensemble de tuples : on peut ainsi

faire l’union ou la différence de deux relations, sélectionner une partie de la relation, effectuer des produits cartésiens ou des projections, etc.

Une propriété fondamentale de chaque opération est qu’elle prend une ou deux relations en entrée, et produit une relation en sortie.

Cette propriété permet de composer des opérations : on peut appliquer une sélection au résultat d’un produit cartésien, puis une projection au résultat de la sélection et ainsi de suite.

En fait on peut construire des expressions algébriques arbitrairement complexes qui permettent d’exprimer des manipulations sur un grand nombre de relations.

Infocpge.blogspot.com

Brahim BAKKAS

Page 113: Cours brahim bakkas

113

L’algèbre relationnel(suite)

Une requête est une expression algébrique qui s’applique à un ensemble de relations (la base de données) et produit une relation finale (le résultat de la requête).

On peut voir l’algèbre relationnelle comme un langage de programmation très simple qui permet d’exprimer des requêtes sur une base de données relationnelle.

Infocpge.blogspot.com Brahim BAKKAS

Page 114: Cours brahim bakkas

114

Les opérateurs de l’algèbre relationnelle

L’algèbre se compose d’un ensemble d’opérateurs, parmi lesquels 5 sont nécessaires et suffisants et permettent de définir les autres par composition. Ce sont :

1. La sélection, dénotée σ;

2. La projection, dénotée ∏;

3. Le produit cartésien, dénoté x;

4. L’union,U;

5. La différence, -

Infocpge.blogspot.com Brahim BAKKAS

Page 115: Cours brahim bakkas

115

Les opérateurs de l’algèbre relationnelle

Les deux premiers sont des opérateurs unaires (ils prennent en entrée une seule relation) et les autres sont des opérateurs binaires.

A partir de ces opérateurs il est possible d’en définir d’autres, et notamment la jointure, , ,qui est la composition d’un produit cartésien et d’une sélection.

Infocpge.blogspot.com Brahim BAKKAS

Page 116: Cours brahim bakkas

116

La sélection

La sélection s’applique à une relation R et extrait de cette relation des tuples qui satisfont un critère de sélection,F, ce critère peut être:

La comparaison entre un attribut de relation R et une constante

La comparaison entre deux attributs

Infocpge.blogspot.com Brahim BAKKAS

Page 117: Cours brahim bakkas

117

Exemple de sélection

Infocpge.blogspot.com Brahim BAKKAS

Page 118: Cours brahim bakkas

118

Projection

La projection s’applique à une relation R , et ne garde que les attributs donc, contrairement à la sélection, on ne supprime pas des lignes mais des colonnes.

Exemple :

Infocpge.blogspot.com Brahim BAKKAS

Page 119: Cours brahim bakkas

119

Produit cartésien

Le premier opérateur binaire, et le plus important, est le produit cartésien,x,

Le produit cartésien entre deux relations R et S se note U et permet de créer une nouvelle relation où chaque tuple de R est associé à chaque tuple de S.

Exemple:

Infocpge.blogspot.com Brahim BAKKAS

Page 120: Cours brahim bakkas

120

Exemple

Voici deux relations R et S:

X

=

Infocpge.blogspot.com Brahim BAKKAS

Page 121: Cours brahim bakkas

121

Union

L’Union de deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à l'une ou l'autre des tables (ou les deux). Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note l'union entre deux tables R1 et R2:

union(R1,R2) ou encore R1 U R2

Infocpge.blogspot.com Brahim BAKKAS

Page 122: Cours brahim bakkas

122

Différence

La différence entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à une table mais pas à la seconde. Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note la différence entre deux tables R1 et R2:

minus(R1,R2) ou encore R1 - R2

Infocpge.blogspot.com Brahim BAKKAS

Page 123: Cours brahim bakkas

123

Intersection

L'intersection entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant aux deux tables. Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note l'intersection entre deux tables R1 et R2:

inter(R1,R2) ou encore R1 R2

Infocpge.blogspot.com Brahim BAKKAS

Page 124: Cours brahim bakkas

124

Quotient (ou division)

Le quotient de deux tables est la table contenant l'ensemble des tuples (cellules) qui concaténés à chaque tuple de l'une des tables fournissent des tuples appartenant à l'autre On note le quotient de deux tables R1 et R2:

div(R1,R2) ou encore R1/R2

Infocpge.blogspot.com Brahim BAKKAS

Page 125: Cours brahim bakkas

125

Jointure

θ-jointure :

On appelle θ-jointure selon une qualification Q l'ensemble des tuples provenant du produit cartésien de deux relations et satisfaisant la qualification, c'est-à-dire la condition exprimée à l'aide des comparateurs: ≥

>

<

=

¬

On note la θ-jointure de deux tables R1 et R2: joinQ(R1,R2) ou encore (R1 Q)R2

Infocpge.blogspot.com Brahim BAKKAS