Les bases de données (suite) Support de cours Pascal Ballet



Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

MODE OPERATOIRE OPENOFFICE BASE

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Langage SQL : créer et interroger une base

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Bases de données relationnelles

Cours Access 1) INTRODUCTION AU SGBD...4 2) LES TABLES...4

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

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

Le Langage De Description De Données(LDD)

Le langage SQL Rappels

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

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

Créer une base de données

CAP BOX Note utilisateurs

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

Les bases de données

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

Introduction au Système de Gestion de Base de Données et aux Base de Données

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Création de Sous-Formulaires

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

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

Le Langage SQL version Oracle

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

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

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

Cours 1 : introduction

NOS FORMATIONS EN BUREAUTIQUE

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

Bases de Données relationnelles et leurs systèmes de Gestion

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Les Utilisateurs dans SharePoint

MySQL / SQL EXEMPLES

16H Cours / 18H TD / 20H TP

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

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

Excel avancé. Frédéric Gava (MCF)

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Access 2010 Entraînement 1 Garage Renault Dossier 24 MCD

Créer sa première base de données Access Partie 3/4 - Création d un formulaire

Base de données relationnelle et requêtes SQL

1 Introduction et installation

Administration du site (Back Office)

Avec PICASA. Partager ses photos. Avant de commencer. Picasa sur son ordinateur. Premier démarrage

Introduction aux Bases de Données

Débuter avec OOo Base

TUTORIEL SIMPLIFIE de QuizFaber Un éditeur de Quiz et autres exercices simple, complet, original et en freeware!

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Tutoriel - flux de facturation

Le modèle de données

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

MDI Chèque de Allégroupe Réclamation

Tune Sweeper Manuel de l'utilisateur

Bibliothèque Esparron en livres.

Introduction aux SGBDR et en particulier à

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

«Cimetières de France en ligne»

Bases de données élémentaires Maude Manouvrier

Utiliser une base de données

CREATION WEB DYNAMIQUE

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/ / 15

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Objectifs du TP : Initiation à Access

Pluridisciplinarité. Classe de BTS DATR

Paginer les données côté serveur, mettre en cache côté client

Session S12 Les bases de l optimisation SQL avec DB2 for i

CAHIER DES CHARGES Version 0.4. Cahier des charges Openvet 0.4 Page 1

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Publipostage avec Calc

TP3 : Creation de tables 1 seance

Créer sa première base de données Access Partie 4/4 - Création d un état

Comment mettre en page votre livre

La gestion des boîtes aux lettres partagées

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Publipostage avec Open Office Writer et Open Office Calc (v.3)

Introduction aux SGBDR

Vincent Augusto

PHP 5. La base de données MySql. A. Belaïd 1

Access 2007 FF Access FR FR Base

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

Thème : Gestion commerciale

Gestion des bases de données (2 e partie)

TABLEAU CROISE DYNAMIQUE

CATALOGUE DES FORMATIONS

Groupe Eyrolles, 2003, ISBN : X

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Mémo d'utilisation de BD Dico1.6

Création d'un questionnaire (sondage)

Initiation à la programmation en Python

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Transcription:

Les bases de données (suite) Support de cours Pascal Ballet La saisie et l'impression des données Les formulaires de saisie Les formulaires de saisie jouent deux rôles importants : - la mise en forme des données à saisir > en mettant en avant certaines données ou en en cachant d'autres (par exemple les numéros automatiques faisant office de clés) > en facilitant la sélection des données (par exemple pour un champ Titre, il pourrait exister une liste déroulante permettant à l'utilisateur de choisir entre Mme ou M) - la sécurisation de la saisie des données (il est aisé d'imaginer qu'après avoir saisi le champ Titre, le champ N INSEE impose le chiffre 1 dans le cas de M et de 2 dans le cas de Mme pour le premier chiffre) Mise en forme des données à saisir Une base de données peut être observée sous différents "angles" à l'aide des formulaires de saisie. Il par exemple possible de n'afficher que les personnes nées avant 1980 ou bien celles résidant à Brest ou la combinaison des deux. On parle alors de filtres appliqués aux formulaires. Il est aussi possible dans un même enregistrement de n'afficher que certains champs. De plus, certains champs doivent contenir des données bien spécifiées à l'avance (Mme, M par exemple) ou bien doivent contenir des données en provenance d'une autre table. Dans ces cas, il est possible de faire apparaître les choix possibles à l'utilisateur sous forme de liste (déroulantes ou non) à l'utilisateur. Il est également possible d'agrémenter un formulaire de saisie avec toute sorte de contrôles (boutons, images, cases à cocher ) afin de rendre la saisie à la fois agréable, pratique et plus sûre. Sécurisation de la saisie des données Les données sont formatées au niveau des champs eux mêmes. Par exemple, un champ numérique ne pourra pas contenir de caractères ou un champ code postal (numéro de téléphone ) aura un format de saisie bien spécifique. De même un champ qui est une clé ne pourra pas accepter de doublon (c'est à dire une même donnée présente au moins 2 fois). Une partie de la sécurisation du contenu des données est donc assurée dors et déjà par le format des champs. Cependant, il est courant d'avoir des dépendances entre données (absence du champ date de mariage si la personne à moins de 18 ans, ou du nom de jeune fille pour un garçon ).

Cette sécurisation, d'ordre sémantique, n'est pas assurée de manière simple par les SGBDr. C'est pourquoi, la sécurisation sémantiques peut être améliorée grâce à la sécurisation des formulaires de saisie. Pour cela, il est possible sous Access par exemple, d'utiliser (programmer) du code Visual Basic pour traiter précisément les cas spéciaux. Exemple d'un formulaire de saisie simple avec Access : Les états d'impression Un état permet d'imprimer (ou bien de sauvegarder un fichier imprimable (pdf, ps )) les données d'une base de données avec une mise en forme élaborée. Les données peuvent être affichées de manière diverses et variées. Il peut s'agir par exemple d'afficher un ou plusieurs enregistrement par feuille, de placer le logo de votre société avec vos coordonnées, d'indiquer les éventuels termes d'un contrat... Ceci avec une ou plusieurs données de la base. Comme pour les formulaires, il est possible d'afficher certains champs et pas d'autres pour personnaliser les états. Il ne s'agit plus ici de sécuriser mais bien de présenter. Exemple d'état avec plusieurs enregistrement par feuille (page).

Les requêtes Interroger la base est essentiel pour retrouver l'information désirée. Les requêtes permettent de manière plus précise que les filtres de retrouver une ou plusieurs données (les requêtes sont basées sur le langage SQL (Structured Query Language)qui est un langage travaillant sur des ensembles). Les requêtes ne servent pas simplement à retrouver des données, elles peuvent aussi ajouter supprimer ou modifier des données. Elles ont également la possibilité de modifier la structure même de la base par la création ou la modification des tables et de leurs relations. Les requête graphiques Access permet une mise au point graphique des requêtes, ce qui est bien pratique pour s'abstraire du langage SQL (que nous verrons par la suite). Par exemple, pour retrouver dans un carnet de numéro de téléphone les personnes dont le prénom est AAA, la requête sous forme graphique sera la suivante : et le résultat de cette requête est alors :

Les critères peuvent être quelconque, plus précisément, toute formule mathématique et logique est applicable. Mettons en place maintenant une requête d'ajout qui va nous permettre d'ajouter à la table CarnetFavoris nos contacts préférés. Pour cela, il nous faut créer une nouvelle table Favoris qui va stocker le travail de la requête d'ajout. Ensuite, il faut créer la requête graphiquement : Comme critère simple pour le moment nous disons que nos contacts favoris sont ceux qui ont pour prénom AAA. Le résultat est le suivant :

Naturellement, ces critères peuvent être beaucoup plus complet que ceux vu jusque là. C'est pourquoi, pour faciliter la mise au point des critères qui parfois sont complexes, Access intègre un générateur d'expression dont voici un aperçu : Nous rappelons que toute requête graphique est traduite en SQL même si elle utilise le générateur d'expression. Le langage SQL Toute requête est, in fine, traduite dans le langage SQL. C'est donc ce code SQL qui est interprété par le SGBDr pour faire les opérations de recherche, d'ajout, de modification ou de suppression de données. De même ce langage permet de modifier la structure même des tables et de leurs relations. Exemple de sélection et d'ajout de données La requête graphique précédente concernant la recherche des contacts dont le prénom est AAA s'écrit de la manière suivante en SQL :

Pour la requête d'ajout, le code SQL est le suivant : Pour information, voici la traduction des commandes : INSERT INTO TableCarnetFavoris ( Nom, N, Prénom, NumTel ) Insérer dans les champs ( Nom, N, Prénom, NumTel ) de la table TableCarnetFavoris SELECT TableCarnet.Nom, TableCarnet.N, TableCarnet.Prénom,TableCarnet.NumTel la sélection des champs Nom, N, Prénom, NumTel FROM TableCarnet de la table TableCarnet WHERE (((TableCarnet.Prénom)="AAA")); Où le champ Prénom de la table TableCarnet vaut "AAA" Exemple d'ajout de table CREATE TABLE Amis ([IDAmi] entier, [Nom] texte, [Prénom] texte,

[DateNaissance] date, [Téléphone] texte, [Remarques] mémo, CONTRAINTE [Index1] CLÉ PRIMAIRE ([IDAmi])); Commandes courantes en SQL Syntaxe de la commande SELECT SELECT [ALL] [DISTINCT] [GROUP BY] [HAVING] [ORDER BY] <liste des champs> FROM <Liste des tables> [WHERE <expression logique>] L'option ALL est l'option par défaut. Elle permet de sélectionner l'ensemble des lignes satisfaisant à la condition logique. L'option DISTINCT permet d'éliminer les doublons. Dans la liste des champs, les champs doivent être séparé par des virgules. Lorsque l'on désire sélectionner l'ensemble des champs d'une table, le caractère * est à utiliser. La liste des tables indique l'ensemble des tables (séparées par des virgules) utilisées. La condition logique permet d'exprimer des critères divers à l'aide des opérateurs logiques, de comparateurs arithmétiques et des fonctions mathématiques courantes. Syntaxe de la commande WHERE Un critère consiste à sélectionner les enregistrements satisfaisant à une condition logique effectuée sur leurs valeurs (contenu). En SQL, les critères s'expriment à l'aide de la clause WHERE suivie d'une expression logique possédant les opérateurs suivants : logiques AND NOT OR comparateurs de chaîne BETWEEN IN LIKE arithmétiques + - * / % (modulo) & (et) (ou) ^ (puissance) ~ (non) comparaison =!= (différent) > < >= (sup. ou égal) <= <> (différent)!> (non superieur)!<

Exercice 1 NB : Nous utilisons ici la table sur les artistes et leurs titres effectué au premier cours. A- Ecrire le code SQL permettant de retrouver tous les titres d'un artiste. B- Ecrire le code SQL permettant pour un titre, de retrouver tous les artistes ayant participés. Exercice 2 On ajoute à la table Titres (ou Albums) un champ numérique intérêt. Ce champ comportera notre intérêt pour le morceau (ou l'album) en question. La valeur de ce champ varie entre 0 et 10. A- Ecrire une requête SQL permettant de créer une table titresfavoris dans laquelle se trouvera vos titre préférés. B- Ecrire une requête SQL permettant de stocker dans la table titresfavoris tous les titres de la table Titres (ou Album) dont 'intérêt est plus grand que 6.