Quiz interactif généré par IA à partir du document : Examen BDA 2020 Rattrapage Correction.pdf
Question 1 sur 10 20:00
[{"id":16929,"question":"Quelle commande SQL permet de créer une table avec une clé primaire composée ?","option_a":"CREATE TABLE Employes (id INT PRIMARY KEY, nom VARCHAR(50))","option_b":"CREATE TABLE Projets (id_projet INT, id_employe INT, PRIMARY KEY (id_projet, id_employe))","option_c":"CREATE TABLE Departements (id INT PRIMARY KEY, nom VARCHAR(50), FOREIGN KEY (id) REFERENCES Employes(id))","option_d":"CREATE TABLE Contrats (id INT, PRIMARY KEY (id), id_client INT REFERENCES Clients(id))","option_e":"","option_f":"","bonne_reponse":"b","explication":"La syntaxe correcte pour une clé primaire composée est PRIMARY KEY (colonne1, colonne2). La deuxième option montre cette structure avec id_projet et id_employe.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"CREATE TABLE Employes (id INT PRIMARY KEY, nom VARCHAR(50))\", \"b\"","_debug_options_count":4},{"id":16930,"question":"Une transaction doit respecter les propriétés ACID. Que signifie l'acronyme ACID ?","option_a":"Atomicité, Cohérence, Isolation, Durabilité","option_b":"Autonomie, Cohérence, Intégrité, Durabilité","option_c":"Atomicité, Cohérence, Intégrité, Disponibilité","option_d":"Autonomie, Cohérence, Isolation, Durabilité","option_e":"","option_f":"","bonne_reponse":"a","explication":"ACID est l'acronyme des propriétés des transactions : Atomicité (tout ou rien), Cohérence (respect des contraintes), Isolation (exécution parallèle sans interférence), Durabilité (persistance des modifications).","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"Atomicité, Cohérence, Isolation, Durabilité\", \"b\": \"Autonomie,","_debug_options_count":4},{"id":16931,"question":"Vrai ou Faux ? Une clé étrangère peut référencer une clé primaire non existante dans la table cible.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"Une clé étrangère DOIT référencer une clé primaire ou unique existante dans la table cible. Sinon, l'intégrité référentielle est violée.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":16932,"question":"Quelle requête permet de trouver les employés ayant participé à plus de 3 projets ?","option_a":"SELECT e.nom FROM Employes e WHERE COUNT(p.id_projet) \u003E 3","option_b":"SELECT e.nom FROM Employes e JOIN Participation p ON e.id = p.id_employe GROUP BY e.id HAVING COUNT(p.id_projet) \u003E 3","option_c":"SELECT e.nom FROM Employes e, Participation p WHERE e.id = p.id_employe AND COUNT(p.id_projet) \u003E 3","option_d":"SELECT e.nom FROM Employes e WHERE (SELECT COUNT(*) FROM Participation p WHERE p.id_employe = e.id) \u003E 3","option_e":"","option_f":"","bonne_reponse":"b","explication":"La requête correcte utilise une jointure avec GROUP BY et HAVING pour compter le nombre de projets par employé. Les autres options ont des erreurs de syntaxe ou de logique.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"SELECT e.nom FROM Employes e WHERE COUNT(p.id_projet) \u003E 3\", \"b\": ","_debug_options_count":4},{"id":16933,"question":"Vrai ou Faux ? Un déclencheur (trigger) peut être utilisé pour valider une contrainte non définie dans le schéma de la base de données.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"a","explication":"Un déclencheur ne peut pas remplacer une contrainte de schéma (comme PRIMARY KEY ou FOREIGN KEY). Il est utilisé pour des actions supplémentaires, comme la journalisation ou la validation complexe.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":16934,"question":"Quelle commande permet de lister les tables d'une base de données PostgreSQL ?","option_a":"SHOW TABLES;","option_b":"SELECT * FROM information_schema.tables WHERE table_schema = 'public';","option_c":"LIST TABLES;","option_d":"DESCRIBE TABLES;","option_e":"","option_f":"","bonne_reponse":"b","explication":"La commande standard pour lister les tables dans PostgreSQL est une requête sur le catalogue information_schema.tables. Les autres options sont spécifiques à d'autres SGBD.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"SHOW TABLES;\", \"b\": \"SELECT * FROM information_schema.tables WHER","_debug_options_count":4},{"id":16935,"question":"Vrai ou Faux ? Une sous-requête corrélée est une requête qui s'exécute une seule fois, indépendamment de la requête principale.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"Une sous-requête corrélée s'exécute pour chaque ligne de la requête principale, contrairement à une sous-requête non corrélée qui s'exécute une seule fois.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":16936,"question":"Quelle commande SQL permet de modifier la structure d'une table en ajoutant une colonne ?","option_a":"ALTER TABLE Employes ADD COLUMN salaire DECIMAL(10,2);","option_b":"MODIFY TABLE Employes ADD salaire DECIMAL(10,2);","option_c":"UPDATE TABLE Employes SET salaire = 0;","option_d":"CHANGE TABLE Employes ADD COLUMN salaire DECIMAL(10,2);","option_e":"","option_f":"","bonne_reponse":"a","explication":"La commande correcte pour ajouter une colonne est ALTER TABLE nom_table ADD COLUMN nom_colonne type. Les autres options sont incorrectes syntaxiquement.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"a\", \"options\": {\"a\": \"ALTER TABLE Employes ADD COLUMN salaire DECIMAL(10,2);\", \"b\": \"MO","_debug_options_count":4},{"id":16937,"question":"Vrai ou Faux ? Une vue (VIEW) stocke physiquement les données des tables sous-jacentes.","option_a":"Vrai","option_b":"Faux","option_c":"","option_d":"","option_e":"","option_f":"","bonne_reponse":"b","explication":"Une vue est une table virtuelle qui ne stocke pas physiquement de données. Elle est recalculée à chaque requête en fonction des tables sources.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"Vrai\", \"b\": \"Faux\", \"c\": \"\", \"d\": \"\"}}","_debug_options_count":4},{"id":16938,"question":"Quelle requête permet de trouver les départements ayant moins de 5 employés ?","option_a":"SELECT d.nom FROM Departements d WHERE COUNT(e.id) \u003C 5","option_b":"SELECT d.nom FROM Departements d LEFT JOIN Employes e ON d.id = e.id_departement GROUP BY d.id HAVING COUNT(e.id) \u003C 5","option_c":"SELECT d.nom FROM Departements d, Employes e WHERE d.id = e.id_departement AND COUNT(e.id) \u003C 5","option_d":"SELECT d.nom FROM Departements d WHERE (SELECT COUNT(*) FROM Employes e WHERE e.id_departement = d.id) \u003C 5","option_e":"","option_f":"","bonne_reponse":"b","explication":"La requête correcte utilise une jointure LEFT JOIN pour inclure tous les départements, puis un GROUP BY avec HAVING pour filtrer ceux avec moins de 5 employés. La sous-requête dans la dernière option est aussi valide.","points":1,"type":"qcm","actif":1,"section_id":null,"ordre":0,"_debug_answer_data_type":"string","_debug_answer_data_preview":"{\"correct\": \"b\", \"options\": {\"a\": \"SELECT d.nom FROM Departements d WHERE COUNT(e.id) \u003C 5\", \"b\": \"SE","_debug_options_count":4}]
Chargement...
Cliquez sur une réponse pour valider
Les options de réponse ne sont pas disponibles pour cette question.