3 - Intro BD Flashcards
Qu’est-ce qu’un Système de Gestion de Bases de Données Relationnelle (SGBD) ?
- SGBD (Système de Gestion de Bases de Données Relationnelle) : logiciel pour gérer des bases de données relationnelles.
- Organisation : données structurées sous forme de tables liées entre elles par des relations.
- Fonction principale : stocker, manipuler et récupérer des données efficacement.
Quelles sont les principales caractéristiques des données dans un SGBD relationnel ?
- Structurées : Organisées en tables avec des colonnes et des lignes.
- Persistantes : Stockées de manière permanente, même après la fermeture du programme.
- Définies par un schéma : La structure des données (tables, relations, types de données) est définie dans un schéma.
Qu’est-ce qu’une table dans une base de données relationnelle ?
- Table (ou relation) : Structure qui organise les données sous forme de lignes (enregistrements) et de colonnes (attributs).
- Schéma : Décrit la structure des colonnes et peut inclure des contraintes ou des index pour améliorer les performances.
Qu’est-ce qu’une ligne (ou tuple) dans une base de données relationnelle ?
- Ligne (tuple, enregistrement) : Représente une entrée dans une table.
- Contient des valeurs pour chaque colonne de la table.
- Les valeurs sont définies selon le schéma de la table.
- Chaque ligne est identifiée de manière unique par une clé primaire.
Qu’est-ce qu’une colonne (ou attribut) dans une base de données relationnelle ?
- Colonne (attribut) : Représente un type spécifique de données dans une table.
- Possède un nom et un type de données (ex : entier, texte).
- Peut avoir des contraintes (ex : clé primaire, valeurs uniques).
Qu’est-ce qu’une clé primaire dans une base de données relationnelle ?
- Clé primaire (PK) : Identifie de manière unique chaque ligne dans une table.
- Garantit l’absence de valeurs dupliquées.
Qu’est-ce qu’une clé étrangère dans une base de données relationnelle ?
- Clé étrangère (FK) : Colonne ou ensemble de colonnes dans une table.
- Fait référence à la clé primaire d’une autre table.
- Permet de lier des informations entre différentes tables.
- Assure l’intégrité référentielle entre les tables.
Qu’est-ce que le langage SQL et à quoi sert-il dans un SGBDR ?
- SQL (Structured Query Language) : Langage utilisé pour interagir avec un SGBDR.
- Permet de créer, manipuler et interroger des bases de données.
- Sert à la gestion des tables, des données et des utilisateurs.
- Renvoie les résultats des requêtes effectuées.
Quels sont les trois niveaux du langage SQL ?
- DDL (Data Definition Language) : Description du schéma, création de tables.
- DML (Data Manipulation Language) : Manipulation des données (sélection, insertion, mise à jour, suppression).
- DCL (Data Control Language) : Gestion des accès, utilisateurs et permissions.
Quelle est la forme générale de la commande SELECT en SQL et à quoi sert-elle ?
-
Forme générale :
SELECT expressions FROM table_name;
-
Rôle :
Sélectionner des données depuis une ou plusieurs tables.-
FROM
: Spécifie la table. -
SELECT
: Définit les colonnes à récupérer (utiliser * pour toutes les colonnes). - La commande se termine par un point-virgule (;).
-
Que faire pour renommer une colonne ou une expression dans une commande SELECT ?
-
Renommer une colonne : Utilisez le mot-clé
AS
. -
Exemple :
SELECT column_name AS new_column_name FROM table_name;
Cela permet de donner un alias à la colonne ou à une expression, facilitant ainsi la lisibilité des résultats.
Comment utiliser le mot-clé DISTINCT dans une requête SQL et quel est son rôle ?
- Rôle de DISTINCT : Éliminer les doublons dans les résultats d’une requête SQL.
-
Exemple :
SELECT DISTINCT column1 FROM table_name;
Cela retourne uniquement les valeurs uniques decolumn1
de la table, sans répétitions.
Comment utiliser le mot-clé WHERE en SQL et quels sont les opérateurs disponibles pour filtrer les résultats ?
- Rôle de WHERE : Filtrer les résultats d’une requête SQL selon une condition.
-
Syntaxe générale :
SELECT expression FROM table_name WHERE condition;
-
Opérateurs disponibles :
-
Comparaison :
-
=
: égal -
>
: plus grand que -
<
: plus petit que -
>=
: plus grand ou égal -
<=
: plus petit ou égal -
<>
ou!=
: différent de
-
-
Logiques :
-
AND
: ET -
OR
: OU -
NOT
: inverse
-
-
Autres :
-
IN
: dans une liste -
BETWEEN
: entre deux bornes -
LIKE
: correspond à un motif (ex:%
pour plusieurs caractères) -
IS NULL
: est NULL
-
-
Comparaison :
-
Exemple :
SELECT name, age FROM users WHERE age > 30 AND name LIKE 'A%';
Comment trier les résultats d’une requête SQL en utilisant ORDER BY, et comment spécifier l’ordre de tri ?
- Rôle de ORDER BY : Trier les résultats d’une requête SQL.
-
Syntaxe générale :
SELECT select_list FROM table_name ORDER BY sort_expression1 [ASC | DESC], sort_expression2 [ASC | DESC], ... ;
-
Options de tri :
- ASC : ordre croissant (par défaut)
- DESC : ordre décroissant
-
Exemples :
- Trier par nom de manière croissante :
SELECT name, age FROM users ORDER BY name ASC;
- Trier par âge de manière décroissante et ensuite par nom de manière croissante :
SELECT name, age FROM users ORDER BY age DESC, name ASC;
- Trier par nom de manière croissante :
Quelles sont les fonctions d’agrégation en SQL et comment les utiliser ?
- Fonctions d’agrégation en SQL : Réalisent des calculs sur un ensemble de lignes.
-
Fonctions courantes :
-
avg(column)
: Calcule la moyenne des valeurs. -
count(column)
: Compte le nombre de lignes ou d’éléments non-NULL dans une colonne. -
min(column)
: Trouve la valeur minimale. -
max(column)
: Trouve la valeur maximale. -
sum(column)
: Calcule la somme des valeurs.
-
- Exemples :
- Moyenne des âges :
SELECT avg(age) FROM users;
- Nombre de lignes dans la table :
SELECT count(*) FROM users;
- Salaire minimum :
SELECT min(salary) FROM employees;
- Moyenne des salaires par département :
- SELECT department, avg(salary) FROM employees GROUP BY department;
- Nombre d’employés par département :
- SELECT department, count(*) FROM employees GROUP BY department;
- Salaire maximal par département :
- SELECT department, max(salary) FROM employees GROUP BY department;
- Somme des ventes par mois :
- SELECT month, sum(sales) FROM sales_data GROUP BY month;
- Nombre de produits vendus par catégorie :
- SELECT category, count(*) FROM products GROUP BY category;