Initiation aux bases de données et à la programmation événementielle

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.
Bases de données : modèlisation et SGBD
Bureautique Excel-VBA et Access – Cours 2 Dominante Économie et Gestion dEntreprise AgroParisTech Année Liliana IBANESCU et Laurent ORSEAU UFR.
Fonctionnalités des SGBD
Les requêtes Manière de dialoguer avec une base de donnée pour :
Initiation aux bases de données et à la programmation événementielle
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LMD: Langage de Manipulation de Données
Développement d’applications web
Systèmes d Information : 10b Michel de Rougemont Université Paris II Les Bases de Données : Access.
LE LANGAGE SQL Langage de manipulation de données (LMD)
Initiation aux bases de données et à la programmation événementielle
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Bases de données et SGBD relationnels
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.
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
L’utilisation des bases de données
Algèbre relationnelle et SQL
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Modèle Logique de Données (MLD)
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
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.
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.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Chapitre 5 : Le langage SQL
SQL Partie 1.
Initiation aux bases de données et à la programmation événementielle Cours N°3 : langage de manipulation de données. Support de cours de Souheib BAARIR.
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.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Sélection de colonnes (la projection)
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.
 L’information est conservée sous forme de tables  Contient: ◦ Un nom ◦ Une clé primaire ◦ Une liste de colonnes ◦ Les informations/données (sous forme.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
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 de Manipulation de Données LMD. 2 Les ordres SQL de manipulation INSERT –Insertion (ajout) de ligne(s) dans une table –Utiliser SQL*LOAD pour.
Séance /10/2004 SGBD - Approches & Principes.
Introduction aux Bases de Données et au langage SQL
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
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
Complément sous-requêtes
Cours n°2 Implémentation et exploitation
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
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.
SQL Partie 2. SQL est un langage de manipulation de données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
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 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Initiation aux bases de données et à la programmation événementielle
Transcription de la présentation:

Initiation aux bases de données et à la programmation événementielle Cours N°2 : Introduction au langage d’interrogation de données. Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm E-mail : souheib.baarir@u-paris10.fr Université Paris Ouest Nanterre la Défense. 2009-2010.

BD relationnelle Relations et Algèbre relationnelle : Représentation symbolique (mathématique) de haut niveau des intentions de l’utilisateur. Sur une machine… : Représentation informatique des Relations ? Les Tables. Langage exprimant les Opérations Relationnelles ? SQL : SELECT att1,…, attn FROM R1,…,Rm WHERE Conditions Requêtes de sélection de base

Relations  tables Table B Table C B allumé éteint A B vert allumé A = {vert, jaune, rouge}, B = {allumé, éteint}, C = {(vert, allumé),(vert, éteint), (rouge, allumé)} En-tête de colonne : le nom du champ Table B Table C Les valeurs d’une « colonne » appartiennent à un même domaine B allumé éteint A B vert allumé éteint rouge Chaque « ligne » est un n-uplet de la relation On parle d’ « enregistrement » On parle de « champ »

Tables : rôles des champs Information (intrinsèque) : définit une donnée particulière. Identifiant (Clé primaire) : ensemble de champs dont les valeurs permettent de distinguer les enregistrements les uns aux autres. Il peut être simple (un seul champ) ou composé (plusieurs champs). Référence (Clé étrangère, Clé externe) : champ qui est clé primaire d’une autre relation. N° étudiant nom Prénom formation 105230 MARTIN Marie MMIA 105234 BERNARD Louis Gestion 105237 THOMAS Alice Anglais 105239 Bernard 105250 MARIE Philippe nom prénom formation MARTIN Marie MMIA BERNARD Louis Gestion THOMAS Alice Anglais Bernard MARIE Philippe Référence adresse 2 3 4 code adresse ville Dép. 1 Paris 75 2 Versailles 78 3 Nanterre 92 4 Suresnes ville Dép. Paris 75 Versailles 78 Nanterre 92 Suresnes

Structured Query Language (SQL) Plusieurs types de requêtes : d’interrogation. de manipulation : insert, update, delete… de définition : create, alter, drop… SELECT [DISTINCT] liste de champs FROM liste de tables [WHERE prédicats] Une nouvelle Table : mettant en relation plus tables, exhibant de nouvelles données, cachant des données inutiles, … [GROUP BY ordre des groupes] [HAVING condition] [ORDER BY liste de colonnes]

SQL : produit Cartésien TableR1 TableR2 PRODUIT(TableR1,TableR2) ville dept Rouen 76 Lyon 69 dept Région 28 Centre 69 Rhône-Alpes Deux champs portent le même nom dans TableR1 et TableR2 : Différenciés par le nom de la table associé SQL TableR1•TableR2 ville TableR1.dept TableR2.dept région Rouen 76 28 Centre Lyon 69 Rhône-Alpes SELECT * FROM TableR1,TableR2

SQL : Projection le nom et prénom de tous les étudiants ? formation adresse MARTIN Marie MMIA Versailles BERNARD Louis Gestion Nanterre THOMAS Alice Anglais Bernard Suresnes le nom et prénom de tous les étudiants ? étudiant-proj PROJECTION (nom,prénom) (étudiant) nom prénom MARTIN Marie BERNARD Louis THOMAS Alice Bernard SQL SELECT nom, prénom FROM étudiant;

toutes les informations sur les étudiants Nanterrois ? SQL : Restriction étudiant nom prénom formation adresse MARTIN Marie MMIA Versailles BERNARD Louis Gestion Nanterre THOMAS Alice Anglais Bernard Suresnes toutes les informations sur les étudiants Nanterrois ? RESTRICTION (adresse = Nanterre) (étudiant) Étudiant-nanterrois nom prénom formation adresse BERNARD Louis Gestion Nanterre THOMAS Alice Anglais SELECT * FROM étudiant WHERE adresse = "Nanterre"; SQL

SQL : Restriction et projection étudiant nom prénom formation adresse MARTIN Marie MMIA Versailles BERNARD Louis Gestion Nanterre THOMAS Alice Anglais Bernard Suresnes le nom et prénom des étudiants Nanterrois. PROJECTION (Nom,prénom) (RESTRICTION(adresse = Nanterre) (étudiant )) SQL identités étudiants nanterrois nom prénom BERNARD Louis THOMAS Alice SELECT nom, prénom FROM étudiant WHERE résidence = "Nanterre";

SQL : Produit Cartésien, restriction et projection étudiant adresse N° étudiant Nom prénom formation 105230 MARTIN Marie MMIA 105234 BERNARD Louis Gestion 105237 THOMAS Alice Anglais 105239 Bernard 105250 MARIE Philippe nom prénom formation MARTIN Marie MMIA BERNARD Louis Gestion THOMAS Alice Anglais Bernard MARIE Philippe Référence adresse 2 3 4 code adresse ville Dép. 1 Paris 75 2 Versailles 78 3 Nanterre 92 4 Suresnes ville Dép. Paris 75 Versailles 78 Nanterre 92 Suresnes le nom, le prénom et la ville des étudiants qui habitent le Haut-de-Seine. PROJECTION (Nom,prénom)(RESTRICTION(référence=code adresse et département= 92) (PRODUIT(étudiant,adresse))) SQL Etudiants Hauts-de-Seine SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant, adresse WHERE (adresse.[code adresse]=[référence adresse]) AND (adresse.département=92); nom prénom ville BERNARD Louis Nanterre THOMAS Alice MARIE Philippe Suresnes

Produit Cartésien, restriction et projection : détails des opérations (théoriquement) PROJECTION(Nom,prénom,ville) (RESTRICTION(référence=code adresse et département= 92) (PRODUIT(étudiant,adresse))) SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant, adresse WHERE (adresse.[code adresse]=[référence]) AND (adresse.département=92); N° étudiant nom prénom formation référence code adresse ville département 105230 MARTIN Marie MMIA 2 1 Paris 75 Versailles 78 3 Nanterre 92 4 Suresnes 105234 BERNARD Louis Gestion … N° étudiant Nom prénom formation 105230 MARTIN Marie MMIA 105234 BERNARD Louis Gestion 105237 THOMAS Alice Anglais 105239 Bernard 105250 MARIE Philippe Référence 2 3 4 code adresse ville Dép. 1 Paris 75 2 Versailles 78 3 Nanterre 92 4 Suresnes ville Dép. Paris 75 Versailles 78 Nanterre 92 Suresnes étudiant adresse Etudiants Hauts-de-Seine nom prénom ville BERNARD Louis Nanterre THOMAS Alice MARIE Philippe Suresnes

Produit Cartésien, restriction et projection : problèmes le nom, le prénom et le nom du département des étudiants, qui habitent le Haut-de-Seine. PROJECTION(Nom,prénom,ville) (RESTRICTION(référence=code adresse et département= 92) (PRODUIT(étudiant,adresse))) SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant, adresse WHERE (adresse.[code adresse]=[référence]) AND (adresse.département=92) Relation intermédiaire : Construction d’enregistrements inutiles ! Relation finale : On ne peut pas rajouter d’enregistrements dans la relation finale ! Solution : la jointure.

Ici, le nom de la table est obligatoire SQL : Jointure SELECT étudiant.nom, étudiant.prénom,adresse.ville FROM adresse, étudiant WHERE (adresse.[code adresse]=[référence]) AND (adresse.département=92); Ici, le nom de la table est obligatoire La première clause de restriction est presque équivalente à une jointure SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant INNER JOIN adresse ON étudiant.référence = adresse.[Code adresse] WHERE adresse.département = 92;

Jointure : détails des opérations SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant INNER JOIN adresse ON étudiant.référence = adresse.[Code adresse] WHERE adresse.département = 92; N° étudiant nom prénom formation 105230 MARTIN Marie MMIA 105234 BERNARD Louis Gestion 105237 THOMAS Alice Anglais 105239 Bernard 105250 MARIE Philippe nom prénom formation MARTIN Marie MMIA BERNARD Louis Gestion THOMAS Alice Anglais Bernard MARIE Philippe Référence 2 3 4 code adresse ville Dép. 1 Paris 75 2 Versailles 78 3 Nanterre 92 4 Suresnes ville Dép. Paris 75 Versailles 78 Nanterre 92 Suresnes 105230 MARTIN Marie MMIA 2 Versailles 78 105234 BERNARD Louis Gestion 3 Nanterre 92 105237 THOMAS Alice Anglais 3 Nanterre 92 105239 MARTIN Bernard Anglais 2 Versailles 78 105250 MARIE Philippe Gestion 4 Suresnes 92