mardi 9 décembre 2014
dimanche 7 décembre 2014
vendredi 5 décembre 2014
SQL Cours et exercices
Exercice n°1
Soit le modèle relationnel suivant relatif à une base de données sur des représentations musicales :
REPRESENTATION (n°représentation, titre_représentation, lieu)
MUSICIEN (nom, # n°représentation)
PROGRAMMER (date, #n°représentation, tarif)
Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par #
Questions :
1 - Donner la liste des titres des représentations.
2 - Donner la liste des titres des représentations ayant lieu à l'opéra Bastille.
3 - Donner la liste des noms des musiciens et des titres des représentations auxquelles ils participent.
4 - Donner la liste des titres des représentations, les lieux et les tarifs pour la
Exercice n°2
Soit le modèle relationnel suivant relatif à la gestion des notes annuelles d'une promotion d'étudiants : ETUDIANT(N°Etudiant, Nom, Prénom)
MATIERE(CodeMat, LibelléMat, CoeffMat)
EVALUER(#N°Etudiant, #CodeMat, Date, Note)
Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par #
Questions :
1 - Quel est le nombre total d'étudiants ?
2 - Quelles sont, parmi l'ensemble des notes, la note la plus haute et la note la plus basse ?
3 - Quelles sont les moyennes de chaque étudiant dans chacune des matières ?
4 - Quelles sont les moyennes par matière ?
On utilisera la requête de la question 3 comme table source
5 - Quelle est la moyenne générale de chaque étudiant ?
On utilisera la requête de la question 3 comme table source
6 - Quelle est la moyenne générale de la promotion ?
On utilisera la requête de la question 5 comme table source
7 - Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la moyenne générale de la promotion ? On utilisera la requête de la question 5 comme table source.
Exercice n°3
Soit le modèle relationnel suivant relatif à la gestion simplifiée des étapes du
Tour de France 97, dont une des étapes de type "contre la montre individuel" se
déroula à Saint-Etienne :
Tour de France 97, dont une des étapes de type "contre la montre individuel" se
déroula à Saint-Etienne :
EQUIPE(CodeEquipe, NomEquipe, DirecteurSportif)
COUREUR(NuméroCoureur, NomCoureur, #CodeEquipe, #CodePays)
PAYS(CodePays, NomPays)
TYPE_ETAPE(CodeType, LibelléType)
ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, #CodeType)
PARTICIPER(#NuméroCoureur, #NuméroEtape, TempsRéalisé)
ATTRIBUER_BONIFICATION(#NuméroEtape, km, Rang, NbSecondes, #NuméroCoureur)
Remarque : les clés primaires sont soulignées et les clés étrangères sont marquées par #
Questions :
1 - Quelle est la composition de l'équipe Festina (Numéro, nom et pays des coureurs) ?
2 - Quel est le nombre de kilomètres total du Tour de France 97 ?
3 - Quel est le nombre de kilomètres total des étapes de type "Haute Montagne"?
4 - Quels sont les noms des coureurs qui n'ont pas obtenu de bonifications ?
5 - Quels sont les noms des coureurs qui ont participé à toutes les étapes ?
6 - Quel est le classement général des coureurs (nom, code équipe, code pays et temps des coureurs) à l'issue des 13 premières étapes sachant que les bonifications ont été intégrées dans les temps réalisés à chaque étape ?
7 - Quel est le classement par équipe à l'issue des 13 premières étapes (nom et temps des équipes) ?
COPEMED - Formation SGBD - ACCESS Tunis, 25 septembre – 2 octobre 2001
Exercice 4
Soit une base de données touristique telle que :
STATION (NumSta, NomSta, Altitude, Région)
HOTEL (NumHot, NomHot, #NumStat, Catégorie)
CHAMBRE (NumCh , #NumHot, NbLits)
RESERVATION (NumCli, NumHot, NumCh, DateDeb, DateFin, NbPers)
CLIENT (NumCli, NomCli,AdrCli,TelCli)
1. Donner les noms des clients et le nombre des personnes correspondantes pour les réservations de l'hôtel Bellevue de Courchevel.
2. Pour chaque station de Haute-Savoie, donner le nombre de lits en catégorie trois étoiles.
3. Pour chaque station de Haute-Savoie, donner le nombre de chambres réservées pour le 11/02/2014.
4. Quels sont les noms des hôtels de catégorie deux étoiles de Méribel qui sont complets la semaine du 12/02/2014 au 18/02/2014 ?
5. Quels sont les régions dont toutes les stations sont à plus de 1500m d'altitude ?
6. Quels sont les clients qui sont allés dans toutes les stations du Jura ?
jeudi 4 décembre 2014
Exercice pratique Sql
Soit le schéma relationnel suivant, implémenté sous MySQL :
Question 1 / 15 : numéros et libellés des articles dont le stock est inférieur à 10 ?
Question 2 / 15 : Liste des articles dont le prix d'inventaire est compris entre 100 et 300 ?
Question 3 / 15 : Liste des fournisseurs dont on ne connaît pas l'adresse ?
Question 4 / 15 : Liste des fournisseurs dont le nom commence par "STE" ?
Question 5 / 15 : noms et adresses des fournisseurs qui proposent des articles pour lesquels le délai d'approvisionnement est supérieur à 20 jours ?
Question 6 / 15 : Nombre d'articles référencés ?
Question 7 / 15 : Valeur du stock ?
Question 8 / 15 : numéros et libellés des articles triés dans l'ordre décroissant des stocks ?
Question 9 / 15 : Liste pour chaque article (numéro et libellé) du prix d'achat maximum, minimum et moyen ?
Question 10 / 15 : Délai moyen pour chaque fournisseur proposant au moins 2 articles ?
Question 11 / 15 : Prix minimum de chaque article avec le fournisseur correspondant
Question 12 / 15 : Fournisseurs auprès desquels on ne s'approvisionne plus et qu'il faudrait donc peut-être supprimer de la table Fournisseurs
Question 13 / 15 : Quels sont les fournisseurs qui fournissent les 2 articles 100 et 106, et à quel prix ?
Question 14 / 15 : Listes des articles pouvant être achetés chez plusieurs fournisseurs, avec le prix d'achat et le délai correspondants
Question 15 / 15 : Quels sont le ou les fournisseurs qui fournissent le plus de produits ?
pour valider les requettes voir le site suivant:
http://webtic.free.fr/sql/exint/q1.htm
ARTICLES (NOART, LIBELLE, STOCK, PRIXINVENT)
FOURNISSEURS (NOFOUR, NOMFOUR, ADRFOUR, VILLEFOUR)
ACHETER (#NOFOUR, #NOART, PRIXACHAT, DELAI)
Question 1 / 15 : numéros et libellés des articles dont le stock est inférieur à 10 ?
Question 2 / 15 : Liste des articles dont le prix d'inventaire est compris entre 100 et 300 ?
Question 3 / 15 : Liste des fournisseurs dont on ne connaît pas l'adresse ?
Question 4 / 15 : Liste des fournisseurs dont le nom commence par "STE" ?
Question 5 / 15 : noms et adresses des fournisseurs qui proposent des articles pour lesquels le délai d'approvisionnement est supérieur à 20 jours ?
Question 6 / 15 : Nombre d'articles référencés ?
Question 7 / 15 : Valeur du stock ?
Question 8 / 15 : numéros et libellés des articles triés dans l'ordre décroissant des stocks ?
Question 9 / 15 : Liste pour chaque article (numéro et libellé) du prix d'achat maximum, minimum et moyen ?
Question 10 / 15 : Délai moyen pour chaque fournisseur proposant au moins 2 articles ?
Question 11 / 15 : Prix minimum de chaque article avec le fournisseur correspondant
Question 12 / 15 : Fournisseurs auprès desquels on ne s'approvisionne plus et qu'il faudrait donc peut-être supprimer de la table Fournisseurs
Question 13 / 15 : Quels sont les fournisseurs qui fournissent les 2 articles 100 et 106, et à quel prix ?
Question 14 / 15 : Listes des articles pouvant être achetés chez plusieurs fournisseurs, avec le prix d'achat et le délai correspondants
Question 15 / 15 : Quels sont le ou les fournisseurs qui fournissent le plus de produits ?
pour valider les requettes voir le site suivant:
http://webtic.free.fr/sql/exint/q1.htm
mercredi 26 novembre 2014
samedi 8 novembre 2014
mardi 28 octobre 2014
mardi 21 octobre 2014
lundi 20 octobre 2014
merise
MERISE au service des systèmes d'information
I-A. Le système d'information
Le système d'information ou SI, peut être défini comme
étant l'ensemble des moyens humains, matériels et immatériels mis en
œuvre afin de gérer l'information au sein d'une unité, une entreprise
par exemple.
Il ne faut toutefois pas confondre un système d'information avec un système informatique. En effet, les systèmes d'information ne sont pas toujours totalement informatisés et existaient déjà avant l'arrivée des nouvelles technologies de l'information et des communications dont l'informatique fait partie intégrante.
Le SI possède 4 fonctions essentielles :
Il ne faut toutefois pas confondre un système d'information avec un système informatique. En effet, les systèmes d'information ne sont pas toujours totalement informatisés et existaient déjà avant l'arrivée des nouvelles technologies de l'information et des communications dont l'informatique fait partie intégrante.
Le SI possède 4 fonctions essentielles :
- La saisie ou collecte de l'information
- La mémorisation de l'information à l'aide de fichier ou de base de données
- Le traitement de l'information afin de mieux l'exploiter (consultation, organisation, mise à jour, calculs pour obtenir de nouvelles données, ...)
- La diffusion de l'information
vendredi 17 octobre 2014
EXCEL 2010
samedi 11 octobre 2014
vendredi 10 octobre 2014
jeudi 9 octobre 2014
MCD : Le Modèle Conceptuel de Données
Base de données - MCD : Le Modèle Conceptuel de Données
Il s'agit de l'élaboration du modèle conceptuel des données
(MCD) qui est une représentation graphique et structurée des
informations mémorisées par un SI. Le MCD est basé sur deux notions
principales : les entités et les associations, d'où sa seconde appellation : le schéma Entité/Association.
L'élaboration du MCD passe par les étapes suivantes :
L'élaboration du MCD passe par les étapes suivantes :
- La mise en place de règles de gestion (si celles-ci ne vous sont pas données),
- L'élaboration du dictionnaire des données,
- La recherche des dépendances fonctionnelles entre ces données,
- L'élaboration du MCD (création des entités puis des associations puis ajout des cardinalités).
II-A. Les règles de gestion métiers
Avant de vous lancer dans la création de vos tables (ou même
de vos entités et associations pour rester dans un vocabulaire
conceptuel), il vous faut recueillir les besoins des futurs utilisateurs
de votre application. Et à partir de ces besoins, vous devez être en
mesure d'établir les règles de gestion des données à conserver.
Prenons l'exemple d'un développeur qui doit informatiser le SI d'une bibliothèque. On lui fixe les règles de gestion suivantes :
Prenons l'exemple d'un développeur qui doit informatiser le SI d'une bibliothèque. On lui fixe les règles de gestion suivantes :
- Pour chaque livre, on doit connaître le titre, l'année de parution, un résumé et le type (roman, poésie, science fiction, ...).
- Un livre peut être rédigé par aucun (dans le cas d'une œuvre anonyme), un ou plusieurs auteurs dont on connaît le nom, le prénom, la date de naissance et le pays d'origine.
- Chaque exemplaire d'un livre est identifié par une référence composée de lettres et de chiffres et ne peut être paru que dans une et une seule édition.
- Un inscrit est identifié par un numéro et on doit mémoriser son nom, prénom, adresse, téléphone et adresse e-mail.
- Un inscrit peut faire zéro, un ou plusieurs emprunts qui concernent chacun un et un seul exemplaire. Pour chaque emprunt, on connaît la date et le délai accordé (en nombre de jours).
- Vous êtes à la fois maîtrise d'œuvre (MOE) et maîtrise d'ouvrage (MOA), et vous développez une application pour votre compte et/ou selon vos propres directives.
- Ce qui arrive le plus souvent : les futurs utilisateurs de votre projet n'ont pas été en mesure de vous fournir ces règles avec suffisamment de précision ; c'est pourquoi vous devrez les interroger afin d'établir vous même ces règles. N'oubliez jamais qu'en tant que développeur, vous avez un devoir d'assistance à maîtrise d'ouvrage si cela s'avère nécessaire.
II-B. Le dictionnaire des données
C'est une étape intermédiaire qui peut avoir son importance,
surtout si vous êtes plusieurs à travailler sur une même base de
données, d'un volume conséquent.
Le dictionnaire des données est un document qui regroupe toutes les données que vous aurez à conserver dans votre base (et qui figureront donc dans le MCD). Pour chaque donnée, il indique :
.
Remarques :
Le dictionnaire des données est un document qui regroupe toutes les données que vous aurez à conserver dans votre base (et qui figureront donc dans le MCD). Pour chaque donnée, il indique :
- Le code mnémonique : il s'agit d'un libellé désignant une donnée (par exemple «titre_l» pour le titre d'un livre)
- La désignation : il s'agit d'une mention décrivant ce à quoi la donnée correspond (par exemple «titre du livre»)
- Le type de donnée :
- A ou Alphabétique : lorsque la donnée est uniquement composée de caractères alphabétiques (de 'A' à 'Z' et de 'a' à 'z')
- N ou Numérique : lorsque la donnée est composée uniquement de nombres (entiers ou réels)
- AN ou Alphanumérique : lorsque la donnée peut être composée à la fois de caractères alphabétiques et numériques
- Date : lorsque la donnée est une date (au format AAAA-MM-JJ)
- Booléen : Vrai ou Faux
- La taille : elle s'exprime en nombre de caractères ou de chiffres. Dans le cas d'une date au format AAAA-JJ-MM, on compte également le nombre de caractères, soit 10 caractères. Pour ce qui est du type booléen, nul besoin de préciser la taille (ceci dépend de l'implémentation du SGBDR).
- Et parfois des remarques ou observations complémentaires (par exemple si une donnée est strictement supérieure à 0, etc).
Code mnémonique | Désignation | Type | Taille | Remarque |
id_i | Identifiant numérique d'un inscrit | N | ||
nom_i | Nom d'un inscrit | A | 30 | |
prenom_i | Prénom d'un inscrit | A | 30 | |
rue_i | Rue où habite un inscrit | AN | 50 | |
ville_i | Ville où habite un inscrit | A | 50 | |
cp_i | Code postal d'un inscrit | AN | 5 | |
tel_i | Numéro de téléphone fixe d'un inscrit | AN | 15 | |
tel_port_i | Numéro de téléphone portable d'un inscrit | AN | 15 | |
email_i | Adresse e-mail d'un inscrit | AN | 100 | |
date_naissance_i | Date de naissance d'un inscrit | Date | 10 | Au format AAAA-JJ-MM |
id_l | Identifiant numérique d'un livre | N | ||
titre_l | Titre d'un livre | AN | 50 | |
annee_l | Année de parution d'un livre | N | 4 | |
resume_l | Résumé d'un livre | AN | 1000 | |
ref_e | Code de référence d'un exemplaire d'un livre | AN | 15 | Cette référence servira également d'identifiant dans ce système |
id_t | Identifiant numérique d'un type de livre | N | ||
libelle_t | Libellé d'un type de livre | AN | 30 | |
id_ed | Identifiant numérique d'une édition de livre | N | 6 | |
nom_ed | Nom d'une édition de livre | AN | 30 | |
id_a | Identifiant numérique d'un auteur | N | ||
nom_a | Nom d'un auteur | A | 30 | |
prenom_a | Prénom d'un auteur | A | 30 | |
date_naissance_a | Date de naissance d'un auteur | Date | Au format AAAA-JJ-MM | |
id_p | Identifiant numérique d'un pays | N | ||
nom_p | Nom d'un pays | A | 50 | |
id_em | Identifiant numérique d'un emprunt | N | ||
date_em | Date de l'emprunt | Date | Au format AAAA-JJ-MM | |
delais_em | Délai autorisé lors de l'emprunt du livre | N | 3 | S'exprime en nombre de jours |
Remarques :
- Les données qui figurent dans le MCD (et donc dans le dictionnaire des données) doivent être, dans la plupart des cas, élémentaires :
- Elles ne doivent pas être calculées : les données calculées doivent être obtenues, par le calcul, à partir de données élémentaires qui, elles, sont conservées en base. Cependant, il existe quelques cas où il s'avère pertinent de conserver, pour des raisons d'optimisation, une donnée calculée, le montant d'une commande par exemple. On ne conservera cependant pas les données calculées intermédiaires sauf en cas d'obligation légale (c'est le cas pour un montant HT par exemple, où les composantes peuvent d'ailleurs avoir un prix variable dans le temps). En effet, cela évite de refaire les calculs plusieurs fois pour un résultat qui restera fixe.
- Elles ne doivent pas être composées : les données composées doivent être obtenues par la concaténation de données élémentaires conservées en base. Par exemple une adresse est obtenue à partir d'une rue, d'une ville et d'un code postal : ce sont ces trois dernières données qui sont conservées et donc qui figureront dans le MCD (et dans le dictionnaire des données).
- Lorsque l'on n'effectue jamais de calcul sur une donnée numérique, celle-ci doit être de type AN (c'est le cas par exemple pour un numéro de téléphone).
II-C. Les dépendances fonctionnelles▲
Soit deux propriétés (ou données) P1 et P2. On dit que P1 et P2 sont reliées par une dépendance fonctionnelle (DF) si et seulement si une occurrence (ou valeur) de P1 permet de connaître une et une seule occurrence de P2.
Cette dépendance est représentée comme ceci :
P1 → P2
On dit que P1 est la source de la DF et que P2 en est le but.
Par ailleurs, plusieurs données peuvent être source comme plusieurs données peuvent être but d'une DF. Exemples :
P1,P2 → P3
P1 → P2,P3
P1, P2 → P3,P4,P5
…
En reprenant les données du dictionnaire précédent, on peut établir les DF suivantes :
id_em → date_em, delais_em, id_i, ref_e
id_i → nom_i, prenom_i, rue_i, ville_i, cp_i, tel_i, tel_port_i, email_i, date_naissance_i
ref_e → id_l
id_l → titre_l, annee_l, resume_l, id_t, id_ed
id_t → libelle_t
id_ed → nom_ed
id_a → nom_a, prenom_a, date_naissance_a, nom_p
On peut déduire les conclusions suivantes de ces DF :
Une DF doit être :
Les DF qui existent entre les données sont parfois évidentes et ne nécessitent pas toujours une modélisation mais celle-ci peut s'avérer utile car elle permet, entre autres, de distinguer les futures entités du MCD et leur identifiants.
Cette dépendance est représentée comme ceci :
P1 → P2
On dit que P1 est la source de la DF et que P2 en est le but.
Par ailleurs, plusieurs données peuvent être source comme plusieurs données peuvent être but d'une DF. Exemples :
P1,P2 → P3
P1 → P2,P3
P1, P2 → P3,P4,P5
…
En reprenant les données du dictionnaire précédent, on peut établir les DF suivantes :
id_em → date_em, delais_em, id_i, ref_e
id_i → nom_i, prenom_i, rue_i, ville_i, cp_i, tel_i, tel_port_i, email_i, date_naissance_i
ref_e → id_l
id_l → titre_l, annee_l, resume_l, id_t, id_ed
id_t → libelle_t
id_ed → nom_ed
id_a → nom_a, prenom_a, date_naissance_a, nom_p
On peut déduire les conclusions suivantes de ces DF :
- À partir d'un numéro d'emprunt, on obtient une date d'emprunt, un délai, l'identifiant de l'inscrit ayant effectué l'emprunt, la référence de l'exemplaire emprunté.
- À partir d'une référence d'exemplaire, on obtient l'identifiant du livre correspondant.
- À partir d'un numéro de livre, on obtient son titre, son année de parution, un résumé, l'identifiant du type correspondant, son numéro d'édition.
- ...
Une DF doit être :
- élémentaire : C'est l'intégralité de la source qui doit déterminer le but d'une DF. Par exemple si P1 → P3 alors P1,P2 → P3 n'est pas élémentaire.
- directe : La DF ne doit pas être obtenue par transitivité. Par exemple, si P1 → P2 et P2 → P3 alors P1 → P3 a été obtenue par transitivité et n'est donc pas directe.
Les DF qui existent entre les données sont parfois évidentes et ne nécessitent pas toujours une modélisation mais celle-ci peut s'avérer utile car elle permet, entre autres, de distinguer les futures entités du MCD et leur identifiants.
II-D. Le Modèle Conceptuel de Données (MCD)
II-D-1. Les entités
Chaque entité est unique et est décrite par un ensemble de
propriétés encore appelées attributs ou caractéristiques. Une des
propriétés de l'entité est l'identifiant. Cette propriété doit posséder
des occurrences uniques et doit être source des dépendances
fonctionnelles avec toutes les autres propriétés de l'entité. Bien
souvent, on utilise une donnée de type entier qui s'incrémente pour
chaque occurrence, ou encore un code unique spécifique du contexte.
Le formalisme d'une entité est le suivant :
Ainsi, si on reprend notre dictionnaire de données précédent, on schématise par exemple une entité «Auteur» comme ceci :
À partir de cette entité, on peut retrouver la règle de gestion suivante : un auteur est identifié par un numéro unique (id_a) et est caractérisé par un nom, un prénom et une date de naissance.
Une entité peut n'avoir aucune, une ou plusieurs occurrences. Pour illustrer ce terme d'«occurrence» qui a déjà été utilisé plusieurs fois, voici un exemple de table d'occurrences de l'entité Auteur :
Cette table est composée de trois occurrences de l'entité Auteur.
Remarques :
Le formalisme d'une entité est le suivant :
Ainsi, si on reprend notre dictionnaire de données précédent, on schématise par exemple une entité «Auteur» comme ceci :
À partir de cette entité, on peut retrouver la règle de gestion suivante : un auteur est identifié par un numéro unique (id_a) et est caractérisé par un nom, un prénom et une date de naissance.
Une entité peut n'avoir aucune, une ou plusieurs occurrences. Pour illustrer ce terme d'«occurrence» qui a déjà été utilisé plusieurs fois, voici un exemple de table d'occurrences de l'entité Auteur :
id_a | nom_a | prenom_a | date_naissance_a |
1 | Hugo | Victor | 1802-02-26 |
2 | Rimbaud | Arthur | 1854-10-20 |
3 | de Maupassant | Guy | 1850-08-05 |
Remarques :
- Les occurrences sont parfois appelés tuples. Par ailleurs, la table d'occurrence peut être comparée à l'instance d'une relation (implantation relationnelle d'une entité ou association) à un moment donné. Nous reviendrons sur cette notion de relation dans la partie III.
- Au niveau conceptuel, on devrait plutôt parler d'entités-types , les entités étant en fait des instances d'entités-types. Par soucis de simplicité, on gardera les termes d'entités et associations tout au long du cours.
II-D-2. Les associations
Une association définit un lien sémantique entre une ou
plusieurs entités. En effet, la définition de liens entre entités permet
de traduire une partie des règles de gestion qui n'ont pas été
satisfaites par la simple définition des entités.
Le formalisme d'une association est le suivant :
Généralement le nom de l'association est un verbe définissant le lien entre les entités qui sont reliées par cette dernière. Par exemple :
Ici l'association «être né» traduit les deux règles de gestion suivantes :
Une cardinalité est définie comme ceci :
minimum, maximum
Les cardinalités les plus répandues sont les suivantes : 0,N ; 1,N ; 0,1 ; 1,1. On peut toutefois tomber sur des règles de gestion imposant des cardinalités avec des valeurs particulières, mais cela reste assez exceptionnel et la présence de ces cardinalités imposera l'implantation de traitements supplémentaires.
L'identifiant d'une association ayant des cardinalités 0,N/1,N de part et d'autre, est obtenu par la concaténation des entités qui participent à l'association. Imaginons l'association suivante :
Ici un auteur rédige au moins un ou plusieurs livres et pour chaque livre, on connaît le nombre de chapitres rédigés par l'auteur (on connaît aussi le nombre total de chapitres pour chaque livre).
L'association «rédiger» peut donc être identifiée par la concaténation des propriétés id_a et id_l. Ainsi, le couple id_a, id_l doit être unique pour chaque occurrence de l'association. On peut également définir la dépendance fonctionnelle suivante :
id_a, id_l → nb_chapitres
On dit que nb_chapitres (nombre de chapitres rédigés par un auteur, pour un livre) est une donnée portée par l'association «rédiger». Cette association est donc une association porteuse de données.
Pour une association ayant au moins une cardinalité de type 0,1 ou 1,1 considérons dans un premier temps que cette dernière ne peut être porteuse de données et qu'elle est identifiée par l'identifiant de l'entité porteuse de la cardinalité 0,1 ou 1,1.
Nous reviendrons plus en détail sur la notion d'identification d'une association lors du passage au modèle logique.
Le formalisme d'une association est le suivant :
Généralement le nom de l'association est un verbe définissant le lien entre les entités qui sont reliées par cette dernière. Par exemple :
Ici l'association «être né» traduit les deux règles de gestion suivantes :
- Un auteur est né dans un et un seul pays,
- Dans un pays, sont nés aucun, un ou plusieurs auteurs.
Une cardinalité est définie comme ceci :
minimum, maximum
Les cardinalités les plus répandues sont les suivantes : 0,N ; 1,N ; 0,1 ; 1,1. On peut toutefois tomber sur des règles de gestion imposant des cardinalités avec des valeurs particulières, mais cela reste assez exceptionnel et la présence de ces cardinalités imposera l'implantation de traitements supplémentaires.
L'identifiant d'une association ayant des cardinalités 0,N/1,N de part et d'autre, est obtenu par la concaténation des entités qui participent à l'association. Imaginons l'association suivante :
Ici un auteur rédige au moins un ou plusieurs livres et pour chaque livre, on connaît le nombre de chapitres rédigés par l'auteur (on connaît aussi le nombre total de chapitres pour chaque livre).
L'association «rédiger» peut donc être identifiée par la concaténation des propriétés id_a et id_l. Ainsi, le couple id_a, id_l doit être unique pour chaque occurrence de l'association. On peut également définir la dépendance fonctionnelle suivante :
id_a, id_l → nb_chapitres
On dit que nb_chapitres (nombre de chapitres rédigés par un auteur, pour un livre) est une donnée portée par l'association «rédiger». Cette association est donc une association porteuse de données.
Pour une association ayant au moins une cardinalité de type 0,1 ou 1,1 considérons dans un premier temps que cette dernière ne peut être porteuse de données et qu'elle est identifiée par l'identifiant de l'entité porteuse de la cardinalité 0,1 ou 1,1.
Nous reviendrons plus en détail sur la notion d'identification d'une association lors du passage au modèle logique.
II-D-3. Élaboration du MCD
Avec toutes ces connaissances, il nous est donc possible
d'élaborer le MCD complet à partir des données présentes dans le
dictionnaire des données :
Remarques :
Remarques :
- Souvent, pour un même ensemble de règles de gestion, plusieurs solutions sont possibles au niveau conceptuel. Par exemple, rien ne nous obligeait ici à créer une entité Type. Une simple donnée portée par l'entité Livre aurait pu convenir également.
- Pour que le MCD soit sémantiquement valide, toute entité doit être reliée à au moins une association.
- Les entités et les propriétés peuvent être historisées. Dans ce cas on met un (H) à la fin du nom de l'entité ou de la propriété que l'on souhaite historiser (cela permet de préciser que l'on archivera toutes les modifications sur une entité ou une propriété donnée). Cela doit également répondre à une règle de gestion.
- Il existe des outils de modélisation payants et d'autres gratuits pour MERISE (powerAMC, OpenModelSphere, AnalyseSI, JMerise, etc).
- On aurait pu, dans ce cas précis, conserver également une date de rentrée des livres, calculée à partir de la date de location et de la durée de celle-ci. C'est un exemple de donnée calculée dont la conservation peut s'avérer pertinente (notamment pour faciliter l'envoi de rappels).
lundi 6 octobre 2014
Programme Scientifique
Programme d'informatique des classes préparatoires scientifiques Mathématiques, physique et sciences de l'ingénieur (MPSI), Physique, chimie et sciences de l'ingénieur (PCSI), Physique, technologie et sciences de l'ingénieur (PTSI), Technologie et sciences industrielles (TSI), Technologie, physique et chimie (TPC), Mathématiques et physique (MP), Physique et chimie (PC), Physique et sciences de l'ingénieur (PSI), Physique et technologie (PT)
samedi 4 octobre 2014
Merise
MERISE au service des systèmes d'information
I-A. Le système d'information
Le système d'information ou SI, peut être défini comme étant l'ensemble des moyens humains, matériels et immatériels mis en œuvre afin de gérer l'information au sein d'une unité, une entreprise par exemple.
Il ne faut toutefois pas confondre un système d'information avec un système informatique. En effet, les systèmes d'information ne sont pas toujours totalement informatisés et existaient déjà avant l'arrivée des nouvelles technologies de l'information et des communications dont l'informatique fait partie intégrante.
Le SI possède 4 fonctions essentielles :
Il ne faut toutefois pas confondre un système d'information avec un système informatique. En effet, les systèmes d'information ne sont pas toujours totalement informatisés et existaient déjà avant l'arrivée des nouvelles technologies de l'information et des communications dont l'informatique fait partie intégrante.
Le SI possède 4 fonctions essentielles :
- La saisie ou collecte de l'information
- La mémorisation de l'information à l'aide de fichier ou de base de données
- Le traitement de l'information afin de mieux l'exploiter (consultation, organisation, mise à jour, calculs pour obtenir de nouvelles données, ...)
- La diffusion de l'information
Inscription à :
Articles (Atom)