maj des liens et ajout bo dans les cours bdd sgbd

This commit is contained in:
2024-11-13 09:57:39 +01:00
parent b496581c89
commit 242f27321a
5 changed files with 43 additions and 20 deletions

View File

@@ -1,5 +1,17 @@
## Conception des bases de données
--------
### Le programme
<img src="assets/bo_sgbd.png" alt="bo_sgb" style="zoom:67%;" />
## Introduction : Pourquoi les bases de données ?
> Imaginez que vous soyez responsable d'un magasin de jeux vidéo. Vous commencez par gérer vos stocks sur un simple fichier Excel : titre du jeu, console, stock disponible. Tout va bien, jusqu'à ce que les ventes explosent ! Vous vous retrouvez avec des centaines de jeux, des promotions à gérer, des clients à fidéliser… et là, votre fichier Excel montre ses limites : lenteur, erreurs de saisie, données dupliquées. **Bienvenue dans le monde des bases de données !**
@@ -11,9 +23,9 @@ Dans les années 1970, un certain **Edgar F. Codd**, mathématicien chez IBM, in
---
## 1. Les limites des structures plates
## Les limites des structures plates
### **1.1 Définition d'une structure plate**
### Définition d'une structure plate
Une structure plate est un tableau bidimensionnel, comme une feuille Excel ou une table simple dans un fichier CSV. Chaque ligne représente un enregistrement, et chaque colonne, un attribut (ou champ). Exemple :
| ID | Nom | Console | Stock |
@@ -22,8 +34,11 @@ Une structure plate est un tableau bidimensionnel, comme une feuille Excel ou un
| 2 | Zelda | Switch | 30 |
| 3 | FIFA | PS5 | 20 |
### **1.2 Limites de cette approche**
#### **1.2.1 Redondance des données**
-----------------
### Limites de cette approche
#### Redondance des données
Supposons que vous ajoutiez une colonne pour l'éditeur de chaque jeu :
| ID | Nom | Console | Stock | Éditeur |
@@ -42,9 +57,9 @@ Il devient complexe de représenter les relations entre différentes entités. P
---
## 2. Vocabulaire des schémas relationnels
## Vocabulaire des schémas relationnels
### **2.1 Table (ou relation)**
### Table (ou relation)
Une table est un ensemble de lignes (ou enregistrements) et de colonnes (ou attributs). Chaque table représente une entité. Par exemple, une table `Jeux` pourrait ressembler à :
| ID | Nom | Console |
@@ -53,16 +68,16 @@ Une table est un ensemble de lignes (ou enregistrements) et de colonnes (ou attr
| 2 | Zelda | Switch |
| 3 | FIFA | PS5 |
### **2.2 Enregistrement (ou ligne, ou tuple)**
### Enregistrement (ou ligne, ou tuple)
Une ligne de la table représente une occurrence d'une entité. Exemple : `(1, Mario, Switch)`.
### **2.3 Attribut (ou colonne)**
### Attribut (ou colonne)
Chaque colonne représente une propriété de l'entité. Exemple : `Nom`, `Console`.
### **2.4 Clé primaire (Primary Key)**
### Clé primaire (Primary Key)
Un attribut (ou un ensemble d'attributs) qui permet d'identifier de manière unique chaque enregistrement. Exemple : l'attribut `ID` dans notre table `Jeux`.
### **2.5 Clé étrangère (Foreign Key)**
### Clé étrangère (Foreign Key)
Un attribut qui établit une relation entre deux tables. Exemple : si nous avons une table `Ventes` indiquant quel client a acheté quel jeu, la clé étrangère pourrait être l'ID du jeu.
**Table Ventes :**
@@ -72,10 +87,10 @@ Un attribut qui établit une relation entre deux tables. Exemple : si nous avons
| 1 | 1 | 1001 |
| 2 | 2 | 1002 |
### **2.6 Relation**
### Relation
Une relation représente le lien entre deux tables via des clés primaires et étrangères.
### **2.7 Schéma relationnel**
### Schéma relationnel
Un schéma relationnel décrit l'organisation des tables et les relations entre elles. Exemple d'un schéma simplifié :
- **Jeux**(ID, Nom, Console)