Cours de Management des Systèmes d’Information

Slides:



Advertisements
Présentations similaires
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Advertisements

Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Informatique appliquée à la gestion Bases de données www. labri
1 Modéliser Ou comment RE-présenter sa connaissance.
Mon carnet De comportement
Matière/Sources: Daniel Bardou, Julie Dugdale &
Le Modèle Relationnel (Chapitre 4)
Le Modèle Logique de Données
Algèbre relationnelle
Optimisation de Requêtes
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Développement d’applications web
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Eléments d ’algèbre relationnelle
L’utilisation des bases de données
PAFI Référentiel de données par Sonia Watts DGIF (Direction de la gestion et de linformation forestière) 27 octobre 2010 et 3 novembre 2010.
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Algèbre relationnelle
Initiation aux bases de données et à la programmation événementielle
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
1 Introduction : Management des systèmes dinformation version 1.1 du 13 Novembre 2001 Introduction : Management des systèmes dinformation ENSGI Cours MSI.
L’utilisation des bases de données
Modèle Logique de Données
Gestion des bases de données
Management des systèmes d’information Conclusion
SYSTEMES D’INFORMATION
MODELE RELATIONNEL concept mathématique de relation
Staf 2x Cours de bases de données
Algèbre Relationnelle
1.1 LES VECTEURS GÉOMÉTRIQUES
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Inventé par T. Codd (IBM Recherche)
C'est pour bientôt.....
Veuillez trouver ci-joint
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
Introduction : Management des systèmes d ’information
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
Introduction.
CALENDRIER-PLAYBOY 2020.
Initiation MS Access 2010 Requêtes - Sélection (travail en autonomie)
Traduction des opérations sous MySQL
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
L. Gzara, E. Khouri, M Tollenaere 1 MSI 2A ICL – Initiation ACCESS Interfaces 2014 Initiation MS Access 2010 Interfaces – Formulaires Dynamique des données.
Initiation MS Access 2010 Structures – Tables, schémas et Données
Management des Systèmes d’Information (MSI)
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Introduction aux Bases de Données et au langage SQL
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 3
Transcription de la présentation:

Cours de Management des Systèmes d’Information Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Cours de Management des Systèmes d’Information Objectifs : Programmer dans MS-ACCESS (relationnel – SQL) Modéliser, concevoir un SI (UML) : identifier les besoins, réaliser, déployer, récupérer données et +. Préparer les enseignements ERP et PLM de 3ème année Programmation  fin dec : cours et TD en janvier TP et projet Évaluation : - Projet / TP - examen

http://www.g-scop.inpg.fr/~tollenam/msi/ Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 http://www.g-scop.inpg.fr/~tollenam/msi/

Modèle relationnel - SQL Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Modèle relationnel - SQL Historique : E.F. CODD dans les années 70 modèle basé sur la théorie des ensembles des langages pour manipuler les données (SQL) une démarche pour représenter le « monde réel » Nombreux outils : MySQL (logiciel libre) Access (Microsoft) versions 1997 – 2003 – 2007 - 2010 ORACLE (Oracle corp.) SQL Server (Microsoft) Ingres (Computer Associates) http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/sommaire.htm

Qu’est ce qu’un SI ? S . I . Information structurée, bases de données Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Qu’est ce qu’un SI ? Organisations propriétés Constituant S . I . Task 1 Task 2 Task 3 Tâches, processus Quels systèmes ? Information structurée, bases de données

Consulter Ajouter Modifier Supprimer Information structurée, Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Consulter Ajouter Modifier Supprimer propriétés Constituant Quels systèmes ? Information structurée, bases de données

Notion de modèle Qu’est ce qu’un modèle ? (Minsky 1968) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Notion de modèle Qu’est ce qu’un modèle ? (Minsky 1968) http://web.media.mit.edu/~minsky/papers/MatterMindModels.txt A* est un modèle de A pour un observateur O ssi A* aide O à répondre aux questions qu’il se pose sur A. Observateur Modèle Système observé Où sont construites les ailes ?

Concepts de systémique (Lemoigne 1977) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Concepts de systémique (Lemoigne 1977) Système Système de pilotage (ou de décision) Informations traitées Décisions Système d ’informations Informations externes vers l’extérieur collectées Ordres, consignes Système opérant Flux sortants Flux entrants

Définitions : « Domaine » Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : « Domaine » Domaines : Di = {di1, di2, ….. din}, Dj = {d Î R}, Dk = Di x Dj Di défini en extension, Dj et Dk en intention Exemples : D_Num_securite_sociale = { n Î [1013 ; 3.1013]} D_Nom = { chaine de 30 caractères} D_Prenom = { chaine de 20 caractères} D_Code_postal = { chaine de 5 chiffres} D_Telephone = { chaine de 10 chiffres} D_couleur = { bleu, vert, rouge, jaune } D_type_stage = { operateur, Enquete, EDT, inge_adjoint, PFE} D_titre = { chaine de 200 caractères} D_date_début = {date} Pour Excel, Access et ttes les applis Microsoft, du 1er janvier 1900 au 31 décembre 9999 Espace discret (date) ou réel (temps), non Fini !

Premiers éléments Donnée = signe + code Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Premiers éléments Donnée = signe + code exemple : code ASCII (7 bits) ou étendu 12-10-2012 10-12-2012 588 DGA 38 06-88-40-21-15 +33-6-88-40-21-15 1560599131088 156 05 99 131 088 1 500,23 1500.28 Immatriculation : un véhicule immatriculé dans l’Isère avant avril 2009 588 DGA 38 1 56 05 99 131 088 N° SS : un homme de 56 ans né à l’étranger Attention au modèle d'interprétation Mauvaise date (cf ORACLE) mauvaise unité (mm ou inches) (sonde sur Mars) N° de sécurité sociale Information = donnée + modèle d’interprétation

Définitions : « Relations » Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : « Relations » Une relation (ou table) est un sous ensemble d’un produit cartésien de domaines. Une relation est définie par un nom. Le degré d’une relation est égal par définition au nombre de facteurs de ce produit cartésien. Exemples : relations PERSONNE Í D_Num_securite_sociale x D_Nom x D_Prenom x D_Code_postal x D_Telephone STAGE Í D_Num_securite_sociale x D_type_stage x D_Titre x D_date_deb Personne est de degré 5, Stage est de degré 4

Définitions : « Constituants » Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : « Constituants » On appelle constituant (ou colonne ou attribut) d’une relation (ou table) le nom donné à une colonne de la table. On note R+ l’ensemble des constituants de R. Exemples : les constituants d’une relation PERSONNE+ = {Num_securite_sociale, Nom , Prenom , Code_postal, Telephone } STAGE + = { Num_securite_sociale , type_stage , Titre, date_deb } Ou plus simplement PERSONNE (Num_securite_sociale, Nom , Prenom , Code_postal, Telephone) STAGE ( Num_securite_sociale , type_stage , Titre , date_deb )

Définitions : « n-uplets » Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : « n-uplets » Un n-uplet - ou tuple (en anglais), instance, ligne - d ’une relation est un élément de cette relation Exemples : 2 relations PERSONNE Í D_Num_securite_sociale x D_Nom x D_Prenom x D_Code_postal x D_Telephone STAGE Í D_Num_securite_sociale x D_type_stage x D_Titre x D_date-deb

Définitions : propriétés, constituants, n-uplets Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : propriétés, constituants, n-uplets Exemples : 2 relations PERSONNE Í D_Num_securite_sociale x D_Nom x D_Prenom x D_Code_postal x D_Telephone STAGE Í D_Num_securite_sociale x D_type_stage x D_Titre x D_date-deb Constituant propriétés

Définitions : clé, contraintes d’intégrité Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : clé, contraintes d’intégrité Toute relation ou table doit comporter parmi l’ensemble de ses constituants un sous ensemble qui identifie sans ambiguité chaque n-uplet : ce sous ensemble est appelé « clé » de la relation. Les constituants de ce sous ensemble sont présentés soulignés. Exemples : clé d’une relation PERSONNE (Num_securite_sociale, Nom , Prénom , Code_postal, Téléphone) STAGE ( Num_securite_sociale , type_stage , Titre, Date-début )

Définitions : Schéma de relations Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : Schéma de relations Le schéma d’une relation ou définition en intention de cette relation est constitué des éléments : le nom de la relation la liste des constituants et les domaines de chacun les contraintes d’intégrité à respecter Exemples : PERSONNE ( Num_securite_sociale : { n Î [1013 ; 3.1013]} , Nom : { chaine de 30 caractères}, Prenom : { chaine de 20 caractères}, Code_postal : { chaine de 5 chiffres} , Telephone = { chaine de 10 chiffres} ) STAGE ( Num_securite_sociale : { n Î [1013 ; 3.1013]} , type_stage : { operateur, Enquete, EDT, inge_adjoint, PFE}, titre : { chaine de 200 caractères} date-début : {date} )

Définitions : Schéma de Base de données relationnelle Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : Schéma de Base de données relationnelle Le schéma d’une base de données est constituée par l’ensemble des schémas des relations qui la constituent. Exemple : CLIENT ( Num_client : entier long , Nom : chaine de 30 caractères, Prenom : chaine de 20 caractères, Code_postal : chaine de 5 chiffres , Telephone : chaine de 10 chiffres ) COMMANDE ( Num_commande : entier long , date : date, montant : monétaire client : entier long ) ARTICLE ( Code_article : entier long, Désignation : chaine de 50 caractères, prix : monétaire ) LIGNECOMMANDE (code_article : entier long , Num_commande : entier long , quantité : entier)

Relationnel : opérateurs ensemblistes Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Relationnel : opérateurs ensemblistes Soient R1 et R2 deux relations, on peut définir entre R1 et R2 un certain nombre d’opérations R1 et R2 ont même schéma Opérations entre relations de schéma distinct union T = (R1 È R2) ou T = Union (R1, R2) différence T = (R1 - R2) ou T = Minus (R1, R2) intersection T = (R1 Ç R2) ou T = inter (R1, R2) produit cartésien T = (R1 * R2) ou T = product (R1, R2) jointure naturelle T = (R1 >< R2)

Relationnel : opérations unaires sur une relation Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Relationnel : opérations unaires sur une relation Soit R une relation de schéma (A1, A2, A3, ... An ) projection de R sur les attributs Ai1, Ai2, Ai3, ... Aip avec p < n est une relation R’ de schéma (Ai1, Ai2, Ai3, ... Aip ) dont les n-uplets sont obtenus par élimination des attributs de R n’appartenant pas à R ’ et par suppression des doublons. On note T = P Ai1, Ai2, Ai3, ... Aip (R) ou T = proj Ai1, Ai2, Ai3, ... Aip (R) restriction (ou sélection) de la relation R par une qualification Q est une relation R ’ de même schéma que R dont les n-uplets sont ceux de R satisfaisant Q. On note T = sQ (R) ou T = selectQ (R)

Définitions : opérateurs exemples Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : opérateurs exemples Soient R1 et R2 deux relations de même schéma union T = (R1 È R2) ou T = Union (R1, R2) différence T = (R1 - R2) ou T = Minus (R1, R2) intersection T = (R1 Ç R2) ou T = inter (R1, R2)

Définitions : opérateurs exemples Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : opérateurs exemples Soient R1 et R2 deux relations de schémas distincts, produit cartésien T = (R1 * R2) ou T = product (R1, R2)

Définitions : opérateurs exemples Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : opérateurs exemples Soient R1 et R2 deux relations de schémas distincts, jointure naturelle T = (R1 >< R2) T = R1 join (c=c) R2

Définitions : opérateurs exemples Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : opérateurs exemples Soient R1 une relation, projection de R1 sur les attributs A et B T = P A, B, (R1) Attention à la suppression des doublons restriction (ou sélection) de la relation R1 par une qualification Q = (C<30). T = s( C < 30) (R)

Définitions : fonctions de calcul Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : fonctions de calcul Exemple R0 = LIGNE_COMMANDE Opération CALCULER     R = CALCULER (R0, fonction1, fonction2, ...)      ou      N = CALCULER (R0, fonction) R =  fonction 1, fonction 2 (R) N°BonCommande CodeProduit Quantité PuHT 96008 A10 10 83 B20 35 32 96009 20 96010 A15 4 110 55 On désire obtenir le chiffre d'affaires total HT, ainsi que le nombre total de produits commandés : R1 = CALCULER (LIGNE_COMMANDE, Somme (Quantité*PuHT), Somme (Quantité)) R1 =  SUM Quantité*PuHt , SUM Quantité (LIGNE_COMMANDE) Somme (Quantité*PuHT) Somme (Quantité) 5 810 124 Les calculs et/ou comptage portent sur la relation R0. La relation résultat ne comportera qu'une ligne avec autant de colonnes que de résultats demandés ou pourra simplement être considérée comme un nombre N utilisable ultérieurement en tant que tel dans le cas où un seul résultat est attendu.

Définitions : fonctions regrouper et calculer Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : fonctions regrouper et calculer Exemple R0 = LIGNE_COMMANDE N°BonCommande CodeProduit Quantité PuHT 96008 A10 10 83 B20 35 32 96009 20 96010 A15 4 110 55 R= REGROUPER_ET_CALCULER (R0, att1, att2, ..., fonction1, fonction2, ...) R =  att1, att2, …, fonction 1, fonction 2,… (R0) On désire obtenir le montant total HT de chaque bon de commande : R2= REGROUPER_ET_CALCULER (LIGNE_COMMANDE, N°BonCommande, MontantHt : Somme (Quantité*PuHT)) R =  N°BonCommande, MontantHt : SUM Quantité*PuHT (LIGNE_COMMANDE) N° BonCommande Montant HT 96008 1 950 96009 1 660 96010 2 200   Le regroupement s'effectue sur un sous ensemble des attributs de la relation R0 La relation résultat comportera autant de lignes que de groupes de n-uplets, les fonctions s'appliquant à chacun des groupes séparément.

Définitions : fonctions d’agrégation Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : fonctions d’agrégation Les Fonctions d'agrégation       Elles sont utilisées dans les opérateurs : CALCULER et REGROUPER_ET_CALCULER. Les fonctions statistiques de base : Elles portent sur un ou plusieurs groupes de n-uplets et évidemment sur un attribut de type numérique. Somme (attribut) : total des valeurs d'un attribut Moyenne (attribut) : moyenne des valeurs d'un attribut Minimum (attribut) : plus petite valeur d'un attribut Maximum (attribut) : plus grande valeur d'un attribut Remarque : les valeurs "non renseignées" de l'attribut sont ignorées. La fonction de comptage : Compte () La fonction de comptage donne le nombre de n-uplets d'un ou de plusieurs groupes de n-uplets. Il n'est donc pas nécessaire de préciser d'attribut.

Définitions : contraintes dans une BD Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : contraintes dans une BD L’intérêt de l’usage de Base de données et que la BD permet la définition de « contraintes d’intégrité » qui seront nécessairement vérifiées à tout instant par la base : ces contraintes permettent de garantir la « cohérence » de la base. Elles sont de trois types : 1) contrainte de clé 2) contrainte de type de données (date, intervalle, liste… entier) 3) contrainte d’intégrité référentielle

Définitions : contrainte d’intégrité référentielle Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : contrainte d’intégrité référentielle Permet de vérifier la présence de données référencées dans des tables différentes. Une contrainte d ’intégrité référentielle peut s’utiliser dès qu’une clé primaire d’une table est utilisée comme référence dans une autre table. On la nomme « clé étrangère » de la seconde table. CLIENT (Num_client : entier long , Nom : chaine de 30 caractères, Prenom : chaine de 20 caractères, Code_postal : chaine de 5 chiffres , Telephone : chaine de 10 chiffres ) COMMANDE (Num_commande : entier long , date : date, montant : monétaire client : entier long ) ARTICLE (Code_article : entier long, Désignation : chaine de 50 caractères, prix : monétaire ) LIGNECOMMANDE (code_article : entier long , Num_commande : entier long , quantité : entier)

Définitions : 1ère Forme Normale Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : 1ère Forme Normale Une relation est en PREMIERE FORME NORMALE ssi les valeurs de tous les attributs qui la composent sont atomiques la relation possède une « clé » Exemple PERSONNE (Num_securite_sociale, Nom , Prenom , Code_postal, Telephone) On ne peut gérer des listes de prénom ou plusieurs adresses, dans la table PERSONNE ; par contre prénom peut être une chaine de nn caractères

Définitions : Dépendance fonctionnelle Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : Dépendance fonctionnelle Cette notion permet de capturer l’idée de dépendance entre informations en visant à limiter la redondance. Soit R une relation et X et Y des groupes d’attributs de R, il existe une dépendance fonctionnelle entre X et Y (on dit que X détermine Y) si dans R chaque valeur de X détermine une et une seule valeur de Y. Attention, cette propriété doit être vérifiée pour tous les n-uplets, y compris ceux à créer

Définitions : 2ème Forme Normale Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : 2ème Forme Normale Une relation est en DEUXIEME FORME NORMALE ssi elle est en première forme normale tout attribut n ’appartenant pas à une clé ne dépend pas d ’une partie de cette clé Exemple PRET (Num_etudiant, NumLivre, Nom_etud , Prenom_etud , NomLivre, Auteurs, date_emprunt) N ’est pas en 2ème FN car « Nom_etud » ne dépend que de Num_etudiant, et de même « NomLivre », et « Auteurs » ne dépend que de NumLivre

Définitions : 3ème Forme Normale Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Définitions : 3ème Forme Normale Une relation est en TROISIEME FORME NORMALE (dite de Boyce Codd) ssi elle est en deuxième forme normale tout attribut n ’appartenant pas à une clé ne dépend pas d ’un autre attribut non clé Exemple EMPLOYE (Num_securite_sociale, Nom , Prenom , Service, Adresse_service) Adresse_service dépend de service, la relation n’est pas en 3eme FN.

SQL MySQL 5.1 http://dev.mysql.com/downloads/ Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 SQL Le SQL (Structured Query Language) permet d'interroger une base de données, d'en modifier des informations. C'est un langage universel d'interrogation des bases de données, qui permet à différents systèmes d'échanger des données entre eux. ACCESS peut être interrogé en SQL via un macro langage qui “ cache ” le SQL (voir à ce sujet le Menu “ Requêtes ”, “ Spécifique SQL ” “ SQL direct ”). Normalisation ISO : norme SQL1 (1986, 1989) norme SQL2 (1992) norme SQL3 (1999) implémentée dans Oracle Dans la suite, le code SQL est représenté en ARIAL 12, les commentaires en Italique. MySQL 5.1 http://dev.mysql.com/downloads/

1) - Le DML (Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2013 SQL comporte 3 parties 1) - Le DML (Data Manipulation Language) Sélection d’information, création et mise à jour d’enregistrements SELECT, INSERT, UPDATE, DELETE, JOIN 2) - Le DDL (Data Definition Language) Création des tables, des attributs et des contraintes d’intégrité CREATE, ALTER, DROP, RENAME 3) - Le DCL (Data Control Language) Pour contrôler l’accès aux données GRANT, REVOKE

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML Les requêtes simples Soit 3 tables : Eleves (NomElv, AdrElv, VilleElv), Matieres (NomMat, Coef, Intitule), Notes (NomElv, NomMat, Date, Note). Attribut souligné = clé primaire Eleves NomElv AdrElv VilleElv Matieres NomMat Coef Intitulé Notes Date Note

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML Des enregistrements dans les tables Notes NomElv NomMat Date Note Matieres NomMat Coef Intitulé Eleves NomElv AdrElv VilleElv Matiere Notes Eleves NomMat Coef Intitulé Gest-prod 3 Gestion de production Gest-proj 2 Gestion de projets MSI Management des SI Qualité 1 Sports Nomelv NomMat Date Valeur Bastien Gest-prod 25/09/2004 15 MSI 09/09/2004 16 Clerget-Gurnaud 12 9 Deltour Romain 17 20 Denoual 8 10 Le Bas 11 Miguel Goyena 18 Pelayo Menendez Garcia 13 14 Pop Simon-Suisse Thevenot Viard Qualité 30/09/2004 6 4 2 Nomelv Adresse Ville Bastien Montmartre Paris Clerget-Gurnaud Bastille Deltour Romain Grenoble Denoual St Michel Le Bas Cointrin Geneve Miguel Goyena Plaza de la Constitucíon Mexico Pelayo Menendez Garcia Anáhuac Pop Trocadero Simon-Suisse Jet d'eau Thevenot Ile verte Viard Gare

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML 1.1 L'interrogation simple Liste des élèves. SELECT NomElv (ce qui doit être affiché ?) FROM Eleves; (dans quelle table rechercher l’information ?) Liste des matières avec leurs coefficients. SELECT NomMat, Coef FROM Matieres; Toutes les notes classées par élèves SELECT Notes.Nomelv, Notes.NomMat, Notes.Date, Notes.Valeur FROM Notes ORDER BY Notes.Nomelv; Toutes-les-notes/eleves Nomelv NomMat Date Valeur Bastien Gest-prod 25/09/2004 15 MSI 09/09/2004 16 Clerget-Gurnaud 12 9 Deltour Romain 17 20 Denoual 8 10

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML 1.1 L'interrogation simple (suite) Toutes les notes moyenne de matière classées par élèves SELECT [Toutes-les-notes/eleves].Nomelv, [Toutes-les-notes/eleves].NomMat, Avg ([Toutes-les-notes/eleves].Valeur) AS MoyenneDeValeur FROM [Toutes-les-notes/eleves] GROUP BY [Toutes-les-notes/eleves].Nomelv, [Toutes-les-notes/eleves].NomMat; Toutes-les-notes/eleves Nomelv NomMat Date Valeur Bastien Gest-prod 25/09/2004 15 MSI 09/09/2004 16 Clerget-Gurnaud 12 9 Deltour Romain 17 20 Denoual 8 10 Toutes-les-moyennes-mat/élèves Nomelv NomMat MoyenneDeValeur Bastien Gest-prod 15 MSI 15,5 Clerget-Gurnaud 12 10,5 Deltour Romain 17 18,5 On compose les requêtes

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML Moyenne par matière SELECT [Toutes-les-moyennes-mat/élèves].NomMat, Avg ([Toutes-les-moyennes-mat/élèves].MoyenneDeValeur) AS MoyenneDeMoyenneDeValeur FROM [Toutes-les-moyennes-mat/élèves] GROUP BY [Toutes-les-moyennes-mat/élèves].NomMat; Moyennes par matière NomMat Moyenne de la division Gest-prod 13,09 MSI 14,22 Qualité 10,18

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML 1.2 La close WHERE Elle permet de spécifier la ou les conditions que doivent remplir les lignes choisies. Liste des élèves habitant Mexico. SELECT NomElv FROM Eleves WHERE VilleElv = ‘Mexico'; Liste des matières pour lesquelles l'élève "Simon-Suisse" a eu au moins une note. SELECT NomMat FROM Notes WHERE NomElv = 'Simon-Suisse'; Remarque : Dans la close WHERE, on ne peut utiliser que des propriétés qui sont dans la table sélectionnée

Les jointures DML SELECT [Toutes-les-moyennes-mat/élèves].Nomelv, Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML Les jointures Notes NomElv NomMat Date Note Matieres NomMat Coef Intitulé Toutes-les-moyennes-mat/élèves NomElv NomMat Moyenne Tous les totaux/matiere SELECT [Toutes-les-moyennes-mat/élèves].Nomelv, Matiere!Coef*[Toutes-les-moyennes-mat/élèves]!MoyenneDeValeur AS Expr1, Matiere.Coef, Matiere.Intitulé FROM [Toutes-les-moyennes-mat/élèves] INNER JOIN Matiere ON [Toutes-les-moyennes-mat/élèves].NomMat = Matiere.NomMat; Nomelv Total ds la matière Coef Intitulé Bastien 45 3 Gestion de production 46,5 Management des SI 10 1 Qualité Clerget-Gurnaud 36 31,5 6 Deltour Romain 51 55,5 15 Denoual 24 8

La somme des coefficients Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML La somme des coefficients Matieres NomMat Coef Intitulé SELECT Sum(Matiere.Coef) AS SommeDeCoef FROM Matiere; SommeDeCoef 11

Les totaux puis les moyennes par élève, Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML Les totaux puis les moyennes par élève, SELECT [Tous les totaux/matiere].Nomelv, Sum([Tous les totaux/matiere].Expr1) AS SommeDeExpr1 FROM [Tous les totaux/matiere] GROUP BY [Tous les totaux/matiere].Nomelv; Nom eleve Moyenne semestrielle Deltour Romain 11,05 Pop 10,95 Miguel Goyena 9,77 Bastien 9,23 Pelayo Menendez Garcia 8,14 Viard 7,68 Le Bas Simon-Suisse 7,18 Denoual 7,00 Thevenot 6,77 Clerget-Gurnaud 6,68 SELECT [Total/eleve].Nomelv, [Total/eleve]!SommeDeExpr1/[Somme-coef]!SommeDeCoef AS Expr1 FROM [Total/eleve], [Somme-coef] ORDER BY [Total/eleve]!SommeDeExpr1/[Somme-coef]!SommeDeCoef DESC;

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML Toutes-les-moyennes-mat/élèves_Analyse croisée Nomelv Gest-prod MSI Qualité Bastien 15 15,5 10 Clerget-Gurnaud 12 10,5 6 Deltour Romain 17 18,5 Denoual 8 Le Bas 11 11,5 Miguel Goyena 16,5 13 Pelayo Menendez Garcia 13,5 Pop 17,5 Simon-Suisse Thevenot 12,5 4 Viard 14,5 2

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML dans MS Access

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML dans MS Access SELECT CLIENT.Telephone, COMMANDE.Montant FROM CLIENT INNER JOIN COMMANDE ON CLIENT.Num_client = COMMANDE.Num_client WHERE (((COMMANDE.Montant)>10000));

Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Les jointures SELECT personne.Nom, personne.Prenom, stage.Titre, stage.[Date-debut], stage.D_type_stage FROM personne INNER JOIN stage ON personne.Numéro = stage.Numéro;

!! La jointure a été faite sur l’attribut « numéro » !! Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Les jointures SELECT personne.Nom, personne.Prenom, stage.Titre, stage.[Date-debut], stage.D_type_stage FROM personne INNER JOIN stage ON personne.Numéro = stage.Numéro; !! La jointure a été faite sur l’attribut « numéro » !! personne.Numéro = stage.Numéro;

Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Les jointures SELECT personne.Nom, personne.Prenom, stage.Titre, stage.[Date-debut], stage.D_type_stage FROM personne INNER JOIN stage ON personne.Num_securite_sociale = stage.Num_securite_sociale;

Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Les jointures

Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Les jointures

FROM personne LEFT JOIN stage ON Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Les jointures SELECT personne.Nom, personne.Prenom, stage.D_type_stage, stage.Titre, stage.[Date-debut] FROM personne LEFT JOIN stage ON personne.Num_securite_sociale = stage.Num_securite_sociale;

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML

(Data Manipulation Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Manipulation Language) DML

(Data Definition Language) Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 (Data Definition Language) DDL 2 – Création des tables, des attributs et des contraintes d’intégrité Le DDL (Data Definition Language) CREATE ALTER DROP RENAME 3 – Restreindre des droits d’acces GRANT REVOKE

Schéma …. qui peut aussi se représenter Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Schéma …. qui peut aussi se représenter CLIENT Num_client : entier long , Nom : chaine de 30 caractères, Prenom : chaine de 20 caractères, Code_postal : chaine de 5 chiffres , Telephone : chaine de 10 chiffres COMMANDE Num_commande : entier long , date : date, montant : monétaire client : entier long LIGNECOMMANDE code_article : entier long , Num_commande : entier long , quantité : entier ARTICLE Code_article : entier long, Désignation: chaine de 50 caractères, prix : monétaire