Bases de Données. Ensemble d'informations (centralisées ou non) sur un sujet particulier

Documents pareils
Olivier Mondet

CREATION WEB DYNAMIQUE

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

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

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

Le langage SQL (première partie) c Olivier Caron

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

Pour les débutants. langage de définition des données

Les BASES de DONNEES dans WampServer

Bases de données relationnelles

SQL Historique

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

Le Langage De Description De Données(LDD)

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

Cours de bases de données. Philippe Rigaux

I. MySQL : Serveur et SGBD

Langage SQL : créer et interroger une base

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

Création et Gestion des tables

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

TP3 : Creation de tables 1 seance

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Notes de cours : bases de données distribuées et repliquées

Les bases de données

1. Base de données SQLite

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Modélisation et Gestion des bases de données avec mysql workbench

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Gestion des utilisateurs et de leurs droits

I4 : Bases de Données

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

Installation d'un serveur FTP géré par une base de données MySQL

Cours: Administration d'une Base de Données

Cours Bases de données 2ème année IUT

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

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

Le Langage SQL version Oracle

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

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Bases de données relationnelles & SQL

BTS/CGO P10 SYSTEME INFORMATION Année

Pratique et administration des systèmes

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Historisation des données

Mysql. Les requêtes préparées Prepared statements

Gestion de base de données

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

Bases de données et sites WEB

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

Application web de gestion de comptes en banques

Bases de données Outils de gestion

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

MySQL / SQL EXEMPLES

Rappel sur les bases de données

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Cours SQL. Base du langage SQL et des bases de données

OpenPaaS Le réseau social d'entreprise

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Compétences Business Objects

Encryptions, compression et partitionnement des données

A QUOI SERVENT LES BASES DE DONNÉES?

TP Contraintes - Triggers

Partie II Cours 3 (suite) : Sécurité de bases de données

PHP et les Bases de données - Généralités

Bases de données avancées

PHP 4 PARTIE : BASE DE DONNEES

Intégrité sémantique dans les bases de données relationnelles

Administration des bases de données. Jean-Yves Antoine

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

16H Cours / 18H TD / 20H TP

Stockage du fichier dans une table mysql:

Bases de données élémentaires Maude Manouvrier

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

Auto-évaluation Oracle: cours de base

Bases de Données Avancées

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Mysql avec EasyPhp. 1 er mars 2006

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

Cours Bases de données 2ème année IUT

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Introduction aux Bases de Données 2004/2005

Intégrité des données

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

IFT3030 Base de données. Chapitre 1 Introduction

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Bases de données - Modèle relationnel

Bases de données. PTSI Lycée Eiffel. 28 février 2014

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

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

OpenOffice Base Gestionnaire de Base de Données

Transcription:

Bases de Données Ensemble d'informations (centralisées ou non) sur un sujet particulier Exhaustif Non redondant Structuré persistant À l'usage d'applications diverses Interrogeables et modifiables par des utilisateurs travaillant en parallèle 1

SGBD Logiciel qui permet de : décrire modifier interroger administrer les données d'une base de données dans un langage "naturel" 2

SGBD Avec les propriétés Efficacité => temps de réponse, optimisation des requêtes (minimisation des accès disque) Non redondance => pour éviter les problèmes de mise à jour Cohérence des données => contraintes d'intégrité définissant un état cohérent de la base Partageabilité des données => accès simultané Résistance aux pannes => revenir à un état sain 3

Le modèle relationnel Indépendance entre le niveau physique et le niveau logique Les données sont organisées sous la forme de tables (relations) Les données sont manipulées par des opérateurs de l'algèbre relationnelle à travers un langage de haut niveau L'état cohérent de la base est défini par un ensemble de contraintes d'intégrité 4

Conception d'une base Traitement des données dans un simple fichier texte Titre Année NomReal PrénomReal Naissance Alien 1979 Scott Ridley 1943 Vertigo 1958 Hitchcock Alfred 1899 Psychose 1960 Hitchcock Alfred 1899 Kagemusha 1980 Kurosawa Akira 1910 Magnolia 1999 Anderson Paul-Thomas 1970 American beauty 2000 Mendes Sam 1965 Sacrifice 1986 Tarkovski Andrei 1932 Pulp Fiction 1995 Tarantino Quentin 1963 Anomalies possibles - à l'insertion => 2 mêmes titres et réalisateurs différents - à la modification => on modifie l'année de naissance d'hitchcock dans Psychose et pas dans Vertigo - à la destruction => si on supprime un film, on supprime aussi son réalisateur 5

Conception d'une base Titre Année IdReal Alien 1979 1 Vertigo 1958 2 Psychose 1960 2 Kagemusha 1980 4 Magnolia 1999 5 American beauty 2000 6 Sacrifice 1986 7 Pulp Fiction 1995 8 NomReal PrénomReal Naissance Id Scott Ridley 1943 1 Hitchcock Alfred 1899 2 Tarantino Quentin 1963 3 Kurosawa Akira 1910 4 Anderson Paul-Thomas 1970 5 Mendes Sam 1965 6 Tarkovski Andrei 1932 7 Pour éviter les anomalies : Séparer la représentation des films et des réalisateurs => plus de redondance (Hitchcock n'est représenté qu'une seule fois) Identifier un film de manière unique (le titre par exemple) ou un réalisateur par un Id Établir un lien entre film et réalisateur (sans introduire de la redondance) => lien établi entre film et réalisateur par l'idreal 6

Schéma Entité/Association Données Schéma Entité/Association Réalisateur id nom prénom naissance réalise association de 1 à n Film titre année genre résumé entité entité Artiste Film id nom prénom naissance réalise joue rôle titre année genre résumé entité association de n à n entité 7

Du schéma E/A au schéma relationnel (1/3) On passe d'un modèle à 2 structures (entités et associations) à un modèle uniquement constitué de tables. Transcription des entités en tables : chaque colonne de la table représente un attribut de l'entité chaque table doit avoir une clé (identification unique pour ses lignes et plus petit sous-ensemble des attributs Film (titre, année,genre, résumé) clé Artiste (id, nom, prénom, naissance 8

Du schéma E/A au schéma relationnel (2/3) Artiste Film Transcription d'une association de 1 à n La clé de la table Artiste devient aussi un attribut de Film Dans Film, IdReal = id de Artiste (une ligne de Artiste ne référence qu'une et une seule ligne de Film) La clé de Artiste exportée vers Film est appelée clé étrangère Film (titre, année,genre, résumé, idreal) clé Artiste (id, nom, prénom, naissance 9

Du schéma E/A au schéma relationnel (3/3) Artiste rôle Film Transcription d'une association de n à n Création d'une table pour l'association La clé de cette table est constituée de la paire (clé Artiste+clé Film) Les attributs de l'association deviennent les attributs de la nouvelle table Rôle (titre, idreal, nomrôle) 10

Le langage SQL Les données de la base sont définies dans le langage LDD (Data Definition Language), sous ensemble du langage SQL Type CHAR(n) INTEGER VARCHAR(n) DECIMAL(m,n) DATE TIME DATETIME TEXT Description chaine de longueur fixe n entier chaine variable d'au plus n caractères numérique sur m chiffres avec n décimales date avec jour, mois, an Horaire en heure, minutes et secondes date et horaire Texte de longueur quelconque Les principaux types de données SQL 11

Création de la base Création des tables dans le langage SQL CREATE DATABASE films; Différents types de privilèges peuvent être accordés aux utilisateurs GRANT ALL PRIVILEGES ON Films TO admin@localhost IDENTIFIED BY 'admin' Pour travailler avec une base particulière USE Films; Pour détruire une base DROP DATABASE Films; 12

Création des tables CREATE TABLE Film ( titre VARCHAR (50) NOT NULL, annee INTEGER NOT NULL, genre VARCHAR (10), resume TEXT, Référence la clé primaire de la table Artiste Obligation de donner une valeur idreal INTEGER, PRIMARY KEY (titre), FOREIGN KEY (idreal) REFERENCES Artiste ); CREATE TABLE Artiste ( id INTEGER AUTO_INCREMENT NOT NULL, nom VARCHAR (30) NOT NULL, prenom VARCHAR (30) NOT NULL, naissance INTEGER, PRIMARY KEY (id), UNIQUE(nom,prenom) ); Pour détruire une table DROP TABLE IF EXISTS Film; 13

Insertion de données Syntaxe INSERT INTO nom_table (colonne1, colonne2, ) VALUES ('valeur1', 'valeur2',...); Exemple INSERT INTO Film (titre,annee) VALUES ( 'Magnolia', 1999); INSERT INTO Artiste (nom, prenom, naissance) VALUES ('Anderson', 'Paul', 1970); 14

Mise à jour de données Syntaxe UPDATE nom_table1, nom_table2,... SET colonne1 = valeur1, colonne2=valeur2,... WHERE condition; Exemple UPDATE Artiste SET prenom = 'Paul-Thomas' WHERE nom='anderson' AND naissance =1970 ; UPDATE Film, Artiste SET Film.idReal = Artiste.id WHERE Artiste.nom='Hitchcock' and Artiste.prenom='Alfred'; 15

Destruction des données Syntaxe DELETE FROM nom_table WHERE condition; Exemple DELETE FROM Film WHERE titre='pulp-fiction'; 16

Sélection de données Syntaxe SELECT colonne1, colonne2, FROM table1, table2, WHERE condition; où condition est une expression sur les attributs des tables du FROM les opérateurs applicables sont : opérateurs arithmétiques : +,*,-,... opérateurs relationnels : <,>,>=,...,!= opérateurs logiques : AND, NOT, OR BETWEEN, IN, LIKE caractères joker '_' remplace n'importe quel caractère '%' remplace n'importe quelle chaîne de caractères Exemple SELECT * FROM Film; SELECT titre FROM Film, Artiste WHERE Film.idReal = Artiste.id; 17

EXEMPLES SELECT * FROM Boutique WHERE nom IN ('Dijon','Lyon') SELECT * FROM Boutique WHERE Date BETWEEN '06-Jan-2009' AND '11-Jan-2009' nom ventes date Dijon 1500 05-Jan-2009 Lyon 2400 21-Jan-2009 nom ventes date Dijon 1500 05-Jan-2009 Chalon 400 09-Jan-2009 SELECT * FROM Boutique WHERE nom LIKE '%ON%' nom ventes date Dijon 1500 05-Jan-2009 Chalon 400 09-Jan-2009 Lyon 2400 21-Jan-2009 SELECT nom FROM Boutique WHERE ventes > 1000 OR (ventes < 500 AND ventes > 275) 18

Installations JDK + Netbeans 6.9.1 ensemble http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp- 142931.html Ou bien Netbeans 6.9 IDE, environnement de développement incluant une palette de widgets (Swing) pour la génération d'interface Homme-Machine. http://netbeans.org/index.html J2SE https://cds.sun.com/is-bin/intershop.enfinity/wfs/cds-cds_developer- Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u24-oth-JPR@CDS- CDS_Developer Et en plus WampServer2 est une plate-forme qui rassemble un serveur web (Apache2), un SGBD MySQL et un outil d'administration des bases de données (PHPMyAdmin). http://www.wampserver.com/download.php 19