notes/docs/learn/devops/2026-01-22.md
2026-03-04 09:50:29 +01:00

76 lines
2.4 KiB
Markdown

---
tags:
- SQL
- Devops
---
# SQL pour les tung tung tung sahur
## Modèle MVC
> Le modèle MVC est une façon de concevoir un projet logiciel, en gros on sépare celui-ci en trois grandes parties distinctes séparant la logique de la vue et rend le travail plus facile.
<img src="https://developer.mozilla.org/en-US/docs/Glossary/MVC/model-view-controller-light-blue.png" alt="Modèle MVC par MDN" width="200px">
Modèle MVC en prenant celui de grabber par exemple :
- Model = Base De Donnée (ex: EMPLOYEES, COMPUTERS)
- View = Tableau de bord, Site
- Controller = Cerveau qui dirige les deux parties Model et View (ex: app.py)
## TUTO : COMMENT CR2ER UNE BDD SQL FACILEMENT EN 2 MINUTES (SUPER FACILE)
### Structure d'une Base De Données
*celle de grabber pour l'exemple*
```
BDD (Etape 1) - grabberman
├── TABLES (Etape 2) - COMPUTERS
│ ├── Colonne (Etape 3) - PcId, entier/clé primaire
│ │ └── Donnée (Etape 4)
│ ├── Colonne (Etape 3) - Hostname, chaîne de charactère
│ └── Colonne (Etape 3) - MacAddress, chaîne de charactère
└── TABLES (Etape 2) - EMPLOYEES
├── Colonne (Etape 3) - UserId, entier/clé primaire
├── Colonne (Etape 3) - Username, chaîne de charactère
└── Colonne (Etape 3) - PcId, clé secondaire
```
### Etape 1 : Créer une BDD
`sqlite3 grabberman.db` <- Commande qui crée une DB qu'on appellera ici "grabberman"
### Etape 2 : Créer une table
```sql
CREATE TABLE "COMPUTERS"
(
PcId INTEGER PRIMARY KEY AUTOINCREMENT,
Hostname VARCHAR(50) NOT NULL,
MacAddress VARCHAR(50)
);
```
!!! note
Ici on crée une table dans laquelle on stockera des données (des PC que l'on grab par exemple)
### Etape 3 : Ajouter des données dans une table
`INSERT into COMPUTERS (Hostname, MacAddress) VALUES ('mypc', '1B:12:F0:FL:94');`
!!! note
Pour ajouter une donnée dans une tableau, on **INSERE** dans le **TABLEAU** donné les **VALEURS** dans les **Colonnes**
### Etape 4 : Créer un autre tableau avec une clé liée (foreign key)
```sql
CREATE TABLE "EMPLOYEES"
(
UserId INTEGER PRIMARY KEY AUTOINCREMENT,
Username VARCHAR(50) NOT NULL,
FOREIGN KEY (PcId) REFERENCES COMPUTERS(PcId)
);
```
!!! note
On recommence comme à l'étape 2, en ajoutant une clé étrangère **foreign key**, qui lie une clé extérieure, **PcId** ici, dans notre second Tableau