UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE. IFT 159 - Analyse et programmation



Documents pareils
Bases de Données relationnelles et leurs systèmes de Gestion

II. Modèle conceptuel le modèle entité-association

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Création et Gestion des tables

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Le Langage De Description De Données(LDD)

Olivier Mondet

1/ Présentation de SQL Server :

1 Position du problème

TP3 : Creation de tables 1 seance

Intégrité des données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Gestion de base de données

Langage SQL : créer et interroger une base

Modèle conceptuel : diagramme entité-association

Exploitation de bases de données relationnelles et orientées objet IFT287

Auto-évaluation Oracle: cours de base

Historisation des données

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Corrigés détaillés des exercices

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Le langage SQL (première partie) c Olivier Caron

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Pour les débutants. langage de définition des données

Bases de données relationnelles

Intégrité sémantique dans les bases de données relationnelles

TP Contraintes - Triggers

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Compétences Business Objects

I4 : Bases de Données

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Mejdi BLAGHGI & Anis ASSÈS

Les médicaments génériques

Cours Bases de données 2ème année IUT

UML et les Bases de Données

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

BASES DE DONNEES TP POSTGRESQL

CREATION WEB DYNAMIQUE

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

A QUOI SERVENT LES BASES DE DONNÉES?

Application web de gestion de comptes en banques

MySQL / SQL EXEMPLES

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

Introduction au Système de Gestion de Base de Données et aux Base de Données

Bases de données relationnelles & SQL

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

PHP 5. La base de données MySql. A. Belaïd 1

Modélisation et Gestion des bases de données avec mysql workbench

Développement de base de données Microsoft SQL Server Durée : 5 jours Référence : DPSQL12. Contenu

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

SUPPORT DE COURS / PHP PARTIE 3

OpenPaaS Le réseau social d'entreprise

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

FileMaker 13. Guide de référence SQL

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

SQL Server ressource SOMMAIRE

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin

Bases de données. Mihaela Mathieu

DOSSIER-TYPE DE DEMANDE D AUTORISATION DE CREATION D UN SITE INTERNET DE COMMERCE ELECTRONIQUE DE MEDICAMENTS HUMAINS

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Logiciel de gestion pour restaurants et Bars

Modélisation des données

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Les BASES de DONNEES dans WampServer

SQL Server Cyril Gruau. 11 février 2003

SQL Server 2000, Analysis Services et DTS

Optimisations des SGBDR. Étude de cas : MySQL

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Formulaire de demande et de consentement du programme de paiement par mensualités de la franchise du Régime d assurance-médicaments

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de Données Avancées

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

NE/NCF Secteur d activité. Titre de la personne-ressource. Titre Nom Prénom. Envoyez le courrier à l adresse légale

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

ETUDIER À L ÉTRANGER BELGIQUE

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Pratique et administration des systèmes

Comment personnaliser la présentation de mes factures, bons de préparation et de livraison?

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

Data Tier Application avec SQL Server 2008 R2

SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : , ISBN 13 :

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée:

Ora2Pg Performances. (C) 2013 Gilles Darold

Groupe 11 TABLE DES MATIERES

Reporting et Décisions 100

I. MySQL : Serveur et SGBD

Transcription:

UNIVERSITÉ DE SHERBROOKE DÉPARTEMENT D INFORMATIQUE IFT 159 - Analyse et programmation Devoir session Base de données Travail présenté à Marc Frappier Par Olivier Charbonneau Clément Zotti le 29 mars 2012

Description du système : La pharmacie gère, des clients, des employés, des produits, des commandes, des réservations, des fournisseurs, des caisses, des assurances et des ordonnances. Un client possède une assurance, des ordonnances et une identité unique. Il peut aussi passer une réservation («téléphone», «en ligne», «sur place») a un employé. Un employé possède une identité unique, une caisse qui lui est associé, et une fonction («gérant», «caissier», «livreur») avec plusieurs taches. Il peut aussi produire une facture pour une réservation, mettre à jour les produits de la pharmacie, passé des commandes aux fournisseurs et valider les ordonnances des clients (en fonction de sa fonction). Les réservations passées à la pharmacie peuvent être livré ou alors prise sur place. Le fournisseur en fonction de la commande qu un employé lui passe livre les produits à la pharmacie. Le système doit permettre de connaitre toutes les ordonnances d un client, et de savoir leur état («valide», «pas valide»). Il doit aussi permettre de connaitre tout les commandes qu un employé passe à un fournisseur et de connaitre la quantité et le produit livré.

Employe noemploye(c1) TauxHoraire DateEmbauche DateDebauche Client noclient(c1) Fournisseur nofournisseur(c1) nom typef Produits noproduit(c1) prix nom description surordonnance Quantité Facture nofacture(c1) QuantiteProduit DateFacture Commande nocommande(c1) quantité DateLivraison Fonction nofonction(c1) nom Reservation noreservation(c1) typereservation DateReservation Identité NAS(c1) Prenom Initiale Ordonnance noordonnance(c1) noproduit(c1) posologie etat DateDebut DateFin Assurances noassurance(c1) nom TauxRembourssement Caisse nocaisse(c1) MontantInitial MontantFinal 0..1 0..1 Possède Possède a Valide Possède 0..* 0..*

Description des entités et associations L entité Assurances contient les données de remboursement pour ses clients. L entité Client est une personne qui vient à la pharmacie pour acheter des produits. L entité Identité permet d identifié une personne de manière unique. L entité Caisse contient le montant en argent. L entité Fonction décrit la tache que peut faire un employé. L entité Employé est une personne travaillant à la pharmacie. L entité faible Réservation a pour parent l entité Employé et Client. Elle contient les réservations effectués par un client a un employé. L entité Facture contient les produits achetés par un client. L entité faible Ordonnance contient les médicaments et la posologie pour un client. L entité Produit contient la liste des produits que peut vendre la pharmacie. L entité Fournisseur contient la liste des fournisseurs que la pharmacie possède. L entité faible Commande contient les commandes qu un employé a passé à un fournisseur. L association Assurance-Client, montre qu un client possède une et une seule assurance. L association Client-Identité, montre permet l identification d un client. L association Identité-Employe, permet l identification d un employé. L association Employe-Caisse, permet d associé une caisse à un seul employé. L association Employe-Fonction, décrit les taches que peut faire un employé. L association Ordonnance-Produit, permet d associer plusieurs produit à une ordonnance. L association Commande-Produits, permet d ajouter des produits à une commande. L association Facture-Produits, permet a une facture d avoir plusieurs produit. L association Employe-Ordonnance, permet a l employé de valider l ordonnance fournie par un client. L association Employe-Facture, permet a l employé de produire une facture. L association Facture-Reservation, permet d associé un achat à une facture.

DROP TABLE Identite CASCADE ; CREATE TABLE Identite( NAS VARCHAR(20) NOT NULL, Prenom VARCHAR(20) NOT NULL, Initiale CHAR(2), CONSTRAINT clenas PRIMARY KEY (NAS) DROP TABLE Assurance CASCADE; CREATE TABLE Assurance( noassurance NUMERIC(8), VARCHAR(8) NOT NULL, TauxRemboursement NUMERIC(3,2) CHECK( TauxRemboursement >= 0.00 AND TauxRemboursement <= 1.00), CONSTRAINT cleassurance PRIMARY KEY(noAssurance) DROP TABLE Produit CASCADE ; CREATE TABLE Produit( noproduit Prix NUMERIC(5,2) NOT NULL, VARCHAR(9) NOT NULL, Description VARCHAR(9), SurOrdonnance BOOLEAN, Quantite NUMERIC(5) CHECK( Quantite >= 0.00), CONSTRAINT cleproduit PRIMARY KEY (noproduit) DROP TABLE Client CASCADE; CREATE TABLE Client( noclient NUMERIC(8), NAS noassurance NUMERIC(8), CONSTRAINT cleclient PRIMARY KEY(noClient), CONSTRAINT clefnas FOREIGN KEY (NAS)REFERENCES Identite (NAS), CONSTRAINT clefassurance FOREIGN KEY (noassurance)references Assurance (noassurance) DROP TABLE Fonction CASCADE ; CREATE TABLE Fonction( nofonction VARCHAR(9) NOT NULL, CONSTRAINT clefonction PRIMARY KEY (nofonction) DROP TABLE Caisse CASCADE ; CREATE TABLE Caisse( nocaisse

MontantInitial NUMERIC(4) CHECK( MontantInitial >= 0.00) NOT NULL, MontantFinal NUMERIC(4) NOT NULL, CONSTRAINT clecaisse PRIMARY KEY (nocaisse) DROP TABLE Employe CASCADE; CREATE TABLE Employe( noemploye nofonction nocaisse NAS TauxHoraire NUMERIC(3) CHECK( TauxHoraire >= 0.00) NOT NULL, DateEmbauche DATE NOT NULL, DateDebauche DATE, CONSTRAINT cleemploye PRIMARY KEY(noEmploye), CONSTRAINT cleffonction FOREIGN KEY (nofonction) REFERENCES Fonction (nofonction), CONSTRAINT clefcaisse FOREIGN KEY (nocaisse) REFERENCES Caisse (nocaisse), CONSTRAINT clefnas FOREIGN KEY (NAS)REFERENCES Identite (NAS) DROP TABLE Facture CASCADE ; CREATE TABLE Facture( nofacture noproduit noemploye DateFacture TIMESTAMP NOT NULL, QuantiteProduit NUMERIC(9) NOT NULL, CONSTRAINT clefacture PRIMARY KEY (nofacture,noproduit), CONSTRAINT clefproduit FOREIGN KEY (noproduit)references Produit (noproduit), CONSTRAINT clefemploye FOREIGN KEY (noemploye)references Employe (noemploye) DROP TABLE Reservation CASCADE; CREATE TABLE Reservation( noreservation noproduit noclient noemploye nofacture typereservation VARCHAR(9) CHECK( typereservation = 'internet' OR typereservation = 'magasin' OR typereservation = 'livraison'), DateReservation TIMESTAMP NOT NULL, DateLivraison TIMESTAMP, CONSTRAINT clereservation PRIMARY KEY (noreservation,noemploye,noclient),

CONSTRAINT cleffacture FOREIGN KEY (nofacture,noproduit) REFERENCES Facture (nofacture, noproduit), CONSTRAINT clefemploye FOREIGN KEY (noemploye) REFERENCES Employe (noemploye), CONSTRAINT clefclient FOREIGN KEY (noclient) REFERENCES Client (noclient) DROP TABLE Ordonnance CASCADE ; CREATE TABLE Ordonnance( noordonnance noclient noemploye noproduit Posologie Etat BOOLEAN NOT NULL, DateDebut DATE NOT NULL, DateFin DATE NOT NULL, CONSTRAINT cleordonnance PRIMARY KEY (noordonnance), CONSTRAINT clefproduit FOREIGN KEY (noproduit)references Produit (noproduit), CONSTRAINT clefemploye FOREIGN KEY (noemploye) REFERENCES Employe (noemploye), CONSTRAINT clefclient FOREIGN KEY (noclient) REFERENCES Client (noclient) DROP TABLE Fournisseur CASCADE ; CREATE TABLE Fournisseur( nofournisseur VARCHAR(9), Typef VARCHAR(9), CONSTRAINT clefournisseur PRIMARY KEY (nofournisseur) DROP TABLE Commande CASCADE ; CREATE TABLE Commande( nocommande noproduit nofournisseur noemploye Quantite DateLivraison DATE, CONSTRAINT clecommande PRIMARY KEY (nocommande, nofournisseur, noemploye, noproduit), CONSTRAINT cleffournisseur FOREIGN KEY (nofournisseur) REFERENCES Fournisseur (nofournisseur), CONSTRAINT clefemploye FOREIGN KEY (noemploye) REFERENCES Employe (noemploye), CONSTRAINT clefproduit FOREIGN KEY (noproduit) REFERENCES Produit (noproduit)