Rédigez le modèle relationnel à la source des tables de biblio.mdb.

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Access Frédéric Gava (MCF)
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Formation au référentiel 1 STG (Sciences et technologie de la gestion)
Les requêtes Manière de dialoguer avec une base de donnée pour :
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
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,
LMD: Langage de Manipulation de Données
Base de données relationnelle et requêtes SQL
L’utilisation des bases de données
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
Les instructions PHP pour l'accès à une base de données MySql
Les bases de donnÉes I DÉFINITION Ensemble structuré d’informations
Laini Hyacinthe 2 e NSSE Access Les requêtes Laini Hyacinthe 2 e NSSE Plan 1.Quelques définitionsQuelques définitions 2.À quoi servent les requêtesÀ
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
L’utilisation des bases de données
Algèbre relationnelle et SQL
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
SQL Partie 3 : (LID : Langage d'interrogation de données)
Cours N°2 Base de Données & Langage SQL
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL PHILIPPE BANCQUART.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
Cours de Base de Données & Langage SQL
Manipulation des données Requêtes simples
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Initiation aux bases de données et à la programmation événementielle
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.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Chapitre 5 : Le langage SQL
SQL Partie 1.
01. Liste des noms de candidats avec leur date de naissance.
SIO SLAM1: Exploitation d’un schéma de données
Traduction des opérations sous MySQL
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Analyse et Conception de Systèmes Informatiques (ACSI)
Optimisation de requêtes
Réalisé par VISAGE JONATHAN (aidé par SLUYS DIDRIC) 2 NSSE.
 Requêtes MySQL en PHP Introduction
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sélection de colonnes (la projection)
 Formulaires HTML : traiter les entrées utilisateur
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.
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Initiation aux bases de données et à la programmation événementielle
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
CONCEPTS BD - Synthèse journée 1 :
Base de données Magasins.accdb
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
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é.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 8 Support de cours rédigé par Bernard COFFIN Université.
SQL LID – INTERROGATIN DES DONNEES
Transcription de la présentation:

Rédigez le modèle relationnel à la source des tables de biblio.mdb. Support : Cas biblio Vous disposez du fichier biblio.mdb créé sous ACCESS. Téléchargez le à partir de la page précedente et renommez le en intégrant votre nom (ex : marcelbiblio.mdb). Il vous servira de support de test des requêtes exemples proposées dans ce cours. Voici un aperçu de la structure du fichier de base de données biblio à l’aide du modèle de relations ACCESS. Rédigez le modèle relationnel à la source des tables de biblio.mdb. Il servira de support à l’écriture des requêtes.

Support : Contenu tables biblio Voici les occurrences contenues dans les différentes tables de biblio.mdb EDITEUR LIVRE AUTEUR EMPRUNT (Extrait) ADHERENT GENRE

Cours : Opérateurs de requêtes Une requête ou interrogation de bases de données constitue un enchaînement d’opérations sur les tables et leurs occurrences afin d’en extraire le contenu souhaité pour chaque champ retenu. De nouveaux champs peuvent en outre être obtenus en combinant d’autres champs. Des calculs complexes peuvent être réalisés à l’aide de fonctions et des regroupements sont intégrés pour les cumuls, moyennes etc. de séries de valeurs. L’affichage par défaut dans Access est le QBE (Query by example) offrant la possibilité d’éviter toute programmation complexe et de permettre une approche simple des requêtes à l’aide de manipulations de la souris. En arrière plan toutefois s’écrit automatiquement un enchaînement d’opérateurs sous la forme SQL (Structured Query Language), langage couramment utilisé dans les contextes de requêtes actuels (SQL Server, PHP mySQL, Access, Oracle etc.). Access possède quelques spécificités dans son aspect SQL. Nous nous intéresserons à l’écriture SQL courante. 3 opérations constituent l’essentiel de l’écriture SQL : PROJECTION  SELECT FROM SELECTION (RESTRICTION) JOINTURE (COMPOSITION) WHERE, AND, OR

Cours : Projection 1°) PROJECTION : Affichage d’une liste de champs d’une ou plusieurs tables associées (les lignes identiques ne sont présentes qu’une seule fois selon …) : Elle s’écrit : SELECT champ1, champ2, … champN FROM Table1, Table2, …TableN Exemple1 : Quelle est la liste des adhérents (Nom, Prénom, Adresse) SELECT ADHERENT.NomAdh, ADHERENT.PrenAdh, ADHERENT.RueAdh, ADHERENT.VilleAdh FROM ADHERENT Se lit : Affichez les noms, prénoms, adrue et ville des adhérents A partir de la table ADHERENT On peut tolérer d’alléger notre écriture en écrivant simplement la syntaxe champ et non plus TABLE.Champ, surtout si une confusion des appellations de champs est impossible. Ce qui donne : SELECT NomAdh, PrenAdh, RueAdh, VilleAdh On peut y intégrer une création d’un champ calculé simplement ou à l’aide d’une fonction de calcul grâce et l’opérateur AS permettra de nommer ce nouveau champ. Exemple2 : Quelles sont les durées en jours des emprunts ? (N° Adh, N°Livre, DateEmprunt, Durée) SELECT N°Adh, N°Livre, DateEmprunt, (DateRetour – DateEmprunt) AS Durée FROM EMPRUNT Exemple3 : Quelles sont les durées en semaines entières des emprunts ? (N° Adh, N°Livre, DateEmprunt, DuréeSem). SELECT N°Adh, N°Livre, DateEmprunt, INT((DateRetour – DateEmprunt)/7) AS DuréeSem INT(nombre) est la fonction « entier d’un nombre » équivalent à ENT dans ACCESS ou EXCEL. ARROND(nombre;nb décimales) aurait engendré un arrondi au plus proche. Ces fonctions sont disponibles dans le générateur d’expression ACCESS. Question : Combien d’occurrences et quels champs contiendra la requête exécutée à partir de l’instruction SQL : SELECT DISTINCT NomAdh FROM ADHERENT ORDER BY NomAdh. Pourquoi ? Réponse : 15 occurrences car les NomAdh identiques ne sont présents qu’une seule fois. L’opérateur DISTINCT équivaut à activer l’option Valeurs distinctes : Oui dans les propriétés de la requête sous ACCESS. ORDER BY permet un tri croissant (ASC) ou décroissant (DESC)

Cours : Sélection 2°) SELECTION : RESTRICTION Affichage d’une liste restreinte des occurrences d’une table en fonction des champs projetés. La sélection implique obligatoirement la prise en compte d’un ou plusieurs critères. Elle s’écrit : WHERE Critère1 AND Critère2 … OR CritèreN Pour les comparaisons de valeurs numériques on utilise le signe =, <, >, <=, >=, <> Pour les chaînes de texte on peut utiliser l’opérateur LIKE, NOT LIKE (Comme, Pas Comme) Pour les encadrements on peut utiliser BETWEEN … AND Elle s’écrit derrière la PROJECTION Exemple1 : Quels adhérents (NomAdh et PrenAdh) résident à Aubigny ? SELECT NomAdh, PrenAdh FROM ADHERENT WHERE VilleAdh = « Aubigny » Exemple2 : Quels adhérents d’Aubigny sont des adultes (parents ou non) ? WHERE VilleAdh LIKE Aubigny AND N°AdhParent = Null Exemple3 : Quels numéros de livres sont en cours d’emprunt actuellement ? SELECT N°Livre FROM EMPRUNT WHERE DateEmprunt <= Now() AND DateRetour >= Now() On peut aussi écrire : WHERE Now() BETWEEN DateEmprunt AND DateRetour Now() correspond à la fonction Maintenant() de ACCESS

Cours : Jointure 3°) JOINTURE : Permet l’assemblage des tables au fur et à mesure en fonction des clés (primaires ou secondaires) qu’elles ont en commun. Une jointure se fait en fonction des clés pour être cohérente. Elle n’utilisera que très exceptionnelement tout autre champ. Elle s’écrit : WHERE Table1.cléX=Table2.cléX AND Table2 .CléY=Table3.CléY Dans ACCESS la jointure est écrite par INNER JOIN ON Table1.cléX=Table2.cléX Exemple1 : Quelle est la liste des livres (Titre) uniquement empruntés jusqu’ici ? SELECT TitreLivre FROM LIVRE, EMPRUNT WHERE LIVRE.N°Livre = EMPRUNT.N°Livre Exemple2 : Donnez le nom de l’auteur et le genre du livre intitulé La maison des Atreides SELECT NomAut, LibelléGenre FROM AUTEUR, GENRE, LIVRE WHERE TitreLivre LIKE « La maison des Atreides » AND AUTEUR.N°Aut = LIVRE.N°Aut AND LIVRE.Codegenre = GENRE.CodeGenre Exemple3 : Quels sont les prénoms des enfants de Alexandre KILOURIEN ? SELECT PrenAdh FROM ADHERENT WHERE NomAdh LIKE « KILOURIEN » AND PrenAdh LIKE « Alexandre » AND ADHERENT.N°Adh = ADHERENT.N°AdhParent Remarque importante : On peut substituer à la jointure une opération d’intersection avec l’opérateur IN pour obtenir un effet identique parfois. Le IN (Intersection) ou NOT IN (Différence) sera revu lors d’approfondissements ultérieurs. Exemple : Donnez la liste des parents : SELECT PrenAdh, NomAdh, N°Adh WHERE N°Adh IN (SELECT N°AdhParent from ADHERENT) Exemple : Quels livres (N°livre) n’ont jamais été empruntés SELECT N°livre FROM LIVRES NOT IN (SELECT N°Livre FROM EMPRUNT)

Remarque importante : On peut substituer à la jointure une opération d’intersection avec l’opérateur IN pour obtenir un effet identique parfois. Le IN (Intersection) ou NOT IN (Différence) sera revu lors d’approfondissements ultérieurs. Exemple : Donnez la liste des parents : SELECT PrenAdh, NomAdh, N°Adh FROM ADHERENT WHERE N°Adh IN (SELECT N°AdhParent from ADHERENT) Exemple : Quels livres (N°livre) n’ont jamais été empruntés SELECT N°livre FROM LIVRES NOT IN (SELECT N°Livre FROM EMPRUNT)