Modélisation d’une base de données

Slides:



Advertisements
Présentations similaires
La place accordée à l’expression des salariés sur leur travail et leurs conditions de travail dans l’entreprise Résultats sondage exclusif CSA/ANACT.
Advertisements

Mais vous comprenez qu’il s’agit d’une « tromperie ».
Le Marché Publicitaire de la Presse Professionnelle
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Reporting de la Cellule Nationale Droit dOption Situation au 31 décembre 2011.
Présentation de la circonscription Année 2011/2012 Jeudi 24 novembre 2011.
Additions soustractions
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Les numéros 70 –
Les numéros
Xavier Mouranche Registre e-MUST Evaluation en Médecine dUrgence des Stratégies Thérapeutiques de lInfarctus du Myocarde.
Modèle Entités-Associations
Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 3) Validation et transformations.
Le Modèle Logique de Données
Algorithme et structure de données
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Données statistiques sur le droit doption au 31/01 8 février 2012.
Technologies et pédagogie actives en FGA. Plan de latelier 1.Introduction 2.Les technologies en éducation 3.iPads 4.TNI 5.Ordinateurs portables 6.Téléphones.
Révision (p. 130, texte) Nombres (1-100).
La législation formation, les aides des pouvoirs publics
La méthodologie………………………………………………………….. p3 Les résultats
Initiation au système d’information et aux bases de données
Structure(djs)TéléphoneFax ADRA R049,96,03,21 CHLEF027,77,22,66 /77,49, LAGHOUAT029,90,41,08029,90,42,47 OUM EL BOUAGHI032,42,16,26032,42,45,32.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Bases de Données Relationnelles
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Présentation générale
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Le drapeau canadien comme symbole de fierté nationale : une question de valeurs partagées Jack Jedwab Association détudes canadiennes 28 novembre 2012.
Le Concours de Conaissance Francais I novembre 2012.
Si le Diaporama ne s'ouvre pas en plein écran Faites F5 sur votre clavier.
Les nombres.
Les quartiers Villeray – La Petite-Patrie et les voisinages
Fierté envers les symboles et institutions canadiens Jack Jedwab Association détudes canadiennes 26 novembre 2012.
Conception des données
Conseil Administration AFRAC – 2 décembre Toulouse 1 Fermes de références Palmipèdes à foie gras Synthèse régionale – Midi Pyrénées Exercice
Tableaux de distributions
Tableaux de distributions
Modèle Logique de Données
LES NOMBRES PREMIERS ET COMPOSÉS
SYSTEMES D’INFORMATION
Les chiffres & les nombres
Les Monnaies et billets du FRANC Les Monnaies Euro.
RACINES CARREES Définition Développer avec la distributivité Produit 1
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Jean-Marc Léger Président Léger Marketing Léger Marketing Les élections présidentielles américaines.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Aire d’une figure par encadrement
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
Les fondements constitutionnels
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Bases de données   J-L Hainaut Partie 1 - Comprendre les bases de données Partie 2 - Utiliser les bases de données Partie 3 - Développer une base.
Certains droits réservés pour plus d’infos, cliquer sur l’icône.
Nom:____________ Prénom: ___________
Exercice de vérification 1 p
Annexe Résultats provinciaux comparés à la moyenne canadienne
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Bienvenue.
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Transcription de la présentation:

Modélisation d’une base de données François Jacquenet Professeur d'Informatique Faculté des Sciences Laboratoire Hubert Curien – UMR CNRS 5516 18 rue Benoit Lauras 42023 Saint-Etienne cedex 2 Tél : 04 77 91 58 07 e-mail : Francois.Jacquenet@univ-st-etienne.fr Web : http://eurise.univ-st-etienne.fr/~fj Licence de Sciences et Techniques Unité d’enseignement BASES DE DONNEES Modélisation d’une base de données

Qu’avons nous appris la semaine dernière ? Mais avant : Qu’avons nous appris la semaine dernière ?

Aujourd’hui nous verrons Cycle de vie d’une Base de Données Modèle conceptuel Modèle entité-association et plus particulièrement les notions de type d’entités type d’associations Attributs cardinalité identifiant contraintes d’intégrité

Cycle de vie d’une base de données Schéma conceptuel Personne Voiture Personne conduit Voiture Monde réel Concepteur Table Personne Table Voiture Table Conduit … BD Personne Dupont Durant Rochat … Voiture Ford KA Peugeot 106 Toyota yaris … Schéma logique Utilisateurs LMD

Ce qui nous intéresse aujourd’hui La modélisation conceptuelle Personne Voiture Monde réel Concepteur Personne Voiture conduit C’est-à-dire : la définition du schéma conceptuel de la base de données Schéma conceptuel

Culture générale Cycle de vie du logiciel (modèle en cascade) Analyse des besoins Spécification Conception générale Conception détaillée Codage Tests Distribution Maintenance

Modéliser les données Modèle de données = ensemble de concepts permettant la description et la manipulation des données du monde réel règles d’utilisation de ces concepts Ces concepts décrivent les aspects Statiques : structure des données Dynamiques : opérations sur les données + contraintes explicites Schéma = description de la BD obtenue en utilisant un modèle de données

Pourquoi la modélisation conceptuelle ? Objectif: représenter la réalité telle qu'elle est perçue par les utilisateurs Contrairement aux modèles logiques qui décrivent la réalité en fonction du modèle du SGBD Représentation à l’aide de la trilogie de base objets liens propriétés

Avantages de la modélisation conceptuelle L’attention est portée sur les applications Indépendante des technologies Portabilité Longévité Orientée utilisateur Compréhensibilité Support du dialogue concepteurs / utilisateurs Permet la collaboration et la validation par les utilisateurs

Avantages de la modélisation conceptuelle Spécifications formelles, non ambiguës, Puissance des concepts Support d’interfaces visuelles (lisibilité) Diagrammes de définition de données Manipulation de données Facilite les échanges d’informations entre SGBD différents

est un facteur critique TRES IMPORTANT La qualité de la conception de la BD est un facteur critique de réussite

Culture générale Importance des premières étapes dans le cycle de vie du logiciel Analyse des besoins Spécification Conception générale Conception détaillée Codage Tests Distribution Maintenance

Elaboration d’un schéma conceptuel Analyse du monde réel Identification des phénomènes à représenter dans la BD délimitation de l’univers du discours Représentation à l’aide des concepts du modèle contenu structure règles dynamique Représentation Partielle Infidèle et Subjective

Abstraction De la réalité perçue à la représentation: Faire abstraction des particularités permet de passer des objets aux types ou classes d'objets Marielle Fabien Claire ... Camille Type d’objet: Personne propriétés: - nom, - âge, ...

Définition d’un schéma Un schéma est une collection de types d’entité <-> objets d’association <-> liens La bases de données contiendra les valeurs représentant les instances de ces types Personne Voiture Possède Est-marié-avec

Divers types de modèles conceptuels Entité-Association (EA) - (ER: Entity-Relationship) UML (Unified Modelling Language - cf Master 1) MERISE (cf cours de Systèmes d’Information en L2) ...

Ensemble d’objets perçus comme similaires Vocabulaire Le monde réel Abstraction / Description Diagramme Ensemble d’objets perçus comme similaires Etudiant étudiants Base de données Schema Type d'objet Étudiant: -nom -prénoms -date de naissance -section -année Instances ou occurrences Population

(entity-relationship) ET MAINTENANT Le modèle Entité Association (entity-relationship)

Généralités C’est un modèle conceptuel Conçu par Chen en 1976

A quoi ressemble un schéma conceptuel ? chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des rectangles chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des losanges Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des traits étranges chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des mots reliés aux rectangles par des traits chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des mots reliés aux losanges par des traits chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

Modèle de type conceptuel But : permettre la description conceptuelle des structures de données d'une application Les concepts de base (qui correspondent aux concepts d’abstraction de la réalité): objet <=> entité lien <=> association (relationship) propriété <=> attribut  en plus : la représentation multiple

Entité et Type d’entités représentation d’un objet du monde réel ayant une existence propre Type d'entités (TE) : représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques Marielle Fabien Claire ... Camille Personne

Association et type d’associations Association : représentation d'un lien non orienté entre plusieurs entités (qui jouent un rôle déterminé) Type d'associations (TA) : représentation d'un ensemble d'associations ayant la même sémantique et décrites par les mêmes caractéristiques Personne Maison achète achète est une association entre une personne et une maison

Rôles d’une association achète Personne Maison ACHETEUR ACHETÉ Dans une association, chaque entité joue un rôle déterminé Association binaire deux rôles

Association cyclique Une association est cyclique lorsque deux rôles (au moins) lient le même type d’entité marié à est une association entre une personne et une autre personne problème : comment savoir, dans un couple, qui est le mari et qui est la femme ? exemple : <Dupont Dominique, Dupont Dominique> marié à Personne

Association cyclique, rôles nommés Solution : spécifier le rôle de chaque entité marié à est une association entre une personne qui est une femme et une autre personne qui est son mari exemple : <Dupont Dominique / femme, Dupont Dominique / mari> Personne marié à femme mari

Association ternaire achète Client Produit Fournisseur achète est une association (ternaire) entre un client, un fournisseur et un produit

Association ternaire cyclique Emprunteur Emprunt Personne Banque Garant

Population d’un TE et TA achète Personne Maison

Cardinalité des rôles Possède Combien de voitures minimum une personne peut-elle possèder ? Combien de voitures maximum une personne peut-elle possèder ? Personne Voiture Possède min:max Personne

Contraintes de cardinalités Une personne peut ne pas avoir de voiture, en avoir une, deux, ..., n Une voiture à un et un seul propriétaire Possède Personne 0:n Possède Personne 0:n 1:1 Voiture

Population d’un TE et TA achète Personne 0:n 1:1 Maison

Valeurs et notations des cardinalités Minimum Maximum 0 1 1 1 0 n 1 n n m Possède Personne Voiture

Autres notations possibles Pour les liens 0:1 1:1 0:n 1:n m:n

Association ternaire, cardinalité Plus difficiles à lire sur le schéma Nombre min et max d’occurrences du TA qui peuvent lier une occurrence donnée du TE Assure Personne Voiture N°secu N°imm. Compagnie Assurance Nom

Les attributs Ils décrivent les propriétés associées à: un type d’entité un type d’association un autre attribut femme Marié à Personne mari Date_mariage nom prénom salaire jour mois année Domaine [1,31]

Attributs simples simple (atomique) : non décomposable Exemples : jour, prénom Le domaine de valeurs est constitué de valeurs atomiques Exemple : jour domaine de valeurs = {1, 2, …., 31} Domaines prédéfinis standard, intervalles, énumérés

Attributs complexes Complexe : décomposé en d'autres attributs Exemples date qui se décompose en jour, mois, année adresse qui se décompose en rue, ville, code postal Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé) La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants. Un composant d'attribut complexe peut être lui-même un attribut complexe.

Attributs obligatoires ou facultatifs Obligatoire : une valeur au moins par occurrence (cardinalité min1). Exemples : nom, prénoms Facultatif : peut ne pas prendre de valeur (cardinalité min=0). Exemples : salaire, téléphones

Attributs mono ou multi-valués monovalué : une seule valeur par occurrence (cardinalité max=1) Exemples: date de naissance, numéro sécu multivalué : plusieurs valeurs par occurence (cardinalité max>1). Exemples: prénoms, téléphones Une valeur d'attribut multivalué est un ensemble ou une liste ou un multi- ensemble de valeurs, prises chacune dans le domaine de valeurs associé à l'attribut.

Attributs, cardinalité min : caractère facultatif ou obligatoire de l’attribut max : caractère mono-valué ou multi-valué de l’attribut Même notation pour les attributs que pour les cardinalités des rôles Exemples nom d’une personne prenoms téléphone fixe téléphone mobile 1:1 1:n 0:1 0:n

Attributs, exemple Employé Rappel : 0:n m:n 0:1 1:n 1:1 liste No-emp nom prénoms CV postes diplôme année intitulé salaires date-début date-fin simple obligatoire monovalué complexe, facultatif, multivalué de type ensemble montant date année mois simple, obligatoire, multivalué de type liste Rappel : 0:n 0:1 m:n 1:n 1:1

Attributs, exemple ( technicien, (1500, 1997, 10) (1600, 1999, 10) (1700, 2000, 10) ’01/01/1997’, ’31/12/2001’ ), (analyste, (2500, 2000, 06) (2800, 2001, 06) ’01/01/2000’, ’31/12/2002’ ), (chef_de_projet, (3500, 2002, 10) ’01/01/2002’, ’31/12/2003’ ) /* intitulé /* salaires /* date début /* date fin postes intitulé salaires date-début date-fin montant date année mois

Autres notations existantes Pour les entités et leurs attributs Employé Employé nom salaire nom salaire Employé nom salaire

Identifiants de TE et TA Nécessité de pouvoir désigner une entité (une association) de façon univoque Identifiant: Ensemble minimal d'attributs tel qu'il n'existe pas deux instances du TE (TA) où ces attributs aient la même valeur

Exemple : Identifiants du TE employé liste N°emp nom prénoms CV postes Il n’y a pas deux employés qui ont le même numéro Il n’y a pas deux employés qui ont à la fois le même nom et les mêmes prénoms diplôme année intitulé salaires date-début date-fin montant date année mois Deux identifiants possible : N°emp ou nom+prénoms

Identifiant d’un TA 1ère possibilité : attribut(s) propre(s) Commande Client Produit N°client nom N°commande date quantité N°produit nom Identifiant du type d’associations commande = N°commande

Identifiant d’un TA 2ème possibilité : des identifiants de TE liés Inscrit Etudiant Cours N°carte nom note N°cours intitulé Identifiant du type d ’association Inscrit = Etudiant.N°carte + Cours.N°cours

Identifiant d’un TA 3ème possibilité : des identifiants de TE liés + attribut(s) propre(s) Commande Client Produit N°client nom date quantité N°produit nom (Un client peut commander le même produit plusieurs fois à des dates différentes) Identifiant du type d’association Commande = Client.N°client + Produit.N°produit + Commande.date

Identifiant d’un TA 4ème possibilité : Tout rôle monovalué induit un identifiant du TA (l’identifiant du TE lié est aussi identifiant du TA) Assure Personne Voiture N°secu N°imm Compagnie Assurance Nom Identifiant du TA Assure = Voiture.N°imm

Identifiant d’un TA cyclique Comme pour les autres Type d’Associations femme marié à Personne mari date_mariage nom prénom salaire jour mois année Deux rôles monovalués deux identifiants pour le TA marié à 1) Personne/femme.nom 2) Personne/mari.nom

Identifiant de TE faible Un TE qui ne peut être identifié par ses seuls attributs propres est appelé TE faible Existe Livre Exemplaire N°ISBN titre date-achat N°exemp état Identifiant du TE Exemplaire = Livre.N°ISBN + N°exemp Identifiant du TA Existe = Livre.N°ISBN + N°exemp

Exemple de conception Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Idée générale de la démarche Dans le texte, identifier les objets ayant une existence propre Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les types d’entités D’après le texte, trouver les attributs des types d’entités Découvrir les types d’associations permettant de lier les types d’entités

Objets ayant une existence propre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Les types d’entités Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application Auteur Bibliothèque Livre ? Editeur Client

Objets ayant une existence propre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Les types d’entités Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application Auteur Bibliothèque Livre ? Editeur Client

Objets ayant une existence propre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Les types d’entités Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application Auteur Bibliothèque Livre Editeur Client ?

Objets ayant une existence propre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Les types d’entités Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application Auteur Bibliothèque Livre ? Editeur Client

Objets ayant une existence propre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Les types d’entités Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application Auteur Bibliothèque Livre Editeur Client ?

Objets ayant une existence propre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Les types d’entités Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application Auteur Bibliothèque Livre Editeur Client

Les attributs du TE livre Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

TE livre et ses attributs 1:1 titre Livre numéro liste auteurs 1:n état date-achat éditeur

Les attributs du TE client Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum. Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard : nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s). On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Le TE client et ses attributs numéro Client nom caution adresse n° rue ville

Les TE du schéma conceptuel 1:1 titre Livre numéro list auteurs 1:n numéro état date-achat éditeur Client nom caution adresse n° rue ville

Les types d’association Emprunte Livre Client emprunté emprunteur date-emprunt date-retour

Schéma conceptuel bibliothèque Emprunte emprunté emprunteur date-retour date-emprunt numéro titre Livre Client nom numéro caution auteurs état date-achat éditeur adresse n° rue ville

Contraintes d’intégrité Règles définissant les états (CI statiques) et les transitions d'état (CI dynamiques) possibles de la BD Doivent être décrites explicitement (avec un langage approprié) si elles ne peuvent pas être décrites avec les concepts du modèle de données Une BD est cohérente si toutes les CI définies sont respectées par les valeurs de la BD.

Exemple de CI sur des attributs Pour chaque occurrence d’Emprunte si la date-retour existe, alors elle doit être supérieure à la date-emprunt. Pour chaque occurrence de Livre, la date-achat doit être inférieure à la date-emprunt de toutes les occurrences d’Emprunt qui lui sont liées. titre Emprunte numéro Livre Client numéro nom auteurs emprunté emprunteur caution adresse état date-achat éditeur date-emprunt date-retour n° rue ville

Représentation multiple Un objet peut avoir plusieurs représentations Articles Alimentaire Habillement Hi-Fi Produit laitiers Viandes Fruits Légumes Plusieurs points de vues: un article un article alimentaire un produit laitier

Liens de généralisation/spécialisation Article Un article alimentaire Est un article Lien IS_A Article alimentaire Article habillement Article Hi-Fi Produit laitier Viande Fruits et legumes Raffinement de classification

Hiérarchie de généralisation/spécialisation TE générique Article Lien IS_A Spécialisation Généralisation TE spécifiques Article alimentaire Article habillement Article Hi-Fi X Est un Y X sous-type de Y Y sur-type de X Inclusion de populations: tout X est un Y Y X

Contraintes d’intégrité sur is-a Disjonction : les articles alimentaires et les articles d'habillement n'ont pas d'instances communes Couverture : tout article appartient à l'un des sous-types (alimentaires, d'habillement ou Hi-Fi) Partition : disjonction + couverture Article Lien IS_A Article alimentaire Article habillement Article Hi-Fi

Clusters de spécialisation Etudiant Etudiant garçon Etudiant fille Etudiant info Etudiant chimie Etudiant année 2 Etudiant année 3 critère: sexe critère: section critère: année

Généralisation multiple ……. ! problèmes liés à l'héritage Personne Employé Etudiant Salarié Allocataire salarié Etudiant salarié Étudiants salariés étudiants

Héritage Vente Article Article alimentaire Article habillement Article nom marque type Article Article alimentaire Article habillement Article Hi-Fi Date_limite tailles couleurs puissance Reparation La description des sous-types ne porte que sur les informations additionnelles propres au sous-type Service après vente

Héritage et inclusion CI: a=b mauvais BD LPOO Carré Rectangle Carré

Description d’un schéma EA Types d’entités Types d’association Attributs Liens is-a Types d’identifiant Domaines d’attribut Contraintes d'intégrité schéma conceptuel EA = ( {TE}, {TA}, {CI} )

Description d’un TE nom du type d'entité; nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe; une définition libre (commentaire) précisant la sémantique du TE caractérisation exacte de la population du type d'entité description des attributs du TE composition des identifiants du TE, s'il en existe contraintes d'intégrité propres au TE

Les entités dans le temps TE Client: qu'est qu'un client ??? Toute personne qui a une commande en cours Toute personne qui a fait une commande dans les six derniers mois Toute personne qui a fait une commande dans le passé ou qui est susceptible de faire une commande dans le futur ………

Description d’un TA nom du type d'association une définition libre (commentaire) précisant la sémantique du TA noms des TE participant au TA, avec le nom du rôle les associant au TA pour chaque rôle, sa cardinalité description des attributs du TA , s'il en existe composition des identifiants du TA, s'il en existe contraintes d'intégrité propres au TA

Les associations dans le temps TA Personne – Emprunte – Livre Quels emprunts veut-on dans la BD? Seulement les emprunts en cours Les emprunts des trois derniers mois Aussi les emprunts à venir (réservations) ….

Revenons à notre premier exemple chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

Exemple : Le TA affecté Nom : affecté définition : TE participants: "lie un employé au rayon dans lequel cet employé travaille aujourd'hui” TE participants: <Employé, > , <Rayon, > cardinalités: Employé : min=0, max=1 Rayon : min=0, max=n attributs: aucun identifiant: Employé.nom contraintes d'intégrité: aucune

Description d’un attribut nom de l'attribut définition libre de sa sémantique cardinalités si attribut simple: domaine de valeurs si attribut complexe: description des attributs composants

Domaine de valeurs d’un attribut simple Le domaine de valeurs d’un attribut définit l'ensemble des valeurs permises pour cet attribut. Le domaine d’un attribut simple peut être un domaine de base: entiers, réels, string, booléen, date, … un domaine de base avec restriction: Entier [>=1,<=12] pour l'attribut mois un domaine énuméré: {janvier, février, …, décembre} un domaine de type défini par l’utilisateur

Contraintes d’intégrité sur les attributs Restrictions de domaine fixes : âge  [0 : 130 ] Restrictions selon le contexte : SI mois  {4, 6, 9, 11} ALORS jour  [1:30] , SINON SI mois=2 ALORS jour  [1:29], SINON jour  [1:31] " x,y  Personne, <x,y>  Mariage => x.état-civil = "marié" & y.état-civil = "marié” " x  Personne, " y  Voiture, <x,y>  Conduit => x.âge >=18 " x  Personne, (x.sexe=F OR x.age<18) => x.statut_milit.=NUL

Attributs dérivés nombre d'enfants = Parent 2:2 Personne nom Enfant nom prénoms nombre d'enfants nom prénoms nombre d'enfants = nombre d'occurrences du TA “Parent” qui lient cette Personne

Comme promis RECAPITULONS

Revenons à notre premier exemple chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des entités Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des associations chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des cardinalités chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des attributs d’entités chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

On y voit des attributs d’association chef Chef de Employé Fournisseur subord. nom salaire NomF adresse Livré par Affecté quantité Vend Rayon Article NomR étage quantité NomA type

Voilà pour aujourd’hui Il reste à : mettre au propre les notes de cours apprendre le cours en le relisant plusieurs fois faire encore des exercices implanter des BD (cf TP)