La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

Présentations similaires


Présentation au sujet: "GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)"— Transcription de la présentation:

1 GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)

2 GVdK = CUY Sommaire –Base de données : définition et utilisationBase de données : définition et utilisation –Pourquoi pas Excel ?Pourquoi pas Excel ? –BdD : éviter la redondanceBdD : éviter la redondance –Langage SQL et requêtesLangage SQL et requêtes

3 GVdK = CUY Définition Base de données –Un ensemble de données –Une structuration forte –Une gestion de plusieurs utilisateurs simultanés –Un ensemble doutils permettant dextraire rapidement des informations de lensemble des données Ensemble structuré de données enregistrées avec le minimum de redondances pour satisfaire simultanément plusieurs utilisateurs de façon sélective et en un temps opportun.

4 GVdK = CUY Utilisation Voir article « Quel SGBD choisir »Quel SGBD choisir –Access –Paradox –Sybase –SQL Server –Oracle –MySQL (libre avec PHP) –InterBase –PostGreSQL –SQLite

5 GVdK = CUY Bases de données omniprésentes Les bases de données sont omniprésentes : –Hautes Écoles, Universités : Données sur les étudiants –Id, nom, prénom, classe, section, cycle, année… Données sur les formations –matière, intervenant (enseignant), public, salle Données sur les résultats –matière, intervenant (enseignant), pondération, résultat –Entreprises fichiers clients, fournisseurs, commandes facturation, gestion de stock, inventaire.

6 GVdK = CUY Bases de données omniprésentes Les bases de données sont omniprésentes : –Bibliothèques : Données sur les lecteurs –Id, nom, prénom, statistiques, montant dû… Données sur les livres –Titre, ISBN, auteur, genre, code, emplacement, emprunts, collection, éditeurs Données sur les auteurs –Livres, adresse, nom, prénom, –Privé Collection de CD ou DVD Contenu de congélateur …

7 GVdK = CUY Pourquoi pas Excel ? (1) Et cest parti… jattends ma première commande…

8 GVdK = CUY Pourquoi pas Excel ? (2) Premier client, première commande…

9 GVdK = CUY Pourquoi pas Excel ? (3) Dans sa commande, mon client désire plusieurs produits …

10 GVdK = CUY Pourquoi pas Excel ? (4) Chiffre daffaires pour les tomates ?

11 GVdK = CUY Pourquoi pas Excel ? (5) Les défauts : –Redondance : Données répétées (info client si plusieurs commandes, info produit si plusieurs fois commandé…) –Réécriture Orthographe, perte de temps, mise à jour difficile –Nombre de lignes = 2 16 – 1 –Mélange de divers types de données Client, produit, commande, prix, … gestion de stock, inventaire.

12 GVdK = CUY Base de données (1) Exemple : un carnet dadresses organise les informations sur vos interlocuteurs en plusieurs catégories : nom, numéro de téléphone fixe, gsm, fax, adresse, , etc. Une base de données est un ensemble organisé dinformations structurées

13 GVdK = CUY Base de données (2) NomPrénomAdresseTélFax Nom1 Nom2…………… Une table contient des enregistrements en lignes, correspondant aux individus (animés ou inanimés) et des champs en colonnes, décrivant chaque individu

14 GVdK = CUY Éviter la redondance (1) NomPrénomClasseMatières DurandPierre1NSSECompta1 DurandPierre2NSSECompta2 DupondPaul1NSSECompta1 DupondPaul1NSSEDroit1 DurandPierre1NSSEDroit1 DupondPaul1NSSEStat DurandPierre1NSSEStat NomPrénomClasse DurandPierre1NSSE DurandPierre2NSSE DupondPaul1NSSE DupondPaul1NSSE DurandPierre1NSSE DupondPaul1NSSE DurandPierre1NSSE ClasseMatières 1NSSECompta1 2NSSECompta2 1NSSECompta1 1NSSEDroit1 1NSSEDroit1 1NSSEStat 1NSSEStat

15 GVdK = CUY Éviter la redondance (2) NomPrénomClasseMatières DurandPierre1NSSECompta1 DurandPierre2NSSECompta2 DupondPaul1NSSECompta1 DupondPaul1NSSEDroit1 DurandPierre1NSSEDroit1 DupondPaul1NSSEStat DurandPierre1NSSEStat NomPrénomClasse DurandPierre1NSSE DurandPierre2NSSE DupondPaul1NSSE ClasseMatières 1NSSECompta1 2NSSECompta2 1NSSEDroit1 1NSSEStat Attention : Un élève peut suivre plusieurs cours un même cours peut être suivi par plusieurs élèves nn À éviter…

16 GVdK = CUY Éviter la redondance (3) NoClientRaisonSocialeAdresse1 C987Dupont & Co12 rue Par.. C986Durand & Cie71 cbru ………. Ref prodDescriptPuht P Tomate10 B Banane4 C Poire180 ……… Client Produit Attention : Un client peut acheter plusieurs produits un même produit peut être acheté par plusieurs clients nn À éviter…

17 GVdK = CUY Redondance (4), relation fonctionnelle NoClient RaisonSociale Adresse1 … Ref prod Descript Puht TxTVA ……… Client Produit Commande. NoComm DateCommande # NoClient … Commande Comprendre # NoComm # Ref Prod Quantité Attention : Un client peut passer plusieurs commandes n Mais : Une commande ne peut être passée que par un seul client 1 Acceptable…

18 GVdK = CUY Redondance (4), relation fonctionnelle NoClient RaisonSociale Adresse1 … Ref prod Descript Puht TxTVA ……… Client Produit Commande. NoComm DateCommande # NoClient … Commande Comprendre (ou Ligne de commande) # NoComm # Ref Prod Quantité Attention : Une commande peut comprendre plusieurs couples commande- produit (lignes de commandes) pour des quantités différentes n Mais : Un couple commande-produit ou une ligne de commande ne peut être compris(e) quune fois que dans une seule commande 1 n1 Acceptable…

19 GVdK = CUY Redondance (4), relation fonctionnelle NoClient RaisonSociale Adresse1 … Ref prod Descript Puht TxTVA ……… Client Produit Commande. NoComm DateCommande # NoClient … Commande Comprendre # NoComm # Ref Prod Quantité Attention : Un produit ne peut être compris que dans un seul couple commande-produit pour une quantité précise n Et : Un couple commande-produit ne peut comprendre quun seul produit 1 n1 1 1 Acceptable…

20 GVdK = CUY Données saisies ou calculées saisiescalculées

21 GVdK = CUY Données : tables Lanalyse de la liste des données saisies permet de mettre en évidence des ensembles homogènes. Exemples : - données concernant les clients - données concernant les produits Chacun de ces ensembles est représenté par une table. Exemples : - la table « client » - la table « produit » 7

22 GVdK = CUY Table : sa structure Une table se compose: - de colonnes où sont indiqués les différents attributs Un attribut principal appelé clé primaire doit permettre didentifier chaque enregistrement sans ambiguïté. DÉPENDANCE FONCTIONNELLE La connaissance dune valeur de lattribut clé primaire détermine de façon unique la connaissance des valeurs des autres attributs, on dit quil existe entre eux une dépendance fonctionnelle. Exemple : la connaissance du numéro de client nous permet de retrouver son nom et son adresse. Les valeurs de lattribut clé primaire doivent donc obligatoirement être uniques. Pour la table client, « Numcli » répond le mieux à ce critère. La clé primaire est généralement située en première colonne. - de lignes où sont rangées les valeurs des différents attributs. Lensemble des valeurs dune ligne est appelé un enregistrement. 8

23 GVdK = CUY Table : modèle relationnel (1.1) Entités –attributs (caractéristiques) : description –ex. : clients, produits, élèves, citoyens belges, motos belges... –Clé primaire unique Relations –relation entre entités –ex. : commandes (clients, produits), proprio (moto, citoyen) conjoint (citoyen1, citoyen2)

24 GVdK = CUY Table : modèle relationnel (1.2) Nom de la relation/entité (en majuscules) suivi de parenthèses Attributs séparés par des virgules 8 CLIENT Clé primaire en premier lieu et soulignée : unique. CLIENT ( NumCli, Nomcli, Adresseruecli, AdresseCPcli, Adressevillecli )

25 GVdK = CUY Base : modèle relationnel entre deux tables (2.1) 8 La connaissance dun numéro de commande nous permet de retrouver de façon unique un numéro de client. Dépendance fonctionnelle Attribut commun aux deux tables matérialisant la dépendance fonctionnelle. Il existe donc une dépendance fonctionnelle entre deux tables (commande et client). Pour matérialiser ce lien, une colonne (numcli) sera ajoutée à la table source de la dépendance fonctionnelle. Celle-ci sera appelée clé étrangère. 10 1n

26 GVdK = CUY Base : modèle relationnel entre deux tables (2.2) 8 Attribut commun aux deux tables matérialisant la dépendance fonctionnelle. 10 1n CLIENT ( NumCli, Nomcli, Adresseruecli, AdresseCPcli, Adressevillecli ) COMMANDE ( NumCom, datecom, NumCli ) # Si la relation comprend un attribut clé étrangère, celui-ci sera placé à la fin et précédé du signe #.

27 GVdK = CUY Table : modèle relationnel entre deux tables (2.3) Ce qui est nécessaire : –2 tables (ou requêtes ou une combinaison des deux) –1 champ en commun dans chacune des tables –même type de champ (texte avec texte, numérique avec numérique...) –même longueur (pas un champ long de 15 caractères avec un autre long de 50 caractères !) –même genre d'information (Ex.: Code d'inventaire avec des codes d'inventaires, NAS avec NAS...) Et vive les clés primaires et étrangères !!!

28 GVdK = CUY Table : modèle relationnel entre deux tables (2.4) –Quant à la table Produits, elle fait référence à la table Fournisseurs, mais elle ne doit pas forcément inclure toutes les informations de contact de tous les fournisseurs. –La table Fournisseurs contient toutes les informations de contact au sujet de ces entreprises

29 GVdK = CUY Base : modèle relationnel entre plusieurs tables (1) 810 La connaissance du numéro de commande et de la référence du produit nous permet de retrouver de façon unique la quantité commandée. Il existe donc une dépendance fonctionnelle multiple ou composée à partir des tables « PRODUIT » et « COMMANDE ». Celle-ci sera composée dune clé primaire concaténée « Numcom+Refprod » et de lattribut « quantite » Dépendance fonctionnelle composée Pour matérialiser ce double lien, une table supplémentaire « COMPRENDRE » sera créée. 12

30 GVdK = CUY Base : modèle relationnel entre plusieurs tables (2) CLIENT ( NumCli, Nomcli, Adresseruecli, AdresseCPcli, Adressevillecli ) COMMANDE ( NumCom, datecom, # NumCli ) PRODUIT ( Refprod, Designprod, PUprod ) COMPRENDRE ( NumCom, Refprod, Quantité ) Dans le cas dune clé primaire concaténée, lensemble des attributs formant la clé est souligné.

31 GVdK = CUY Duferco Duferco produit des brames quelle vend. Brame : La brame est un demi-produit sidérurgique. C'est la matière première utilisée pour la fabrication des tôles ou des plaques sur les trains de laminoirs. La brame ou slab est une masse d'acier de forme parallélépipédique de fortes dimensions (plus de 1000 mm de largeur pour plus de 10 mètres de long et un poids de plusieurs dizaines de tonnes), obtenue soit directement de coulée continue soit après réduction d'un lingot dans un slabbing lequel est un train de laminoirs dégrossisseur.

32 GVdK = CUY Duferco (2) Brames Codebrame Clients Codeclient Commandes Codecommande Codebrame Codeclient Coulées Codecoulée Compchim Codechim Equipes Codeequip Fourniss Codefourniss

33 GVdK = CUY Duferco (3)

34 GVdK = CUY Bases & tables : exemples 1.Duferco tables, relations_0,Duferco 2.Enseignement supérieur xEnseignement supérieur 3.Police dIxelles xPolice dIxelles 4.Centre de documentation xCentre de documentation 5.Réservations théâtre xRéservations théâtre 6.9 e art x9 e art

35 GVdK = CUY Créer une base de données (0) Contrainte de clé primaire : Une fois que la clé primaire sera désignée et le champ déclaré sans doublons, les saisies de valeurs identiques seront impossibles. Choix du type : Il sagit de préciser quel type de valeurs sera stocké dans le champ. Il existe trois grands types (numérique, date, texte). Pour les champs de type texte, il est possible dintervenir sur la taille du champ, de manière à optimiser la place occupée sur le support de stockage. Contrôle de la saisie : Pour faciliter la saisie, un masque, une valeur par défaut, peuvent être mis en place. Contrainte de domaine : Il est possible, pour un champ donné, de limiter les valeurs autorisées à la saisie. Celles-ci sont indiquées dans la case « Valide si », un message derreur peut y être associé. Lors de la création dune table, la clé primaire et lappartenance des données à un type doivent être obligatoirement définies. Dautres éléments peuvent être posés pour assurer le confort et la sécurité de la saisie. 9

36 GVdK = CUY Créer une base de données (1) Possibilité de créer avec SQL, mais pas indispensable Base de données = ensemble de tables

37 GVdK = CUY Créer une base de données (2) Donner un nom à la Base de données extension.mdb

38 GVdK = CUY Créer une base de données (3) La Base de données est créée, Elle ne contient aucune Table au départ

39 GVdK = CUY Objets dune base de données (1) Tables, Requêtes Formulaires, États Tables, entités/relations Requêtes, interrogations Formulaires, visualisation de tous les attributs États, documents à publier

40 GVdK = CUY Objets dune base de données (2) Tables, Requêtes Formulaires, États Tables, entités/relations Requêtes, interrogations Formulaires, visualisation de tous les attributs États, documents à publier

41 GVdK = CUY Objets dune base de données (3) Tables, entités/relations saisir les données Requêtes, interroger les données Formulaires, visualiser et faciliter la saisie des attributs États, publier et mettre en forme les résultats Macros, automatiser des actions à exécuter Modules, programmer en VisualBasic

42 GVdK = CUY Créer une table (0) 1 2 3

43 GVdK = CUY Créer une table – données (1)

44 GVdK = CUY Créer une table – assistant (2.1)

45 GVdK = CUY Créer une table – assistant (2.2)

46 GVdK = CUY Créer une table – création (3.1)

47 GVdK = CUY Créer une table – création (3.2)

48 GVdK = CUY Créer une table – SQL (4) CREATE TABLE exemple : Créer la nouvelle table "table_test" contenant quatre champs : un champ avec un entier qui doit toujours être saisi et un champ contenant une chaîne de 5 caractères : CREATE TABLE table_test ( champ1 int unsigned champ2 integer CONSTRAINT champ2 NOT NULL, champ3 char(5), champ4 date );

49 GVdK = CUY Les types dattributs (1)

50 GVdK = CUY Les types dattributs (2) 1.Texte max : 255 caractères 2.Mémo max : caractères 3.Numérique entier, simple précision, nbre décimales, etc. 4.Date/Heure année , 12 ou 24 h 5.Monétaire nombres réels de 1 à 4 décimales 6.NuméroAuto incrémentation automatique 7.Oui/Non Vrai/Faux, Actif/inactif 8.Objet OLE (Object Linking and Embedding) feuilles de calcul, sons, vidéos, graphiques… 9.Lien Hypertexte chemin complet (local ou internet)

51 GVdK = CUY Les masques de saisie (1)

52 GVdK = CUY Les masques de saisie (2)

53 GVdK = CUY Les masques de saisie (3)

54 GVdK = CUY Les masques de saisie (4) SymboleSignification 0Chiffre de 0 à 9 obligatoire 9Chiffre ou espace facultatif #Chiffre ou espace ou + ou - LLettre de A à Z obligatoire ?Lettre de A à Z non obligatoire ALettre ou chiffre obligatoire aLettre ou chiffre non obligatoire &Caractère quelconque obligatoire CCaractère quelconque non obligatoire Passe tout en majuscules (haut de casse) !Saisie à partir de la droite

55 GVdK = CUY Les masques de saisie (5) masquesensexemples Numéro de téléphone français nouvelle numérotation Code postal français (département obligatoire) ou 59 >CCCCCCCCCCCCCCC CCCCC Nom de maximum 20 caractères, converti en capitales VAN DELDER ou BOND >C

56 GVdK = CUY Les masques de saisie (6) masquesensexemples (999) ! Téléphone avec indice régional facultatif – remplissage par la droite (207) ou () (000) AAA-AAAA Téléphone américain (derniers chiffres peuvent être des lettres) (206) 555-TELE #999 Nombre positif ou négatif, composé de quatre caractères ou moins, sans séparateur de milliers ni séparateur décimal ou -20 >L????L?000L0 Combinaison de lettres obligatoires (L), lettres facultatives (?) et nombres obligatoires (0). Le signe « > » oblige les utilisateurs à entrer toutes les lettres en capitales. GREENGR339M3 ou MAY R462B Matricule denseignant sur précisément 11 chiffres (000) Téléphone avec indice régional obligatoire (207) ou (165) /00/0099 Date avec année possible sur 2 ou 4 chiffres 07/06/1953 ou 22/02/53

57 GVdK = CUY Les masques de saisie (5)

58 GVdK = CUY La saisie (1)

59 GVdK = CUY Les listes déroulantes (1) Monsieur, M., Mr, Dr, Me, Madame, Mme, Mlle, …

60 GVdK = CUY Les listes déroulantes (2) solution simple, par valeurs souhaitées Dans la table, créer le champ Titre Cliquer sur Assistant Liste de choix Sélectionner "Je taperai les valeurs souhaitées" Dresser la liste dans Contenu

61 GVdK = CUY Les listes déroulantes (3)

62 GVdK = CUY Les listes déroulantes (4)

63 GVdK = CUY Les listes déroulantes (5)

64 GVdK = CUY Les clefs (1)

65 GVdK = CUY Lier des tables (1)

66 GVdK = CUY Lier des tables (2)

67 GVdK = CUY Lier des tables (3)

68 GVdK = CUY Les filtres (1) Les filtres permettent de limiter simplement, de façon temporaire, les enregistrements affichés dans une table. On peut filtrer selon deux méthodes : - le filtre sur un seul critère : ex : les étudiants qui habitent Braine-le-Comte ; - le filtre sur plusieurs critères : ex : les étudiants qui habitent Braine-le-Comte ou ceux qui sappellent « Durand ».

69 GVdK = CUY Les filtres (2) à un seul critère 1.on se positionne sur l'enregistrement d'un client habitant Paris, 2.on sélectionne le mot Paris dans le champ Ville ; 3.on clique sur licône de filtre ; et voilà… 4.pour revenir à un affichage non filtré, on clique sur licône ; et nous voilà comme avant…

70 GVdK = CUY Les filtres (3a) à plusieurs critères (= filtre par formulaire) 1.on clique sur licône de filtre ; 2.un enregistrement vide apparaît ; 3.on sélectionne « Machin » dans le champ Nom ; 4.Puis on sélectionne « ou » dans le coin inférieur gauche, on obtient un nouvel enregistrement vide…

71 GVdK = CUY Les filtres (3b) à plusieurs critères (= filtre par formulaire) 5.on sélectionne « Saint-Quentin » dans le champ Ville ; 6.pour terminer (et pas pour revenir à un affichage non filtré), on clique sur licône ; …

72 GVdK = CUY Les requêtes (= interroger une base de données) 1.Requête de consultation, (=sélection, interrogation…) 2.Requête daction (attention) 3.Requête danalyse croisée 4.Requête SQL 1.Requêtes dans une table ou plusieurs tables 2.Tri, filtres (critères), calculs, regroupement 3.Projection, sélection / restriction, jointure 1.Mise à jour 2.Suppression 3.Ajout 4.Création de table 1.Langage spécifique, permet une exécution fine des requêtes ci- dessus

73 GVdK = CUY Créer une requête de consultation (1) Interroger une base de données (plusieurs tables éventuellement) = Créer une requête de consultation

74 GVdK = CUY Créer une requête de gestion (1) Gérer une base de données (plusieurs tables éventuellement) = Créer une nouvelle table ; Modifier la structure dune table ; Supprimer une table ; Créer ou supprimer un index.

75 GVdK = CUY Créer une requête de manipulation (1) Manipuler une base de données (plusieurs tables éventuellement) = Ajouter des données dans une table ; Modifier les données dune table ; Supprimer des données dune table.

76 GVdK = CUY Créer une requête de consultation (1) Interroger une base de données (plusieurs tables éventuellement) = Créer une requête de consultation les noms des clients et ceux des villes où ils sont domiciliés ? les noms des clients domiciliés à Paris ? les dates des commandes passées par les clients domiciliés à Paris ? Projection (dune table) -> tous les enregistrements, quelques champs projection et restriction/sélection (dune table) -> quelques champs de quelques enregistrements spécifiques projection, restriction/sélection et jointure (de plusieurs tables)

77 GVdK = CUY Créer une requête : consultation (2) Requêteur graphique = langage visuel propre à chaque logiciel, possibilités sont limitées lors de cas complexes. SELECT liste des champs à afficher FROM liste des tables utilisées WHERE champ et critère de condition AND champ commun aux tables utilisées ORDER BY champ à trier ASC ou DESC 22 Les logiciels SGBDR intègrent également un langage textuel de programmation de requêtes : le SQL (Structured Query language), universel, normalisé et capable de traiter toutes les difficultés.

78 GVdK = CUY Créer une requête consultation (3) SELECT liste des champs à afficher FROM liste des tables utilisées WHERE champ et critère de condition AND champ commun aux tables utilisées ORDER BY champ à trier ASC ou DESC Les requêtes de consultation en SQL ont généralement la structure suivante: Linstruction SELECT permet de lister les champs que lon souhaite obtenir, il correspond à l opérateur de PROJECTION. Linstruction FROM permet de lister les tables utiles à la requête. Les instructions WHERE et AND sont liées. Elles permettent dintroduire : - les critères de conditions correspondant à lopérateur de RESTRICTION. - les champs communs aux tables utilisées correspondant à lopérateur de JOINTURE. Linstruction ORDER BY permet de demander un tri sur un champ (ASC pour croissant et DESC pour décroissant). 22

79 GVdK = CUY Langage des requêtes : projection (présentation théorique) Requête1 : On souhaite obtenir les noms des clients (tous) et ceux des villes où ils sont domiciliés. Pour cela, nous allons utiliser lopérateur de projection. Une requête de consultation est une interrogation de la base de données portant sur le contenu dune ou plusieurs relations. Elle met en jeu des opérateurs (projection, restriction, jointure). La projection consiste en un découpage vertical. 15

80 GVdK = CUY Requêtes : projection (requêteur graphique) Les logiciels de gestion de bases de données (SGBDR) mettent à disposition des utilisateurs un requêteur graphique (Query by example dans le logiciel Access) permettant de réaliser des requêtes de consultation facilement et intuitivement. Table utilisée dans la requête. Projection des champs retenus dans la requête. Un attribut est appelé un champ par le logiciel. Requête avec projection : VILLES DES CLIENTS 18

81 GVdK = CUY Requêtes : projection (langage SQL[1]) Projection – Exemple Une projection est une instruction de consultation permettant de sélectionner un ensemble de colonnes (champs, arguments) dans une table. Soit la table Clients qui contient les champs : NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli Linstruction Select * FROM Clients aura comme résultat un tableau contenant lensemble de la table (tous les champs) Linstruction Select NomCli, Adressevillecli FROM Clients aura comme résultat un tableau contenant uniquement les informations (les champs) correspondant(e)s.

82 GVdK = CUY Requêtes : projection (langage SQL[2]) Projection – Suite Une projection est une instruction de consultation permettant de sélectionner un ensemble de colonnes dans une table. Soit la table Clients qui contient les champs : NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli Linstruction Select DISTINCT Adressevillecli FROM Clients aura comme résultat lensemble des villes où lon a des clients (sans doublons) Linstruction Select NomCli, Adressevillecli FROM Clients ORDER BY Adressevillecli aura comme résultat la liste des clients, classés alphabétiquement par commune.

83 GVdK = CUY Requêtes : projection

84 GVdK = CUY Requêtes : restriction/sélection (présentation théorique) La restriction ou sélection consiste en un découpage horizontal. Requête2 : On souhaite obtenir les noms des clients domiciliés à Paris. Nous conserverons le nom de la ville dans laffichage. Pour cela, nous allons utiliser les opérateurs de projection et de restriction/sélection. La projection consiste en un découpage vertical. 16

85 GVdK = CUY Requêtes : restriction sélection (requêteur graphique) Table utilisée dans la requête. Projection des champs retenus dans la requête. Restriction sur le champ « adressevillecli » en posant comme critère « paris ». Requête avec projection et restriction : CLIENTS PARISIENS 19

86 GVdK = CUY Requêtes : restriction sélection (langage SQL[1]) Restriction - sélection – Exemple Une restriction est une instruction de consultation permettant de sélectionner un ensemble de lignes dans une table, selon un critère fixé. Soit la table Clients qui contient les champs : NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli Linstruction Select Nomcli FROM Clients WHERE Adressevillecli="paris" aura comme résultat la liste des clients parisiens Linstruction Select NomCli, Adressevillecli FROM Clients WHERE Adressevillecli="paris" OR Adressevillecli="lille" aura comme résultat la liste des clients parisiens ou lillois.

87 GVdK = CUY Requêtes : restriction sélection (langage SQL[2]) Soit la table ETUDIANT (N°Etudiant, Nom, Age, CodePostal, Ville) SELECT * FROM ETUDIANT WHERE Age IN (19, 20, 21, 22, 23) ; SELECT * FROM ETUDIANT WHERE Age BETWEEN 19 AND 23 ; SELECT * FROM ETUDIANT WHERE CodePostal LIKE 70* ; SELECT * FROM ETUDIANT WHERE CodePostal LIKE 70?0 ; SELECT * FROM ETUDIANT WHERE Ville IS NULL ; // Étudiants pour lesquels la ville n'est pas renseignée SELECT * FROM ETUDIANT WHERE Ville IS NOT NULL ; // Étudiants pour lesquels la ville est renseignée

88 GVdK = CUY Requêtes : restriction sélection (exemple 1) Soit une base contenant plusieurs tables, soit la table Clients On clique sur requêtes nouveau/elle mode création // Étudiants pour lesquels la ville est renseignée

89 GVdK = CUY Requêtes : combinaison de critères [1] Linstruction Select titre FROM Tableaux WHERE (expo NOT LIKE *paris*) AND ((année BETWEEN 1600 And 1699) OR (année BETWEEN 1900 And 1999)) aura comme résultat la liste des titres des tableaux non exposés à Paris, et datant des XVIIe ou XXe siècles

90 GVdK = CUY Requêtes : combinaison de critères [2] Et Ou

91 GVdK = CUY Requêtes : combinaison de critères [3] Et/ou [1] Et/Ou [2] Plusieurs Ou = in(x;y;z;w)

92 GVdK = CUY Langage des requêtes : restriction sélection

93 GVdK = CUY Requêtes consultation : jointure (présentation théorique) Requête3 : On souhaite obtenir les dates des commandes passées par les clients domiciliés à Paris Pour cela, nous allons utiliser les opérateurs de projection, de restriction et de jointure. La jointure permet de lier deux tables ayant un attribut commun. La projection consiste en un découpage vertical. La restriction consiste en un découpage horizontal. 17

94 GVdK = CUY Requêtes : jointure (requêteur graphique) Requête avec projection, restriction et jointure : DATES DE COMMANDES DES CLIENTS PARISIENS Tables utilisées dans la requête. Projection des champs retenus dans la requête. Restriction sur le champ « adressevillecli » avec le critère « paris ». Jointure liant les deux tables ayant un champ commun : « numcli ». 20

95 GVdK = CUY Requêtes : jointure (langage SQL[1]) Jointure – Exemple Une jointure est une instruction permettant de sélectionner un ensemble de lignes dans plusieurs tables (liées), selon un critère fixé. Soit les tables Client, Commande qui contient les champs : NumCli, NomCli, Adresseruecli, AdresseCPcli, Adressevillecli NumCom, datecom, NumCli Linstruction Select Nomcli, Adressevillecli, datecom FROM Clients, Commande WHERE Adressevillecli="paris AND Clients.NumCli = Commande.NumCli aura comme résultat la liste des dates de commandes des clients parisiens

96 GVdK = CUY Langage des requêtes : jointure

97 GVdK = CUY Langage des requêtes : jointure

98 GVdK = CUY Les requêtes paramétrées Dans la ligne Critères du (ou des) champs concerné(s) par le paramétrage, entrer entre crochets [ ] linvite qui apparaîtra dans la boîte de dialogue. La requête est alors exécutée en fonction de la réponse de l'opérateur.

99 GVdK = CUY Requêtes : analyse croisée Il s'agit d'un tableau interactif qui contient des données de synthèse constituées à partir d'une BDD interne (Access) ou externe (SQL Server, etc.) que l'on peut manipuler à l'aide de fonctions statistiques pour les analyser sous divers angles. Le vocable dynamique découle du fait que l'on peut faire pivoter les titres des colonnes et des lignes pour obtenir différentes présentations analytiques des données. Exemples, récapituler les ventes par service, par mois ou par vendeur ; subdiviser ces catégories par produit ; comparer les ventes réalisées et les dépenses avec les montants budgétés par mois, par trimestre ou par année. Par rapport à une requête Sélection, les informations obtenues sont plus compactes et se prêtent donc mieux à une analyse.

100 GVdK = CUY Requêtes : analyse croisée Par rapport à une requête Sélection, les informations obtenues sont plus compactes et se prêtent donc mieux à une analyse.

101 GVdK = CUY Requêtes : fonctions de calcul Les fonctions suivantes peuvent être utilisées dans une clause SELECT pour effectuer des calculs sur le résultat de la requête : COUNT : nombre d'enregistrements ( Pour éviter de compter les doublons, on peut ajouter le paramètre DISTINCT) SUM : somme d'une colonne AVG : moyenne (average) MAX : maximum d'une colonne MIN : minimum d'une colonne

102 GVdK = CUY Requêtes : fonctions de calcul Select AVG(tableagrégation.nombre) as Moyennedenombre from tableagrégation

103 GVdK = CUY Requêtes : fonctions de calcul Select COUNT(*) from PERSONNEL nombre de salariés

104 GVdK = CUY Requêtes : fonctions de calcul Select SUM(salaire) from PERSONNEL where fonction=« maitre-assistant » Somme des salaires des «maître- assistant »

105 GVdK = CUY Requêtes : regroupement sans fonction de calcul [1] Select tableagrégation.ville from tableagrégation GROUP BY tableagrégation.ville

106 GVdK = CUY Requêtes : regroupement sans fonction de calcul [2] Select from GROUP BY

107 GVdK = CUY Requêtes : fonctions de calcul et groupement Select AVG(tableagrégation.nombre) as Moyennedenombre from tableagrégation GROUP BY tableagrégation.ville

108 GVdK = CUY Requêtes : groupement, sélection et fonction de calcul Select tableagrégation. ville, avg(nombre) from tableagrégation GROUP BY tableagrégation. ville HAVING avg(nombre)>400 On affiche les villes pour lesquelles la moyenne du champ "nombre" est supérieure à 400. On affiche aussi les moyennes du champ "nombre" pour les villes retenues.

109 GVdK = CUY Requêtes : groupement, sélection et fonction de calcul [2] Select numclient, count(*) from commande GROUP BY numclient On affiche les numéros de client et le nombre de commandes passées.

110 GVdK = CUY Requêtes : groupement, sélection et fonction de calcul [3] Select numclient, min(montant), max(montant) from commande GROUP BY numclient HAVING count(*)>2 On affiche pour chaque client ayant passé plus de 2 commandes, quel est le montant minimum, et maximum des commandes quil a passées.

111 GVdK = CUY Requêtes : groupement, sélection et fonction de calcul [4] Select cl.numclient, nom, prenom, count(*), avg(montant), sum(montant) from client cl, commande co WHERE cl.numclient = co.numclient GROUP BY numclient HAVING count(*)>2 ORDER BY 4 desc, nom, prenom On affiche pour chaque client ayant passé plus de 2 commandes, son numéro, nom, prénom, nombre de commandes passées, moyenne et cumul total des montants, le tout trié par nombre décroissant de commandes passées, puis par noms, prénoms croissants

112 GVdK = CUY Requêtes : groupement, sélection et fonction de calcul [5] Select * from details WHERE quantite – quantite * 0,1 > 500 On affiche pour chaque élément commandé, ceux dont 90% de la quantité commandée dépasse les 500 unités

113 GVdK = CUY Requêtes : groupement, sélection et fonction de calcul [6] Select sum(prixunitaire * quantite) from details WHERE numcommande = « PO » On affiche pour chaque élément commandé, ceux dont 90% de la quantité commandée dépasse les 500 unités

114 GVdK = CUY Requêtes : requêtes imbriquées (intersection) [1] Select numetud, nom, prenom from students WHERE numetud in (select numetud from JPO) On affiche les étudiants qui se sont inscrits après être passés par la journée portes ouvertes Select numetud, nom, prenom from students Intersect select numetud from JPO)

115 GVdK = CUY Requêtes : requêtes imbriquées (intersection) [2] Select numetud, nom, prenom from students WHERE numetud NOT in (select numetud from JPO) On affiche les étudiants qui se sont inscrits sans être passés par la journée portes ouvertes Select numetud, nom, prenom from students Minus select numetud from JPO) Select numetud, nom, prenom from students Except select numetud from JPO)

116 GVdK = CUY Requêtes : exemples et exercices Travail (présentation Powerpoint) relatif aux requêtes ( les fautes dorthographe sont de leurs auteurs ) : Fait par Hyacinthe Laini (59 dias) :Hyacinthe Laini Fait par Didric Sluis (21 dias) :Didric Sluis Fait par Céline Stevens (21 dias) :Céline Stevens Fait par Giusy Talluto (27 dias) :Giusy Talluto Fait par Jonathan Visage (23 dias) :Jonathan Visage

117 GVdK = CUY Requêtes : exemples et exercices Travail (présentation Powerpoint) relatif aux requêtes, une cinquantaine dexemples ( les fautes dorthographe sont de leurs auteurs ) : Richit Nathalie, Pouplier Thierry, Patrice Viaud, Patrick Laupies NET_PROVENCE, fait par Richit Nathalie, Pouplier Thierry, Patrice Viaud, Patrick Laupies (42 dias) :NET_PROVENCE

118 GVdK = CUY Formulaires : assistant (1)

119 GVdK = CUY Formulaires : assistant (2.1)

120 GVdK = CUY Formulaires : assistant (2.2)

121 GVdK = CUY Formulaires : assistant (3)

122 GVdK = CUY Formulaires : assistant (4)

123 GVdK = CUY Formulaires : assistant (5)

124 GVdK = CUY Formulaires : assistant (6)

125 GVdK = CUY Formulaires : instantané (6)

126 GVdK = CUY Formulaires : assist. Graph. (7)

127 GVdK = CUY Formulaires : assist. Graph. (8)

128 GVdK = CUY Formulaires : assist. tabl. dyn. (9)

129 GVdK = CUY États : création (1)

130 GVdK = CUY États : création (2)

131 GVdK = CUY États : création (3)

132 GVdK = CUY États : création (4)

133 GVdK = CUY États : création (5)

134 GVdK = CUY États : création (6)

135 GVdK = CUY États : création (7)

136 GVdK = CUY États : assistant étiquettes (8)

137 GVdK = CUY États : assistant étiquettes (9)

138 GVdK = CUY États : calculs (10)

139 GVdK = CUY États : tris & regroupements (11)

140 GVdK = CUY Cas Baronnia (énoncé [1]) Dans la haute société, Madame la Baronne Damien Fèz de V'nir (Ukraine) est une figure incontournable. Elle organise avec un brio inégalé des réceptions qui vont du souper simple entre amis (24 couverts, 5 services), à la soirée de mariage princier. Inutile de dire que ses invitations sont extrêmement prisées. Et pour cause... Madame la Baronne, avec beaucoup de tact, veille à inviter au moins une fois l'an chacune de ses relations. En bonne hôtesse, elle sait présenter ses invités les uns aux autres en rappelant les professions respectives et, le cas échéant, à quelle réception ils ont déjà eu l'occasion de se rencontrer. Le nombre d'amis et relations ne faisant que croître, Madame la Baronne envisage - non sans une certaine répugnance - de recourir à l'ordinateur ("Vous savez très chère, cette chose pleine de puces et de souris..."). Sur recommandation de son ami intime, le Comte René de Saissandre, qui vous connaît très bien (si, si...), elle décide de vous confier la résolution de cet angoissant problème.

141 GVdK = CUY Cas Baronnia (énoncé [2]) Madame la Baronne désire : établir un carnet d'adresse de ses amis, relations et connaissances (en distinguant chacune de ces catégories) ; savoir si telle personne était présente à la dernière réception, si elle était malade ou excusée ; savoir depuis combien de temps telle personne n'a plus été invitée et adresser des invitations à celles qui n'ont plus été invitées depuis 8 mois ; connaître l'âge (en toute discrétion bien sûr), la profession et le revenu annuel (en toute discrétion aussi ça va de soi) de ses relations ; faire la liste des personnes qui appartiennent à une tranche d'âge donnée ; vérifier le budget, c'est-à-dire connaître le coût des réceptions. On compte un coût fixe (location du château) et un coût proportionnel par invité (menu) ; savoir si une invitation a été confirmée ; savoir si le temps était beau, maussade ou pluvieux à chacune de ses réceptions ; etc.

142 GVdK = CUY Cas Baronnia (énoncé [3]) Quelques informations supplémentaires : On ne considère que les personnes individuelles et non les couples ; Les invités apportent souvent un petit cadeau. Pour éviter tout impair, il faut savoir qui a apporté quoi et à quelle réception ; De même, certains invités reçoivent un petit cadeau (anniversaire, promotion...) ; il faut savoir qui a reçu quoi et à quelle réception... et pour quelle valeur (budget) ; Plusieurs amis possèdent un titre de noblesse

143 GVdK = CUY Cas Baronnia (énoncé [4]) Quelques exigences particulières, il faudrait pouvoir obtenir : la liste des personnes invitées à la réception du jj/mm/aaaa, [titre, nom, prénom, profession de l'invité ; tri par nom] ; la liste des personnes présentes à la réception du jj/mm/aaaa (critère) [tous les champs ; tri par nom] ; la liste de toutes les réceptions [Date, lieu, nombre d'invités présents ; tri par date décroissante] ; le coût d'une réception donné par la formule suivante : nombre d'invités (sauf excusés) x coût par personne + coût fixe + coût des cadeaux offerts

144 GVdK = CUY Cas Baronnia (énoncé [5]) Quelques réceptions remarquables : LieuDateCoût fixe (Eur)Coût / pers (Eur) Château de Lamalle 21 juillet Château d'Outre Meuse 15 août Domaine des Prés Fleuris 14 février ,5 Ferme du Marquisat 21 mars

145 GVdK = CUY Cas Baronnia (énoncé [6]) Quelques amis et relations (remarquables ?) : IdentitéAdresseVille Omer dAlorsRue neuve 5Juprelle Dominique Nique (marquise) Rue Dewonck 67Fexhe Roland Nôset-AbondRue du sale 118Mellery Elvire SacuttiRue provincialeVillers Aubin Sahalore (comte) Rue Maréchal 114Lantin

146 GVdK = CUY Diviser pour régner… Carnet dadresse Covert Harry, rue Minant 3, 6681 Lavacherie, Dalors Homère, rue Tilant 9, 1348 Louvain-la-Neuve, John Deuf, rue Barbe 10, 7090 Dour, QuiOùTel Covert Harry rue Minant 3, 6681 Lavacherie, Dalors Homèrerue Tilant 9, 1348 Louvain-la- Neuve John Deufrue Barbe 10, 7090 Dour cPrenomcNomcAdressecCPcCommunecTel HarryCovertrue Minant 36681Lavacherie HomèreDalorsrue Tilant 91348Louvain-la-Neuve JohnDeufrue Barbe Dour

147 GVdK = CUY Structure des bases de données Base de données mabase.mdb Table1 Élèves Enregistrement1 Élv Dupont Enregistrement2 Élv Durand Pierre1 Champ1 Nom Champ2 Prénom Table2 Classe Table3 Matières

148 GVdK = CUY Utile dans les requêtes (1) Like "S*" Fournit tous les enregistrements pour lesquels le champ commence par S. Like "*Imports" Fournit tous les enregistrements pour lesquels le champ termine par le mot "Imports". Like "[A-D]*" Fournit tous les enregistrements pour lesquels le champ commence par une lettre entre A et D. Like "*ar*" Fournit tous les enregistrements pour lesquels le champ contient la séquence "ar". Like "Acc?" Fournit tous les enregistrements pour lesquels le champ commence par "Acc" et pour lesquels la quatrième et dernière lettre est inconnue. Like [forms]![NomFor m]![NomChamp] Fournit tous les enregistrements pour lesquels le champ est identique au champ "NomChamp" du formulaire "NomForm".

149 GVdK = CUY Utile dans les requêtes (2) < 100 Fournit tous les enregistrements pour lesquels le champ contient une valeur numérique inférieure à 100. < 1/1/2000 Fournit tous les enregistrements pour lesquels le champ contient une date antérieure au 1/1/2000. A And B Fournit tous les enregistrements pour lesquels le champs satisfait le critère A et le critère B. A Or B Fournit tous les enregistrements pour lesquels le champs satisfait le critère A ou le critère B. A Xor B Fournit tous les enregistrements pour lesquels le champs satisfait le critère A ou le critère B de manière exclusive. Null Fournit tous les enregistrements pour lesquels le champs est vide. Is not null Fournit tous les enregistrements pour lesquels le champs n'est pas vide.

150 GVdK = CUY Les cardinalités (1) A a1a1a1a1 a2a2a2a2 a3a3a3a3 a4a4a4a4 a5a5a5a5 a6a6a6a6 B b1b1b1b1 b2b2b2b2 b3b3b3b3 b4b4b4b4 b5b5b5b5 A a1a1a1a1 a2a2a2a2 a3a3a3a3 a4a4a4a4 a5a5a5a5 B b1b1b1b1 b2b2b2b2 b3b3b3b3 b4b4b4b4 b5b5b5b5 b6b6b6b6 A a1a1a1a1 a2a2a2a2 a3a3a3a3 a4a4a4a4 a5a5a5a5 a6a6a6a6 B b1b1b1b1 b2b2b2b2 b3b3b3b3 b4b4b4b4 b5b5b5b5 b6b6b6b6 <1,1>(0,1)-(1,1) One to one <1,n>(0,n)-(1,1) One to many (1,n)-(0,n) Many to many


Télécharger ppt "GVdK = CUY Bases de données Access, Mysql et autres Systèmes de Gestion de Base de Données Relationnelle (=SGBDR) (=DBMS)"

Présentations similaires


Annonces Google