Vous êtes sur la page 1sur 13
Cours 2 Introduction aux bases de données Pierre Delisle Université du Québec à Chicoutimi Département
Cours 2
Introduction aux bases de
données
Pierre Delisle
Université du Québec à Chicoutimi
Département d’informatique et de mathématique

Plan

Objectifs de la première partie du cours Donnée et information Base de donnée Organisation d’un système de base de données Système de gestion de base de données Le langage SQL Les intervenants dans un SGBD

2

Objectifs jusqu’à la mi-session

Apprendre le langage des bases de données et des systèmes d’information Apprendre à modéliser efficacement les données de diverses situations de gestion

3

Structure d’un ordinateur Fichiers Données Unité de stockage (Disque) Mémoire à long terme Processeur
Structure d’un ordinateur
Fichiers
Données
Unité de stockage (Disque)
Mémoire à long terme
Processeur
Instructions, calculs
Mémoire vive (RAM)
Mémoire à court terme
Interface utilisateur
Écran, clavier, souris
Information
4
Système d’information (SI) Système informatisé ou non qui a pour objet de recueillir des données

Système d’information (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.)

Donnée

Donnée Traitement Information

Traitement

Donnée Traitement Information

Information

personne, facture, etc.) Sur des événements (vente, embauche, etc.) Donnée Traitement Information 5

5

Donnée

Élément fondamental qui sert de base à un système d’information Elle est considérée comme un objet qui entre dans le système d’information 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

6

Élément de donnée

La plus petite unité porteuse d’une signification pour les utilisateurs du système Exemples :

Numéro d’assurance sociale Prix d’un article Description d’un produit

Souvent représenté par un type de donnée élémentaire

Chaine de caractères Numérique (entier, réel)

7

Structure de données

Ensemble d’éléments de données Peut inclure :

Des éléments de données D’autres structures de données

Facture

Numéro de facture Prix total Client

Numéro

Nom

8

Élément ou structure ?

Peut dépendre de l’interpré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

9

10

Information

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

Exemple

Entreprise

A
A
B
B
C
C
D
D

Clients par jour

5
5
100
100
20
20
500
500

Place d’affaires

Montréal
Montréal
Chicoutimi
Chicoutimi
Falardeau
Falardeau
Roberval
Roberval

Chiffre d’affaires

5 000 000
5 000 000
1 000 000
1 000 000
20 000
20 000
500 000
500 000

Type d’entreprise

Informatique
Informatique
Aluminium
Aluminium
Dépanneur
Dépanneur
Épicerie
Épicerie
 

11

Base 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 -> Non structuré Ensemble de factures dans un tiroir -> Non organisé

 

12

Organisation d’un système de bases de données 4 composantes principales : Données Logiciel Matériel
Organisation d’un système de bases de
données
4 composantes principales :
Données
Logiciel
Matériel
Utilisateurs
Application
Système de gestion
de base de données
Application
Base de
données
Fichier
Application
Fichier
13
Organisation d’un 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.
14
Organisation d’un 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)
15

Organisation d’un système de bases de données - Logiciel

Système de gestion de bases de données Outils de développement d’applications

API (Application Programming Interface) VBA-Access

Outils d’aide à la conception Outils d’aide à la rédaction de rapports Gestionnaire de transactions

16

Organisation d’un système de bases de données - Utilisateurs

Programmeurs d’application

Développent les logiciels qui accèdent à la BD

Utilisateurs finaux

Utilisent les logiciels

Administrateurs

Gèrent les données

17

Organisation d’un système de bases de données - Utilisateurs

Nombre d’utilisateurs

1 Mono-utilisateur BD personnelle

Partage difficile des données Développement et entretien peu coûteux

2+ --> 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

18

Système de gestion de bases de données (SGBD) Ensemble de programmes qui gèrent un ensemble
Systè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 d’extraire
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
19
Types de SGBD
Hiérarchique
Réseau
Relationnel
20
SGBD hiérarchique
Structure arborescente
Compte bancaire
Saku Koivu
Pierre Delisle
Hanna Koivu
23150
8 450 000
24140
175
23150
8 450 000
24140
175
21

SGBD 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 d’un 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é

22

SGBD réseau

Composé d’enregistrements et de liens

Saku Koivu Hanna Koivu
Saku
Koivu
Hanna
Koivu
Pierre
Pierre
Delisle
Delisle
23150 8 450 000
23150
8 450 000
24140 175
24140
175

23

SGBD réseau

Implémentation avec des pointeurs Avantages

Redondance éliminée, moins d’espace 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 aujourd’hui considérés comme obsolètes

24

SGBD relationnel (SGBDR) Constituée de tables représentant des objets ou des associations entre objets TABLE
SGBD relationnel (SGBDR)
Constituée de tables représentant des objets
ou des associations entre objets
TABLE CLIENT
NOCLIENT
NOM
PRENOM
KOI01
Koivu
Saku
DEL01
Delisle
Pierre
KOI02
Koivu
Hanna
TABLE COMPTE-CLIENT
TABLE COMPTE
NOCOMPTE
NOCLIENT
NOCOMPTE
SOLDE
23150
KOI01
23150
8 450 000
23150
KOI02
24140
175
24140
DEL01
24140
KOI02
25
SGBD relationnel (SGBDR)
Pas de pointeurs
Une table est composée de
Colonnes
Analogue à un champ d’un enregistrement dans un
fichier de données
Portent un nom unique à l’intérieur d’une 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 d’une ou plusieurs colonnes
26
Clé 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 d’assurance sociale ?
Nom + Prénom ?
Numéro de téléphone ?
27
SGBD relationnel (SGBDR) Lien logique de chaque valeur d’une rangée à la clé primaire Exemple

SGBD relationnel (SGBDR)

SGBD relationnel (SGBDR) Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT
Lien logique de chaque valeur d’une rangée à la clé primaire Exemple TABLE CLIENT NOCLIENT

Lien logique de chaque valeur d’une rangée à la clé primaire Exemple

TABLE CLIENT

NOCLIENT

NOM

PRENOM

VILLE

CODE POSTAL

DEL01

Delisle

Pierre

Chicoutimi

G8H3A3

DEL01 Delisle Pierre Chicoutimi G8H3A3 Delisle dépend de la clé DEL01 – OK Le code postal
DEL01 Delisle Pierre Chicoutimi G8H3A3 Delisle dépend de la clé DEL01 – OK Le code postal
DEL01 Delisle Pierre Chicoutimi G8H3A3 Delisle dépend de la clé DEL01 – OK Le code postal
DEL01 Delisle Pierre Chicoutimi G8H3A3 Delisle dépend de la clé DEL01 – OK Le code postal

Delisle dépend de la clé DEL01 – OK Le code postal dépend de la ville, donc d’un autre attribut que la clé primaire - ERREUR

de la clé DEL01 – OK Le code postal dépend de la ville, donc d’un autre

28

SGBD relationnel (SGBDR)

Lien logique entre les tables

Une rangée d’une table peut avoir un lien logique nommé relation avec une ou plusieurs rangées d’une ou de plusieurs autres tables Relation représentée par une clé étrangère

Clé étrangère

Constituée d’une 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

29

SGBD relationnel (SGBDR)

Avantages

Redondance minimisée : seules les clés primaires sont dupliquées Facilité de programmation et d’exploitation Structure basée sur la logique mathématique Possède son propre langage normalisé : SQL Portabilité

Exemples

Access Oracle SQL Server

30

SQL (Structured Query Language)

Ensemble de commandes permettant de créer et d’exploiter une base de données relationnelle Assume toutes les principales fonctions d’un SGBD Peut être intégré dans des applications écrites en différents langages (C, C++, Delphi, VB, etc.)

31

Les fonctions d’un 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)

32

Les 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 D’applications : 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

33

Architecture des bases de données

3 niveaux : Interne, Conceptuel et Externe Niveau interne

Physique, système Relève principalement de l’administrateur(BD/Système)

Niveau conceptuel

Vue globale de la BD Modèle conceptuel Relève principalement des concepteurs

Niveau externe

Vue d’un utilisateur particulier Modèle conceptuel incomplet Relève principalement des opérateurs

34

Pourquoi les bases de données ? Indépendance et intégrité des données Minimisation de la redondance

Pourquoi les bases de données ?

Pourquoi les bases de données ? Indépendance et intégrité des données Minimisation de la redondance des
Indépendance et intégrité des données Minimisation de la redondance des données Rapidité et fiabilité du
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
Système de
gestion des ventes
Données Vente
Système de
Gestion des
(Clients, Produits, etc.)
gestion des ventes
comptes-clients
Données Comptes-Clients
(Clients, Factures, etc.)
Base de donnée
Entreprise

35

gestion des ventes comptes-clients Données Comptes-Clients (Clients, Factures, etc.) Base de donnée Entreprise 35

Système de

Gestion des

comptes-clients

L’approche base de données Analyse de la situation et des données Implantation de la base

L’approche base de données

Analyse de la situation et des données Implantation de la base de données Modélisation de

Analyse de la situation et des données

Implantation de la base de données

Modélisation de la base de données

de la situation et des données Implantation de la base de données Modélisation de la base

36

Situation

initiale

à informatiser

Des questions ?

Des questions ? 37

37