Descripteurs de Donnees
Apprends a definir et utiliser les descripteurs (attributs) pour caracteriser tes donnees : nommage, types, contraintes et bonnes pratiques.
Qu'est-ce qu'un descripteur ?
Un descripteur (aussi appele attribut, champ ou colonne) est un element qui caracterise une propriete des donnees dans une collection structuree.
Exemple : Table "Eleves"
| id_eleve | nom | age | moyenne |
|---|---|---|---|
| 1 | Alice | 15 | 14.5 |
| 2 | Bob | 16 | 12.0 |
Cette table a 4 descripteurs : id_eleve, nom, age, moyenne
Descripteur
Le nom de la colonne (ex: "nom", "age")
Valeur
Le contenu de la cellule (ex: "Alice", 15)
Les types de descripteurs
Chaque descripteur a un type qui definit la nature des valeurs qu'il peut contenir. Voici les types principaux :
String (Texte)
Chaines de caracteres : lettres, chiffres, symboles
nomprenomadresseemailPython : str
Integer (Entier)
Nombres entiers sans decimale
agequantitenombre_elevesanneePython : int
Float (Decimal)
Nombres avec virgule (decimaux)
prixmoyennetemperaturelatitudePython : float
Boolean (Booleen)
Vrai (True) ou Faux (False)
est_actifa_payeest_majeurinscritPython : bool
Date / DateTime
Dates et/ou heures
date_naissancedate_inscriptionderniere_connexionPython : datetime
List (Liste)
Collection de plusieurs valeurs
tagscompetencesmatiereshobbiesPython : list
Attention ! Un age stocke comme "15" (string) au lieu de 15 (int) ne pourra pas etre utilise dans des calculs mathematiques.
Regles de nommage
Bien nommer ses descripteurs est essentiel pour que les donnees soient comprehensibles et faciles a manipuler.
Bonnes pratiques
snake_case: date_naissance- Noms explicites : email_contact
- Minuscules uniquement
- Prefixes booleens : est_actif, a_paye
A eviter
- Espaces : "date naissance"
- Accents : "prenom", "numero"
- Caracteres speciaux : date-naissance
- Noms vagues : "data", "info", "x"
Comparaison de nommages
Mauvais
- Date de Naissance
- NOM
- tel.
- data1
Acceptable
- dateNaissance
- Nom
- telephone
- info
Excellent
- date_naissance
- nom_famille
- telephone_mobile
- email_contact
La cle primaire
Une cle primaire est un descripteur (ou combinaison de descripteurs) dont la valeur est unique pour chaque enregistrement. Elle permet d'identifier de facon certaine chaque ligne.
Exemples de cles primaires
Chaque etudiant a un numero unique
Chaque livre a un ISBN unique
Chaque utilisateur a un email unique
Identifiant auto-incremente
Astuce : Si aucun descripteur naturel n'est unique (ex: deux personnes peuvent s'appeler "Martin"), on cree un id numerique auto-incremente.
Definir des descripteurs en Python
Structure avec types explicites
# Definition des descripteurs avec leurs types
from typing import TypedDict, List
from datetime import date
# Definir la structure d'un eleve
class Eleve(TypedDict):
id_eleve: int # Cle primaire
nom: str # Texte
prenom: str # Texte
date_naissance: date # Date
moyenne: float # Decimal
est_delegue: bool # Booleen
matieres: List[str] # Liste
# Creer un enregistrement
alice: Eleve = {
"id_eleve": 1,
"nom": "Dupont",
"prenom": "Alice",
"date_naissance": date(2009, 5, 15),
"moyenne": 14.5,
"est_delegue": True,
"matieres": ["Maths", "Francais", "SNT"]
}
# Acceder aux descripteurs
print(alice["prenom"]) # Alice
print(alice["moyenne"]) # 14.5Verifier les types
# Verifier le type d'une valeur
print(type(alice["nom"])) # <class 'str'>
print(type(alice["moyenne"])) # <class 'float'>
print(type(alice["est_delegue"])) # <class 'bool'>
# Lister tous les descripteurs
print(alice.keys())
# dict_keys(['id_eleve', 'nom', 'prenom', ...])Quiz de validation
Question 1: Qu'est-ce qu'un descripteur de donnees ?
Question 2: Quel type de descripteur utiliserait-on pour stocker 'true' ou 'false' ?
Question 3: Quelle convention de nommage est recommandee pour les descripteurs ?
Question 4: Qu'est-ce qu'une cle primaire ?
Question 5: Pourquoi est-il important de choisir le bon type pour un descripteur ?
A retenir
- ✓Descripteur = nom de colonne qui caracterise les donnees.
- ✓Choisir le bon type : str, int, float, bool, date, list.
- ✓Utiliser le snake_case pour nommer (ex: date_naissance).
- ✓La cle primaire identifie de facon unique chaque enregistrement.
Dans ce cours
Progression du theme
3/11 cours completes
