Vous êtes sur la page 1sur 6

Chapitre 9 : Bases de données.

1. Présentation et vocabulaire

I. Pourquoi les bases de données :


L’apparition de l’informatique et d’Internet demande de regrouper, d’ordonner et de mettre à disposition un grand nombre

de données en vue d’une utilisation par des experts (étude statistique) ou des particuliers (renseignements). Cependant,

si l’on cherche le n° de téléphone d’une personne il est souhaitable que l’on obtienne ce renseignement et uniquement

celui-ci (problème de confidentialité et du respect de la vie privée). Par contre dans certains cas (SAMU…), il est

souhaitable qu’à partir du numéro de téléphone il soit possible d’accéder par exemple à l’adresse de la personne… .

Un particulier ou un centre hospitalier n’aura pas accès au même renseignement sur une personne donnée d’où

l’obligation :

De stocker un très grand nombre d’informations.

D’organiser ces données.

De sécuriser ces données.

Ce sont les bases de données relationnelles (BDD) qui vont nous permettent de réaliser ces différents éléments.

Il existe des logiciels permettant de créer, de modifier, de lire et de travailler sur ces bases de données.

Nous utiliserons le logiciel SQLite.

II . Qu’est ce qu’une base de données relationnelles ?


Une base de donnée relationnelle (BDD) est un ensemble organisé de données.

Par exemple : nom, prénom, date de naissance, n°INSEE des personnes d’une ville :

Table 1 : Personnes

Nom Prenom Date_naissance(*) n_INSEE


DUPONT Pierre 1990-11-20 1 90 11 51 124
DURANT Charles 1980-10-01 1 80 10 02 145
MULLER Charles 1960-02-12 1 60 02 04 124
DUPONT Jeanne 1970-04-28 2 70 04 02 189
ZIDANE Zoe 1990-11-20 2 90 11 74 169
Date_naissance(*) : le format est de la forme AAAA-MM-JJ : ceci pour pouvoir les comparer de façon intéressante.

Comment ?

Mais nous pouvons également avoir pour ces personnes, d’autres renseignements : Métiers

Table 2 : Métiers

n_INSEE Métiers
1 90 11 51 124 Boulanger
1 80 10 02 145 Ingénieur
1 60 02 04 124 Professeur
2 70 04 02 189 Null
2 90 11 74 169 Banquier

1
IPT - PTSI Roosevelt 2020–2021. Hervé Muller
Remarque sur la ligne grisée : la chaine de caractère Null indique que cette case n’a pas de valeur (inexistante ou non

renseignée).

Ne pas confondre Null avec 0

Nombre d’enfants :

Table 3 : Nombres d’enfants

n_INSEE Nombre_enfants_mineurs
1 90 11 51 124 0
1 80 10 02 145 3
1 60 02 04 124 3
2 70 04 02 189 2
2 90 11 74 169 1

Table 4 : Supermarchés fréquentés et catégories socio professionnelle :

n_INSEE Supermarche CSP


1 90 11 51 124 Carrefour ONQ (ouvrier non qualifié)
1 90 11 51 124 Intermarché ONQ
1 90 11 51 124 Leclerc ONQ
1 80 10 02 145 SuperU CADRE
1 80 10 02 145 Leclerc CADRE
1 60 02 04 124 Carrefour PI (profession intermédiaire)
2 70 04 02 189 Leclerc EMP (employé)
2 90 11 74 169 Cora EMP

Ici nous avons une BDD contenant 4 tables (ou 4 relations) .

Vocabulaire : à partir de la table 1 :


! Une table est identifiée par un nom, ici :

! Chaque table possède un certain nombre d’attributs (ou champs).Chaque attribut est représenté par une colonne.

Dans la table 1 les attributs sont :

Nom, …..

! Chaque attribut possède un type : (qui vous sera très souvent indiqué)

Nom : Chaine de caractères.

! Elle est constitué d’un certain nombre d’enregistrements, ces enregistrements décrivent les valeurs de chaque

attribut : ces enregistrements sont disposés en ligne.


Remarque : 1. Une table peut être modifiée par le concepteur de la table, ajout d’enregistrements, suppression d’enregistrements.

2. Pourquoi ne pas faire une seule table contentant tous les renseignements ? certains résultats seraient redondants et de plus il y

aurait de gros problèmes de confidentialité.

Exemple : Quelqu’un disposant de la table 2 (complète) peut connaître le nombre de personne exerçant un métier donné dans cette

ville mais sans pour autant connaître le nom des personnes exerçant ce métier.

Quelqu’un disposant de la table 3 (complète) peut connaître le nombre total d’enfants mineurs dans la ville mais pas n’a aucune relation

entre métier et nombre d’enfants.

Que peut – on faire si l’on dispose de la base donnée complète ? (les 4 tables)

2
IPT - PTSI Roosevelt 2020–2021. Hervé Muller
Par exemple : à partir d’un métier donné on peut retrouver le nombre moyen d’enfants pour les personnes exerçant ce métier :

comment ?

Dans une table nous avons parfois ce que l’on appelle une clé primaire : c’est un champ qui permet d’identifier de

manière unique chaque ligne d’un tableau chaque ligne de cette table.

Déterminer (si il y en a ) la ou les clé(s) primaire(s) de :

La table 1 :

La table 2 :

La table 3 :

La table 4 :

Remarque : 1.

2.

3. Il est parfois nécessaire d’avoir deux attributs pour former « une clé primaire » : Voir exercices.

III. Système de gestion de base de données.


Le système de gestion de base de données (SGBD) permet :

! de créer, modifier, supprimer des tables.

! d’ajouter, supprimer, modifier des enregistrements dans des tables.

! D’effectuer des recherches dans la base de données et présenter les réponses obtenues.

IV. Comment interroger une BDD ?


Le langage SQL (Structured Query language) est un standard permettant des recherches dans une base de données :

c’est l’objectif essentiel de notre programme.

Il y a un langage spécifique : les requêtes SQL.

Par exemple :

Déterminer le nombre moyen d’enfants des personnes de Catégorie Sociaux Professionnelles : ONQ.

Pour cela : il faudra grâce à la table 4 récupérer grâce aux attributs CSP les n° INSEE des personnes de CSP : ONQ

puis aller dans la table 3 et sélectionner le nombres d’enfants correspondants à ces n°INSEE et enfin faire la moyenne

de ces valeurs. Nous verrons les instructions à faire pour réaliser cela.

V. L’architecture « trois tiers ».


Il existe plusieurs interprétations de ce vocabulaire.

En voici une :

3
IPT - PTSI Roosevelt 2020–2021. Hervé Muller
VI. Exercices.
Ex 1 : Mines Ponts 2016. Propagation des épidémies.

Pour suivre la propagation des épidémies, de nombreuses données sont recueillies par les institutions internationales

comme l’OMS. Par exemple, pour le paludisme , on dispose de la table palu, qui recense le nombre de cas confirmés et

le nombre de décès liés au paludisme , certaines lignes de cette table sont données en exemple (on précise que ios est

un identifiant unique pour chaque pays). La base de données est ainsi constituée de plusieurs tables, chaque table

correspondant à une maladie.

palu
nom iso annee cas deces

Bresil BR 2009 309316 85

Bresil BR 2010 334667 76

Kenya KE 2010 898531 26017

Mali ML 2011 307035 2128

1. Quels sont les attributs de cette table palu ? (Donner si possible leur type supposé)

2. Justifier qu’aucun des attributs de cette table ne peut servir de clé primaire.

3. Un couple d’attributs pourrait-il servir de clé primaire ? Si oui, en préciser un ?

Ex 2 : Banque PT 2017 :

Une équipe professionnelle d’athlétisme professionnelle dispose d’une BDD pour aider les coureurs à mieux se

préparer. Cette base de données contient entre autres les tables suivantes :

Table coureurs
Attribut Type Description
Id Entier Identifiant du coureur
Nom Chaine Nom du coureur
Prénom Chaine Prénom du coureur
Table epreuves
Attribut Type Description
id Entier Identifiant de l’épreuve
nom Chaine Nom précis de l’épreuve
date Chaine Date de l’épreuve : ’AAAA-MM-JJ’
distance Flottant Distance courue (en m)
Table performances
Attribut Type Description
Id_coureur Entier Identifiant du coureur
Id_epreuve Entier Identifiant de l’epreuve
temps Flottant Temps, ou instant d’arrivée (s)
inst_cte Flottant Instant initial de la phase à vitesse constante(s)
inst_dec Flottant Instant initial de la phase de décélération (s)
travail Flottant Travail massique de la force de propulsion (J/kg)

4
IPT - PTSI Roosevelt 2020–2021. Hervé Muller
Question 1 : Combien d’attributs contient la table coureurs ? Comment se présente cette table ?

La table epreuves ? Comment se présente cette table ?

La table performances ? Comment se présente cette table ?

Question 2 : Donner une clé primaire de la table coureur :

De la table epreuves :

On précise que pour la table performances , la clé primaire est constituée du couple formé par les deux identifiants

id_coureur et id_epreuve.

Justifier que ce couple constitue bien une clé primaire pour cette table :

Pourquoi l’identifiant id_coureur seul n’est-il pas une clé primaire ?

Peut –on grâce à ces données trouver les noms et dates de toutes les épreuves du ‘100m’ enregistrées dans cette

base ?

Si oui : où et comment ?

5
IPT - PTSI Roosevelt 2020–2021. Hervé Muller
Ex 2 : Banque PT 2016

Dans un hôpital on dispose d’une base de données avec plusieurs tables dont :

Table 1 :

- patients avec les attributs :

" id : identifiant associé à un patient

" numéro_secu : le numéro de sécurité sociale du patient

" prenom : le prénom( ou les prénoms du patient)

" adresse : adresse du patient

" code_postal : code postal de la ville du patient

" ville : ville du patient

" date_de_naissance : date de naissance du patient

" telephone : numéro de telephone

Table 2 :

- Mesures avec les attributs :

" id : identifiant associé à une mesure

" type : le type de mesure stockée : résultat d’analyse sanguine, pression artérielle, radio,etc…

" datetime : la date et l’heure de l’examen sous la forme : ‘2016-01-01 00 : 00 : 00’

" pis : identifiant du patient associé à la mesure.

….

Question 1 : Rappeler en quelques lignes l’utilité d’une clé primaire, en donner une dans chaque table, et dire si d’autres

attributs auraient pu servir de clé primaire.

Question 2 : Si l’on dit que l’on travaille avec l’attribut id : quel est le problème ?

Comment le résoudre ?

6
IPT - PTSI Roosevelt 2020–2021. Hervé Muller

Vous aimerez peut-être aussi