Title: Cours 2 Introduction aux bases de donnes
1Cours 2Introduction aux bases de données
- Pierre Delisle
- Université du Québec à Chicoutimi
- Département dinformatique et de mathématique
2Plan
- Objectifs de la première partie du cours
- Donnée et information
- Base de donnée
- Organisation dun système de base de données
- Système de gestion de base de données
- Le langage SQL
- Les intervenants dans un SGBD
3Objectifs jusquà la mi-session
- Apprendre le langage des bases de données et des
systèmes dinformation - Apprendre à modéliser efficacement les données de
diverses situations de gestion
4Structure dun ordinateur
Fichiers
Données
Unité de stockage (Disque) Mémoire à long terme
Mémoire vive (RAM) Mémoire à court terme
Processeur Instructions, calculs
Interface utilisateur Écran, clavier, souris
Information
5Système dinformation (SI)
- Système informatisé ou non qui a pour objet de
recueillir des données qui, accumulées et
transformées en informations, seront à leur tour
distribuées et enfin utilisées à la préparation
de rapports destinés à couvrir des besoins variés - Données
- Sur des objets (produit, personne, facture,
etc.) - Sur des événements (vente, embauche, etc.)
Information
Traitement
Donnée
6Donnée
- Élément fondamental qui sert de base à un système
dinformation - Elle est considérée comme un objet qui entre dans
le système dinformation où il sera soumis à un
ou plusieurs traitements pour répondre aux
besoins des utilisateurs du système - Peut correspondre à
- Un élément de donnée
- Une structure de données
7Élément de donnée
- La plus petite unité porteuse dune signification
pour les utilisateurs du système - Exemples
- Numéro dassurance sociale
- Prix dun article
- Description dun produit
- Souvent représenté par un type de donnée
élémentaire - Chaine de caractères
- Numérique (entier, réel)
8Structure de données
- Ensemble déléments de données
- Peut inclure
- Des éléments de données
- Dautres structures de données
- Facture
- Numéro de facture
- Prix total
- Client
- Numéro
- Nom
9Élément ou structure ?
- Peut dépendre de linterprétation
- Date en tant quélément de donnée
- 17-01-2007
- Date en tant que structure de données
- Jour 17
- Mois 01
- Année 2007
10Information
- Significations que les utilisateurs attribuent
aux données - Résultat du traitement des données
- Ce dont a besoin le gestionnaire pour décider,
planifier, exécuter et contrôler
11Exemple
12Base de données
- Collection de données représentant un univers
donné, organisées et structurées en rubriques de
façon logique afin de pouvoir y accéder, les
représenter et les utiliser à des fins
particulières - Exemples
- Annuaire téléphonique
- Dictionnaire
- Catalogue
- Ne sont pas des bases de données
- Roman -gt Non structuré
- Ensemble de factures dans un tiroir -gt Non
organisé
13Organisation dun système de bases de données
- 4 composantes principales
- Données
- Matériel
Application
Système de gestion de base de données
Base de données
Application
Application
Fichier
Fichier
14Organisation dun système de bases de données -
Données
- Données intégrées
- Vue unifiée du système même si ce dernier est en
fait un regroupement de fichiers - Données partagées
- Peuvent être accédées par plusieurs utilisateurs
(même simultanément !) - Globalement
- Les utilisateurs ont une vue différente de la
base de donnée - Administrateur de la BD ? vue complète
- Ressources humaines ? employés, tâches, etc...
- Acheteur ? produits, pièces, factures, etc.
15Organisation dun système de bases de données -
Matériel
- Composantes de stockage de masse
- Disques durs
- RAID (Redundant Array of Independent Disks)
- Copies de sauvegarde
- Tolérance aux pannes
- Intégrité des données
- Composantes de traitement
- Processeur(s)
- Mémoire vive (RAM)
16Organisation dun système de bases de données -
Logiciel
- Système de gestion de bases de données
- Outils de développement dapplications
- API (Application Programming Interface)
- VBA-Access
- Outils daide à la conception
- Outils daide à la rédaction de rapports
- Gestionnaire de transactions
17Organisation dun système de bases de données -
Utilisateurs
- Programmeurs dapplication
- Développent les logiciels qui accèdent à la BD
- Utilisateurs finaux
- Utilisent les logiciels
- Administrateurs
- Gèrent les données
18Organisation dun système de bases de données -
Utilisateurs
- Nombre dutilisateurs
- 1 ? Mono-utilisateur ? BD personnelle
- Partage difficile des données
- Développement et entretien peu coûteux
- 2 --gt Multi-utilisateur
- Systèmes multi-utilisateurs
- Centralisé
- Terminaux et ordinateur central connecté sur la
BD - Réseau
- BD sur 1 ordinateur, SGBD sur chaque ordinateur
utilisateur - Distribué
- Répliqué ou réparti
19Système de gestion de bases de données (SGBD)
- Ensemble de programmes qui gèrent un ensemble de
données et qui permettent à plusieurs
utilisateurs de stocker des données, de les
modifier, de les supprimer et dextraire des
informations à partir de cette base de données - Toujours informatisé
- Protège les utilisateurs de la base de données
des détails du niveau matériel
20Types de SGBD
- Hiérarchique
- Réseau
- Relationnel
21SGBD hiérarchique
Compte bancaire
Saku Koivu
Pierre Delisle
Hanna Koivu
23150
8 450 000
24140
175
23150
8 450 000
24140
175
22SGBD hiérarchique
- Caractéristiques
- Accès vertical (haut vers bas et bas vers haut)
- Les chemins hiérarchiques sont implémentés par
des pointeurs - Problèmes
- Redondance des données une modification du
solde dun seul compte nécessite plusieurs mises
à jour - Coûteux en espace mémoire
- Accès aux informations parfois difficiles et/ou
coûteuses clients possédant un compte donné
23SGBD réseau
- Composé denregistrements et de liens
Saku
23150
8 450 000
Koivu
Hanna
Koivu
Delisle
Pierre
24140
175
24SGBD réseau
- Implémentation avec des pointeurs
- Avantages
- Redondance éliminée, moins despace mémoire
- Manipulations plus faciles
- Inconvénients
- Accès séquentiel, donc lent
- Difficile à programmer et à maintenir
- Les SGBD hiérarchiques et réseaux sont
aujourdhui considérés comme obsolètes
25SGBD relationnel (SGBDR)
- Constituée de tables représentant des objets ou
des associations entre objets
TABLE CLIENT
TABLE COMPTE-CLIENT
TABLE COMPTE
26SGBD relationnel (SGBDR)
- Pas de pointeurs
- Une table est composée de
- Colonnes
- Analogue à un champ dun enregistrement dans un
fichier de données - Portent un nom unique à lintérieur dune table
- Peuvent faire partie de plusieurs tables (pour
les lier) - Rangées
- Analogue à un enregistrement dans un fichier de
données - Identifiées par une clé unique (clé primaire)
composée dune ou plusieurs colonnes
27Clé primaire
- La valeur de la clé primaire doit être
- Unique dans chaque table
- De longueur fixe
- De longueur raisonnable
- Non modifiable
- Bonnes ou mauvaises clé primaires ?
- Numéro dassurance sociale ?
- Nom Prénom ?
- Numéro de téléphone ?
28SGBD relationnel (SGBDR)
- Lien logique de chaque valeur dune rangée à la
clé primaire - Exemple
- Delisle dépend de la clé DEL01 OK
- Le code postal dépend de la ville, donc dun
autre attribut que la clé primaire - ERREUR
TABLE CLIENT
29SGBD relationnel (SGBDR)
- Lien logique entre les tables
- Une rangée dune table peut avoir un lien logique
nommé relation avec une ou plusieurs rangées
dune ou de plusieurs autres tables - Relation représentée par une clé étrangère
- Clé étrangère
- Constituée dune ou de plusieurs colonnes
- Représente la relation entre deux rangées
- Correspond toujours à une clé primaire
- Ex NOCLIENT est la clé primaire de la TABLE
CLIENT et une clé étrangère de la table
COMPTE-CLIENT
30SGBD relationnel (SGBDR)
- Avantages
- Redondance minimisée seules les clés primaires
sont dupliquées - Facilité de programmation et dexploitation
- Structure basée sur la logique mathématique
- Possède son propre langage normalisé SQL
- Portabilité
- Exemples
- Access
- Oracle
- SQL Server
31SQL (Structured Query Language)
- Ensemble de commandes permettant de créer et
dexploiter une base de données relationnelle - Assume toutes les principales fonctions dun SGBD
- Peut être intégré dans des applications écrites
en différents langages (C, C, Delphi, VB, etc.)
32Les fonctions dun SGBD
- Créer la structure de la base de données CREATE
TABLE, DROP TABLE, ALTER TABLE - Entrer les données INSERT INTO
- Modifier des données UPDATE
- Supprimer des données DELETE
- Extraire des données et produire des rapports
SELECT - Programmer une application qui gère la base de
données (outils de développement)
33Les intervenants dans un SGBD
- Opérateurs/Utilisateurs
- Utilisent les applications conçues par les
concepteurs - Entrent, modifient, suppriment et consultent les
données - Concepteurs
- De bases de données conçoivent les modèles de
données et créent la structure de la base de
données - Dapplications développent des programmes qui
gèrent les bases de données - Administrateurs (DBA)
- Gèrent le système, les utilisateurs (opérateurs
et concepteurs), les objets et les privilèges
34Architecture des bases de données
- 3 niveaux Interne, Conceptuel et Externe
- Niveau interne
- Physique, système
- Relève principalement de ladministrateur(BD/Systè
me) - Niveau conceptuel
- Vue globale de la BD ? Modèle conceptuel
- Relève principalement des concepteurs
- Niveau externe
- Vue dun utilisateur particulier
- Modèle conceptuel incomplet
- Relève principalement des opérateurs
35Pourquoi les bases de données ?
- Indépendance et intégrité des données
- Minimisation de la redondance des données
- Rapidité et fiabilité du traitement
- Partage des données
- Standards, contrôles et sécurité renforcés
- Administration des données plus facile
Système de gestion des ventes
Données Vente (Clients, Produits, etc.)
Système de gestion des ventes
Système de Gestion des comptes-clients
Système de Gestion des comptes-clients
Données Comptes-Clients (Clients, Factures, etc.)
Base de donnée Entreprise
36Lapproche base de données
Situation initiale à informatiser
Analyse de la situation et des données
Implantation de la base de données
Modélisation de la base de données
37Des questions ?