Management des Systèmes d’Information (MSI)

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Informatique appliquée à la gestion Bases de données www. labri
Bases de données : modèlisation et SGBD
Algèbre relationnelle
Les requêtes Manière de dialoguer avec une base de donnée pour :
Programme Introduction aux BD et aux SGBD Le modèle relationnel
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
LMD: Langage de Manipulation de Données
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
Structured Query Language
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
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
Algèbre relationnelle et SQL
MODELE RELATIONNEL concept mathématique de relation
Staf 2x Cours de bases de données
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Management of Information Technology - e-business
Cours de Management des Systèmes d’Information
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.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Chapitre 5 : Le langage SQL
Traduction des opérations sous MySQL
Présentation Session RPSI
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
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
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Sélection de colonnes (la projection)
Le modèle relationnel Plan 1. Concepts descriptifs
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
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.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Langage Relationnel Graphe de Requêtes
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
Introduction aux Bases de Données et au langage SQL
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 3
CONCEPTS BD - Synthèse journée 1 :
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
Bases de données : modèlisation et SGBD Séance 3.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Management des Systèmes d’Information (MSI) Cours : chapitre 1 SQL - Relationnel

Cours de Management des Systèmes d’Information -- GI2A4GML0328 Objectifs : Modéliser, concevoir un SI (UML) : identifier les besoins, réaliser, déployer, récupérer données et +. Programmer dans MS-ACCESS (relationnel – SQL) Préparer les enseignements ERP et PLM de 3ème année et option IAE Programmation 16 sept .. 7 novembre : cours et TD (SQL , UML, études de cas) Novembre : 6h de formation MS ACCESS 2010 en décembre : TP et projet (12h encadrées + 20h travail perso) Évaluation : - Projet / TP - Examen (QCM en janvier)

Ils vous ont précédé

Chap 1 : 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) version 5.6 ORACLE (Oracle corp.) version 12.1 + Business suite Access (Microsoft) versions 1997 – 2003 – 2007 – 2010 - 2013 SQL Server (Microsoft) version 2014 Ingres (Computer Associates)

Un point d’histoire Historique : E.F. CODD dans les années 70 1923 – 2003 Turing award 1981

Les “technologies” en 2014

Un point d’histoire du business Nombreux outils : MySQL (logiciel libre) ORACLE (Oracle corp.) Access (Microsoft) SQL Server (Microsoft) SAP …

Qu’est ce qu’un SI ? S . I . Information structurée, bases de données 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, 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) 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 Où sont construites les ailes ? Système observé

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 » 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 !

Codage des caractères ASCII 7 bits (128 caractères) ASCII étendu IBM ASCII étendu Apple Unicode (UTF-8, UTF-16, UTF-32)

Codage des nombres (et téléphone) la perte de la sonde martienne Mars Climate Orbiter le 23 septembre 1999 a mis en évidence un manque de formalisation dans les processus de transfert de données entre des partenaires du projet. « Les ingénieurs de Lockheed Martin Astronautics (Denver dans le Colorado), la firme qui a conçu et fabriqué la sonde martienne, avaient apparemment gardé la mauvaise habitude de travailler avec les unités du système Anglo-Saxons. De leur côté, les ingénieurs du Jet Propulsion Laboratory (Pasadena en Californie) travaillaient depuis des années dans le système métrique, reconnu au niveau international comme étant le système de référence. Il semble que lors du transfert des données entre le centre de Lockheed et celui du JPL, personne ne se soit rendu compte qu'il fallait convertir les données ! » (Mars 1999) 1 500,23 € 1500.28 $ 06-88-40-21-15 +33-6-88-40-21-15

Codage des dates (et heures) 12-10-2014 10-12-2014 14-12-10

Code barrre – RFID – QR code QR code Version 3, 29×29, 35-77 caractères. RFID  « Radio Frequency IDentification », Les étiquettes passives. Ces étiquettes à moindre coût (qques 0,05€) sont plus petites et possèdent une durée de vie quasi-illimitée. Exemples d’applications opérationnelles : Traçabilité des bouteilles de gaz (Air Liquide, AGA), Suivi des colis (Wal Mart), Suivi des vêtements de travail loués (Elis), Identification des animaux : remplace le tatouage (Ordicam), Gestion des livres d’une bibliothèque, Identification des bogies et wagons (SNCF).

Donnée, information Donnée = signe + code 588 DGA 38 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 58 ans né à l’étranger Information = donnée + modèle d’interprétation

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 » 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 » 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 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é 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 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} )

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)

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érateur jointure Soient R1 et R2 deux relations de schémas distincts, jointure naturelle T = (R1 >< R2) T = R1 join (c=c) R2 Sera repris plus loin

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éf. : opérateurs projection, restriction 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éf. : fonctions de calcul Opération CALCULER     R = CALCULER (R0, fonction1, fonction2, ...)      ou      N = CALCULER (R0, fonction) R =  fonction 1, fonction 2 (R0) Exemple R0 = LIGNE_COMMANDE 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éf. : fonctions « regrouper et calculer » Exemple R0 = LIGNE_COMMANDE R= REGROUPER_ET_CALCULER (R0, att1, att2, ..., fonction1, fonction2, ...) R =  att1, att2, …, fonction 1, fonction 2,… (R0) N°BonCommande CodeProduit Quantité PuHT 96008 A10 10 83 B20 35 32 96009 20 96010 A15 4 110 55 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 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 (ou Date). 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 L’intérêt de l’usage de Base de données est que la BD permet la définition de « contraintes d’intégrité » qui seront automatiquement 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éf. : 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)

Formes Normales Permettent d’éliminer toute forme de redondance dans une BD. Redondance (Larousse) Abondance excessive et non justifiée de termes dans le discours. Caractère d'un énoncé qui réitère, sous plusieurs formes différentes, un même trait signifiant. Terme redondant, redite. En informatique et dans les télécommunications, duplication d'informations afin de garantir leur sécurité en cas d'incident (commandes redondantes, disques redondants…) En Systèmes d’infos, information inutilement recopiée (posera pb en cas de modification) A propos des formes normales, http://fsmrel.developpez.com/basesrelationnelles/normalisation/

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 ou plusieurs téléphones, dans la table PERSONNE ; par contre prénom peut être une chaine de nn caractères

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

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é PRET (Num_etudiant, NumLivre, Nom_etud , Prenom_etud , NomLivre, Auteurs, date_emprunt) Exemple 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

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 (Structured Query Language) 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.6 http://dev.mysql.com/downloads/

Instructions SQL 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) Select … from …. where …. (Data Manipulation Language) DML 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

(Data Manipulation Language) Select ….. (Data Manipulation Language) DML Le SELECT est la commande de base du SQL destinée à extraire des données d'une base ou calculer de nouvelles données à partir d'existantes... Voici la syntaxe générale d'une commande SELECT :   SELECT [DISTINCT ou ALL] * ou liste de colonnes FROM nom de table ou de la vue [WHERE prédicats] [GROUP BY ordre des groupes] [HAVING condition] [ORDER BY ] liste de colonnes NOTA : dans cette syntaxe, les mots clef du SQL sont en gras, les paramètres en minuscule et entre crochets on trouve les parties optionnelles En fait l'ordre SQL SELECT est composé de 6 clauses dont 4 sont optionnelles. Clauses de l'ordre SELECT : SELECT Spécification des colonnes du résultat FROM Spécification des tables sur lesquelles porte l'ordre WHERE Filtre portant sur les données (conditions à remplir pour que les lignes soient présentes dans le résultat) GROUP BY Définition d'un groupe (sous ensemble) HAVING Filtre portant sur les résultats (conditions de regroupement des lignes) ORDER BY Tri des données du résultat

L’éditeur d’expressions Dans MS – Access (de 95 à 2013) pour « calcul » (d’un nouvel atribut) ou « sélection » (d’entités)

(Data Manipulation Language) Jointures …. (Data Manipulation Language) DML dans MS Access

(Data Manipulation Language) Jointures …. (Data Manipulation Language) DML SELECT CLIENT.Telephone, COMMANDE.Montant FROM CLIENT INNER JOIN COMMANDE ON CLIENT.Num_client = COMMANDE.Num_client WHERE (((COMMANDE.Montant)>10000));

(Data Manipulation Language) Jointures …. (Data Manipulation Language) DML 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 » !! Jointures …. (Data Manipulation Language) DML 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;

(Data Manipulation Language) Jointures …. (Data Manipulation Language) DML 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;

(Data Manipulation Language) Jointures …. (Data Manipulation Language) DML

(Data Manipulation Language) Jointures interne, externe G et D…. (Data Manipulation Language) DML

(Data Manipulation Language) Jointures …. (Data Manipulation Language) DML 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) Groupby, Having …. (Data Manipulation Language) DML

Order by….

Opérations booléennes avec des jointures différence T = (R1 - R2) ou T = Minus (R1, R2) intersection T = (R1 Ç R2) ou T = inter (R1, R2)

différence T = (EnsA - EnsB) Opérations booléennes avec des jointures différence T = (EnsA - EnsB) ou T = Minus (EnsA, EnsB)

différence T = (EnsA - EnsB) Différence avec la clause NOT IN différence T = (EnsA - EnsB) ou T = Minus (EnsA, EnsB) Autre méthode SELECT EnsembleA.ClefA FROM EnsembleA Where EnsembleA.ClefA Not In (Select EnsembleB.ClefB From EnsembleB);

(Data Definition Language) Définition de structures…. (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

Fournir les bonnes informations pour l’action Conclusion en combinant les opérations : booléennes, de calcul, de sélection et tri Fournir les bonnes informations pour l’action en disposant des données : à jour, bien structurées (suite du cours UML)

Cours MSI-2A filière ICL version 1.4 du 5 novembre 2012 Références biblio Un ouvrage : "Bases de données - de la modélisation au SQL", Laurent Audibert, eds Ellipses 2009 (6 exemplaires à la BU - GI) Un cours en ligne (en anglais) avec un simulateur interactif http://www.sqlcourse.com/index.html A propos des formes normales, François de Sainte Marie http://fsmrel.developpez.com/basesrelationnelles/normalisation/ A propos de MS Access 2010, http://cerig.efpg.inpg.fr/tutoriel/bases-de-donnees/sommaire.htm http://databases.about.com/