Vous êtes sur la page 1sur 23

pasanou.faye@univ-thies.

sn
Prof
M.FAYE

ème
Cours de 2 Année de Licence en Informatique
2

Plan du cours

 INTRODUCTION GENERALE SUR LES BASES DE DONNEES

 SYSTEMES DE GESTION DE BASE DE DONNEES

 LANGAGE DE REQUETE SQL

 MICROSOFT SQL SERVER

 LANGAGE TRANSACT-SQL

SQL Server
UCAO
M.FAYE
3

Objectifs
Ce cours a pour objectif de mettre à niveau en Base de données les
étudiants de la licence 2 en informatique.

Il couvre les principaux points cités ci-dessus.

Donc à la fin du cours l’apprenant pourra être capable de :

➢ Comprendre la notion de base de données et son utilité

➢ Comprendre la notion de système de gestion de base de


données plus particulièrement SQL Server et son utilité

➢ Représenter de manière intelligible une situation de gestion


réelle (MCD, MLD, MPD)

➢ Créer une base de données relationnelle

➢ Interroger une base de données relationnelle par le langage


SQL et T-SQL.

SQL Server
UCAO
M.FAYE
4

Prérequis

• Notion de base en système d’information

Méthode pédagogique

• Théorie
• Démonstration
• TDs, TPs et contrôle de connaissances

Responsable

Magistral / Travaux dirigés et Pratiques


M. FAYE
Ing. Réseaux et télécoms
Administrateur Cloud
Email : pasanou.faye@univ-thies.sn

SQL Server
UCAO
M.FAYE
5

INTRODUCTION GENERALE
SUR LES BASES DE DONNEES

Notions sur l’informatique

 L’informatique est une science qui permet de traiter l’information


de façon automatique à l’aide de l’ordinateur.

- Information : texte, image, vidéos ou son et mêmes odeurs


(authentification biométrique : l’analyse de l’haleine), représentés
sous une forme manipulable par la machine en fonction de sa
technologie.

 Terme créé en 1962 par Philippe Dreyfus, informaticien français


diplômé de la 66e promotion de l'École supérieure de physique et de
chimie industrielle de la ville de Paris (aujourd'hui ESPCI ParisTech),
et seul créateur du mot en France.

 Biographie https://fr.wikipedia.org/wiki/Philippe_Dreyfus

SQL Server
UCAO
M.FAYE
6

Notions sur les Systèmes d’exploitation

 L’ordinateur est un ensemble de ressources matérielles (hardware)

Exemple : processeur, mémoire, disque dur...

Parmi ses différents types on a :

➢ Ordinateurs de bureau

➢ Ordinateurs portables

➢ Tablettes PC

➢ Serveurs

➢ Portables

➢ Smart TV

 Un Système d’Exploitation (SE), Operating System en anglais


(OS), est un ensemble de programmes (logiciels) qui permettent
d’assurer la bonne gestion de l’ordinateur et de ses périphériques.

SQL Server
UCAO
M.FAYE
7

 Sans ce dernier, un ordinateur n’est qu’un morceau de métal


inutile.

Rôle

 Le système d’exploitation contrôle et coordonne l’utilisation du


matériel.

 Il gère de manière équitable et efficace les ressources matérielles


(mémoire, processeur, périphériques, …) et les mets à la disposition
des utilisateurs :

 Gestion du processeur
 Le système d'exploitation gère l'allocation du processeur entre les
différents programmes. Pour l’utilisateur, les différents
programmes fonctionnent parallèlement.

 Gestion de la mémoire
 Le système d'exploitation gère l'espace mémoire alloué à chaque
application et à chaque utilisateur. Il la partage entre tous les
programmes.

 En cas d'insuffisance de mémoire physique, le système


d'exploitation peut créer une zone mémoire sur le disque dur,

SQL Server
UCAO
M.FAYE
8

appelée « mémoire virtuelle », qui permet d’exécuter des


applications nécessitant plus de mémoire qu'il n'y a de mémoire
vive disponible sur le système.

 Gestion des entrées/sorties


 C’est-à-dire gérer l'accès des programmes aux ressources
matérielles par l'intermédiaire des pilotes.

 Gestion des fichiers


 C’est-à-dire gérer la lecture et l'écriture dans le système de fichiers
et les droits d'accès aux fichiers par les utilisateurs et les
applications.

Architecture en couche des S.I

SQL Server
UCAO
M.FAYE
9

Pourquoi devriez-vous avoir une base de données ?

Constat

Comment gérer (mémoriser et traiter) :

➢ Un ensemble d'étudiants (n°, nom, prénom, groupe, filière...)

➢ Ou même une entreprise qui se doit de conserver un volume élevé


d’informations : noms, adresses, salaire, adresse des fournisseurs,
quantités, prix des articles, bilan financier, etc. ?

Première solution : utilisation des Fichiers

SQL Server
UCAO
M.FAYE
10

 Ces informations seront stockées dans différents systèmes de


traitement de fichiers.

o Système de gestion des stocks, Système de facturation,


Système de préparation de paie, Système de gestion de
personnel, etc.

 Pour obtenir une information, l’employé doit :

1. Déterminer le système à consulter


2. Trouver la bonne personne concernée

▪ Perte de temps

 De plus, certaines informations sont souvent conservées en


plusieurs endroits.

o Duplication de données
o Gaspillage au niveau du volume de fichiers.

Avec le temps, il y aura…

 Accroissement inutile de :

➢ De l'ensemble des fichiers ;

➢ De la taille des fichiers ;

➢ Des temps d’accès.


SQL Server
UCAO
M.FAYE
11

Inconvénients de ce système

Redondance et inconsistance des données

 Informations identiques répliquées dans plusieurs fichiers.

Exemple : Institution financière

o Adresse et téléphone d'un employé

▪ Dans le fichier du système de paie


▪ Dans le fichier de gestion du personnel

o Accroissement inutile :

▪ De la taille des fichiers ;

o Risque d'inconsistance des données si le changement


d’adresse ne s’effectue pas dans les deux fichiers.

Difficulté d'accès aux données

 Il faut un programme spécifique pour toute nouvelle demande


d'information.

 Le temps d'accès à une requête non prévue peut être très long.
SQL Server
UCAO
M.FAYE
12

Isolement des données

 Les données sont stockées sous différents formats.

o Type caractère dans un fichier

o Type entier dans un autre fichier.

Exemple : l’identifiant d’un personnel

Sécurité

 La sécurité des données et les accès non-autorisés ne sont pas


garanties.

Exemple : Le personnel ne devrait pas avoir accès au programme de


paie.

Intégrité des données

 Difficulté d'imposer des contraintes

Exemple : Le solde ne doit jamais être inférieur à 0.

SQL Server
UCAO
M.FAYE
13

Ces inconvénients de la première solution nous poussent à mettre


en place une deuxième Solution qui serait :

✓ Une banque de données commune, entièrement centralisée :

➢ Base de données

▪ Données : Clients, Produits, Commandes, Factures


➢ Base de
• Clients : n° client, nom, prénom, adresse, téléphone…

• Produits : n° produit, nom du produit, prix du produit…

• Commande : n° commande, date_commande…

• Facture : n° facture, nom de facture, adresse de facture, montant


de la facture, mode de règlement de la facture…

SQL Server
UCAO
M.FAYE
14

 Idéalement, il devrait y avoir…

o Un seul exemplaire de chaque élément de données

o Tous les utilisateurs ont accès aux données en ne


communiquant qu’avec la base (sans intermédiaire).

o Mesures de protection pour l’information confidentielle

Avantages

✓ Eliminer la redondance de données

✓ Centraliser et organiser correctement les données

✓ Données partagées

✓ Rapidité et Efficacité

✓ Incohérence évitée

✓ Sécurité appliquée

✓ Indépendances des données obtenues

SQL Server
UCAO
M.FAYE
15

Définition

 Il est difficile de donner une définition exacte de la notion de base


de données. Une définition très générale pourrait être :

Une base de données est un ensemble structuré de données (1)


enregistrées sur des supports accessibles par l ’ordinateur (2)
pour satisfaire simultanément plusieurs utilisateurs (3) de
manière sélective (4) en un temps opportun (5).

(1) : Organisation et description de données


(2) : Stockage sur disque
(3) : Partage des données
(4) : Confidentialité
(5) : Performance

 Ces informations sont interrogées et mises à jour par l’intermédiaire


d’un logiciel.

Exemple de BD

➢ Gestion des personnels, étudiants, cours, inscriptions, UCAO…

➢ Système de réservation de places d’avion chez Air Sénégal, de


places de train au TER
SQL Server
UCAO
M.FAYE
16

➢ Système de gestion de la clientèle d’une banque

➢ Gestion des commandes chez Amazon.com

➢ Gestion d’une bibliothèque

Différents types de BD

 Il y en a pour tous les usages :

o Bases de données personnelles : MS Access, ... : 10 Ko 2 Go

o Bases de données professionnelles typiques : 100 Ko 100 Go

o Bases de données professionnelles très grandes : Very Large


Databases (VLDB) : > 100 Go

Besoins pour la gestion d’une base de données

 Description

 Manipulation

 Interrogation

SQL Server
UCAO
M.FAYE
17

 Cohérence

 Garanties

 Confidentialité

 Efficacité

Description

 Description des données de l’application (trains, trajets,


réservations) sans faire référence à une solution informatique
particulière

➢ Modélisation conceptuelle des données (MCD)

SQL Server
UCAO
M.FAYE
18

 Elaboration d’une description équivalente pour le stockage des


données dans le Système de Gestion de Bases de Données choisi

➢ Modélisation logique des données (MLD)

Manipulation

 Créer la base de données initiale avec les données représentant le


réseau du TER par exemple

➢ Langage permettant l’insertion de données

SQL Server
UCAO
M.FAYE
19

 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 (insertion,


modification, suppression)

Interrogation

 Répondre à toute demande d’information portant sur les données


contenues dans la base.
o L’étudiant M. Khoulé a-t-il une réservation pour aujourd’hui ?

▪ Si oui, donner les informations connues sur cette


réservation.

o Quels sont les horaires des trains de Dakar à Diamniadio entre


9h et 10h le dimanche ?

o Donner les destinations au départ de Dakar sans arrêts


intermédiaires.

➢ Langage de requête ou langage d’interrogation (SQL)

SQL Server
UCAO
M.FAYE
20

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.

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


clients

o Les arrêts d’un train sont numérotés de façon continue

o La date de réservation pour un train doit correspondre à un


jour de circulation de ce train

o L’heure de départ d’une gare doit être postérieure à l’heure


d’arrivée dans cette gare

o ...

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é
SQL Server
UCAO
M.FAYE
21

 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

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)

SQL Server
UCAO
M.FAYE
22

Efficacité

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

o En interactif : pas plus de 3 secondes

o En programmation : assez rapide pour assumer la charge de


travail attendue (nombre de transactions par jour)

➢ Mécanismes d’optimisation

Pour répondre à ses besoins énumérés ci-dessus et gérer une BD


partagée par plusieurs utilisateurs simultanément nous utiliserons
un système nommé : SGBD (Système de Gestion de Base de
Données)

SQL Server
UCAO
M.FAYE
23

Fin chapitre 1

Généralités
SUR
Les bases de données

SQL Server
UCAO
M.FAYE

Vous aimerez peut-être aussi