FORMATION PAF STG et Base de données SOMMAIRE



Documents pareils
Bases de Données. Plan

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Information utiles. webpage : Google+ : digiusto/

INTRODUCTION : Données structurées et accès simplifié

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Utiliser Access ou Excel pour gérer vos données

Dossier I Découverte de Base d Open Office

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Chapitre 1 : Introduction aux bases de données

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Les bases de données Page 1 / 8

Le langage SQL Rappels

MODE OPERATOIRE OPENOFFICE BASE

Les bases de données

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Créer le schéma relationnel d une base de données ACCESS

Le Langage SQL version Oracle

MEGA ITSM Accelerator. Guide de Démarrage

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Le modèle de données

Gestion des bases de données

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Bases de données élémentaires Maude Manouvrier

Communiqué de Lancement

16H Cours / 18H TD / 20H TP

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

LibreOffice Calc : introduction aux tableaux croisés dynamiques

SAP BusinessObjects Web Intelligence (WebI) BI 4

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Modélisation des données

Chapitre 07 Le modèle relationnel des données

SOMMAIRE. Travailler avec les requêtes... 3

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Publipostage avec Calc

Créer une base de données

Introduction : présentation de la Business Intelligence

1 Introduction et installation

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

ORACLE TUNING PACK 11G

Utiliser une base de données

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

Introduction aux Bases de Données

Gestion de parc informatique - Prise en main

Bases de données relationnelles

Modèle conceptuel : diagramme entité-association

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

Compte-rendu de projet de Système de gestion de base de données

La Clé informatique. Formation Excel XP Aide-mémoire

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

et les Systèmes Multidimensionnels

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

MEGA ITSM Accelerator. Guide de démarrage

Débuter avec OOo Base

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Introduction à Business Objects. J. Akoka I. Wattiau

Mémo d'utilisation de BD Dico1.6

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

SAP Lumira Version du document : Guide de l'utilisateur de SAP Lumira

LE MODELE CONCEPTUEL DE DONNEES

LES ACCES ODBC AVEC LE SYSTEME SAS

Comprendre Merise et la modélisation des données

Business Intelligence avec SQL Server 2012

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Conception des bases de données : Modèle Entité-Association

1. Introduction Création d'une requête...2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

La protection des données dans les bases de données

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Gestion de projets. avec. Microsoft Office PROJECT 2003

Entrepôt de données 1. Introduction

Chapitre 10. Architectures des systèmes de gestion de bases de données

MEDIAplus elearning. version 6.6

Tutoriaux : Faites vos premiers pas avec Microsoft Visio 2010

Les Utilisateurs dans SharePoint

SUPPORT DE COURS ACCESS 2010

Cours Bases de données

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Alfresco Guide Utilisateur

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Présentation du module Base de données spatio-temporelles

Sage CRM. 7.2 Guide de Portail Client

Importation des données dans Open Office Base

Langage SQL : créer et interroger une base

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

MEGA Database Builder. Guide d utilisation

Introduction aux Bases de Données

Université de Bangui. Modélisons en UML

Transcription:

1 FORMATION PAF STG et Base de données SOMMAIRE 2.1- LE SYSTÈME D'INFORMATION... 2 I Le système d'information... 3 A) Définition de la notion de système...3 B) Les 3 sous-systèmes de l'entreprise... 3 II- Diagramme de flux de données (DFD)... 4 2.2 LE MODÈLE RELATIONNEL... 6 I- La construction d'un schéma relationnel...7 A) La structure de base...7 B) le schéma relationnel...9 C) Les contraintes d'intégrité...10 D) Justification du modèle par les dépendances fonctionnelles et la normalisation d'une base de données...10 E)- Evolution du modèle relationnel...13 II- Algèbre relationnelle... 15 A) Les opérateurs relationnels...15 B) Les fonctions de regroupements (agrégats)...17 2.3- LA BASE DE DONNÉES...19 I- La construction de la structure de la base de données... 19 A) Le concept de base de données... 19 B) Le concept de système de gestion de bases de données (SGBD/R)... 19 II- Les requêtes en SQL...21 A) les principaux mots... 21 B) Les opérations... 21 III- Liaison entre applications et données... 23 A) Lien entre tableur et base de données... 23 B) Lien entre texteur et base de données...26 APPLICATION... 27

2 INDICATIONS COMPLÉMENTAIRES ET LIMITES sur l'ensemble du point 2 2. Le système d information et les bases de données (Durée indicative : 30 heures) L'enseignement d information et gestion contribue au développement de la capacité : - d'abstraire par la modélisation ; - d'organiser par la structuration des données et des traitements ; - de communiquer par l'échange et la diffusion d'informations sur le réseau. Cette partie du programme est centrée sur l'acquisition de notions fondamentales liées au système d'information et plus particulièrement à l'organisation des données et des traitements : - l'étude du système d'information et de ses liens avec le système informatique ; - l'étude des bases de données en tant que supports structurés des informations de gestion. L'accent mis sur les concepts du modèle relationnel et de la logique algorithmique vise à donner, dès la classe de première, un aperçu des structures de référence en matière de gestion automatisée des données et des traitements. Cet enseignement prend appui sur l utilisation d outils logiciels comme supports d appropriation des concepts, tout en permettant de s affranchir de leur contingence et de leur obsolescence. 2.1- Le système d'information THÈMES SENS ET PORTÉE DE L ÉTUDE NOTIONS ET CONTENUS À CONSTRUIRE 2.1. Le système d'information (3 heures) Au sein des organisations, le système d information réalise quatre fonctions : collecter, mémoriser, transformer et communiquer des informations de plus en plus souvent numérisées. L étude du système d information (SI) permet tout à la fois de : - représenter certains aspects de l'activité des organisations ; - repérer un ensemble organisé de ressources humaines et technologiques. - Les rôles et les caractéristiques de l'information L'information, vecteur de communication interne et externe L information, instrument du travail collectif Nature et formes de l'information Qualités et coût de l'information - Le système d'information La nécessité d'organiser l'information Les liens entre système d'information et système informatique - La représentation des flux d'information Domaine d'étude, acteur, flux d information Diagramme de flux INDICATIONS COMPLÉMENTAIRES ET LIMITES 2.1 Le système d'information Cette partie du programme a pour but de sensibiliser les élèves à la notion de système d'information. Il s agit d abord d appréhender le rôle de l information dans les différentes activités de gestion de l'entreprise, de montrer les interdépendances et de valoriser grâce à quelques exemples significatifs le rôle stratégique de l information au sein des organisations. On montrera que le système d'information concerne l'ensemble des acteurs de l'entreprise. Le système informatique constitue le support du système d information : il prend en charge l information numérisée et les traitements automatisés. L'utilisation de modèles, c est-à-dire d'instruments de représentation de la réalité répondant à des règles strictes de composition et d'expression, permet de décrire tout ou partie d un système d information. En classe de première, on se limite à une vision des informations échangées (le diagramme de flux) et des données mémorisées (le schéma relationnel) par les acteurs de l entreprise. Le recours au modèle entité association est donc exclu.

3 I Le système d'information A) Définition de la notion de système Un système est un tout constitué d'éléments (sous-systèmes) unis par des relations. Les caractéristiques d'un système : - il est identifiable, agit en fonction d'un but ; - il a un comportement régulé (s'adapte en fonction des changements) ; - il génère des informations pour rendre compte des changements du système ; - il décide de son comportement. L'entreprise peut donc être considérée comme un système. B) Les 3 sous-systèmes de l'entreprise - le sous-système de pilotage, de décision (SP) décide, contrôle, réfléchi. Il décide notamment de l'organisation et de l'évolution des autres systèmes. - le sous-système d'information (SI) recueil, mémorise (transfert des informations dans le temps), traite (transfert des informations dans la forme) et diffuse (communique - transfert des informations dans l'espace) l'information. Il assure l'interface avec les autres sous-systèmes. Il est le véhicule de la communication dans l'organisation. Cette communication possède un langage dont les mots sont les données. Les fonctions du système d'information ne sont pas nécessairement réalisées par des moyens automatisés. Une partie (de plus en plus grande) du système d'information peut-être informatisée. Du système d'information découle le système informatique et non l'inverse. De plus en plus de traitements sur les données sont automatisés à l'aide d'outils informatiques. - le sous-système opérant (SO) transforme les produits (secteur primaire ou industriel) ou l'information (secteur tertiaire). Il ne s'agit donc pas des informations utilisées à des fins de pilotage. Représentation des 3 sous-sytèmes de l'entreprise. Sous-système de pilotage - Décider - Contrôler Sous-système d'information - Mémoriser- Diffuser Sous-système opérant - Produire - Effectuer des services

4 Les 3 sous-systèmes interagissent donc mutuellement. Le système d'information alimente en information (communique) le système de pilotage et le système opérationnel. Bien souvent, le SI est décomposé en SI opérant et le SI de pilotage. Les informations manipulées dans les 2 décompositions ne sont pas de la même nature. Le SI opérant fait appel à des traitements prévisibles et s'appuyant sur des données qu'il est possible de modéliser (gestion des stocks, comptabilité). Le SI de pilotage prend en charge le pilotage et le traitement de gestion par exception (historiques, planification, etc.) Rque : Ce découpage n'est pas celui fait en management selon ANTHONY (Stratégique, tactique et opérationnel). Exemple : La paie fait partie du système d'information de l'entreprise. Saisie des paramètres mensuels Logiciel de paie Bulletin de paie II- Diagramme de flux de données (DFD) Il est parfois appelé diagramme de flux conceptuel. Ils permettent de représenter les flux échangés. A partir de ce type de schéma, il est possible de visualiser le processus de transformation des données et de repérer les acteurs qui y participent. Un domaine d'étude est un sous-ensemble cohérent de l'entreprise (homogène), bien délimité et formant le contenu du sujet à étudier. Le découpage en plusieurs domaines évite la présence d'un seul projet global. Le domaine d'étude est décomposé en activités. Une activité est un ensemble de traitements homogènes qui transforment ou manipulent les données. Un flux d'information est la représentation de la transmission d'informations : - entre les activités du domaine, - entre une activité et d'autres domaines (domaines connexes ou domaines externes ), - entre une activité et un acteur externe. Un acteur externe est source ou une destination de flux située en dehors du système étudié. Le domaine connexe est également une source ou une destination de flux située en dehors du système étudié. Il fait partie de l'entreprise et interagit directement avec le système d'information de l'organisation. Exemple très simplifié : Acteur Domaine d'étude Domaine connexe Activités Commande Gestion des commandes Ordre de fabrication Gestion de production Clients Facture Bon de commande Bon de livraison Règlement Gestion des factures

5

6 2.2 Le modèle relationnel THÈMES SENS ET PORTÉE DE L ÉTUDE NOTIONS ET CONTENUS À CONSTRUIRE 2.2. Le modèle relationnel (10 heures) Le modèle relationnel apporte les notions essentielles en matière de structuration des données. Il permet d étudier la conception d'une base de données (comment elle est construite) indépendamment de son implantation technique. Sa connaissance est indispensable à la maîtrise des langages d'interrogation des bases de données dans les différents domaines d'application de l'informatique de gestion. - Les données et les relations Repérage des données, domaines de valeurs et attributs Dépendance fonctionnelle Relation, schéma relationnel - Les contraintes d'intégrité Domaine, relation, référence - Les opérateurs relationnels Restriction, projection, jointure INDICATIONS COMPLÉMENTAIRES ET LIMITES 2.2 Le modèle relationnel L étude du modèle relationnel est abordée dans le but : - d'introduire les principes fondamentaux qui régissent l'organisation et l'exploitation de l'information en gestion ; - d'aborder la logique de construction d'une représentation des informations sous la forme d un ensemble structuré de données non redondantes ; - de mettre en œuvre, sur des exemples simples, les règles et la démarche d'interrogation d'une base de données. La notion de dépendance fonctionnelle est utilisée pour repérer les attributs qui caractérisent un objet identifiable du système d information. La nécessité de la normalisation sera illustrée par la mise en évidence des problèmes liés à la redondance et à la mise à jour des données (insertion, suppression, modification). L étude des opérateurs relationnels prépare l expression de requêtes dans le langage SQL.

7 Introduction I- La construction d'un schéma relationnel Les applications informatiques sont de plus en plus souvent conçues autour de systèmes de gestion de bases de données relationnelles qui s'appuient sur les concepts du modèle relationnel. Exemple d'architecture reposant sur un SGBD/R : Le modèle relationnel a été défini en 1970 par CODD alors directeur de recherche au centre IBM de San José. Ce modèle fondé, sur une mathématique ensembliste, est à la base du développement des SGBDR, du langage SQL et de certaines méthodes d'analyse des données. A) La structure de base A) Les données Une donnée est une caractéristique qui peut avoir une valeur. Elle doit être collectée. On peut la retrouver dans les différents messages échangés ou stockés (écrans, listings, fichiers) pour le domaine étudié. Il est nécessaire de tenir compte des données synonymes, données polysèmes et données calculées. 1-Les données synonymes Deux données sont synonymes lorsqu'elles ont la même signification et lorsqu'elles sont nommées de manière différente dans plusieurs documents. Exemples : N représentant et Code représentant TX de commission et % de commission 2- Les données polysèmes Deux rubriques sont polysèmes lorsqu'elles sont nommées de manière identique mais n'ont pas la même signification. Exemple : L'information QTE peut renvoyer aussi bien aux quantités commandées et aux quantités stockées. 3- Les données calculées Les propriétés calculées peuvent être reconstituées à partir des propriétés élémentaires. Exemple : La propriété Date de fin de stage est une rubrique calculée selon la règle suivante : R1 : Date de fin de stage = Date début de stage + Durée L'ensemble des données peut figurer dans un dictionnaire de données.

8 Exemple : Un formulaire d'une bibliothèque Règle de gestion : Un candidat ne peut pas emprunter plusieurs fois le même livre. Différentes présentations du dictionnaire des données sont possibles. Le dictionnaire de données peut être présenté de la manière suivante : Code Libellé Domaine (1) NumCandidat Numéro du candidat Texte NomCandidat Nom du candidat Texte DateNaissance Date de naissance Date LieuNaissance Lieu de naissance Texte CodeLivre Code du livre Texte NomLivre Nom du livre NbrePages Nombre de pages Genre Genre CodeEditeur Code de l'éditeur NomEditeur Nom de l'éditeur AdresseEditeur Adresse de l'éditeur CPEditeur Code postal de l'éditeur VilleEditeur Ville de l'éditeur DateEmprunt Date de l'emprunt DateRetour Date de retour (1) Les domaines sont des ensembles dans lesquels les données prennent des valeurs. Ils se limitent généralement à la définition d'un type de base : entier, réel, chaîne de caractères, date, booléen. Il est aussi possible de préciser un type plus précis en donnant les valeurs possibles afin de limiter les erreurs et les invraisemblances d'un système d'information. Exemples : Le prix ne peut être inférieur à 0 La quantité par défaut est égale à 1 La liste des villes est Rennes, Lisieux, St Lô. B) La notion de relation Une relation représente une entité (individu, objet, etc.) ayant une existence propre ou un lien sémantique entre des entités. Une relation est décrite par des attributs (caractéristiques) notés dans le dictionnaire des données. À un client, on va associer un code client, un nom, une adresse. On peut voir une relation comme une table à double entrée. - Chaque colonne est appelée attribut. Le nombre d'attributs permet de donner le degré de la relation. Un attribut est une donnée élémentaire du système d'information qui se caractérise par un domaine de définition. Ce domaine de définition décrit l'ensemble des valeurs admissibles pour un attribut.

9 - Chaque ligne de la table est parfois appelée tuple et peut être vue comme une réalisation. Le nombre de lignes permet d'observer la dimension de la relation. Une relation se compose donc d'un ensemble de lignes. Il n'y a pas d'ordre sur les lignes. Par contre une ligne est une séquence ordonnée d'attributs. Une valeur d'attribut est atomique mais peut être nulle. La valeur nulle est une valeur particulière qui indique que la valeur est manquante. C) Clé de relation Une clé (parfois appelé clé candidate) peut-être définie comme est un ensemble minimum d'attributs (un ou plusieurs attributs) d'une relation qui détermine tous les autres attributs de la même relation. Dans une relation, il peut y avoir plusieurs clés candidates. Parmi celle-ci, il sera donc nécessaire d'en désigner une qui sera la clé primaire. Pour chaque relation, il y a donc une clé primaire qui identifie de manière unique une ligne(tuple) de la relation. Soit la relation suivante : CANDIDAT(NomCandidat, DateNaissance, LieuNaissance) Pour chaque candidat, les caractéristiques sont les suivantes : NomCandidat DateNaissance LieuNaissance BERTRAND 20/08/1978 RENNES FAURE 12/12/1977 CAEN HIRARD 20/12/1978 LILLE FAURE 01/11/1977 ST LO Dans cette relation, il n'est pas toujours possible de repérer un candidat. Par exemple, il existe deux candidats appelés FAURE. On pourrait envisager de prendre comme clé primaire, les attributs NomCandidat et DateNaissance mais 2 personnes ayant le même nom peuvent être nées en même temps. Mais si cela peut sembler peu probable, le risque existe toujours. La clé primaire NomCandidat+DateNaissance n'est pas une bonne clé. Il serait donc plus judicieux d'avoir comme clé un numéro de candidat. Chaque numéro saisi doit être unique. La relation CANDIDAT(NumCandidat, NomCandidat, DateNaissance, LieuNaissance). Lorsque plusieurs attributs différents peuvent permettre de repérer une ligne d'une relation, on opte pour l'attribut qui semble le plus pertinent pour un type d activité. Exemple : pour repérer un enseignant, il est possible de le caractériser par N INSEE et N NumEN (Numéro éducation Nationale). Ces deux attributs peuvent être des clés candidates. Le NumEN peut devenir la clé primaire. La clé primaire : - a un caractère discriminant : à une de ses valeurs correspond une et une seule occurrence. Il s agit de la règle d énumération. Il n y a jamais 2 valeurs identiques. Il y a donc une autre contrainte d intégrité : la contrainte d unicité de clé. - est minimal : si un identifiant d entité est composé, la suppression d un de ses composants lui ferait perdre son caractère discriminant ; - a un caractère univalué : à une occurrence correspond une seule valeur pour un identifiant donné. B) le schéma relationnel Un schéma relationnel est un ensemble de relations sémantiquement liées par le domaine de définition ou par des contraintes d'intégrité. A partir des données de l'exemple bibliothèque, il est possible d'obtenir le schéma relationnel suivant : CANDIDAT (NumCandidat, NomCandidat, DateNaissance, LieuNaissance) LIVRE (CodeLivre, NomLivre, NbrePages, Genre, #CodeEditeur) ÉDITEUR (CodeEditeur, NomEditeur, AdresseEditeur, CPEditeur, VilleEditeur) EMPRUNTER (#NumCandidat, #CodeLivre, DateEmprunt, DateRetour) Les liens entre les relations se font par le biais d'une redondance : la redondance des clés. Les clés vont permettre la fusion de relations qui constitue une opération de base du langage de requête.

10 Grâce aux outils de Génie Logiciel comme WinDesign, il est possible d'obtenir une représentation graphique CANDIDAT PK_CANDIDAT NUMCANDIDAT NOMCANDIDAT DATENAISSANCE LIEUNAISSANCE EDITEUR PK_EDITEUR CODEEDITEUR NOMEDITEUR ADRESSEEDITEUR CPEDITEUR VILLEEDITEUR EMPRUNTER PK_EMPRUNTER NUMCANDIDAT CODELIVRE DATEEMPRUNT DATERETOUR REALISER LIVRE PK_LIVRE CODELIVRE CODEEDITEUR NOMLIVRE NBREPAGES GENRE C) Les contraintes d'intégrité Il possible aussi de parler des règles d'intégrité. Il s'agit d'un ensemble de contrôles sur les valeurs prises permettant de limiter les erreurs lors de la mise à jour des données. Elles vont permettre d'exercer différents contrôles. Les modèles relationnels peuvent tenir compte de plusieurs types de contraintes d'intégrité : - Contrainte d'intégrité de relation : Elle porte sur les valeurs de la clé primaire qui doivent être différentes et non nulles. - Contrainte d'intégrité de domaine : Le contrôle va permettre de vérifier la validité des valeurs saisies lors d'une insertion ou d'une modification. Les valeurs possibles sont fonction du domaine. - Contrainte d'intégrité de référence (contrainte d'intégrité référentielle) : Elle porte sur un lien entre les valeurs notées pour un attribut dans une relation et les valeurs prises par un attribut d'une autre relation. Cette contrainte permet de définir des liens obligatoires entre 2 relations. Le lien est noté généralement : - entre une clé primaire d'une relation et une clé étrangère d'une autre relation, - entre une clé primaire d'une relation et une partie de clé primaire d'une autre relation. D) Justification du modèle par les dépendances fonctionnelles et la normalisation d'une base de données 1- Les dépendances fonctionnelles Définition : Une dépendance fonctionnelle, notée DF, indique que la valeur d'un ou plusieurs attributs détermine la valeur (ou réalisation) d'un autre attribut. Exemple : Soit la relation suivante : CANDIDAT(NumeroCandidat,NomCandidat, DateNaissance,LieuNaissance) Pour chaque candidat, les caractéristiques sont les suivantes : NumeroCandidat NomCandidat DateNaissance LieuNaissance 12 BERTRAND 20/08/1978 RENNES 10 FAURE 12/12/1977 CAEN 8 HIRARD 20/12/1978 LILLE 15 FAURE 01/11/1977 ST LO

11 La relation CANDIDAT(NumeroCandidat,NomCandidat, DateNaissance,LieuNaissance ). L'attribut NomCandidat, est fonctionnellement dépendant de l'attribut NumeroCandidat. NomCandidat est le but de la dépendance fonctionnelle et NuméroCandidat est la source. Nom Candidat dépend du NuméroCandidat. NuméroCandidat détermine le nom du candidat. Il détermine aussi la DateNaissance. NuméroCandidat -> NomCandidat NuméroCandidat -> DateNaissance Il est également possible d'écrire NuméroCandidat -> NomCandidat, DateNaissance. 2- La normalisation des relations La normalisation des relations va permettre la présentation d'un cadre permettant la réalisation d'un schéma relationnel cohérent. Il existe une suite de formes normales de la première jusqu'à la cinquième. Pour chaque type de forme normale sont précisées les règles à suivre. A chaque nouvelle forme normale, on améliore le schéma de base pour diminuer les anomalies d'insertion, de modification, de suppression et les redondances. La normalisation va entraîner la décomposition réversible des relations. Cette réversibilité sera permise par l'intermédiaire de jointure. Les relations obtenues seront des relations irréductibles. Elle s'appuie sur les notions de : - dépendances fonctionnelles entre attributs, - et de clé primaire. Seules les 3 premières formes normales, les plus utilisées, seront présentées. Elles ont été proposées par E.F. Codd qui a développé au début des années 1970 le modèle relationnel. L'application des différentes formes normales va permettre la création d'un schéma relationnel cohérent. 1- Première forme normale (1FN) Une relation est en première forme normale (appelé également relation normalisée) si et seulement si tous ses attributs ont des valeurs atomiques. Il est donc nécessaire d'éliminer les attributs composés ou attributs multiples. Elle évite seulement d'avoir des domaines composés de plusieurs valeurs. La notion de valeur atomique est très liée à celle de domaine. Il s'agit de bien préciser le niveau de décomposition souhaitée. A ce stade, les dépendances fonctionnelles ne sont pas prises en compte. La première forme normale est notée 1FN. Soit la relation suivante : CANDIDAT(NuméroCandidat, NomCandidat, PrénomsCandidat, AdresseCandidat). NuméroCandidat NomCandidat PrénomsCandidat AdresseCandidat 12 BERTRAND Agnès, Julie 15 rue de Rennes 14100 Lisieux 10 FAURE Bertrand, Alfred 1, allée du nord 14000 Caen Il est possible de considérer que la relation CANDIDAT n'est pas en première forme normale. Pour un candidat, il y a plusieurs valeurs pour l'attribut Prénoms Candidat. Il peut également être utile de décomposer l'attribut AdresseCandidat en plusieurs attributs : Adresse, Cpostal, Ville.. La relation en 1FN est la suivante : CANDIDAT(NumeroCandidat, NomCandidat, Prénom1Candidat, Prénom2Candidat, Adresse, Cpostal, Ville).

12 Deuxième forme normale (2FN) A ce stade, les notions de dépendance fonctionnelle et de clé sont prises en compte. Une relation est en deuxième forme normale si - elle est en première forme normale, - chaque attribut qui n'appartient pas à la clé dépend complètement de la clé (ou bien ne dépend pas uniquement d'une partie de la clé). Les dépendances fonctionnelles sont donc complète ou pleine et non partiel. L'attribut but ne peut-être en dépendance d'un sous-ensemble de la clé. si AB -> C sur R (A, B, C), on ne peut avoir ni A -> C ni B ->C Il est donc nécessaire de déterminer toutes les dépendances fonctionnelles. Exemple Soit le schéma initial suivant : R(NumCandidat, NumLivre, NomCandidat, NomLivre, DateEmprunt, DateRetour, CodeEditeur, NomEditeur) Si tous les attributs sont notés, il s'agit d'une relation universelle. Il est possible d'y repérer les dépendances fonctionnelles suivantes : NumCandidat à NomCandidat NumLivre à NomLivre Num Livre à CodeEditeur NumLivre à NomEditeur NumCandidat+NumLivreàDateEmprunt, NumCandidat+NumLivreàDateRetour, La relation R est en première forme normale car tous les attributs sont atomiques. La clé primaire peut-être NumCandidat+NumLivre. Mais dans ce cas certains attributs qui n'ont pas de clé n'ont besoin que d'une partie de la clé. Ainsi NomCandidat n'a besoin que de l'attribut NumCandidat et NomLivre n'a besoin que de l'attribut NumLivre. Cette relation R n'est donc pas en deuxième forme normale. Pour respecter la 2FN, il est nécessaire de décomposer la relation R en plusieurs relations : R1(NumCandidat, NomCandidat) R2(NumLivre, NomLivre, CodeEditeur, NomEditeur) R3(#NumCandidat, #NumLivre,DateEmprunt,DateRetour) Chacune des relations est ici en deuxième forme normale. Rque : Une relation ayant une clé composée d'un seul attribut en première forme normale est nécessairement en deuxième forme normale. Le passage de la première forme normale à la deuxième forme normale permet d'éliminer certaines erreurs. Troisième forme normale (3FN) Une relation est en troisième forme normale si - elle est en deuxième forme normale, - si aucun des attributs non clés n'est source de dépendance fonctionnelle d'un autre attribut non clé. Cette troisième forme normale vise à éviter les dépendances fonctionnelles transitives en créant de nouvelles relations.

13 Exemple : Soit la relation suivante : R2(NumLivre, NomLivre, CodeEditeur, NomEditeur) R2 avec pour la clé NumLivre est en 2FNNumLivre mais n'est pas en 3FN. En effet, dans cette relation il existe la DF suivante : CodeEditeur à NomEditeur Mais CodeEditeur n'est pas une clé. Il est donc nécessaire de décomposer cette relation R2 de la manière suivante : R4 (NumLivre, NomLivre, CodeEditeur) R5 (CodeEditeur, NomEditeur) Si toutes les relations d'un schéma d'une base de données sont en 3FN : - les redondances sur les données seront limitées, - Les anomalies notamment lors des opérations de mise à jour des valeurs des attributs (création, modification, suppressions) seront évitées. E)- Evolution du modèle relationnel 1- Représentation N 1 Le schéma relationnel sur la bibliothèque ne permet pas à un candidat d'emprunter successivement 2 fois le même livre. Pour lever cette contrainte, il serait possible d'ajouter une relation DATE. Le schéma serait alors le suivant : Sous forme d'un texte, il est le suivant : CANDIDAT (NumCandidat, NomCandidat, DateNaissance, LieuNaissance) LIVRE (CodeLivre, NomLivre, NbrePages, Genre, #CodeEditeur) ÉDITEUR (CodeEditeur, NomEditeur, AdresseEditeur, CPEditeur, VilleEditeur) EMPRUNTER (#NumCandidat, #CodeLivre,#DateEmprunt, DateRetour) DATE(DateEmprunt) Sous WinDesign, le modèle est le suivant : CANDIDAT PK_CANDIDAT NUMCANDIDAT NOMCANDIDAT DATENAISSANCE LIEUNAISSANCE EMPRUNTER PK_EMPRUNTER NUMCANDIDAT CODELIVRE DATEEMPRUNT DATERETOUR EDITEUR PK_EDITEUR CODEEDITEUR NOMEDITEUR ADRESSEEDITEUR CPEDITEUR VILLEEDITEUR DATE PK_DATE DATEEMPRUNT REALISER LIVRE PK_LIVRE CODELIVRE CODEEDITEUR NOMLIVRE NBREPAGES GENRE

14 2- Représentation N 2 Le schéma relationnel précédent indique que pour connaître la date de retour, il faut connaître le numéro de candidat, le numéro du livre et la date. En réalité, connaissant la date d'emprunt et le livre, il est possible de connaître la date de retour. Il est même possible d'aller plus loin. La connaissance de la date d'emprunt et le livre, il est possible de connaître le candidat. En tenant compte de ses informations, il est possible d'écrire un autre schéma relationnel. Sous forme d'un texte, le schéma est le suivant : CANDIDAT (NumCandidat, NomCandidat, DateNaissance, LieuNaissance) LIVRE (CodeLivre, NomLivre, NbrePages, Genre, #CodeEditeur) ÉDITEUR (CodeEditeur, NomEditeur, AdresseEditeur, CPEditeur, VilleEditeur) EMPRUNTER (#CodeLivre, #DateEmprunt, #NumCandidat, DateRetour)

15 II- Algèbre relationnelle L'algèbre relationnelle est un outil théorique défini par CODD dans le cadre de son modèle relationnel. Cette algèbre permet de construire des requêtes et se compose d'un ensemble d'opérateurs fonctionnant sur des relations et produisant de nouvelles relations. Il est donc possible de construire de nouvelles informations à partir des relations de départ et d'une composition séquentielle d'opérateurs. A) Les opérateurs relationnels De nombreux opérateurs ont été proposés. On présentera les plus courants. Soit la base de données portant sur la gestion des emprunts : Les relations sont les suivantes : CANDIDAT (N candidat, NomCandidat, DateNaissance, Lieu naissance) LIVRE (CodeLivre, NomLivre, NbrePages, Genre, #CodeEditeur) ÉDITEUR (CodeEditeur, NomEditeur, AdresseEditeur, CPEditeur, VilleEditeur) EMPRUNTER (#NumCandidat, #CodeLivre, DateEmprunt, DateRetour) Les différentes valeurs sont données dans le tableau suivant Liste des CANDIDATS Numéro Nom Candidat Date Naissance Lieu Naissance Candidat 12 BERTRAND 20/08/1978 RENNES 10 FAURE 12/12/1977 CAEN 8 HIRARD 20/12/1978 LILLE 15 FAURE 01/11/1977 ST LO Liste des LIVRES Code Livre Nom Livre Nbre de Pages Genre Code Editeur I101 Info. 100 Informatique FOU1 I102 Info. 123 Informatique DUN1 F021 OMG 43 Gestion DUN1 E120 FISCALITÉ 67 Gestion FOU1 Liste des EDITEURS Code Editeur Nom Editeur Adresse Editeur CP Editeur Ville Editeur FOU1 Foucher 31, rue de Fleurus 75006 PARIS DUN1 Dunod 14, rue de Prague 75008 PARIS HA2 Hachette 5, rue d'italie 75006 PARIS Liste des EMPRUNTS Numéro candidat Code Livre Date Emprunt Date Retour 10 I101 1/10/2003 1/11/2003 8 I101 1/11/2003 12/11/2003 10 I102 14/12/2003 20/01/2004 1- L' opération SELECTION Dans le programme de première, on parle de restriction. Elle consiste à choisir les occurrences (ou lignes) d'une relation qui répondent à certaines conditions pour constituer une nouvelle relation. L opération peut être présentée dans un tableau de la forme suivante : RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES CANDIDAT SÉLECTION NomCandidat = "FAURE" R1

16 Le résultat sera alors le suivant : Résultat : R1 NumCandidat NomCandidat DateNaissance Lieu naissance 10 FAURE 12/12/1977 CAEN 15 FAURE 01/11/1977 ST LO La condition est construite à partir d'un opérateur de comparaison ( < ; >; =; ; ; ) ou une combinaison d'opérateurs de comparaison reliés par des opérateurs logiques (OU ET). Exemple : RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES CANDIDAT SÉLECTION NomCandidat = FAURE" ET R1 DateNaissance >01/12/1977 Résultat : R1 NumCandidat NomCandidat DateNaissance Lieu naissance 10 FAURE 12/12/1977 CAEN 2- L' opération PROJECTION Elle consiste à retenir certains attributs (ou colonnes) d'une relation pour constituer une nouvelle relation. (Par défaut, les lignes identiques ne sont présentes qu'une seule fois). À partir de l'exemple : On désire visualiser l'ensemble des noms des candidats avec leur date de naissance. L opération peut être présentée dans un tableau de la forme suivante: RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES CANDIDAT PROJECTION NomCandidat ; DateNaissance R1 Le résultat sera le suivant : Résultat R1: NomCandidat DateNaissance BERTRAND 20/08/1978 FAURE 12/12/1977 HIRARD 20/12/1978 FAURE 01/11/1977 On remarque le problème que cela pose pour distinguer les 2 candidats dont le nom est FAURE. Dans ce type de requête, il est préférable de mettre l'identifiant de l'individu. 3- L'opération JOINTURE L'opération de jointure permet de rapprocher des informations issues de 2 tables distinctes qui ont un attribut commun. Il est donc nécessaire d'avoir 2 relations ayant une clé ou partie de clé commune. On utilisera donc ici en plus la relation EMPRUNTER. L'opération de jointure consiste à créer une relation à partir de 2 relations ayant un attribut commun. L opération peut être présentée dans un tableau de la forme suivante: RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES CANDIDAT EMPRUNTER JOINTURE NumCandidat R1 Le résultat est le suivant : R1 Num NomCandidat DateNaissance LieuNaissance CodeLivre DateEmprunt DateRetour Candidat 10 FAURE 12/12/1977 CAEN I101 1/10/2003 1/11/2003 8 HIRARD 20/12/1978 LILLE I101 1/11/2003 12/11/2003 10 FAURE 12/12/1977 ST LO I102 14/12/2003 20/01/2004

17 B) Les fonctions de regroupements (agrégats) L'algèbre relationnelle est insuffisante pour traiter de véritables applications des bases de données (gestion de stock, gestion de production...) Il est donc nécessaire d'effectuer certains calculs sur les données pour supporter ces applications. C'est l'objet de l'introduction des regroupements. Les expressions d'attributs permettent d'effectuer des opérations de calcul, en ligne, sur des attributs de relations. Bien souvent, il est nécessaire d'effectuer des opérations de calcul en colonne pour y effectuer par exemple une somme des dépenses ou une moyenne des prix. Le concept de regroupement, appelé également agrégat, permet de réaliser de telles opérations. Les fonctions de calcul les plus souvent proposées sont les suivantes : - COMPTE pour compter les éléments d'un ensemble ; - MAXIMUM permettant de sélectionner l'élément maximum d'un ensemble ; - MINIMUM permettant de sélectionner l'élément minimum d'un ensemble ; - MOYENNE permettant de calculer la moyenne des éléments d'un ensemble ; - SOMME permettant de calculer la somme des éléments d'un ensemble. Exemple 1 : Vous cherchez à déterminer le nombre d'emprunts par candidat. L opération peut être présentée dans un tableau de la forme suivante: RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES EMPRUNTER REGROUPEMENT NumCandidat, Compte(NumCandidat) R1 Le résultat sera le suivant : R1 NumCandidat 10 2 8 1 Exemple 2 : Vous cherchez à déterminer le nombre d'emprunts réalisés. Compte (NumCandidat) RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES EMPRUNTER REGROUPEMENT Compte(NumCandidat) R1 Le résultat sera le suivant : R1 Compte (NumCandidat) 3 Exemple 3 : À partir de l'exemple, vous cherchez à déterminer le total de pages par genre de livre. L'opération sera la suivante : RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES LIVRE REGROUPEMENT Genre, Somme (NbrePages) R1

18 Le résultat sera le suivant : R1 Genre Informatique 223 Gestion 110 Somme (NbrePages) Exemple 4 : À partir du même exemple, vous cherchez à déterminer le total de pages pour l'ensemble des livres. L'opération sera la suivante : RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES LIVRE REGROUPEMENT Somme (NbrePages) R1 Le résultat sera le suivant : R1 Somme (NbrePages) 333 Exemple 5 : De la même manière, il est possible d'utiliser l'opération MOYENNE. À partir de l'exemple, il est possible de chercher la moyenne du nombre de pages pour chaque editeurt. RELATIONS OPÉRATEURS CONDITIONS RELATIONS RESULTANTES LIVRE REGROUPEMENT NumEditeur; Moyenne R1 Le résultat sera le suivant : R1 N concurrent (NbrePages) MOYENNE (Note) FOU1 83,5 DUN1 83 Il est donc possible de voir que plusieurs opérations judicieusement enchaînées permettent de répondre à la plupart des requêtes que l'on peut adresser. Il est possible de répondre à la requête suivante : Donner la liste des livres (noms des livres, genre et CodeEditeur) empruntés par les candidats FAURE. Dans la table on fera également apparaître le N candidat pour distinguer éventuellement les candidats ayant le même nom. La requête peut être la suivante: RELATIONS OPÉRATEURS CONDITIONS RESU CANDIDAT SÉLECTION NomCandidat = "FAURE" R1 R1, EMPRUNTER JOINTURE NumCandidat R2 R2, LIVRE JOINTURE CodeLivre R3 R3 PROJECTION N candidat, NomLivre, genre, CodeEditeur R4 Le résultat final est alors le suivant : R4 NumCandidat NomLivre Genre CodeEditeur 10 Info. Informatique FOU1 10 Info. Informatique DUN1

19 2.3- La base de données THÈMES SENS ET PORTÉE DE L ÉTUDE NOTIONS ET CONTENUS À CONSTRUIRE 2.3. La base de données (10 heures) La base de données est un ensemble d'informations structurées en tables dont l'implantation, la mise à jour et l'exploitation sont réalisées à l'aide d'un système de gestion de bases de données relationnel. Elle est définie par son schéma (la structure) et son contenu (les valeurs). - Le schéma de la base de données Table, enregistrement (ou ligne), champ (ou colonne) Prise en charge des contraintes d'intégrité : type, clé primaire et clé étrangère - Le langage de requête SQL Restriction, projection, jointure, tri - La gestion de la base de données La gestion des données : stockage, intégrité, sécurité Les droits d'accès aux données III. INDICATIONS COMPLÉMENTAIRES ET LIMITES 2.3 La base de données L étude de l organisation des données dans les tables (nom, type,clés) met en évidence les mécanismes utilisés par les SGBD pour assurer le contrôle de la cohérence des données lors d une mise à jour. Le recours au langage SQL fonde l'usage d'un raisonnement partant de l'expression du résultat à obtenir. Son apprentissage, indépendant de l'interface propre à chaque outil, contribue à l'acquisition progressive de la capacité de passer de l expression d un besoin en langage naturel à sa définition dans un langage formel. L'étude est volontairement limitée à l'ordre SELECT en utilisant les clauses d'identification des sources de données sur une ou plusieurs tables (FROM), de restriction et de jointure (WHERE) et de tri (ORDER BY). Les fonctions usuelles d'agrégat et de traitement des chaînes de caractères, des nombres et des dates sont abordées en fonction des besoins. L'utilisation d'un «requêteur» graphique, pour autant qu'elle permette de mettre en œuvre une logique de construction structurée,peut faciliter la visualisation et la compréhension des requêtes exprimées en langage SQL. ---------------------------------------------------------------------------------------------------------------------------------------- I- La construction de la structure de la base de données A) Le concept de base de données 1- Définition Une base de données représente un ensemble de données inter-reliées de l'entreprise mémorisé par un ordinateur utilisable par de nombreuses personnes et dont l'organisation est régie par un modèle de données. La base de données sert de support à une application informatique. 2- Les qualités d'une base de données Une base de données se doit de satisfaire au moins aux 2 critères suivants : * Elle doit être une bonne représentation du monde réel pour fournir une image fidèle à tout instant. L'information doit être fiable et à jour. * Il ne doit pas y avoir de redondance d'informations. Cet objectif sera atteint lorsqu'une information ne sera physiquement implantée qu'une seule fois dans la base de données. B) Le concept de système de gestion de bases de données (SGBD/R) Un SGBD représente l'ensemble coordonné de programmes qui permettent de décrire, de mémoriser (stockage des données en mémoire secondaire), de manipuler l'ensemble des données constituant la base. Il peut donc se définir par : - un modèle de données (hiérarchique, relationnel, objet) ; - un langage de description de données utilisé pour stocker dans le dictionnaire les définitions des données, leur structure, les différentes règles d'intégrité ;

20 - un langage de manipulation des données pour ajouter, modifier, supprimer, interroger et sélectionner les données ; - un langage de contrôle des données (sécurité d'accès, confidentialité, protection en écriture) ; - des mécanismes de sécurité de fonctionnement (archives, back-up, traces, reconstitutions) ; - des mécanismes pour partager les données entre plusieurs utilisateurs et entre les différentes tâches (accès simultanés, conflits, mises à jour multiples) ; Il existe différents types de SGBD. Le système le plus utilisé est le SGBD-R qui est apparu dans les années 1970. La structure de données est formée par un système de relations. Commercialisés depuis les années 80, ils représentent l essentiel des SGBD. Les systèmes les plus connus sont Oracle, SQL Server, DB2 ou MySQL. La correspondance entre le modèle logique et le modèle physique est assez simple. Modèle relationnel SGBD/R RELATION ou TABLE TABLE RELATIONNELLE ATTRIBUT COLONNE OU CHAMP TUPLE OU OCCURRENCE LIGNE ou ENREGISTREMENT DOMAINE TYPE CLÉ PRIMAIRE INDEX PRIMAIRE Toutefois, le vocabulaire peut-être fonction du SGBD/R. Sous Access,construire la base de données Bibliothèque et saisir les différentes données. Sous Access, le schéma physique serait le suivant : Toutefois, il faut faire attention aux liens notés sous Access entre les tables. Ceux-ci sont appelés relation dans la fenêtre Access mais attention cela peut-être source de confusion avec la notion de relation dans le modèle relationnel.

21 II- Les requêtes en SQL L'algèbre relationnelle est la base du développement du langage SQL (Structured Query Langage). Ce langage textuel permet de communiquer avec une base de données relationnelle. Il a été réalisé par IBM puis est devenu un standard ANSI (American National Standards Institute) approuvé par l'iso (International Standards Organization) en 1987. SQL/92 est la norme très répandue. Le dernier standard validé est SQL3 appelé bien souvent SQL/99. Toutefois, pour avoir un langage plus complet, les concepteurs de SGBD/R ajoutent certaines fonctionnalités au SQL standard. Seule l'interrogation sera abordée. A) les principaux mots Mots Arguments SELECT Attribut(s) FROM Table(s) WHERE Condition(s) sur une ligne GROUP BY Attribut(s) de partitionnement HAVING Condition(s) de sélection sur un groupe de lignes ORDER BY Attribut(s) de tri Les mots clés ne sont pas sensibles à la casse contrairement aux données. B) Les opérations 1- La projection Rappel : Une projection permet d'extraire des colonnes spécifiées d'une table. Exemple : Pour obtenir la liste des noms des candidats avec leur date de naissance de la table CANDIDAT il sera nécessaire d'écrire : SELECT NomCandidat, DateNaissance FROM candidat ; 2- La sélection On parle également à ce niveau de restriction. Une sélection s'exprime à l'aide de SQL par la commande : Exemple : On désire connaître les caractéristiques du ou des candidats dont le nom est FAURE. SELECT * FROM CANDIDAT WHERE NomCandidat IN('Faure') ; De manière plus générale, la condition suivant la commande WHERE peut inclure différents opérateurs pour la comparaison et différents opérateurs booléens : * les opérateurs de comparaison SYMBOLE SIGNIFICATION = Égal <> Différent =! < Inférieur > Supérieur <= Inférieur ou égal >= Supérieur ou égal

22 * les opérateurs logiques SYMBOLE SIGNIFICATION Between...AND... Entre... et... Like Comme IS NULL Dont la valeur est nulle IN Compris dans la liste * les opérateurs booléens SYMBOLE SIGNIFICATION AND ET OR OU NOT(1) NON (1) L'opérateur NOT inverse la valeur du résultat. Il est ainsi possible d'écrire : NOT BETWEEN, NOT IN, NOT LIKE, IS NOT NULL, À ces opérateurs booléens, il peut être ajouté des parenthèses pour indiquer l'ordre d'évaluation. 3- La jointure Cette opération consiste à joindre 2 tables avec un critère de sélection. Une sélection s'exprime à l'aide de SQL par la commande : Exemple : on veut joindre la table EMPRUNTER et la table CANDIDAT. L'instruction SQL sera la suivante : SELECT * FROM Candidat, Emprunter WHERE Candidat.NumCandidat=Emprunter.NumCandidat ; Avec le langage SQL, il est possible de combiner les différentes opérations. Il est ainsi possible de donner la liste des livres (nom des livres, genre et code éditeur) empruntés par les candidats FAURE. Dans la table on fera également apparaître le N candidat pour distinguer éventuellement les candidats ayant le même nom. Les différentes instructions sont les suivantes : SELECT Candidat.NumCandidat, Nom livre, Genre, Code_Editeur FROM Candidat, Emprunter, Livre WHERE NomCandidat = 'FAURE' AND Candidat.NumCandidat = Emprunter.NumCandidat AND Emprunter.code_livre = Livre.code_livre ;

23 III- Liaison entre applications et données Les logiciels ne sont pas exclusifs l un de l autre. A) Lien entre tableur et base de données Il est ainsi possible d utiliser Excel pour puiser les données dans une base de données Access. Une source ODBC sera ainsi créer pour faire une passerelle entre les 2 logiciels. Le travail à réaliser maintenant consiste à l élaboration de la passerelle entre l applicatif (Excel) et la base de données (ACCESS). Les différentes étapes sont notées ci-dessous. Travail à faire : 1- Ouvrir le classeur EMPLOYE et sélectionner une nouvelle feuille. 2- Sélectionner les menus DONNEES DONNEES EXTERNES- CREER UNE REQUETE puis compléter l assistant en suivant les étapes suivantes : CHOISIR UNE SOURCE 1- Sélectionner <nouvelle source de données>puis taper sur OK Les autres sources correspondent à des sources par défaut en partie déjà paramétrer. Il était possible pour notre exemple d utiliser MS Access Database puisque le fichier source est à ce format. Créer UNE NOUVELLE SOURCE DE DONNEES 1- Saisir le nom de la source : Bibliotheque 2- Sélectionner le type de base de données (Driver do Microsoft Access (*.mdb) 3- Cliquer sur connexion pour donner le chemin (voir l étape suivante)

24 INSTALLATION ODBC 1- Cliquer sur le bouton Sélectionner puis retrouver le fichier où est situé la base de données. puis cliquer sur OK. On revient alors à la fenêtre précédente. Il suffit de cliquer sur OK. REALISATION DE LA REQUETE 1- Développer la table EMRUNTER pour voir les différents champs. 2- Sélectionner les colonnes désirées cliquer sur suivant :

25 FILTRER LES DONNEES. Il est possible de faire une SELECTION. TERMINER LA REQUETE - Cliquer éventuellement sur le bouton ENREGISTRER LA REQUETE. Cela permettra de la réutiliser sur une autre feuille ou un autre classeur - Renvoyer les données vers Excel et cliquer sur terminer. - Positionne RENVOYER LES DONNEES SUR EXCEL - Choisir une cellule puis cliquer sur OK - Dans la colonne à droite du chiffre d affaires, réaliser la formule permettant d obtenir la remise - Mettre en forme le tableau. En cas de modification du chiffre d affaires, il n est pas nécessaire de refaire toute la démarche. Il suffit de sélectionner une des cellules de la zone de données et de cliquer sur les menus DONNEES - ACTUALISER LES DONNEES. En changeant les propriétés de la plage de données, il est possible de faire en sorte qu à chaque ouverture du classeur, les données soient actualisées de manière automatique. Pour cela, il suffit de sélectionner une cellule de la plage de données puis d ouvrir le menu contextuel et de sélectionner PROPRIETE DE LA PLAGE DE DONNEES. La fenêtre suivante apparaît

26 Une fois le lien établi, il est possible : 1- de réutiliser la requête puisqu elle est enregistrée dans une autre feuille de calcul ou dans un autre classeur. Exemple : Sélectionner une autre feuille de calcul. Se positionner sur cellule (B2 par exemple) Puis aller dans DONNEES DONNEES EXTERNES EXECUTER UNE REQUETE ENREGISTREES Choisir PRIMEMPLOYES Cliquer sur OBTENIR LES DONNEES 2- de modifier à tous moment les caractéristiques de la requête en utilisant la méthode suivante : Exemple : On cherche à obtenir les données n ont plus à partir de la table employé mais à partir de la requête ReqPrime : Sélectionner sur une cellule de la plage de données. Dans le menu contextuel, choisir MODIFIER LA REQUETE. Enlever les propriétés inutiles d Employé et ajouter toutes les propriétés de ReqPrime puis prendre toutes les valeurs par défaut de l assistant. Remarque : Si la modification n est pas enregistrée les travaux sont effectués uniquement. La requête est ici exécutée sous Access. 3- de faire des requêtes plus évoluées en utilisant avec MS QUERY. Dans le menu contextuel, choisir MODIFIER LA REQUETE puis fermer la fenêtre. Un message apparaît alors pour demander si vous voulez utiliser QUERY. Valider OK puis la fenêtre de requête apparaît. Il est ensuite possible de faire toutes les modifications nécessaires. Remarque : le programme MSQUERY peut être lancé de manière autonome pour y enregistrer différentes requêtes. Il suffit de lancer MSQRY32.EXE situé bien souvent dans le dossier PROGRAMME FILES. B) Lien entre texteur et base de données De la même manière, il est possible de réutiliser les données de la base de données BIBLIOTHEQUE dans Word. De cette manière, il est possible de réaliser un publipostage. La méthode est la suivante : Ouvir un document Word Choisir les menus : OUTILS PUBLIPOSTAGE Dans documents principales : CREER LETTRES-TYPES NOUVEAU DOCUMENT Dans Sources de données : CREER LA SOURCE puis cliquer sur le bouton MSQUERY. Il suffit d'utiliser la même méthode que dans la partie précédente.

27 Application Dans une feuille de calcul, vous avez noté les valeurs suivantes : Propriétés Exemple 1 Exemple 2 Exemple 3 Exemple4 CodeActivité A1 A1 A2 A2 CodeService S1 S2 S1 S1 CPEmployé 14100 14100 14000 14100 NomEmployé Bropaliande Broxaliande Brobaliande Bropaliande NomService Service 1 Service 2 Service 1 Service1 NumEmployé E1 E2 E3 E1 NomActivité Activité1 Activité1 Activité2 Activité2 TpsActivitéEmp 10 12 4 8 VilleEmployé Lisieux Lisieux Caen Lisieux Les règles de gestion sont les suivantes : 1- Les employés appartiennent à un seul service. 2- Une activité peut avoir besoin de plusieurs Employés et un Employé peut faire plusieurs activités. Le temps activité par employé correspond au temps passé par un employé pour une activité. TRAVAIL A FAIRE : Vous décidez de saisir cela dans une base de données constituée d'une table unique appelée PROJET sous Access sans clé primaire. 1- Saisir la structure de la base. 2- Dans un formulaire, saisir les données. 3- Ecrire le schéma relationnel correspondant à votre base de données. 4- Votre relation est-elle en première, en deuxième ou troisième forme normale? Un employé doit être ajouté à la base. Ses caractéristiques sont les suivantes : NumEmployé : E4, NomEmployé : Brodurlainde Il n'est pas affecté à un projet. 5- Enregistrer cette nouvelle ligne. Vous décidez d'améliorer le schéma de base afin de limiter les anomalies. Dans un premier temps, vous décidez de choisir une clé primaire. 6- Trouver une clé primaire à votre relation et la noter sur Access. Cet employé travaille sur le projet concernant l'activité A1 dont le nom est Activité 01 7- Noter cette information dans votre base de données et noter la clé primaire. 8- Repérer l'incohérence qui vient d'être notée. Toutes les valeurs notées Activité2 doivent maintenant être notées Activité 02 9- Combien de valeurs avez-vous modifiées? Vous décidez d'améliorer la structure de votre base de données. Vous décidez de créer une relation ACTIVITE avec comme clé primaire CodeActivité. 10- Modifier votre structure de base de données pour prendre en compte cette information et enregistrer les valeurs correspondantes. 11- Combien de fois avez-vous noté Activité 02? L'employé E1 travaille aussi pour l'activité A3 12- Noter cette information Vous décidez de ne plus faire l'activité A1. 13- Dans la table ACTIVITE, supprimer l'activité A1 14- Peut-on noter des incohérences dans la deuxième table?

28 Pour éviter les incohérences, vous décidez de relier les 2 tables. 15- Etablir les relations (au sens du logiciel d'access) pour préciser les contraintes d'intégrité référentielles. 16- Indiquer à ce stade votre modèle relationnel. 17- Les relations sont-elles en première forme normale, en deuxième forme normale ou en troisième forme normale? Vous n'êtes toujours pas satisfait de votre base de données. Vous décidez de créer les relations suivantes : EMPLOYE (NumEmployé,NomEmployé,CodeService,NomService, CPEmploye,VilleEmploye) ACTIVITE (CodeActivité,NomActivité) PROJET(CodeActivitéNumEmploye) 18- Préciser les clés primaires pour chaque relation. 19- Dans quelle relation doit-on mettre TpsActivitéEmploye? 20- Sur Access, modifier la structure de la base de données et noter les différentes contraintes d'intégrité référentielles. 21- Par l'intermédiaire de formulaires, saisir les valeurs. 22- Les différentes relations sont-elles en première, deuxième ou troisième forme normale? Vous décidez de renommer Service 1 en Service 01. 23- Modifier votre base pour prendre en compte cette nouveauté. 24- S'il y avait 150 employés dans le service 1, combien de mises à jour seraient nécessaires? 25- Dans votre base de données, noter que l'employé E1 appartient au service dont le nom est Service 02 26- Le SGBD a-t-il accepté cette modification? Si oui, est-ce cohérent? 27- Noter le schéma relationnel qui éviterait ce type d'incohérence et modifier la structure de la base sur Access avec les contraintes d'intégrité référentielles. 28- Les relations sont-elles en première forme normale, en deuxième forme normale ou en troisième forme normale?

29