Introduction aux bases de données informatiques pdf


Télécharger Introduction aux bases de données informatiques pdf
4.44.4 étoiles sur 5 a partir de 5 votes.
Votez ce document:

Télécharger aussi :


Département Economie

Licence Fondamentale Parcours Gestion

SYSTEME D'INFORMATION

& BASE DE DONNÉES

SEMESTRE5

Professeur : Laila Alami

AU : 2015-2016

FSJESS5 - PARCOURS  GESTION

SOMMAIRE

Chapitre1 : Introduction aux systèmes d'information . 5

1.  Introduction .. 5

1.1  Données et Informations 5

1.2  Définition d’une Information 7

1.3  Définition d’un système . 8

1.4  Définition d’un système d’information .. 8

2.  Le concept de système d’information . 9

2.1  Opérant .. 9

2.2  Système de pilotage . 9

2.3  Système d’information . 10

2.4  Exemple de concept de système d’information .. 11

3.  Fonction d’un système d’information .. 12

3.1  La saisie . 13

3.2  Le stockage . 13

3.3  Le traitement . 13

3.4  La restitution . 13

3.5  Transmission et communication . 14

4.  Les systèmes d’information et les fonctions de l’entreprise . 14

4.1  Comptabilité et Gestion des stocks 14

4.2  L’informatique bureautique .. 15

4.3  Ventes et Marketing .. 15

4.4  Bureau d’étude (Ingénierie) .. 16

4.5  Production et fabrication 16

4.6  Logistique et relation client-fournisseur . 17

4.7  Management et direction .. 17

Les SI et les fonctions de l’entreprise (Résumé) .. 18 Chapitre2 : Initiation à la conception de système d’information 19

1.   Le besoin de méthode . 19

2.   Présentation de la méthode MERISE 19

3.   Les trois cycles de Merise .. 20

3.1.        Cycle d'abstraction de conception des systèmes d'information . 20

3.2.        Cycle de vie . 23

3.3.        Cycle de décision . 23 Chapitre3 : Le modèle conceptuel de données . 24

1.   Présentation . 24

2.   Concepts manipulés. 24

2.1.  Entité 24

2.2.  Association 24

2.3.  Propriété . 25

2.4.  Dictionnaire de données 25

3.   Formalisme Graphique 26

4.   Occurrence 27

4.1.  Occurrence d’une propriété . 27

4.2.  Occurrence d’une entité. 27

4.3.  Occurrence d’une association. 28

5.   Identifiant (ou Clé) . 28

6.   Cardinalité . 28

7.   Dimension d’une association .. 29

8.   Démarche à suivre . 31 Chapitre4 : Le Modèle logique de données (relationnel) 32

1.   Introduction .. 32

2.   Le Modèle relationnel. 32

3.   Règles de  passage du modèle entité - association au modèle relationnel. 33

3.1.        Une entité se transforme en une relation (table) .. 33

3.2.        Relation binaire aux cardinalités (X,1) - (X,n), X= {0 ou 1} .. 34

3.3.        Relation binaire aux cardinalités (X,n) - (X,n), X= {0 ou 1} .. 35

3.4.        Relation n-aire (quelles que soient les cardinalités). 35

3.5.        Association Réflexive. 37

3.6.        Relation binaire aux cardinalités (0,1) - (1,1). .. 38 Chapitre5 : Le langage de manipulation de données SQL 39

1.   Introduction .. 39

2.   RECHERCHE 39

2.1.        Format général d’une requête . 39

2.2.        La clause distinct . 41

2.3.        Trier un résultat 42

2.4.        Fonctions agrégats . 43

2.5.        Les sous relations 44

2.6.        Les requêtes multi-relations (jointures) .. 45

2.7.        Les opérateurs ANY, ALL, IN .. 47 Les travaux dirigés 48

Modélisation conceptuelle et logique : MCD & MLD . 48 Sujet 1: Gestion d'un pressing .. 48

Sujet 2 : Gestion des stages 48

Manipulation de données : Le langage SQL 49 Sujet1 : Scolarité .. 49

Sujet2 : Musique sacrée .. 51

Travaux Pratiques  sous ACCESS 52 Atelier1 : Création d’une Base de Données .. 52

Atelier2 : Manipulation des données : Le langage SQL 58

Chapitre1 : Introduction aux systèmes d'information

1. Introduction 

Dans l’activité de chaque organisation, on utilise une quantité importante d’informations. Pour être utilisables pour la prise des décisions, ces informations doivent être stockées, diffusées, traitées et transformées. 

Toute entreprise utilise de l’information pour son fonctionnement ou pour communiquer avec son environnement.  Le gestionnaire doit être capable de traiter (ou accompagner le traitement) l’information et la rendre utile et rentable pour l’entreprise.  

Ce cours pose les bases de la prise en main de la méthode Merise  en passant par des modèles simple de différents cas de gestion.

Ce cours permettra à l’étudiant de faire connaissance avec le concept de  système d’information et avec des méthodes d’analyse, développement et réalisation d’un système d’information informatisé. 

A la fin de ce cours l’étudiant devra être apte à:

 Comprendre les différents concepts  liés à la notion de système d’information,

 Identifier dans un contexte donné les acteurs et leurs tâches,

 Aider à modéliser les flux, les structures, les traitements de données,

 Maîtriser les principales étapes de conception  d’une base de données relationnelle,

 Connaître des progiciels permettant la construction et la gestion d’une base de données relationnelle,

 Connaître les principales étapes de conception, de développement et de réalisation d’un système d’information.

1.1 Données et Informations 

Donnée = signe + Code 

Information = Donnée + modèle d’interprétation 

La codification des signes permet de représenter des données. Une série de signes tels que le '1' ou le 'T' deviennent une donnée lorsqu'on connaît la codification correspondante. Une information est quelque chose de beaucoup plus qu'une donnée brute. C'est une donnée qui a un sens, et ce sens vient d'un certain modèle d'interprétation. Une même donnée peut avoir plusieurs sens selon le modèle d'interprétation qui lui est associé. Ainsi, la donnée '12101991' peut être aussi interprété -par un anglo-saxon -comme la date du 10 décembre 1991 (et non pas le 12 octobre 1991). 

On va voir à travers trois exemples différents comment la notion de modèle d'interprétation peut aller très loin, et qu'une information n'est pas toujours facile à appréhender si nous ne connaissons pas le contexte sémantique auquel réfère le modèle d'interprétation. 

Exemples :  

On a ici un exemple un peu plus sophistiqué de ce que peut être un modèle d'interprétation. Même si c'est un objet usuel, une facture n'est pas toujours facile à déchiffrer ! 

Cette deuxième facture est un peu plus riche que la précédente: on y retrouve non seulement la consommation du client (c‘est des kwh chez EDF) mais surtout une information de nature plus décisionnelle, le récapitulatif de la consommation du client sur les 4 dernières factures. 

L‘objectif est de donner au client une vision complète de son utilisation des services de l‘entreprise et toute l‘information qui lui permet de mieux consommer. L‘information apporte une plus-value évidente dans la communication avec le client, ce qui augmente son taux de satisfaction et sa fidélité. 

Le 3ème exemple est une facture encore plus détaillée  intégrant des graphiques et des courbes, ce qui est beaucoup plus facile à lire et à interpréter. Cette facture est un exemple typique de l'avantage concurrentiel que peut apporter le SI à une entreprise.

Le développement d'une stratégie commerciale et/ou industrielle nécessite toujours des développements parallèles dans le SI de l'entreprise. Ce qui est bien sûr normal, car le SI est le reflet du fonctionnement présent, passé -et parfois futur -de l'entreprise. Toute modification apportée à ce fonctionnement implique une modification du SI. 

1.2 Définition d’une Information 

En Latin le terme « Informare » signifie donner une forme, une structure, une signification. On peut dire donc que : 

 une information est un élément de connaissance susceptible d’être représenté à l’aide de conventions pour être traité, conservé et communiqué. 

 ou encore l’information est une donnée pertinente que le système nerveux central est capable d’interpréter. 

 En théorie, l’information diminue l’incertitude. 

 En théorie de la décision, on considère même qu’il ne faut appeler information que ce qui est susceptible d’avoir un effet sur nos décisions. 

Exemple

Une bibliothèque possède un grand nombre d'ouvrages, des revues, des livres et des dictionnaires. Nous cherchons un cours complet sur la théorie de l'information. Tout d'abord, il est logique que nous ne trouvions pas ce dossier dans des ouvrages d'arts ou de littérature; nous venons donc d'obtenir une information qui diminuera notre temps de recherche. Nous avions précisé que nous voulions aussi un cours complet, nous ne le trouverons donc ni dans une revue, ni dans un dictionnaire. Nous avons obtenu une information supplémentaire (nous cherchons un livre), qui réduira encore le temps de notre recherche. 

Classifications possibles des informations 

Selon l’origine (la provenance)

 Informations internes : générées au sein de l’entreprise. Exemple, le montant d’une facture pour un client. 

 Informations externes : prises dans l’environnement de l’entreprise et utiles au bon fonctionnement de l’entreprise. Exemple, le taux de TVA, les prix des fournisseurs…… 

Selon la durée de vie de l’information

 Informations volatiles : ayant une courte durée de vie. Exemple,  la personne X est arrivée à son poste de travail à 8h15 et partie à 16h30. 

 Informations persistantes : représente la mémoire de l’entreprise; stockées (historisées) et sécurisées.  Exemple, les adresses des clients et des fournisseurs.

Selon le traitement appliqué

 Informations brutes : utilisées sans modification préalable. Exemple, poids d’une pièce fabriquée dans un atelier. 

 Informations calculées : à partir des informations brutes ou d’autres informations obtenues par calculs ou règles de gestion. Exemple, les montants des salaires. 

1.3 Définition d’un système 

Un système est un ensemble d’éléments reliés entre eux en interactions dynamiques et constituant un tout cohérent et fonctionnel compris dans un ensemble plus grand. En Latin et en Grec, le mot « système » veut dire combiner, établir, rassembler. Généralement un système est constitué de composants organisés ensemble dans le but de faciliter le flux d’information, de matière, d’énergie…… 

1.4 Définition d’un système d’information 

La récolte, le stockage et la diffusion de l'information est devenue une industrie à part entière. Et toute organisation quelle qu'elle soit, doit consacrer une partie de son effort à récolter, traiter, stocker et diffuser l'information issue de son propre fonctionnement.

C'est la tâche principale du système d'information, qu'on va tenter de définir dans les pages qui suivent. 

2. Le concept de système d’information 

2.1 Opérant 

Représentation abstraite d’une organisation 

Système opérationnel où :  

 Les matières premières sont transformées,    Les produits finaux sont fabriqués.  

Pour introduire d'une manière un peu formelle le concept de système d'information, on va recourir à ce qu'on appelle la vision systémique d'une entreprise. On distingue d'abord le système opérant où les produits finaux sont fabriqués à partir d'une certaine matière première. 

On réduit l'organisation à une sorte d'usine, qui travaille sur la matière première pour fournir un produit final. 

Exemple : Si l'on considère une école de management (qui est un exemple typique d'une organisation), le système opérant est constitué des services et des départements  qui organisent le concours d'entrée, les délibérations et les jurys, les cours, les examens, les corrections de copies. Les élèves qui suivent les cours, qui passent des examens … etc. font aussi partie de ce système opérant. C'est l'obtention du diplôme après cinq ans d'étude qui est entre autre -le produit final du système opérant à l'école. Le flux physique est donc constitué des élèves, des concours, des cours, des examens, des résultats scolaires, des rapports publiés, … etc. 

2.2 Système de pilotage 

La mission de la direction : 

 Fixer des objectifs, 

 Contrôler leur réalisation 

 Corriger (selon des contraintes prédéfinies) 

Toute organisation est pilotée par une direction, une équipe dirigeante. 

Ce système de pilotage a pour mission de conduire l'organisation vers des objectifs qui lui sont fixés, et de vérifier que ces objectifs ont bien été atteints. Ce qui nécessite souvent un contrôle continu du fonctionnement du système opérant et d'éventuelle modifications (recrutement, investissement, nouveaux développements, … etc.) à apporter au système opérant. 

Parallèlement donc au flux physique, il y a un flux de décision. Ce flux correspond aux décisions prises par la direction de l'organisation pour que celle-ci fonctionne dans les meilleures conditions et puisse atteindre ses objectifs. Et toute organisation est soumise à des contraintes extérieures et intérieures qui contraignent son action et l'empêche d'évoluer librement. 

En considérant toujours la même école, les décisions prises par le système de pilotage concernent le nombre d'élèves qui seront admis chaque année à l'école de Management, le seuil d'admissibilité, la définition des programmes des études, la définition des modalités d'examen et le règlement des études, les développements futures de l'école tels que l'augmentation du nombre d'élèves création de nouvelles filières, les ouvertures de postes de recrutement, les investissements en matériel et en logiciel, … etc. 

2.3 Système d’information 

Et c'est dans ce contexte qu'apparaît le système d'information. Ce sous-système de l'organisation s'occupe de récolter l'information, de la stocker, de la traiter et de la diffuser dans le système opérant et dans le système de pilotage. 

Dans le système opérant, cette information va permettre à celui-ci de fonctionner. Car chaque individu et chaque tâche ont besoin d'être informés sur le flux physique qui la traverse. 

En général, cette information est très détaillée, ne concerne qu'un petit élément de l'organisation, et elle est tournée vers le présent. 

Dans le système de pilotage, l'information va permettre à celui-ci de prendre les bonnes décisions en étant constamment informé de ce qui se passe dans le système opérationnel. 

Cette information a tendance à être très synthétique, elle concerne une grande partie de l'organisation (si ce n'est toute l'organisation, tel que le Chiffre d'Affaire annuel), et elle est tournée vers le passé et/ou le futur. 

La tâche principale du SI est donc de fournir un flux d'information qui d'une part, reflète le plus fidèlement possible le flux physique, et d'autre part fournit au système opérationnel les éléments nécessaires pour son fonctionnement quotidien et au système de pilotage les éléments nécessaires à une prise correcte de décision.  

Ainsi, le flux d'information est une image du flux physique. Il représente sous une forme plus ou moins réduite, tous les événements survenus dans le système opérant ainsi que tous les éléments d'information qui permettent de traiter ces événements. 

Cette image est forcément une réduction de la réalité, elle ne concerne que les aspects pertinents ayant une incidence et/ou un rôle dans le fonctionnement de l'organisation. 

En reprenant l'exemple de l'école, on trouvera dans son SI toutes les informations sur les élèves qui y sont inscrits : nom prénom, adresse des parents, date de naissance, parcours scolaire précédent, n° sécurité sociale, … etc. mais on ne trouvera pas ni la couleur des yeux ni le groupe sanguin (qui est une information non pertinente pour le fonctionnement de l'école). 

Plus précisément, on dit que dans le SI il y a des modèles de la réalité organisationnelle. 

Ces modèles ont été construits par ceux qui mettent en place le SI. La validité et la pertinence de ces modèles sont indispensables au fonctionnement du SI lui même, et elles garantissent la qualité de l'information fournie. 

Pour conclure : 

La construction des modèles dans un SI est une phase très importante dans la construction de celui-ci. Cette tâche relève de l'ingénierie des SI, et on utilise le terme "conception de SI". 

Un système d'information est un ensemble de moyens humains, techniques et organisationnels pour fournir en temps et en heure toute l'information nécessaire au fonctionnement de l'organisation (autant le système opérant que le système de pilotage). 

Pourquoi dit-on que le SI est un artefact, c.à.d un objet artificiel ? 

Par ce que l'organisation doit consacrer une partie de ses ressources et de son énergie à gérer l'information, alors que ce n'est pas sa tâche initiale. 

En reprenant notre exemple, l'école doit consacrer une partie de ses ressources (humaines et techniques) pour gérer l'information concernant son fonctionnement quotidien. Cette tâche occupe plusieurs personnes et consomme des ressources informatiques, mais elle n'est pas le métier originale de l'école qui est de former des élèves, de délivrer des diplômes et de mener des activités de recherche. 

Cette tâche qui ne fait pas partie du cœur de métier des organisations (sauf pour le cas particulier des organisations spécialisées dans la conception et le développement des SI), est parfois sous-traitée. On appelle cette pratique le "out-sourcing" ou l'infogérance. Ce qui permet à l'organisation de se concentrer sur son cœur de métier, avec quand même le risque de devenir trop dépendante d'un acteur extérieur. 

2.4 Exemple de concept de système d’information

Exemple-1 : Ecole de Management

Flux physique

Les élèves, les concours, les cours, les examens, des résultats scolaires, des rapports publiés, les enseignants, les départements …etc 

Flux d’information  

Nom, prénom, adresse des étudiants, des parents des enseignants, date de naissance, parcours scolaire, n° de l’étudiant, …etc 

Flux de décision  

Nombre d’élèves qui seront admis, le seuil d’amissibilité, la définition des programmes des études, la définition des modalités d’examen et le règlement des études, les développements futures de l’école tels que l’augmentation du nombre d’élèves, création de nouvelles filières, les ouvertures de postes de recrutement, les investissements en matériel et en logiciel, …etc

Exemple-2 : ONCF (Compagnie des chemins de Fer)

3. Fonction d’un système d’information 

Ce schéma résume les 5 fonctions de base d'un système d'information. Remarquez que la communication s'effectue autant avec les systèmes de pilotage qu'avec le système opérant. 

3.1 La saisie 

C'est la fonction la plus basique. Dans le passé, il y avait les opérateurs de saisie qui passaient leurs journées à saisir des tonnes d'information sur des claviers … Cela existe encore malgré l'introduction massive des lecteurs de code barre, des logiciels de reconnaissance vocale et de récognition de caractère.

3.2 Le stockage 

La technologie a évolué très vite ces 10 dernières années. On peut facilement maintenant graver un CD ou même un DVD, et les disques durs ont des capacités de plus en plus grandes. 

3.3 Le traitement 

Le principe de fonctionnement des ordinateurs n'a pas beaucoup changé depuis son invention dans les années 40. Mais c'est la vitesse de traitement des processeurs qui atteint des sommets inimaginables il y a seulement quelques années. Les derniers processeurs atteignent la vitesse de traitement de 3 milliard de cycle de base / seconde (Pentium à presque 3 gigahertz) ! 

Cette étape consiste à créer de nouvelles informations à partir de celles existantes avec des opérations de tri, calculs, regroupements, …

Cette fonction utilise des ordinateurs, serveurs, systèmes d’exploitation, logiciels d’application,…

3.4 La restitution 

Electronique : protocole Web (en Internet, extranet, Intranet)                 Restitution des Rapports, Etats, ….imprimés 

L'impression sur papier reste le moyen le plus commode de restitution des informations. On reçoit tous des relevés mensuels d'activité bancaire, des factures d'abonnement téléphonique, des fiches de paie, … etc. 

Mais les écrans d'ordinateurs ont aussi envahi notre quotidien, de même qu'on voit apparaître des machines qui parlent. 

La restitution peut prendre des formes extrêmement sophistiquées à l‘aide par exemple des images de synthèse. 

3.5 Transmission et communication 

Toute transmission nécessite un support (câble coaxial, fibre optique, liaison hertzienne, liaison satellite) et un protocole de communication pour codifier les données sous une forme qui peut être transmise. On distingue ainsi la transmission de la voix et la transmission des données, comme on distingue les protocoles de bas niveaux (tel que le TCP/IP) et les protocoles de haut niveau (tels que les formats pour l'échange électronique de donnée). 

4. Les systèmes d’information et les fonctions de l’entreprise

Quelque soit l‘entreprise (petite, moyen ou grande) et quelque soit son domaine d‘activité (production, service, commercialisation), il y a des fonctions communes :

 Les ressources humaines qu‘il faut recruter, former, rémunérer, gérer 

 La comptabilité et la finance pour calculer les dépenses, les recettes, la rentabilité, le taux d‘endettement, etc.

 La production où les produits (voiture, aliments, services bancaires, cours de formation, etc.) sont "fabriqués"; et où on doit planifier, organiser, gérer le stock des produits, les processus de fabrication, la livraison, etc.

 La vente et le marketing, où le contact avec le client a lieu pour le démarcher et lui vendre les produits; et où on doit gérer la relation avec le client et avoir une information précise sur les produits, les tarifs, les promotions, la marge de manœuvre, etc. 

 L'ingénierie, où les nouveaux produits sont imaginés, conçus, testés et évalués et où on se préoccupe des processus de fabrication et des méthodes de travail; on a besoin ici d'une information plus spécifique selon la nature du produit conçu. 

On va donc regarder pour toutes ces fonctions ce que l’informatique peut apporter et les spécificités des besoins en terme de système d'information.  

4.1 Comptabilité et Gestion des stocks 

Chaque entreprise doit gérer ses stocks de matières premières ainsi que ses stocks de produits finis. La comptabilité est un élément clé dans toute organisation, elle s'adapte le plus facilement à l'utilisation de l'informatique (pourquoi ?). 

L'exemple auquel fait référence la photo est celui d'une entreprise d'assurance dans l'état de Californie aux Etats-Unis. Il y avait chaque jour une navette entre le siège de l'entreprise et l'entrepôt dans lequel sont stockés tous les dossiers de clients, les déclarations de sinistres, les demandes de remboursement, les contentieux non réglés, … etc. On se demande combien de personnes étaient affecté à la gestion de cette masse énorme d'information ! 

Cette entreprise a démarré un projet d'informatisation de la gestion des dossiers, avec notamment un archivage sur CD-ROM ou disques dur externes. 

4.2 L’informatique bureautique 

La micro-informatique a ainsi bouleversé le travail des secrétariats, et le PC est devenu l'outil de travail central de tout cadre dans l'entreprise. 

4.3 Ventes et Marketing 

Dans certain cas, notamment pour les vendeurs qui se déplacent chez les clients, on utilise de plus en plus des connections mobiles au système d'information. Cela peut être un ordinateur + un accès par ligne téléphonique mobile, ou plus simplement un assistant électronique (ou PDA en anglais) dans lequel sont chargé régulièrement toutes les informations dont le vendeur a besoin (base clientèle, les produits avec les disponibilités, les prix, les marges de manœuvre … etc..). 

4.4 Bureau d’étude (Ingénierie) 

4.5 Production et fabrication 

Les robots ont envahi les usines depuis longtemps, et il y a certains produits (tels que les voitures ou les microprocesseurs) qui sont en grande partie fabriqués par des machines pilotées par des ordinateurs.

La tendance actuelle est la fabrication de produits sur mesure et à la demande du client. Pour atteindre cet objectif, il faut une interconnexion optimale des différents systèmes d'information de l'entreprise pour que la commande du client puisse arriver le plus vite possible à l'usine qui va fabriquer (en grande partie automatiquement) le produit demandé et l'expédier ensuite chez le client. 

La photo suivante  illustre une entreprise japonaise qui fabrique en masse des bicyclettes sur mesure. Comme chez le tailleur, le vendeur va prendre une série de mesures et faire essayer le client un prototype qu'on peut ajuster selon la taille, le poids et la position favorite du client. 

Ces mesures permettent de construire une maquette numérique du produit demandé, et de transmettre ce "cahier des charges numérique" à une usine robotisée qui va fabriquer ce produit unique pour un client en particulier. 

4.6 Logistique et relation client-fournisseur 

La relation avec le client est devenue un enjeu majeur pour la majorité des entreprises. Ce qu'on appelle le CRM connaît un très fort engouement, et les entreprises dépensent des sommes énormes pour obtenir ce nouveau or gris : l'information sur le client ! 

Bien sûr, l'information a toujours été là, mais elle n'était pas exploitable car éparpillée dans des systèmes hétérogènes et des formats incompatibles. Les propositions commerciales des entreprises ne pouvaient pas s'adapter au profil de chaque client. On essayait plus tôt de construire une offre commerciale qui puisse satisfaire le maximum de clients. 

Ce n'est plus le cas aujourd'hui. Si vous passez souvent des coups de téléphone à l'étranger (ou à un pays en particulier), votre opérateur va vous proposer rapidement une offre adaptée pour vous fidéliser et augmenter la durée et/ou la fréquence vos consommations. 

Si vous achetez des livres ou des CDs chez , au bout de quelques achats le système vous fera des propositions d'ouvrage ou d'œuvres qui auront une grande chance de vous intéresser … 

L'EDI (Echange de Données Informatisée ou Electronic Data Exchange) est une technologie qui existe depuis une dizaine d'années. Elle est apparue dans le secteur de l'industrie textile, ou un format standard d'échange de données est apparu. 

Grâce à ce format, les clients et les fournisseurs de la chaîne industrielle du textile ont pu connecter leurs systèmes d'information respectifs. Les échanges de données sont devenus beaucoup plus fluides, ont permis d'économiser de l'argent et surtout beaucoup de temps. 

4.7 Management et direction  

Les SI et les fonctions de l’entreprise (Résumé) 

Ce schéma fait la synthèse de la vision fonctionnelle du Système d'Information. On y voit que le SI à deux facettes : 

 La première facette est tournée vers le système opérant et dont la finalité et d'assister le fonctionnement opérationnel et la gestion quotidienne de l'organisation. Ce sont les différents SI fonctionnels qu'on a vu, et qui sont accessibles depuis des postes de travail de type bureautique. 

Les applications informatiques qui supportent ces SI sont de type transactionnel, et utilisent intensivement des bases de données de production. Elles traitent de grandes masses de données qui sont faiblement agrégées (c.à.d ne concerne qu'un élément atomique de l'organisation tel que la commande d'un client) et qui sont accessibles en quasi temps réel. 



Ces applications informatiques sont devenues de plus en plus ouvertes vers l'extérieur pour le commerce électronique (vente et achat en ligne) et le travail collaboratif (intranet, extranet). 

 La seconde facette est tournée vers le système de pilotage et dont la finalité est d'assister la direction de l‘entreprise et la prise de décision des dirigeants. 

 Ce sont des applications informatiques récentes qui font appel à des technologies nouvelles (entrepôts de données ou datawarehouse et SIAD). Elles manipulent des données où le degré de précision est relatif (tel que la variation du panier moyen dans un hypermarché par mois sur les 24 derniers mois), et qui sont fortement agrégées (elles concernent de grand ensemble d'éléments de l'organisation, il faut par exemple calculer la moyenne pour plusieurs centaines de milliers de données). 

Ces systèmes sophistiqués sont coûteux, ils permettent aux dirigeants d'avoir une vision synthétique et condensée de l'activité de l'entreprise. 

Le but est faciliter les projections et les simulations, en intégrant notamment des données externe au SI de l'entreprise (tel que les données des concurrents, ou la corrélation avec l'indice dévolution des prix). La finalité ultime de ces systèmes est d'aider le dirigeant dans la prise de décision. 

Chapitre2 : Initiation à la conception de système d’information  

1. Le besoin de méthode

La conception d'un système d'information n'est pas évidente car il faut réfléchir à l'ensemble des informations que l'on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer. La modélisation consiste à créer une représentation virtuelle d'une réalité de telle façon à faire ressortir les points auxquels on s'intéresse. 

Selon le petit Robert, une méthode  est «  Un ensemble de démarches raisonnées, suivies, pour parvenir à un but ».

Tel est bien l’objet des méthodes de conception et de développement des SI : présenter une démarche et un ensemble de modèles permettant de définir et mettre en place un nouveau système.

Les avantages d’utilisation d’une méthode sont :

Une meilleure gestion et un meilleur suivi du projet en cours.

Une facilité de dialogue entre les membres du projet et ensuite avec les utilisateurs du fait qu’elle utilise un formalisme commun et constitue une documentation.

Il existe plusieurs méthodes d'analyse, la méthode la plus utilisée en France étant la méthode MERISE

2. Présentation de la méthode MERISE

MERISE est une méthode de conception, de développement et de réalisation de projets informatiques. Le but de cette méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques.

La séparation des données et des traitements assure une longévité au modèle. En effet, l'agencement des données n'a pas à être souvent remanié, tandis que les traitements le sont plus fréquemment. 

La méthode MERISE date de 1978-1979, et fait suite à une consultation nationale lancée en 1977 par le ministère de l'Industrie dans le but de choisir des sociétés de conseil en informatique afin de définir une méthode de conception de systèmes d'information. Les deux principales sociétés ayant mis au point cette méthode sont le CTI (Centre Technique d'Informatique) chargé de gérer le projet, et le CETE (Centre d'Etudes Techniques de l'Equipement) implanté à Aix-en-Provence. 

3. Les trois cycles de Merise

L’identification de ces cycles se base sur la trialectique fondamentale de l’ETRE, du FAIRE et du DEVENIR, le sésame de la connaissance de l’objet. En effet, expliquer un concept ou un objet, nous ramène à répondre à trois questions fondamentales : ce qu’il est ? Ce qu’il fait ? Ce qu’il devient ?

Par conséquent, la définition de l’objet pondère une définition ontologique (ce que l’objet est- la dimension de l’ETRE), une définition fonctionnelle (ce que l’objet fait - la dimension du FAIRE) et une définition génétique (ce que l’objet devient - la dimension du DEVENIR). 

En extrapolant aux systèmes d’information, ces trois dimensions se transforment  en des cycles. On aura ainsi le cycle d’abstraction (ce que le système d’information est), le cycle de décision (ce que le système d’information fait) et le cycle de vie (ce que le système d’information devient).

        3.1.    Cycle d'abstraction de conception des systèmes d'information

La conception du système d'information se fait par étapes, afin d'aboutir à un système d'information fonctionnel reflétant une réalité physique. Il s'agit donc de valider une à une chacune des étapes en prenant en compte les résultats de la phase précédente. D'autre part, les données étant séparées des traitements, il faut vérifier la concordance entre données et traitements afin de vérifier que toutes les données nécessaires aux traitements sont présentes et qu'il n'y a pas de données superflues. 

Cette succession d'étapes est appelée cycle d'abstraction pour la conception des systèmes d'information

L'expression des besoins :

C’est une étape consistant à définir ce que l'on attend du système d'information automatisé, il faut pour cela : 

•    Faire l'inventaire des éléments nécessaires au système d'information 

•    Délimiter le système en s'informant auprès des futurs utilisateurs 

Le modèle conceptuel :

A ce niveau on définit les classes d’objets ou d’événements et les règles de comportement  de ceux-ci. Les contraintes liées à l’organisation de l’entreprise ne sont pas prises en considération. On liste et on décrit les règles de gestion en répondant à la question Quoi faire ? Au niveau de données on utilise l’approche ENTITE - ASSOCIATION. Au niveau de traitements on utilise l’approche EVENEMENT - RESULTAT.  

Dans ce modèle on commence par créer le MCC (Modèle conceptuel de la communication) qui définit les flux d'informations à prendre en compte. L'étape suivante consiste à mettre au point le MCD (Modèle conceptuel des données) et le MCT (Modèle conceptuel des traitements) décrivant les règles et les contraintes à prendre en compte. 

Le modèle logique ou organisationnel :

A ce niveau, on identifie les ressources employées pour la mise en place de  l’ensemble de règles de gestion identifiées au niveau conceptuel (choix du SGBDR pour le système d'information). En répondant aux questions Qui ? Où ? Quand ? On mettra en accord les règles de gestion et la structure organisationnelle de l’entreprise (Exemple : Qui reçoit les commandes passées par les clients ? Qui fait la facturation ? Quand doit-on éditer une facture ?  Quel service charger pour éditer la facture ?  

Les événements ne sont plus des événements temporels mais des événements à dominante spatiale. Les données se traduisent dans des représentations du type base de données ou en des fichiers classiques.

Le modèle organisationnel consiste à définir le MOT (Modèle organisationnel des traitements) décrivant les contraintes dues à l'environnement (organisationnel, spatial et temporel). 

Le niveau physique ou opérationnel. 

A ce niveau, on identifie et on décrit les moyens utilisés (choix matériel) pour gérer les données et pour activer les traitements. En ce qui concerne les données il y a traduction du modèle logique en un modèle physique particulier en faisant appel à des logiciels et au matériel approprié. En ce qui concerne les traitements, le modèle opérationnel décrit l’architecture de différents programmes et les différentes actions élémentaires jusqu’au niveau algorithme. Il n’y a pas de programmation effective mais on possède tous les éléments pour qu’il n’y ait pas de difficultés de programmation.

Remarque : Ces trois dernières étapes entre dans le cadre de la démarche par niveaux pour la conception d’un nouveau système d’information

Système d’information automatisé :

A ce niveau on procède à l’implantation et la mise à la disposition de l’utilisateur le système développé.

Pour résumer, le tableau suivant présente les différents modèles proposés par Merise à chaque niveau.

Niveau

Préoccupation

Données

Traitements

Conceptuel

Quoi ?

MCD

MCT

Organisationnel ou Logique

Qui fait quoi ?

Ou ?

Quand ?

MLD

MOT

Physique ou Opérationnel

Avec quels moyens ?

MPD

MopT

Les différents modèles sont organisés de la manière suivante:

        3.2.    Cycle de vie

Ce cycle décrit la vie du système d’information. Dans l’évolution de tout système on distingue, généralement, un point de départ (la conception), une gestation, une naissance, une croissance, une maturité, une obsolescence et une fin (la mort). En appliquant ces principes à un système d’information on en distingue :

la conception du futur système d’information (descriptions détaillées de spécifications fonctionnelles et techniques).

la réalisation du futur système d’information (production de programmes et de consignes correspondant aux spécifications détaillées).

la maintenance du futur système d’information (adaptation du système aux évolutions

de l’environnement). 

        3.3.    Cycle de décision 

Ce cycle décrit l’ensemble de décisions et choix pris durant le cycle de vie. Les décisions marquent, généralement, la fin d’une étape et le début d’une autre. Cet ensemble de décisions est hiérarchisé comme il suit :

 décomposition du système d’information en des sous-systèmes et / ou domaines.

 orientations majeures concernant les règles de gestion, les règles d’organisation et les

solutions technologiques.

 planification de la réalisation du système d’information

 degré d’automatisation de procédures : procédures manuelles et procédures automatiques

 etc.

Chapitre3 : Le modèle conceptuel de données

1. Présentation

Le modèle conceptuel de données (MCD) est une représentation stable de l’ensemble des données manipulées par l’entreprise ainsi que des relations entre ces données. Le graphe de flux permet souvent de mettre en évidence des individus du MCD.

Le MCD décrit les objets, les événements, les concepts d’une manière abstraite, sans réfléchir, à ce stade, aux possibilités de traitement par l’ordinateur. En ce qui suit, nous étudierons le modèle basé sur le couple entité - association.

Le MCD est précisé lors de l’étude préalable et complété lors de l’étude détaillée du SI.

2.Concepts manipulés.

2.1. Entité  

Une entité ou individu est la représentation dans le SI d’un objet concret ou abstrait (matériel ou immatériel) de l’univers de l’entreprise.

Exemples : Client, Compte-bancaire.

Dans le système d’information concernant « la société au bon beurre » on peut  identifier les entités suivantes : client, commande, bon de livraison, facture. 

Remarque.  Une entité a une existence propre, sans référence à une autre entité. 

On parle d’entité type cad classe d’entité ayant des propriétés analogues.

2.2. Association 

Est un lien sémantique de plusieurs entités (indépendamment des traitements) ; 

Il est souhaitable de limiter la dimension des relations à deux (relations binaire). 

Plus la dimension d’une relation est grande, plus la relation devient complexe et difficile à gérer.

On parle d’association type cad une association entre plusieurs entités type.

Exemple : Possède est une relation qui lit l’entité Client et l’entité CompteBancaire.

2.3. Propriété

La propriété représente la plus petite quantité d’informations caractérisant une entité ou une association et que l’on peut utiliser d’une manière autonome et qui présente un intérêt pour le domaine à étudier.

Exemples : l’entité Client est caractérisée par les propriétés : NuméroClient, RaisonSociale, adresse et ville.

L’entité CompteBancaire est caractérisée par les propriétés : NuméroCompte, NomBanque et agence

Une propriété se décrit par tout ou partie des éléments suivants :

 Son nom: composé de caractères alphanumériques, de préférence une composition de lettres, chiffres et un trait d’union.  

 Sa description : ce quelle représente et son intérêt dans le contexte

 Sa nature : son type et/ou domaine,  

 Sa longueur : nombre de caractères dans le format

Une propriété peut être :

 Obligatoire ou facultative

 Brut (non calculée)

 Elémentaire (non décomposable)

 Normée par des organismes officiels (Cin , Nimm , Ntel , …)

2.4. Dictionnaire de données

La liste de toutes les propriétés est définie dans un dictionnaire de données. Celui-ci contient pour chaque propriété tout ou partie des éléments suivants : son nom, son type et sa longueur, sa nature, sa description et contrainte ou remarques, comme le montre l’exemple suivant.

Nom

Type

Nature

Description

Remarque

Contrainte

EnsNo

Num(15)

Elémentaire

Numéro

Enseignant

Identifiant, ne peut être modifié

EnsNom

Char(15)

Elémentaire

Nom Enseignant

EnsPrenom

Char(15)

Elémentaire

Prénom

Enseignant

Une propriété définie dans le dictionnaire de données doit être :

-    Pertinente : présente un intérêt pour le domaine étudié

-    Unique dans le modèle, Deux ou plusieurs entités ne peuvent jamais avoir une même propriété (Exemple : Nous avons défini raisonSociale comme  propriété dans l’entité Client, celle – ci ne peut pas être définie dans l’entité Facture.

-    Brut (non calculée exemle : MTTC représente le montant toute taxe comprise, cette propriété est calculée à partir de MHT, le montant hors taxe et TVA, la valeur de la TVA)

-    Atomique: nom décomposable (cette décomposition est relative à son exploitation dans le SI exemple : adresse contenant aussi la ville)

-    A une seule signification : si une propriété a plusieurs sens, on parle de polyseme, par contre on parle de synonymes quand deux propriétés ont le même sens.

Exemple de Polysème :

Date est une propriété qui peut représenter la date de la commande client et la date de livraison.

Dans cet exemple, il faut utiliser deux propriétés pour représenter chacune des deux dates,

ComDate pour la date de la commande et LivDate pour la date de livraison.

Exemple de synonyme :

Libellé et désignation sont deux propriétés qui ont représentent le nom d’un produit, ils ont donc le même sens.

Dans cet exemple, il faut choisir un seul nom pour désigner le nom du produit.

3. Formalisme Graphique

La méthode Merise propose des représentations graphiques pour la plupart de notions qu’elle  utilise. Une entité est représentée par un rectangle dans lequel apparaissent son nom et ses propriétés. Une association par une ellipse dans lequel apparaissent son nom et ses propriétés éventuelles.

Exemple:

4. Occurrence

4.1. Occurrence d’une propriété. Toute valeur prise par la propriété définit une occurrence de la propriété. 

Exemple : Considérons l’entité Etudiant caractérisée par lespropriétés : Numéro de convocation, Nom, Prénom, Date de naissance, Moyenne en Arabe et Moyenne en Anglais.

Numéro

Nom

Prénom

Date_naiss

Arabe

Anglais

001

SLAOUI

Amine

28/10/93

12,05

10,46

002

BENMOUSSA

Latifa

08/10/92

8,81

10,44

003

HAJAMA

Mohamed

23/01/94

10,31

11,09

004

FARAH

Adil

02/09/92

9,30

13,09

005

KABAJ

Ilham

26/07/91

0,00

0,00

006

TADLAOUI

Rachid

01/05/90

10,83

12,12

007

BENNIS

Karim

22/03/93

10,14

6,89

008

BENNANI

Meryem

21/07/94

10,50

13,60

009

GUENNOUN

Abdelatif

15/12/93

10,50

16,04

010

DAHBI

JaMal

21/06/93

9,23

14,75

 Dans le tableau présenté ci-dessus on trouve les valeurs prises par les différentes propriétés. La propriété Date_naiss prend les valeurs (donc les occurrences !) : 28/10/93 ; 08/10/92 ; 23/01/94 ; 02/09/92 ; 26/07/91 ; 01/05/90 ; 22/03/93 ; 21/07/94 ; 15/12/93 ; 21/06/93

4.2. Occurrence d’une entité. L’ensemble de valeurs prises par les propriétés caractérisant une entité définit l’occurrence d’une entité. 

Exemple : L’ensemble de valeurs suivant est une occurrence de l’entité étudiant. Dans le tableau ci-dessus. L’entité étudiant a 10 occurrences. (Chaque ligne du tableau  est une occurrence de l’entité).

001

SLAOUI

Amine

28/10/93

12,05

10,46

4.3. Occurrence d’une association. Toute réalisation de l’association générée par des occurrences des entités impliquées dans l’association.

5. Identifiant (ou Clé)

Constitué d’une ou de plusieurs propriétés permettant de distinguer sans ambiguïté  une occurrence de l’entité. Toute entité doit avoir un identifiant.

Exemples : L’identifiant de l’entité Client est NuméroClient car deux clients ne peuvent pas avoir le même numéro.

L’entité voiture ayant les propriétés : NuméroImmatriculation, Couleur, Marque a comme  identifiant la propriété NuméroImmatriculation.

Un identifiant d’une association est l’ensemble des identifiants des entités reliées à cette  relation.

La méthode Merise propose de précéder les propriétés de l’identifiant par le caractère #.

Client

Voiture

#Numéro client raisonSociale

 Adresse

 Ville

# NuméroImmatriculation

 Couleur

 Marque

Exemples :

Un identifiant est simple quand il est constitué d’une seule propriété. 

Un identifiant est composé quand il est constitué de plusieurs propriétés.

6. Cardinalité

Est notée sous la forme (X,Y),  X est le nombre minimum d’occurrences de l’entité1 relié à l’entité2 et Y est le nombre maximum d’occurrences de l’entité1 relié à l’entité2.

Exemple : Un client possède au minimum 1 compte bancaire et au maximum plusieurs représenté par N d’ou la cardinalité « 1,N ». Alors qu’un compte bancaire appartient à un client et un seul d’ou la cardinalité « 1,1 ».

Dans la pratique on gère les cardinalités suivantes :

0,1 : Chaque occurrence de l’entité est relié à au plus une occurrence de l’association.

Exemple : Un employé est responsable d’au plus un service.

1,1 : Chaque occurrence de l’entité est relié exactement à une occurrence de l’association.

Exemple : Un compte bancaire appartient à un client et un seul.

0,N : Chaque occurrence de l’entité est relié à un nombre quelconque d’occurrence de l’association.

Exemple : Une personne possède 0 ou N voitures.

1,N : Chaque occurrence de l’entité est relié à au moins une occurrence de l’association.

Exemple : Un enseignant assure au moins un cours.

Dans le cas des relations binaires, ce qui est fréquent est résumé dans le tableau suivant :

Entité1/Entité2

0-1

1-1

0-N

1-N

0-1

?

?

1-1

?

*

0-N

1-N

            ? : il faut se demander si l’une des entités n’est pas propriété d’une autre.

• : à éviter car il traduit souvent une erreur de conception.

Exemples.

Un enseignant assure un ou plusieurs cours. Un cours peut être assuré par un ou plusieurs enseignants.

7. Dimension d’une association

La dimension d’une association est le nombre d’entité qu’elle relie.

-    Association binaire : reliant deux entités.

-    Association n-aires : reliant plusieurs entités (avec n > 2)

-    Association réflexive : qui associe les occurrences d’une même entité.

Exemple d’une association binaire :

Exemple d’une association n-aire :

Exemple d’une association réflexive :

Il est utile parfois d’ajouter des rôles pour faciliter la lecture de l’association dans un sens et dans l’autre comme le montre l’exemple suivant :

8. Démarche à suivre 

La démarche à suivre dans un premier temps pour la conception et la réalisation d’un modèle conceptuel  de données :   

Généralement, on parcourt les étapes suivantes:

 Etablir un dictionnaire des données (les noms  de différentes propriétés, leur nature,..

voir DD).

 Rattacher des propriétés à chaque entité.

 Etablir un identifiant pour chaque entité.

 Définir les associations.

 Rattacher, éventuellement, des propriétés aux associations.

 Construire le schéma du modèle conceptuel de données.  Calculer les cardinalités.

En résumé, nous pouvons vérifier le MCD obtenu en appliquant les règles suivantes :

Règle1 : Toutes les propriétés doivent être élémentaires.

Règle2 : Chaque entité doit posséder un identifiant et un seul.

Règle3 : L’identifiant détermine d’une manière unique toutes les propriétés de l’entité.

Règle4 : Une propriété ne peut qualifier qu’une seule entité ou qu’une seule association. Règle5 : Les propriétés d’une association doivent dépendre de la totalité des identifiants des entités participantes. 

Chapitre4 : Le Modèle logique de données (relationnel)

1. Introduction

Après avoir conçu le Modèle Conceptuel de Donnée (MCD), l’étape suivante est de le transposer en Modèle Logique de Données Relationnelles (MLDR). Ce MLD est en fait le dernier pas vers le Modèle Physique de donnée (MPD), c'est à dire la description de la base qui va être créée. Après avoir définis les notions de clé primaire et de clé étrangère, nous appliquons les règles nécessaires et suffisantes pour passer d'un MCD à un MLD relationnel.

2.Le Modèle relationnel. 

Ce modèle crée par le mathématicien CODD s’inspire du concept  mathématique de relation.      

Une relation ? est représentée comme un tableau de données, d’où l’appellation de table.

Toute colonne d’une relation s’appelle attribut (ou encore champ). Un attribut est, également, caractérisé par un nom.

Exemple. Considérons les domaines Couleur = {Rouge, Vert, Bleu} et Constructeur =

{Fiat, Renault, Volvo, Opel}. Considérons la relation Voiture définie par Voiture = {(Rouge, Fiat), (Rouge, Renault), (Vert, Opel), (Bleu, Opel)}. Cette relation peut s’écrire, encore, sous la forme :

Voiture

Couleur_Voiture

Marque

Rouge

Peugeot

Rouge

Renault

Vert

Renault

Bleu

Mercedes

Cette relation a le nom Voiture et les attributs Couleur_Voiture et Marque. L’attribut Couleur_Voiture est un sous - ensemble du domaine Couleur et l’attribut Marque est un sous - ensemble du domaine Constructeur. Une ligne de la table s’appelle tuple (ou n-uplet)  ou encore, par abus de langage, enregistrement ou occurrence.

Une relation est représentée par son nom suivi de la liste de ses attributs. Par exemple la relation Voiture s’écrit : Voiture(Couleur_Voiture, Marque). 

Clé. On entend par clé un ou plusieurs attributs permettant d’identifier un tuple unique de la relation. Deux tuples ne peuvent pas avoir une même valeur pour la clé.

Exemple.         Redéfinissons la relation Voiture de la manière suivante :

Voiture

N_Immatriculation

Couleur_Voiture

Marque

1391-A-15

Rouge

Peugeot

2900-A-17

Rouge

Renault

2999-B-22

Vert

Renault

2800-A-15

Bleu

Mercedes

Cette relation a comme clé l’attribut N_Immatriculation. Il est évident qu’il n’existe pas deux voitures ayant un même numéro d’immatriculation.

Une clé peut être constituée de plusieurs attributs. 

Exemple :

SuivreCours

CodeEtudiant

CodeCours

Date

C002

01

12/2/2012

C003

02

14/2/2012

C002

03

13/2/2012

C004

01

12/2/2012

C004

02

14/2/2012

La clé de cette relation est {CodeEtudiant, CodeCours} On écrira la relation ainsi :

SuivreCours(CodeEtudiant, CodeCours, Date). La clé est soulignée.

3.Règles de  passage du modèle entité - association au modèle relationnel.  

3.1. Une entité se transforme en une relation (table)

Toute entité du MCD devient une relation du MLDR, et donc une table de la Base de

Données. Chaque propriété de l'entité devient un attribut de cette relation, et dont une colonne de la table correspondante. L'identifiant de l'entité devient la Clé Primaire de la relation (elle est donc soulignée), et donc la Clé Primaire de la table correspondante.

Client (NumClient, Société, Contact, Fonction, Adresse, Ville)

3.2. Relation binaire aux cardinalités (X,1) - (X,n), X= {0 ou 1} 

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

Exemple

Commande

#NCommande

DateCommande

MLD :            Client (Nclient, Société, Contact, Fonction, Ville)

                        Commande (NCommande, DateCommande, #Nclient)

Modèle physique de donnée (MPD) 

3.3. Relation binaire aux cardinalités (X,n) - (X,n), X= {0 ou 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. 

Exemple

MLD : COMMANDE (NCommande, DateCommande) 

               PRODUIT (Nproduit,NomProduit) 

               DétailCom (NCommande, Nproduit, quantité, PrixUnitaire)

MPD

3.4.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. 

Exemple

Langue

#NLangue

NomLangue

MLD : ETUDIANT (NEtudiant, NomEtudiant) 

              NIVEAU (NumNiv, NomNiv) 

              LANGUE (NLangue, NomLangue) 

PARLE (NEtudiant, NumNiv, NLangue)

MPD

3.5.Association Réflexive. 

•    Premier cas : cardinalité (X,1) - (X,n), avec X={0 ou 1}.

La Clé Primaire de l'entité se dédouble et devient une Clé Etrangère dans la relation ou nouvelle table. Exactement comme si l'entité se dédoublait et était reliée par une relation binaire (X,1) - (X,n) (Cf  règle 2). 

Exemple 

Une société est organisée de manière pyramidale : chaque employé a 0 ou 1 supérieur hiérarchique direct. Simultanément, chaque employé est le supérieur hiérarchique direct de 0 ou plusieurs employés.

MLD:   EMPLOYE (idEmploye, NomEmploye, #idSup) 

 idSup correspond à l'identifiant (idEmploye) du supérieur hiérarchique direct de l'employé considéré.

•    Deuxième cas : cardinalité (X,n) - (X,n), avec X={0 ou 1}. 

De même, tout se passe exactement comme si l'entité se dédoublait et était reliée par une relation binaire (X,n) - (X,n) (règle 3). Il y a donc création d'une nouvelle table. 

Exemple 

Uue personne a 0 ou n descendants directs (enfants), et a aussi 0 ou n descendants indirects (enfants).

MLD :  PERSONNE (NPersonne, NomPersonne) 



               PARENTE (NParent, idEnfant

NParent est l'identifiant (NPersonne) d'un ascendant direct de la personne. idEnfant est l'identifiant (NPersonne) d'un descendant direct de la personne. 

La table PARENTE sera en fait l'ensemble des couples (parents-enfants) présents dans cette famille.

3.6.Relation binaire aux cardinalités (0,1) - (1,1). 

La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Etrangère dans la table à la cardinalité (1,1): 

Exemple

MLD:   ANIMATEUR (idAnimateur, NomAnimateur)

                GROUPE (idGroupe, NomGroupe, #idAnimateur)

Chapitre5 : Le langage de manipulation de données SQL

1. Introduction

Structured Query Langage (Langage structuré de requêtes) est un langage de manipulation de données (LMD) relationnelles.

Ce langage permet de spécifier les données à sélectionner ou à mettre à jour à propriétés de valeurs, sans dire comment retrouver les données.

Les opérations utilisées sont en général celles des langages dits assertionnels. 

Plusieurs langages permettent de manipuler les bases de données relationnelles ont été proposés, en particulier Quel, QBE et SQL.

Aujourd’hui, le langage SQL est normalisé et est le standard d’accès aux bases de données relationnelles.

Ce langage a pour objectif d’être facilement utilisé par le programmeur, ses fonctionnalités sont plus larges que celles du langage algébrique, il comprend les fonctions :

•    Description

•    Recherche

•    Mise à jour

•    Confidentialité et cohérence.

Nous allons étudier dans ce cours la partie Recherche (ou sélection) du LMD SQL. 

2. RECHERCHE

C’est la fonction d’interrogation faisant intervenir l’opération de sélection.

Une requête de recherche SQL utilise une ou plusieurs relations en entrée pour afficher le résultat sous forme d’une relation en sortie.

        2.1.    Format général d’une requête

Rappelons qu’une projection effectue l’extraction de colonnes (attributs) spécifiés d’une relation, puis élimine les attributs en double. SQL n’élimine pas les doubles à moins que ceci soit demandé par le mot clé DISTINCT. La projection sous SQL rend possible l’utilisation des fonctions de calculs sur les colonnes (attributs) extraites. Les fonctions de calculs utilisées sont en particulier les fonctions arithmétiques.

Syntaxe : 

SELECT [ALL / DISTINCT] { <EXPRESSION DE VALEURS> / * }

FROM <LISTE_RELATION >

[ WHERE <CONDITIONS>] ;

Une expression de valeurs peut être la liste des attributs ou des expressions arithmétiques.

*           indique tous les attributs.

Exemple : Soit la relation Voiture (NIMM, marque, modèle, prix, couleur, achat)  Un extrait de la table voiture est le suivant :

La requête SQL pour afficher la liste des voitures :

SELECT *

FROM VOITURE ; 

Cette requête affiche à l’écran les 9 tuples de la table voiture.

Il est possible aussi de mentionner certains attributs à afficher et de préciser les tuples vérifiant une condition.

Exemple

La requête SQL pour afficher le prix et le modèle des voitures de marque « Renault » :

SELECT PRIX, MODÈLE`

FROM VOITURE`

WHERE MARQUE = "RENAULT" ;

Le résultat affiché à l’écran de cette requête est le suivant :

Une condition peut être simple ou composée.

Une condition composée utilise les opérateurs logiques And, Or et/ou  Not.

Exemple

La requête SQL pour afficher le modèle, le prix et le prix TTC des voitures de marque « Renault » de prix HT inférieur ou égale à 25 millions.

SELECT MODÈLE , PRIX, PRIX * 1.2 AS TTC

FROM VOITURE

WHERE (MARQUE = ‘’RENAULT’’)  AND (PRIX <= 25); Le résultat affiché à l’écran de cette requête est le suivant :

Dans la clause Select de cette requête affiche une expression calculée (prix * 1,2) , elle est nommée TTC en utilisant « As ».

La condition de la clause Where est composée, l’utilisation de parenthèses est recommandée.

        2.2.    La clause distinct

Exemple : Pour afficher les marques des voitures, nous pouvons écrire la requête SQL suivante :

SELECT MARQUE Le résultat affiché à l’écran est le suivant : FROM VOITURE;

Ceci est équivalent à la requête suivante : 

Select ALL (Marque) from voiture ;

ALL est pris par défaut

Pour éliminer les doublons au niveau de l’affichage, nous utilisons la clause distinct.

La requête SQL correspondante est :

SELECT  DISTINCT ( MARQUE )

FROM VOITURE;

Remarque : Distinct s’applique sur le tuple entier  de la table voiture.

Exemple : Pour afficher les différentes marques et modèles des voitures

La requête SQL est : 

SELECT DISTINCT (MARQUE) , MODÈLE

FROM VOITURE;

Le résultat affiché est le suivant :

Remarque : Les doublons sur la marque ne sont pas éliminés si le modèle est différent.

        2.3.    Trier un résultat

Pour donner un ordre au tuples affichés, la clause order by peut être utilisée.

Syntaxe :         Order by attribut1 [asc/dec], attribut2 [asc/dec],…

L’affichage est effectué selon un ordre défini pour le premier attribut (attribut1), le second attribut (attribut2) est trié par rapport aux valeurs identiques du premier attribut,…

Asc : ordre croissant pris par défaut

Desc : ordre décroissant.

Exemple : Pour afficher  les NIMM, marque et modèle des voitures dans l’ordre de la date d’achat.

Exemple : Pour afficher les marque, modèle , couleur et prix des voitures par ordre croissant de marque et décroissant de prix.

        2.4.    Fonctions agrégats

Ce sont les fonctions d’évaluation d’ensembles.

AVG(n) 

:

Donne la moyenne des valeurs de n

Count(n) 

:

Donne le nombre de tuples

Max(n) 

:

Donne la plus grande valeur de n

Min(n)  

:

Donne la plus petite valeur de n

Sum(n) 

:

Donne la somme des valeurs de n

Count(*) 

:

Donne le nombre de tuples qui satisfont la condition.

Attention : une fonction agrégat est utilisée dans un select 

(Jamais dans un Where)

Exemple : Pour afficher le nombre de voitures de marque « Peugeot ».

La requête SQL est la suivante :

SELECT  COUNT(*) AS NOMBREPEUGEOT 

                         FROM VOITURE        

WHERE MARQUE = "PEUGEOT"; 

Exemple : Pour afficher le prix minimal et le prix maximal des voitures.

La requête SQL est la suivante :

SELECT MIN(PRIX) AS PMIN, MAX(PRIX)AS

PMAX 

FROM VOITURE; 

        2.5.    Les sous relations

Syntaxe: Group by <liste_attributs> [Having <condition>] ;

Group by partitionne la relation en sous relations tel que chacune ait pour l'attribut indiqué par group by la même valeur.

Having a la même fonction que where, ne garde que les sous relations qui satisfont la condition.

Where est appliqué à la relation entière avant la partition (création des sous relations) 

Having est appliqué à chaque sous relation, après donc la partition.

Exemple : Pour afficher le nombre de voitures de chaque marque.

La requête SQL est la suivante :

SELECT  MARQUE, COUNT(*)AS NOMBRE

FROM VOITURE

GROUP BY MARQUE; 

Pour exécuter cette requête, le système crée des sous relations pour chaque marque, une sous relation a pour l’attribut marque la même valeur et ensuite, dans chaque sous relations, il compte le nombre de tuples cad le nombre de voitures d’une même marque.

Remarque : un attribut mentionné dans la clause « group by » doit exister dans la clause « Select ».

Exemple : Modifier la requête précédente pour afficher le nombre de voitures de chaque marque ayant un prix minimale inférieur à 20 millions

La requête SQL est la suivante :

SELECT  MARQUE, COUNT(*)AS NOMBRE

FROM VOITURE

GROUP BY MARQUE

HAVING MIN(PRIX) < 20; 

Remarque : il est possible d’utiliser une fonction agrégat dans la clause « Having ».

        2.6.    Les requêtes multi-relations (jointures)

Une requête multi_relation peut s’écrire sous deux formes :

 Forme procédurale (FP) Des requêtes imbriquées utilisant l’opérateur in. Dans chaque requête, une seule table est utilisée à la fois. 

 Forme relationnelle (FR) Une seule  requête. Il est possible d’utiliser plusieurs tables dans la clause « From ».

Dans le cas ou nous avons une liste de relations, il peut être nécessaire de préciser à quelle relation appartient chacun des attributs. Cette ambiguité est levée de deux manières : utilisation de variables de désignation ou des noms de relations,

Exemple : soit le schéma relationnel suivant :

Voiture( NIM , marque, modèle , prix , option)                                                                               

Client(CIN , nom , ville , telephone)

Appartenir ( CIN , NIM)

Pour désigner l’attribut NIM de la relation Voiture, on peut écrire ou bien utiliser une variable de désignation V pour voiture par exemple et écrire V.NIM.  

Exemple : donner le nom des clients ayant des voitures de modèle 307 et de marque Peugeot.

Forme Procédurale :

Select nom

From client

Where cin in  (select cin

                          From Appartenir

                          Where NIM in  (select NIM

                                                              From voiture

                                                                       Where (modele=“307”) and 

                                                                                   (marque=“Peugeot”));

Forme relationnelle :

Une seule expression de sélection ( 1 seul SELECT)

Select nom

From client , Appartenir  , Voiture 

Where ( = ) and ( = ) and (modele=“307”) and (marque=“Peugeot” );

Ou bien, en utilisant des variables de désignation :

Select nom

From client C , Appartenir A , Voiture V

Where (C.cin = A.cin) and (A.NIM = V.NIM) and (modele=“307”)                  and (marque=“Peugeot” );

Exemple : Soit le schéma relationnel suivant :

Matière (Mcode, Titre, niveau)

VolumH (Mcode, Type, Nbh)

Un extrait de ces tables est le suivant :

Question : Donnez pour chaque matière: le code, le titre, le niveau et les volumes horaire (cours , td et/ou TP)

Cette requête doit afficher des attributs de la table matière et des attributs de la table VolumeH. Il faut donc réaliser une jointure entre les deux tables.

Forme relationnelle :

SELECT  *

FROM MATIÈRES        , VOLUMEH

WHERE  (MATIÈRES.MCODE =

VOLUMEH.MCODE);

Ou bien

SELECT  *

FROM MATIÈRES    M    , VOLUMEH V

WHERE  (M.MCODE = V.MCODE);

Forme procédurale :

SELECT  *

FROM MATIÈRES

WHERE MCODE IN (SELECT MCODE

FOM VOLUMEH);

Le résultat affiché de cette requête :

Question : Donnez le code des matières réalisées en cours et aussi en TP.

La requête SQL est la suiavnte :

SELECT X.MCODE

FROM VOLUMEH X, VOLUMEH Y

WHERE (X.TYPE = "COURS") AND (Y.TYPE = "TP") AND (X.MCODE = Y. MCODE);

        2.7.    Les opérateurs ANY, ALL, IN

Soit x l'élément (attribut(s) ou expression(s) retournant une valeur simple),

Soit E l'ensemble des valeurs retournées par la sous requête ou une énumération de valeurs.

Soit opc les opérateurs de comparaison.

Syntaxe :

X opc ANY (requête) retourne vrai si ? y ? E tel que x opc y, retourne faux sinon

X opc ALL(requête) retourne vrai si ? y ? E tel que x opc y, retourne faux sinon  X in (requête) retourne vrai si x ? y ? y ? E, retourne faux sinon.

Les travaux dirigés

Modélisation conceptuelle et logique : MCD & MLD

Sujet 1: Gestion d'un pressing

Un nouveau pressing s’est installé à Fès, il a instauré un système de carte magnétique qui fonctionne de la manière suivante : 

Chaque client dispose d’une carte lors de sa première visite. Les clients doivent présenter leurs cartes à chaque visite.

Quand un client apporte des vêtements à nettoyer, l’employé du pressing lui demande sa carte afin d’y inscrire le numéro du vêtement apportés et la date de remise. 

Le client paie le montant dû et l’employé lui remet une facture datée correspondant aux vêtements déposés pour le nettoyage. 

Les vêtements sont classés par type (pantalon, veste, jupe, ….) et nettoyés suivant la qualité demandée (standard, luxe, …). 

Le prix à payer pour un vêtement dépend du type de vêtement et de la qualité demandée 

Le prix peut varier aussi en fonction de la période, tous les six mois le pressing envoie à ses clients ayant au moins utilisé 3 fois le service « qualité luxe » une offre spéciale de réduction de prix d’une durée limitée. 

A partir de la date de remise des vêtements du client, quand celui- ci vient les chercher, il glisse sa carte dans l’automate et ses vêtements lui sont automatiquement présentés.

Nb : Les identifiants des entités sont de type numérique. 

Sujet 2 : Gestion des stages

Chaque année, le département « Relations Extérieures (RE) » de l'école doit organiser les stages de ses étudiants. Chaque étudiant doit effectuer un stage d’une durée fixée pour chaque niveau dans une entreprise avec laquelle un accord est signé par l'école. Pour cela, le département « RE » dispose d'une liste d'entreprises ayant déjà proposé des stages, et leur écrit pour les inciter à renouveler leurs propositions. Au vu de celles-ci, les étudiants prennent contact avec les entreprises qui les intéressent. Quand les conventions de stage sont signées, chaque stagiaire se voit désigner un enseignant pour l'encadrer en stage, appelé  parrain de l'étudiant. Le parrain doit veiller au bon déroulement du stage et aller rendre visite à l'étudiant dans son entreprise d'accueil. Chaque enseignant du département doit ainsi, quelle que soit sa spécialité, encadrer au moins 4 étudiants. Afin de mieux répartir les enseignants, le chef de département « RE » doit connaître les entreprises que les enseignants ont déjà visitées lors des stages des promotions précédentes. Le département « RE » dispose des renseignements suivants:

-       pour chaque entreprise, le département enregistre son nom, son adresse, son type (publique, de service, etc.), le nom de la personne de l'entreprise qui assure le contact avec le département « RE » de l’école.

-       pour chaque étudiant, le département « RE » enregistre son numéro, son nom, sa date de naissance, son niveau, son groupe et, quand sa convention de stage est signée, le nom de son entreprise d'accueil et la date de signature de la convention, puis le nom de son parrain.

-       Pour chaque enseignant, son nom, son prénom, sa fonction, son numéro de téléphone, les entreprises qu'il a déjà visitées, avec pour chacune l'année de sa dernière visite.

Une entreprise peut accueillir plusieurs étudiants. Dans ce cas, tous les stagiaires de l'entreprise n'ont pas nécessairement le même parrain. 

Travail à faire.   

Pour chaque sujet ci-dessus,

1.   Présenter le dictionnaire des données, préciser les entités et leurs propriétés

2.   Définir les associations et les entités reliées

3.   Définir les cardinalités

4.   Elaborer le schéma du modèle conceptuel des données. 

5.   Donner le MLD correspondant à votre MCD, préciser les clés primaires et les clés étrangères.

Manipulation de données : Le langage SQL

Sujet1 : Scolarité

Considérons une base de données permettant la gestion des stages effectués par les étudiants. Le schéma relationnel de cette base de données est le suivant :

Etudiant (NumEtud , NomEtud , PrénomEtud , DateDébut , codeNiv , codeEse , NumProf)

NiveauEtude (codeNiv , Niveau , TypeStage , Durée)

Professeur (NumProf  , NomProf , PrénomProf)

Entreprise (codeEse , RaisonSociale , Adresse , Téléphone , Ville )

La description des tables :

Table1 : Etudiant

Champs

Type du Champ

Description

NumEtud

Numérique (entier)

Numéro de l’étudiant : clé primaire

NomEtud

Texte (50)

Nom de l’étudiant

PrénomEtud

Texte (50)

Prénom de l’étudiant

DateDébut

Date

Date de début du stage

codeNiv

Numérique (Octet)

Code du niveau compris entre 1 et 5

codeEse

Numérique (entier)

Code identifiant chaque entreprise

NumProf

Numérique (Octet)

Numéro du professeur encadrant

Table2 : NiveauEtude

Champs

Type du Champ

Description

codeNiv

Numérique (Octet)

Code du niveau : clé primaire

Niveau

Texte (20)

Première à cinquième année

TypeStage

Texte

Stage ouvrier, Stage initiation, …

Durée

Numérique (entier)

Durée de stage exprimé en nombre de jours

Table3 : Professeur

Champs

Type du Champ

Description

NumProf

Numérique (Octet)

Numéro du professeur encadrant : clé primaire

NomProf

Texte (50)

Nom du professeur

PrénomProf

Texte (50)

Prénom du professeur

Table4 : Entreprise

Champs

Type du Champ

Description

codeEse

Numérique (entier)

Code identifiant chaque entreprise

RaisonSociale

Texte (50)

Nom de l’entreprise

Adresse

Texte

Adresse de l’entreprise

Téléphone

Texte

Numéro de téléphone de l’entreprise

Ville

Texte

Ville de l’entreprise

Travail à faire 

1.   Afficher les entreprises implantées à Fès. La requête doit afficher pour chaque entreprise : son code, sa raison sociale et son téléphone.

2.   Afficher le nom des professeurs (différents) qui encadrent des étudiants de niveau 4.

3.   Afficher la durée maximale d’un stage.

4.   Afficher les étudiants classés par ordre croissant qui passent leurs stages à Fès. La requête doit afficher pour chaque étudiant : son numéro, son nom, son prénom, son niveau et la raison sociale de l’entreprise ou il passe son stage.

5.   Afficher le nom et le niveau des étudiants ayant commencé leur stage le 01/04/2014.

6.   Afficher les étudiants ayant fini leur stage. La requête doit afficher le nom de l’étudiant, son prénom, son niveau et la raison sociale de l’entreprise.

7.   Afficher pour chaque professeur, la liste des étudiants qu’il encadre. La requête doit afficher le nom du professeur (classé par ordre alphabétique croissant), le niveau de l’étudiant (classé par ordre numérique décroissant) et le nom de l’étudiant (classé par ordre alphabétique croissant).

8.   Reprendre la question7 en considérant le nom du professeur comme paramètre saisi au clavier.

9.   Afficher le nombre d’entreprises par ville.

10.  Afficher le nombre d'étudiants par niveau.

11.  Donner pour chaque professeur le nombre d’étudiants qu’il encadre. La requête doit afficher le nom du professeur, son prénom et le nombre de ses étudiants.

12.  Donner le nom des entreprises qui ont accepté plus de 4 étudiants de niveau 4.

Sujet2 : Musique sacrée

L'office de tourisme de la ville de Fès utilise un système de gestion de base de données relationnelle pour gérer les diverses manifestations culturelles organisées dans la région. Il dispose actuellement d'une base de données concernant le Festival de musique sacrée et  comportant les tables suivantes (dans lesquelles les attributs Clé sont soulignés).

Concert 

( Cnum ,  Cdate ,  Chef ,  Lieu )

Œuvre 

( Onum ,  Onom ,  Compositeur ,  Forme , Cnum )

Jouer  

( Onum ,  Snum )

Soliste 

( Snum ,   Snom ,  Type )

Place  

( Lieu ,    Confort ,  Visibilité , Prix )

Cnum est un entier identifiant le concert,  Cdate correspond à la date de début du concert,

Chef est une chaîne de caractères identifiant le chef qui dirige les concerts et lieu désigne le lieu où se déroule le concert (ex:‘Bab El Makina’ , ‘Batha’, Oualili’, …).

Onum est un entier identifiant l'œuvre, Onom est une chaîne de caractères qui désigne le nom de l'œuvre, le compositeur de l'œuvre  sur 10 caractères, la forme est le genre musical (ex: concerto, œuvre symphonique, chant,..).

Snum est un entier identifiant le soliste (musicien jouant seul), Snom est le nom du soliste et type est une chaîne de caractères permettant de classer les solistes,

Confort correspond au confort de place (ex: tribune, serie1, ), la visibilité est définie par deux caractères (ex : 'sv' pour sans visibilité, 'vp' pour visibilité partielle et 'vt' pour totale ) et prix correspond au prix de la place qui dépend du lieu du concert et du confort souhaité.

Pour chacune des questions de suivantes, donnez la requête en SQL.

1.    Donnez la liste des concerts qui ont lieu au "Musée Batha"

2.    Donnez par ordre alphabétique croissant le nom des œuvres dirigés par le chef « Salanne ».  3.Donnez le numéro, date et lieu des concerts dans lesquels a joué le soliste de nom « Barbara Hyndriks ».

4.    Donnez le nom des solistes qui ont joué dans une œuvre symphonique.

5.    Donnez pour chaque lieu, le prix minimal, le prix maximal et le prix moyen d'une place.

6.    Donnez pour chaque lieu, le nombre de concerts ayant un prix moyen <= 200DH.

7.    Donnez pour un lieu donné, le numéro, la date par ordre croissant et le prix des concerts de visibilité totale.

8.    Donnez le numéro, le lieu et le prix des concerts qui se sont passés il y a exactement 7 mois. 

Travaux Pratiques  sous ACCESS

Atelier1 : Création d’une Base de Données

I-  Création d’une nouvelle base de données :

Dans un dossier portant votre nom, créer une nouvelle base de données

II-    Création  des tables en mode « Création » Table1 :

Dans la base de données créee, utiliser le mode création pour créer une Table nommée « Client » avec les champs suivants et avec les types de données appropriés.

Nom du champ

Type de données

Taille

Liste de choix

Nclient

Numérique

octet

nomclient

Texte

50

Prefixe

Texte 

4

Liste déroulante, valeurs : Mr ; Mme ; Mlle 

Contact

Texte

50

Adresse

Texte

255

Ville

Texte 

10

Liste déroulante, valeurs : (voir plus loin)

Figure1

Comment créer une liste déroulante ou une liste de choix ?

-    En mode création sélectionner le champ en question

-    Dans la partie inférieure de l’écran choisir l’onglet « Liste de choix » 

-    Dans la ligne « Origine source », choisir « Liste valeur »

-    Dans la ligne « contenu », saisir les valeurs de votre liste de choix séparées par des points-virgules (Voir Figure-1) o Pour le champ « Préfixe » les valeurs sont : Mr ; Mme ; Mlle

o Pour le champ « ville » les valeurs sont : Casablanca; Rabat; Mohammedia; Fès; Tanger; Oujda; Marrakech; Agadir.

III- Création d’une clé primaire

1.  La table est ouverte en mode création

2.  Sélectionner le champ devant être clé primaire de chaque table de votre base de données 

3.  Cliquer sur le bouton clé de la barre d’outils comme le montre la figure_2

-    Figure-2

Remplir ensuite le tableau avec les données suivantes:

Table2 :

Dans la même base de données, cliquer sur « création de table » dans le menu « créer » pour créer la Table nommée « Articles » avec les champs suivants et avec les types de données appropriés.

Nom du champ

Type de données

Taille

Format

codeArticle

Texte

4

Description

Texte

100

Prix

Numérique

Réel simple

Monétaire avec DH

fourniPar

Texte

50

Comme le montre la figure suivante :

Figure_3

Comment personnaliser l’écriture monétaire ? :

-    En mode création sélectionner le champ en question

-    Dans la partie inférieure de l’écran choisir l’onglet « Général»

-    Dans la ligne « Format » choisir la monnaie en question ou bien saisir  «  # ##0,00"  DH"  » (Voir Figure-4)

Figure-4

Passer en mode Feuille de données et remplir le tableau

Créer dans la même base de données la table nommée « Commandes » avec les champs suivants et avec les types de données appropriés.

Nom du champ

Type de données

Taille

ncommande

Numérique

Entier 

dateCommande

Date/Heure

nclient

Numérique

Octet

article

Texte

4

quantité

Numérique

Octet

importé

Oui/Non

Comme le montre la figure suivante :

Figure_5

Passer en mode Feuille de données et remplir le tableau suivant:

IV. Création des relations 

1.   Fermer toutes les tables

2.   Dans l’onglet « Outil de base de données » cliquer sur le bouton « Relation » (voir figure_6)

3.   Dans la boite de dialogue qui s’affiche, double-Cliquez sur la 1ère table à lier puis sur la 2ème table puis sur la 3ème et fermer la boite.

4.   Dans la nouvelle boite de dialogue affichant les champs des 2 tables, Faites glisser le champ comportant la clé primaire sur le champ homologue de l’autre table (clé étrangère). 

5.   Dans la boite de dialogue qui apparaît, cocher la case "Appliquer l'intégritéréférentielle" et cliquer sur Créer (figure-7)

Figure-6

Figure-7 Le résultat des relations est le suivant :

Figure-8

Nb : L’attribut clé primaire et celui de clé étrangère doivent avoir exactement le même type.

Une valeur ne peut apparaître dans la clé étrangère si elle n’existe pas dans la clé primaire. 

Atelier2 : Manipulation des données : Le langage SQL

1.  Donnez le numéro et nom des clients originaires de « Casablanca » classés par ordre alphabétique croissant (nom).

2.  Donnez la description et le code article dont le prix est supérieur à 150 DH.

3.  Donnez la liste des articles fournis par « Super info ».

4.  Donnez le numéro et la date des commandes du client n°1.

5.  Donnez la liste des articles (code, description, prix et prixTTC 20% de TVA) dont le prix est compris entre 200 DH et 500 DH. Afficher le résultat par ordre décroissant de prix.

6.  Donnez la liste des commandes (numéro, date et article) contenant des articles importés ayant été passés le mois de septembre. 

7.  Donnez le nombre de commandes de chaque client.

8.  Donnez le numéro des clients ayant passé plus de deux commandes.

9.  Donnez la liste des commandes (numéro, date, numéro de client et nom) des clients originaires de « Agadir ».

10. Donnez la liste des articles (code et description) d’un fournisseur donné [paramètre saisi au clavier].

11. Donnez le nom des clients et personne à contacter (avec préfixe) ayant commandés des articles importés.

12. Donnez le prix minimal et le prix maximal des articles commandés.

13. Donnez pour chaque client, son numéro, son nom et le montant à payer pour toutes ses commandes.



ont - onto  tiré du grec õn, ontos - l’être, ce qu’il est, donc ontologique = relatif à l’être, en tant que tel



406