Faculté des Sciences Economiques et de Gestion de Sfax Département : Informatiq
Faculté des Sciences Economiques et de Gestion de Sfax Département : Informatique Année universitaire : 2016-2017 Unité d’enseignement : Atelier de base de données Enseignants : Fahmi BARGUI, Makram BOUJELBENE 1 Fiche N°1 : Concepts d’une base de données relationnelle Objectifs A la fin de cette leçon vous serez capable de : - Transformer un MCD en un MLDR brut. - Optimiser un MLDR brut. - Définir les commandes élémentaires du langage SQL. - Définir les opérations élémentaires de la commande SELECT. Transformation MCD-MLDR Activité 1. En se basant sur les règles de transformation d’un modèle conceptuel de données (MCD) en un modèle logique de données relationnel (MLDR) (voir Annexe 1), déduire le MLDR brut correspondant au MCD présenté par la Figure 1. Figure 1. MCD banque Compte 1,n Agence NumAg NomAg AdrAg TelAg CaAg Client NumCl NomCl AdrCl TelCl NumCpt SoldeCpt 0,n Date Date Opération MntOp 0,n Prêt NumPret NbMois MntPret TxPret Avoir 1,1 Possèder 1,1 Contenir 1,1 0,n NumOrdre NumOrd Employé NumEmp NomEmp SalBasEmp Travailler Est_Directeur Est_accordé Tranche MntTr 0,n 0,n Echéance DatePret 0,n 1,1 0,n DateOp 0,n 0,n DirectEmp 0,1 SubordEmp 0,n 1,1 1,n NumOp TypeCompte TypCpt Est_de_type 1,1 1,n Fonction Est_Embauché 0,n 1,1 Est_Commerciale Est_Autre ComSal 0,1 0,1 0,n 0,n DateEmb fonct TypeOpération TypOp 1,n 2 Le tableau suivant décrit le dictionnaire de données du MCD banque. Dictionnaire de données (Trié par ordre alphabétique croissant) Colonne Description AdrAg Adresse d’une agence. AdrCl Adresse d’un client. CaAg Chiffre d’affaires d’une agence. ComSal Commission d’un employé dont la fonction est commerciale. DateEmb Date embauche d’un employé. DateOp Date d’une opération (ou mouvement : retrait, virement, etc.) sur un compte. DatePret Date d’un prêt. DirectEmp Numéro d’un employé directeur. Echéance Date de remboursement d’une tranche d’un prêt. Note le nombre de tranche est égale au nombre de mois de remboursement. Fonct Fonction d’un employé. MntOp Montant (positif pour un virement, négatif pour un retrait) d’une opération effectuée par un employé sur un compte. MntPret Montant d’un prêt. MntTr Montant d’une tranche. NbMois Nombre de mois de remboursement d’un prêt. NomAg Nom d’une agence. NomCl Nom d’un client. NomEmp Nom d’un employé. NumAg Numéro d’une agence. NumCl Numéro d’un client. NumCpt Numéro d’un compte bancaire d’un client. NumEmp Numéro d’un employé. NumOrd Numéro positif et séquentiel qui commence par 1 et s’incrémente à pas de 1. NumPret Numéro d’un prêt attribué à un client. SalBasEmp Salaire de base d’un employé. SoldeCpt Solde en dinars d’un compte bancaire. Il peut être positif (compte créditeur) ou négatif (compte débiteur). SuborEmp Numéro d’un employé subordonné. TelAg Numéro de téléphone d’une agence. TelCl Numéro de téléphone d’un client. TxPret Taux de remboursement d’un prêt (en pourcentage, ex : 2%) TypeCompte Type d’un compte bancaire. TypOp Type d’une opération effectuée par un employé sur un compte bancaire. Valeur numérique = 1 s’il s’agit d’un virement et -1 s’il s’agit d’un retrait. Modèle logique de données brut : ………………………………………………………………………………………………… ………………………………………………………………………………………………… 3 ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Optimisation du MLDR brut L'implémentation du modèle logique dans un SGBD particulier, dépend de considérations pratiques liées aux performances des applications. Pour optimiser ce modèle, il est d'abord nécessaire de repérer les aspects du modèle qui sont susceptibles de générer des problèmes de performance. On pourra citer à titre d'exemples : taille des tuples, nombre de tuples, fréquence d'exécution de requêtes, complexité des requêtes exécutées (nombre de jointures, etc.), fréquence des mises à jour (variabilité des données), etc. Une fois les éléments du modèle à évaluer repérés, il faut mesurer (théoriquement ou empiriquement) si oui ou non ils risquent de poser un problème de performance. Une fois certains problèmes de performance identifiés, des solutions d'optimisation sont proposées, puis évaluées pour vérifier leur impact et leur réponse au problème posé. Parmi les solutions d'optimisation existantes, on pourra citer : la dénormalisation et l’indexation. - Indexation : La plupart des SGBD créent un index pour chaque clé primaire. Les indexes peuvent dans certains cas diminuer les performances puisque : (1) il faut mettre à jour les index en même temps que les données, et (2) il faut comparer la valeur des indexes avec les critères de recherches. Pour ces deux raisons il faut réduire au minimum le nombre d’attributs dans une clé primaire. - Dénormalisation : consiste à regrouper plusieurs relations liées par des références, en une seule relation, en réalisant statiquement les opérations de jointure adéquates. L'objectif de la dénormalisation est d'améliorer les performances de la BD en recherche sur les relations considérées, en implémentant les jointures plutôt qu'en les calculant. Activité 2. En se basant sur les deux opérations d’optimisation citées ci-dessous, proposez une optimisation du modèle logique de données brut. 4 Modèle logique de données optimisé : ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… ………………………………………………………………………………………………… Les principales commandes SQL SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage complet de gestion de bases de données relationnelles. C'est à la fois : - Un Langage de Définition de Données (LDD) : permet la définition et la mise à jour de la structure de la base de données (tables, attributs, vues, index, ...). - Un Langage de Manipulation de Données (LMD) : permet la mise à jour des informations de la base de données. - Un Langage d’Interrogation de Données (LID) : permet la recherche des informations utiles en interrogeant la base de données. Certains considèrent ce langage comme étant une partie du LMD. - Un Langage de Contrôle de Données (LCD) : permet la définition des droits d’accès pour les différents utilisateurs de la base de données. 5 Le tableau suivant résume les principales commandes du langage SQL. Nous nous intéresserons essentiellement à la commande SELECT. SQL LDD LMD LID LCD CREATE ALTER DROP INSERT UPDATE DELETE SELECT GRANT REVOKE Le langage SQL est supporté par la plupart des produits commerciaux ; que ce soit par les systèmes de gestion des bases de données micro tel que Access ou par les produits plus professionnels tels que Oracle, Informix et SQL-Server. Il a fait l’objet de plusieurs normes ANSI/ISO dont la plus répandue est la norme SQL3. Les Opérateurs de la commande SELECT Une requête SELECT permet la recherche de données à partir d’une base de données. Le résultat d’une requête SELECT est une table temporaire (l’espace mémoire allouée pour la requête est libérée après l’affichage du résultat final). Une requête SELECT permet de réaliser les opérations élémentaires suivantes : x Projection : x Restriction x Jointure col1 col2 col3 col6 Table T1 La projection permet de sélectionner la ou les colonnes à retourner. col1 col2 col3 col6 Table T1 La restriction permet sélectionner la ou les lignes à retourner. La jointure permet d’associer les données stockées dans les tables en établissant des liens entre eux. col1 col2 col3 col6 Table T1 col1 col2 col3 col6 Table T2 join uploads/Management/fiche-1-etudiant.pdf
Documents similaires










-
28
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 14, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.0380MB