Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours bases de données

Apprendre à travailler avec les BD

Apprendre à travailler avec les BD
Participez au vote ☆☆☆☆☆★★★★★

Apprendre à travailler avec les BD support de formation

...

BD et emploi

Marché du travail : BD = gros pourcentage des offres d’emploi

n Exemples … Nous recherchons des DBA Oracle pour des projets de longue durée. A ce titre, vous optimisez le portage des données Oracle 9i en environnement AIX vers une base Oracle 11g en environnement Windows Server. De plus, vous créez l'environnement Oracle d'accueil des données. L'action concerne le stockage des données, l'accès aux données, les scripts, ainsi que les procédures stockées utilisées dans les jobs de chargement…

… AS+, société de conseil et d'ingénierie en pleine croissance, d'aujourd'hui 25 personnes recrute dans le cadre du développement de ses activités. Vous prendrez en charge chez le client l'administration de la base de données Oracle sous Unix ainsi que l'exploitation de l'application. Vous devrez gérer et résoudre les incidents d'exploitation de l'application et créer et renseigner les dossiers permettant le suivi des évènements...

… Nous recherchons un ADMINISTRATEUR DE BASE DE DONNEES Sybase & Oracle…

… De formation Bac+3 à Bac+5, vous justifiez d'une expérience d'au moins 1 an sur l'environnement J2EE et d'une réelle maîtrise des développements JAVA. A ce titre, vous maîtrisez :

- langages : JAVA, Javascript, HTML, SQL, STRUTS, JSP

- base de données : DB2

- serveur d'application : Websphère

Exemples (suite)

… Au sein de la société Free, vous participerez aux activités de conception et de réalisation des différents projets. Vous avez une expérience significative dans le développement de systèmes d'information et de la maîtrise des bases de données. Autonome, rigoureux et motivé, vous souhaitez apporter vos compétences à des projets innovants et dynamiques. Vous possédez impérativement les connaissances suivantes :

- environnement : GNU/Linux, UNIX

- langage : Perl, C, SQL, HTML

- maîtrise des bases de données

La maîtrise des langages et des outils de développement Internet, la connaissance des solutions Open Source et la maîtrise des scripts shell ou Perl seront appréciées…

technologies Java, J2EE, Framework Stuts, Html, XML, CSS Expérience d'utilisation de Jbuilder X, Crystalreport9, Starteam 6, PowerAMC Bonnes compétences bases de données, SQL et Sybase (Transact Sql) et Shell Unix…

 … Domaines de compétences requis : Langages : Java, PHP, C/C++, Technologies Java : J2EE, EJB 2.0, CORBA, RMI, JavaBeans, Servlets, JSP,… Serveurs d'Applications : BEA WebLogic, Jonas, JBoss… SGBDR : Oracle, SQL Server, MySQL ,… XML : XML, XSL, XML Schema,… Web Services : JAXM, JAX RPC, SOAP, Apache Axis, IBM WSDK OS : Linux, Solaris, Windows 200x …

BD et emploi

 Tout informaticien peut être (sera) amené à

 Utiliser des bases de données

 Concevoir de grosses bases de données

 Administrer de grosses bases de données

 Tout non informaticien peut être amené à

 Utiliser

 Concevoir de petites bases

Exemples de bases de données

 Gestion des personnels, étudiants, cours, inscriptions, ... de l’UJM

 Système de réservation de places d'avions chez

Air France, de places de trains à la SNCF

 Gestion des comptes clients de La Poste

 Gestion des commandes chez Amazon.com

 Gestion d’une bibliothèque

 Gestion des pages Web chez google.com

 ...

Quels sont les besoins dans le domaine de la gestion de l’information ?

 Décrire l’information

 Manipuler l’information

 Interroger la collection d’informations

 Exactitude et cohérence

 Garanties

 Fiabilité

 Contrôle de concurrence

 Confidentialité

 Efficacité

Besoin de pouvoir décrire

 Décrire les données de l’application (trains, trajets et réservations) sans faire référence à une solution informatique particulière

 modélisation conceptuelle

 Élaborer une description équivalente pour le stockage des données dans le SGBD choisi

 modélisation logique

 langage de description de données (LDD)

Besoin de pouvoir manipuler

 Créer la base de données initiale avec les données représentant le réseau SNCF

 langage permettant l’insertion de données

 Créer au fur et à mesure les données sur les réservations. Modifier si besoin et éventuellement supprimer toute donnée déjà rentrée

 langage de manipulation de données (LMD) (insertion, modification, suppression)

Besoin de pouvoir interroger

Répondre à toute demande d’information portant sur les données contenues dans la base.

Par exemple:

  1. a) John Smith a-t-il une réservation pour aujourd’hui ?

 Si oui, donner les informations connues sur cette réservation.

  1. b) Quels sont les horaires des trains de SaintEtienne à Dijon entre 9h et 10h le dimanche ?
  2. c) Donner les destinations au départ de SaintEtienne sans arrêt intermédiaire.

 langage de requête (langage d’interrogation)

Besoin d’exactitude, de cohérence

Il faut pouvoir exprimer toutes les règles qui contraignent les valeurs pouvant être enregistrées de façon à éviter toute erreur qui peut être détectée.

Par exemple:

 Il ne faut jamais donner la même place dans le même train à 2 clients

 Les arrêts d’un train sont numérotés de façon continue (il ne peut y avoir pour un train donné un arrêt n° 3 s’il n'y a pas un arrêt n°2 et un arrêt n° 1)

 La date de réservation pour un train doit correspondre à un jour de circulation de ce train

 Le numéro de train dans une réservation / arrêt doit correspondre à un train existant

 L’heure de départ d’une gare doit être postérieure à l’heure d’arrivée dans cette gare

 L’heure d’arrivée à un arrêt doit être postérieure à l’heure de départ de l’arrêt précédent

  langage d’expression de contraintes d’intégrité

Besoin de garanties

 Il ne faut pas que les informations (par exemple, les réservations) soient perdues à cause d’un disfonctionnement quelconque: erreur de programmation, panne système, panne de l’ordinateur, coupure de courant, etc

 garantie de fiabilité

 Il ne faut pas qu’une action faite pour un utilisateur (par exemple l’enregistrement d’une réservation) soit perdue du fait d’une autre action faite simultanément pour un autre utilisateur (réservation de la même place).

 garantie de contrôle de concurrence

Besoin de confidentialité

 Toute information doit pouvoir être protégée contre l’accès par des utilisateurs non autorisés

 en lecture

 en écriture

Interdire par exemple aux clients de modifier les numéros des trains ou les horaires ou leur réservation.

 garantie de confidentialité (privacy)

Besoin d’efficacité

Le temps de réponse du système doit être conforme aux besoins :

 en interactif : pas plus de 3 secondes

 en programmation : assez rapide pour assumer la charge de travail attendue (nombre de transactions par jour)

 mécanismes d’optimisation

 éventuellement, répartition / duplication des données sur plusieurs sites

Comment gérer des données ?

 Avec des fiches en papier

 Exemple des bibliothèques pendant très longtemps

 Recherche très fastidieuse

 Mise à jour longue

 Place très importante

 Problèmes de sécurité

 Faible fiabilité

 Aucune automatisation

 Passage à l’échelle délicat

 ...

Comment gérer des données ?

 Avec des fichiers informatiques

 C’est un peu ce que l’on fait sur son ordinateur..

 Fichiers organisés en dossiers

 Index dans chaque dossier

 Recherche fastidieuse

 Problèmes de sécurité

 Automatisation difficile à réaliser

 Passage à l’échelle délicat

 ...

musique vidéos

classique rock

Rachmaninov Liszt Chopin

cto3_allegro.mp3

... action ...

cto3_intermezzo.mp3

cto3_finale.mp3

contenu.txt

...

campanella.mp3

...

... ...

françois

Comment gérer des données ?

 Base de données

 ensemble cohérent, intégré et partagé de données structurées

 défini pour les besoins d’une application

 Système de Gestion de Base de Données (SGBD)

 logiciel permettant de couvrir les besoins :

 définir une représentation des informations apte à

 stocker, interroger et manipuler (insérer, supprimer, mettre à jour) de

 grandes quantités de données (plus que la mémoire vive)

 dont il faut garantir la longévité et

 l’accessibilité de manière concurrente (plusieurs utilisateurs simultanés)

 et sûre.

Qu’est-ce qu’une base de données ?

Une collection de données qui supporte les manipulations :

 Recherche de données

 Interactive

 Assertionnelle

 L4G

 Logiquement et physiquement performante

 Insertion, Mise à jour, Suppression de données

 Cohérente

 Partagée

 Fiable

Pourquoi les bases de données ?

 Intégration des données

 Moins de duplications

 Partage des données

 Fiabilité des données

 Transactions, Reprises sur pannes, Tolérance de pannes

 Sécurité des données

 Langages assertionnels de requêtes

 SQL, QBE

 Interfaces conviviales

 L4G & Web

Pourquoi les bases de données ?

En pratique, il est impossible de concevoir ces fonctions soi-même

 Théorie complexe

 Conception d’une BD

 Formes normales…

 Langages de définition et de manipulation d’une BD

 Optimisation de requêtes assertionnelles

 Transactions et partage de données

 ….

 Logiciel complexe

 des centaines de milliers ou des millions de lignes de programme

Qui utilise des Bases de Données ?

 Les utilisateurs interactifs

 Ils cherchent des informations sans connaître la Base de Données

 Utilisent des interfaces (formulaires, Web, ...)

 Peuvent à la rigueur utiliser des langages tels que QBE

 Les programmeurs d’applications

 Construisent les interfaces pour les utilisateurs interactifs

 Spécialistes de SQL

 Les DBA (Database Administrators)

 Modélisent les bases de données

 Maintiennent les bases de données

 Ont la priorité sur tous les autres usagers

 Peuvent être très bien payé...

Différents types de BD

 Il y en a pour tous les usages

 BDs personnelles

 MsAccess

 100 Ko – 500 Ko

 BDs professionnelles typiques

 500 Ko – 100 Go

 BDs professionnelles très grandes

 Very Large Databases (VLDB)

> 100 Go

Culture générale

 Informatique = 0 ou 1 = bit

 1 octet = 8 bits (= 1 byte)

 1 Ko = 210 octets = 1024 octets

 1 Mo = 1024 Ko (méga octet) = 1048576 octets

 1 Go = 1024 Mo (giga octet) = 1073741824 octets

 1 To = 1024 Go (terra octet) = ...

 1 Po = 1024 To (peta octet) = ...

 disques durs moyens sur PC : 500 Go à 1.5 To

 mémoire vive moyenne sur PC : 4 Go

…

Evolution des BD

 Entre 1998 et 2005

 Taille : 16 800 Go → 330 644 Go (330 To)

 Nombre de tuples : 324 000 Millions → 2 847 553 Millions

 Nombre de transactions par seconde : 1820 → 315 009

 Problème de passage à l’échelle (scalability)

Composants logiciels d’une base de données

 SGBD

 Gère le niveau logique et physique de la base

 Selon l’architecture ANSI-SPARC

 Les outils frontaux (L4G)

 Générateurs : de formes, de rapports, des applications

 Intégrés au SGBD ou externes

 Powerbuilder, Borland…

 Interfaces WEB : HTML, XML…

 Interfaces OLAP & Data Mining

 Intelligent Data Miner (IBM)

 Utilitaires : chargement, statistiques, aide à la conception…

Composants matériels d’une base de données

 Ordinateur générique avec

 son CPU (Central Processing Unit)

 sa RAM (Random Access Memory)

 son disque dur pour la BD

 ses bandes magnétiques, ses graveurs pour la sauvegarde

 La RAM est considéré traditionnellement trop petite pour une BD

 Ce n’est plus toujours vrai

 Problème d’organisation d’E/S pour une BD

Composants matériels d’une base de données

Machine spécialisée (MBD - Machine BD)

 Ne supporte que la BD

 En général multiprocesseur

 Teradata massivement parallèle

 Les applications sont sur d’autres ordinateurs

 Liaison par LAN (Local Area Network)

SGBD

SGBD : Système de Gestion de Bases de Données

DBMS : DataBase Management System

 Ne pas confondre avec Base de Données

 Logiciel gérant une base de données

 Mono ou multi-ordinateurs

 Peut gérer plusieurs bases de données

 Peut accéder aux BD d’autres SGBD

 Nombreux SGBD sur le marché

 ACCESS

 MySQL, PostgreSQL

 ORACLE

 DB2

 SQLSERVER

 ...

SGBD (par modèle de données)

1ère génération 1950 – 1965

 SGF(Systèmes de Gestion de Fichiers)

 Permettent de stocker et d'organiser les données sur mémoire secondaire

 Différentes organisations

 séquentielles

 séquentielles triées

 indexées

 séquentielles indexées

SGBD (par modèle de données)

Exemple d'utilisation d'un SGF

 Exemple de la base viticole

 un fichier par entité : vins, viticulteurs, buveurs

 un fichier par association : productions, commandes

 Exemple de manipulation :

ouvrir le fichier vins ouvrir le fichier productions prendre le premier vin

  1. move nv dans var1 lire dans productions var1 afficher le numéro de producteur prendre le vin suivant et retourner en 1 s'il existe fermer les fichiers

SGBD (par modèle de données)

2ème génération 1965 - 1970

 SGBD navigationnel

 Hierarchique (IMS)

 Réseaux (Codasyl, IDS2)

 Principe : relier les données provenant de différents fichiers

 Caractéristiques : liens logiques entre les données

 hiérarchiques (modèle hiérarchique)

 hiérarchiques ++ (modèle réseau)

 Liens physiques entre les enregistrements informatiques (pointeurs)

SGBD (par modèle de données)

Exemple d'un SGBD hiérarchique

 Lien de cardinalité 1-n

 Un type de fils ne peut pas avoir plusieurs types de pères

 Association m-n non modélisable

 Duplication de structures de données

 Accès par la racine de la hiérarchie

SGBD (par modèle de données)

Exemple d'un SGBD réseau

 Lien de cardinalité 1-n

 Un type de fils peut avoir plusieurs types de pères

 Notion d'articles et d'ensembles

 Association m-n modélisable

 Pas d'ensemble récursif

 Pas de partage d'objets pour un même ensemble

SGBD (par modèle de données)

3ème génération 1969 - …

 SGBD relationnel (DB2, Oracle, Informix, MsAccess…)

 Principe :

 langages assertionnels

 quoi au lieu de comment

 SQL

 langage de définition de bases de données

 langage de manipulation de bases de données

 normes SQL1, SQL2, SQL3

Culture générale

Différents types de langages de programmation

 Programmation impérative : on exprime comment résoudre un problème

 Programmation fonctionnelle : tout est exprimé sous forme de fonctions

 Programmation logique : on exprime le problème mais pas comment le résoudre

 Programmation objet : tout est exprimé sous forme d'objets qui communiquent entre eux pour résoudre un problème

 Déclaratif (quoi) contre Procédural (comment)

…

SGBD (par modèle de données)

 SGBD Orienté Objet (1990 - 1999)

 En pratique : une impasse (O2, Objectstore, Objectivity..)

 SGBD relationnel – objet (RO) 1993 - …

 Évolution probable de tout SGBD relationnel

SGBD (par capacité)

 Mainframe ou cluster de mainframes

 DB2, Oracle, Adabas, ...

 Machine base de données

 Teradata

 Serveurs Unix & Windows 2000

 DB2, Informix, Oracle, Sybase, Unify, SQL Server, Ingres,…

 Personnels

 MsAccess, Paradox…

 Carte de Crédit

 CQL

...

Culture générale

Traitement d’un texte écrit dans un langage naturel

 Analyse lexicale

 Quels sont les mots du texte ?

 Analyse syntaxique

 Chacune des phrases a-t-elle été générée par la grammaire ?

 Analyse sémantique

 Chaque phrase a-t-elle un sens ?

 Analyse pragmatique

 Le texte en entier a-t-il un sens ?

 Domaine de recherche très actif (partie de l’IA)

Principe de fonctionnement d’un SGBD

 Analyse lexicale, syntaxique et sémantique d’une requête (interaction avec la BD)

 Traduction au niveau logique

 Contrôles de confidentialité, concurrence...

 Si la requête est acceptée, optimisation et découpage en sous-requêtes élémentaires transférées au niveau interne

 Au niveau interne, traduction des sous-requêtes en requêtes physiques correspondantes.

…

L’architecture ANSI-SPARC

 C’est un standard pour tout SGBD digne de ce nom

 Proposé vers 1965 par Charles Bachman

 Auteur du concept de la BD

 Concepteur de IDMS-2

 Le 1er SGBD moderne

 Créateur du modèle de données réseau (Codasyl)

 Plus tard de l’architecture Open System Interconnection (OSI)

 Prix Turing de l'ACM (Association for Computing Machinery)

 La plus haute récompense scientifique en informatique en USA

Culture générale

Turing award ()

 1966 A.J. Perlis (techniques de programmation avancées et compilation)

 1967 Maurice V. Wilkes (inventeur du premier ordinateur stockant un programme)

 1968 Richard Hamming (codage, détection d'erreur)

 1969 Marvin Minsky (IA)

 1970 J.H. Wilkinson (analyse numérique)

 1971 John McCarthy (IA, LISP)

 1972 E.W. Dijkstra (Algorithmique)

 1973 Charles W. Bachman (bases de données)

 1974 Donald E. Knuth (Algorithmique)

 1975 Allen Newell (IA)

 1975 Herbert A. Simon (idem)

 1976 Michael O. Rabin (automates)

 1976 Dana S. Scott (automates)

 1977 John Backus (conception de langage de haut niveau, FORTRAN)

 1978 Robert W. Floyd (analyse de programmes)

 1979 Kenneth E. Iverson (langage de haut niveau)

 1980 C. Antony R. Hoare (conception de langage)

 1981 Edgar F. Codd (bases de données)

 1982 Stephen A. Cook (complexité des programmes)

 1983 Ken Thompson (implémentation d'UNIX)

 1983 Dennis M. Ritchie (idem)

Culture générale

Turing award ()

 1984 Niklaus Wirth (EULER, ALGOL-W, MODULA, PASCAL)

 1985 Richard M. Karp (algorithmique, flot dans les réseaux)

 1986 John Hopcroft (algorithmique et strutures de données)

 1986 Robert Tarjan (idem)

 1987 John Cocke (compilation, architecture RISC)

 1988 Ivan Sutherland (info graphique, Sketchpad)

 1989 William (Velvel) Kahan (analyse numérique)

 1990 Fernando J. Corbato' (systèmes d'exploitation)

 1991 Robin Milner (théorie programmation fonctionnelle)

 1992 Butler W. Lampson (parallélisme)

 1993 Juris Hartmanis (théorie de la complexité)

 1993 Richard E. Stearns (idem)

 1994 Edward Feigenbaum (IA)

 1994 Raj Reddy (IA)

 1995 Manuel Blum (théorie de la complexité, cryptographie)

 1996 Amir Pnueli (logique temporelle)

 1997 Douglas Engelbart (IHM, souris,)

 1998 James Gray (bases de données, transactions)

Culture générale

Turing award ()

 1999 Frederick P. Brooks, Jr. (architecture, systèmes d'exploitation, génie logiciel)

 2000 Andrew Chi-Chih Yao (complexité, cryptographie)

 2001 Ole-Johan Dahl (programmation objet, simula 67)

 2001 Kristen Nygaard (idem)

 2002 Ronald L. Rivest (cryptographie, RSA (1978))

 2002 Adi Shamir (idem)

 2002 Leonard M. Adleman (idem)

 2003 Alan Kay (Smalltalk)

 2004 Vinton G. Cerf (Internet _ TCP/IP)

 2004 Robert E. Kahn (idem)

 2005 Peter Naur (Langages, Algol 60, Compilation)

 2006 Frances E. Allen (optimisation de compilateurs)

 2007 Edmund M. Clarke, E. Allen Emerson et Joseph Sifakis (Model checking logiciels et matériels)

 2008 Barbara Liskov (techniques fondamentales de programmation : abstraction, tolérance aux fautes, informatique distribuée)

 2009 Charles P. Thacker (pour son travail chez Xerox)

 2010 Leslie Valiant (Apprentissage automatique, théorie de la complexité, calcul distribué et parallèle)

L’architecture ANSI-SPARC

Le Schéma conceptuel

 D’une manière abstraite: un modèle conceptuel de l’univers réel de la BD

 dit aussi entreprise

 L ’université de Saint-Etienne

 La FNAC

 Mes boissons préférées

 L ’Univers

 L’analyse du réel est le domaine des méthodes de conception de la BD

SE SE SE

SC

SI

L’architecture ANSI-SPARC

Le schéma conceptuel

 D’une manière appliquée : la définition logique de

la BD

 Une et une seule

 Les données logiques, leurs structures et types

 Relations, attributs, domaines

 Entités…

 Objets, Types, Classes

 Leur manipulations

 procédures, fonctions, méthodes…

SE SE SE

SC

SI

L’architecture ANSI-SPARC

Le Schéma conceptuel

 La définition logique de la BD (suite)

 Les liens sémantiques

 Données d’un même objet réel

 Les contraintes d’intégrité

 Mono-valeur

 Référentielles

 ...

 Les contraintes de sécurité

 Qui peut manipuler quoi

Decouvrir ces documents

  • Apprendre à travailler avec le logiciel Microsoft Office Word

    Apprendre à travailler avec le logiciel Microsoft Office Word

  • Modèle professionnel de lettre de motivation pour travailler en entreprise

    Modèle professionnel de lettre de motivation pour travailler en entreprise

  • Manuel d’utilisation d’Apache Mesos Framework [Eng]

    Manuel d’utilisation d’Apache Mesos Framework [Eng]

  • Support de cours bureautique en arabe

    Support de cours bureautique en arabe

  • Support de cours informatique bureautique

    Support de cours informatique bureautique

  • Lettre de motivation pour travailler en maison de retraite

    Lettre de motivation pour travailler en maison de retraite

  • Lettre de motivation pour travailler en ecole maternelle : Exemple et structure

    Lettre de motivation pour travailler en ecole maternelle : Exemple et structure

  • Lettre de motivation pour travailler en mairie sans expérience

    Lettre de motivation pour travailler en mairie sans expérience

Articles connexes

  • 9 façons amusantes et créatives d’apprendre l’anglais
  •  Comment s’améliorer en informatique avec plaisir ?
  • Travailler avec les enfants : quel est le bon métier à choisir ?
  • Fiche méthode : comment apprendre une leçon ?
  • Comment apprendre à parler japonais rapidement ?
  • Apprendre l'anglais PRO pour se démarquer au travail
  • Comment Trouver un Emploi au Maroc ?
  • L’importance d’apprendre l’anglais pro pour les futurs ingénieurs
  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02