Cours N°4 Base de Données & Langage SQL
description
Transcript of Cours N°4 Base de Données & Langage SQL
1
Cours N°4
Base de Données & Langage SQL
Sahbi SIDHOM, ICom Lyon 2
Promo. DESS IM 02/03
2
Plan du cours :
• 1. Modèle Relationnel et SQL
• 2. Introduction au modèle relationnel
• 3. Opérations propres de l’algèbre relationnelle
• 4. Syntaxe des opérations SQL et requêtes
____________
• 5. Applications à la gestion de BDDR
3
V. Application sur un projet : tables, liens, schéma relationnel,
requêtes en SQL…
4
1. Thème du projet
• Donner le thème du projet ou l’idée concernant la conception de la base de données.
• Exemples :– Conception d’une base de données pour un restaurant
animé sur une péniche ;
– Conception d’une base de données pour gérer un magasin de fournitures scolaires.
5
2. Présentation du projet
• Il s’agit de décrire en phrases simples les tâches inhérentes et fonctionnelles du projet.
• Exemples:– Restaurant animé : *une péniche transformée en
restaurant pour accueillir des clients, *proposant des menus évolutifs et qui changent chaque semaine/ mois/ saison/ événement…, *le soir, le lieu d’accueil se métamorphose en bar/ salle de concert/ boite de nuit…, *le lieu comporte des salles pou fumeurs, non fumeurs et avec scène de spectacle.
6
– magasin de fournitures scolaires : *un magasin spécialisé dans objets scolaires proposant des gammes de produit pour tous les goût, *ses produits concernent l’écolier comme l’universitaire, *varier les fournisseurs donnent l’avantage à proposer différents produits, *l’employé du magasin est à l’écoute du client dans ses achats.
7
3. Cahier des charges
• Interfaçage entre la base de données et ses utilisateurs
• Formulaires de saisie de données• Chaque formulaire s’adapte à la tâche accomplie
par son utilisateur• Exemples :
– Formulaire pour les réservations– Formulaire pour passer une commande– …
8
4. Description des tables
• Distinguer :– Tables simples : ne contenant pas d’informations provenant d’autres
tables,– Tables de relations : contenant des identifiants de différentes tables et
permettant de mettre en relation des tuples/n-uplets entre eux
• Exemples :* RESTAURANT :
– Table CLIENT(id_client, Nom, Prénom, Age, Adresse, Téléphone, profession),
– Table MENU(id_menu, Libellé, Prix),– Table RESERVATION(id_réservation, Date, id_client, id_menu,…) :
relation Client/Menu,– …
9
* MAGASIN :– Table CLIENT(id_client, Nom, Prénom, Age,
Adresse, Téléphone, profession),– Table EMPLOYE(id_employé, Nom, Fonction,
Adresse),– Table COMMANDE(id_commande, id_client,
id_employé, id_produit, DateCommande, DateLivraison) : relation Client/Employé
– …
10
5. Description des relations entre les
tables• Distinguer :
– Un - Plusieurs ( 1-n ) et – Plusieurs – Plusieurs ( n-n )
• Exemples :– Un Client peut faire plusieurs Réservations– Un Menu peut être proposé à plusieurs Clients– Un Employé sert plusieurs Clients– Un Produit est fourni par plusieurs
Fournisseurs– …
11
12
13
6. Les requêtes• Distinguer :
– Les requêtes simples– Les requêtes croisées ou avec critères
• Par application des opérations de l’algèbre relationnelle selon les besoins dans la gestion de la base.
• Exemples :– SELECT NUMclient, NOMclient
FROM CLIENTUNION SELECT NUMcom, NUMemploye FROM COMMANDEORDER BY NUMclient;
– …