ISTEC DE BANGANGTE EXAMEN DE FIN DE PREMIER SEMESTRE EPREUVE DE BASES DE DONNEES Enseignant : Dieudonné LOMPA Durée : 01h 30 Questions de cours (2 x 2 =4 pts) 1) Définir ce qu’est une base de données et donner les différentes étapes d’implantation dans le SGBD Microsoft Access 2) Qu’appelle-t-on propriété d’association ? Donnez un exemple. Problème (1pt + 5pts x 3 = 16pts) Soit le schéma conceptuel de données suivant qui décrit une population où chaque personne a un père et une mère : PERSONNE N°Pers Nom_Pers Prenom_Pers DateNais_Pers Sexe_Pers Père 1, 1 A pour 1, 1 Mère 1- Comment appelle-ton ce type d’association ? Pourquoi ? 2- On ajoute les règles de gestion suivantes : Dans cette population chaque personne peut exercer plusieurs activités professionnelles et une activité peut être exercée par plusieurs personnes. En plus, certaines personnes n’ont pas de père (Ex : Statut de PND= Père Non Déterminé). Ajoutez l’entité « ACTIVITE PROFESSIONNELLE» et modifiez le schéma pour prendre en compte ces nouvelles règles. 3- Déduire le schéma logique de données correspondant. 4- Écrire la requête SQL qui permet de créer la table PERSONNE Fin et Bonne chance ! CORRECTION SUJET D’EXAMEN Questions de cours : 1- Deux avantages d’un SBGBD : propose des outils d’interrogation et de manipulation des données, gestion de la sécurité, gestion de la concurrence d’accès, etc. 2- Une propriété d’association est un élément d’information dont l’existence dépend de deux ou plusieurs entités liées entre elles. Ex. : Si dans une entreprise de distribution de produits on se retrouve dans une situation où chaque fournisseur négocie ses prix, le prix du produit ne peut être simplement une propriété de l’entité Produit, il doit être une propriété d’association entre Produit et Fournisseur. Problème : 1- C’est une association réflexive car elle concerne une entité en association avec elle-même. 2- Nouveau schéma obtenu (notez les parties en rouge): ACTIVITES_PROF Num_Activ Nom_Activ Description_Activ Lieu_Activ Categorie_Activ PERSONNE 0, n Exerce DateDébut DateFin 0, n Père N°Pers Nom_Pers 0, 1 Prenom_Pers DateNais_Pers 1, 1 Sexe_Pers 3- SLDR : A pour Mère PERSONNE (N°Pers, Nom_Pers, Prenom_Pers, DateNais_Pers, Sexe Pers, N°Pers_Pere#, N°Pers_Mere#) ACTIVITES_PROF (Num_Activ, Nom_Activ, Description_Activ, Lieu_Activ, Categorie_Activ) ACTIVITES_EXERCEES (Num_Activ#, N°Pers#, DateDebut, DateFin) 4- create table PERSONNE ( N°_Pers varchar(20) not null, N°_Pers_Pere varchar(20) not null, N°_Pers_Mere varchar(20) not null, Nom_Pers varchar(50) not null, Prenom_Pers varchar(50) not null, DateNais_Pers varchar(10), Sexe_Pers char not null, primary key (N°_Pers), foreign key(N°_Pers_Pere) references PERSONNE(N°_Pers), foreign key(N°_Pers_Mere) references PERSONNE(N°_Pers) ); ISTEC DE BANGANGTE EXAMEN DE RATTRAPAGE DU SECOND SEMESTRE EPREUVE DE BASES DE DONNEES Enseignant : Dieudonné LOMPA Durée : 01h 30 Questions de cours (2pts + 3pts = 5 pts) 1) Qu’est-ce un SGBD. Donnez-en 3 exemples. 2) Comment procède-t-on pour monter un « état » dans Microsoft Access ? Problème (5pts x 3 = 15pts) 1- Proposer un schéma conceptuel pour la gestion des inscriptions d’étudiants de l’ISTEC. On s’intéressera uniquement aux années académiques de formation, filières, cycles et niveaux de formation. 2- Déduire le schéma logique de données correspondant. 3- Écrire la requête SQL qui permet d’insérer l’étudiant "KAFFO Douglas" de matricule "13BQ029", né le "17 janvier 1990" à "Bangoulap", de sexe "M" et répondant au n° de téléphone "670 80 83 03". Fin et Bonne chance ! CORRECTION SUJET DE RATTRAPPAGE Questions de cours : 1- Il existe plusieurs types de contraintes d’intégrité : - Contrainte d’intégrité de domaine: Si l’attribut N°Client de la relation CLIENT est défini sur le domaine de valeurs numériques, il ne peut contenir de lettre. - Contrainte d’intégrité de référence : Si l’attribut N°Client de la relation CLIENT prend des valeurs 001, 002, 003 jusqu’à 150, la clé étrangère N°CLIENT# de la table COMMANDE ne peut prendre la valeur 250. Autrement dit, cela voudrait dire qu’on peut attribuer une commande à un client qui n’existe pas. 2- Une relation peut ne pas avoir de clé candidate mais la clé primaire dans une relation est obligatoire pour identifier de manière unique chaque tuple. Donc même en l’absence de clé candidate elle doit être créée. Problème : 1- D’après les règles énoncées, la proposition de schéma idéal (mais qui peut varier seulement en terme de propriétés) est la suivante : ETUDIANT FILIERE Code_Fil Designation_Fil 0, n 1, n Inscrit au Annee_aca Matricule_Etud Nom_Etud Prenom_Etud DateNais LieuNais Sexe Telephone Email CYCLE_FOR Code_Cycle Designation_cycle NIVEAU 0, n 0, n Code_Niv Intitule_Niv 2- SLDR correspondant : FILIERE (Code_Fil, Designation_Fil) CYCLE_FOR (Code_Cycle, Designation_Cycle) NIVEAU (Code_Niv, Intitule_Niv) ETUDIANT (Matricule_Etud, Nom_Etud, Prenom_Etud, DateNais, LieuNais, Sexe, Telephone, Email) INSCRIPTION (Code_Fil#, Code_Cycle#, Code_Niv, Matricule_Etud#, Annee_aca) 3- insert into ETUDIANT values ( ‘13BQ029’, ‘KAFFO’, ‘Douglas’, ‘17/01/1990’, ‘Bangoulap’, ‘M’, 670808303 );