Bases de données relationnelles Hicham BEHJA 2 Plan du cours Architecture d’u
Bases de données relationnelles Hicham BEHJA 2 Plan du cours Architecture d’un SGBD Algèbre Relationnelle Rappel sur les SGBD Normalisation 3 Bases de données Une base de données est ensemble de données : représentant une partie du monde réel stockées en mémoire secondaire pouvant être interrogées et mises à jour servant de support à une ou plusieurs applications Mais… base de données banque de données 4 Bases de données Une collection de données est appelée base de données si: format connu (défini au niveau du système et non uniquement au niveau des programmes utilisant les données) et défini par des méta-données (données décrivant des données) Données stockées, recherchées, modifiées uniquement par un type spécial de programmes appelé système de gestion de bases de données Données manipulées sous le contrôle de transactions (ensemble de règles formelles assurant l’intégrité des données 5 Système de gestion de bases de données (SGBD) Un SGBD est un ensemble de logiciels-système permettant aux utilisateurs de: mettre en forme sauvegarder, mettre à jour (modifier, insérer, supprimer) rechercher efficacement des données spécifique dans une très grande masse d’informations partagées entre plusieurs utilisateurs 6 Fonctionnalités d’un SGBD (1) Contrôler la redondance d'informations Partage des données Fiabilité des données Cohérence et contraintes d’intégrité Sûreté du fonctionnement Notion de transaction atomique Techniques de sauvegarde et/ou de journalisation Procédures de reprise sur panne 7 Fonctionnalités d’un SGBD (2) Sécurité d’accès commandes d’autorisation Partage et accès concurrents techniques de verrouillage Interrogation : langages de requêtes déclaratifs et incomplets intégration du langage de requête et d’un langage de programmation dysfonctionnements (typage et traitement ensembliste) 8 Architecture ANSI-SPARC ES ES ES CS IS 9 Architecture ANSI-SPARC Un standard pour tout SGBD Proposé vers 1965 par Charles Bachman Auteur du concept de la BD Créateur du modèle de données réseau (Codasyl) Plus tard de l’architecture Open System Interconnection (OSI) Prix Turing La plus haute récompense scientifique en informatique en USA 10 Architecture ANSI-SPARC Schéma Conceptuel (CS) D’une manière abstraite: un modèle conceptuel de l’univers réel de la BD D’une manière appliquée : la définition logique de la BD Une et une seule Les données logiques, leurs structures et types Relations, attributs, domains Entités… Objets, Types, Classes Leur manipulations procédures, fonctions, méthodes… ES ES ES CS IS 11 La définition logique de la BD (suite) Les liens sémantiques Données d’un même objet réel Les contraintes d’intégrité Mono-valeur Référentielles Variées Les contraintes de sécurité Qui peut manipuler quoi Architecture ANSI-SPARC Schéma Conceptuel (CS) ES ES ES CS IS 12 Le CS est définit par le DBA seul Complexité Sécurité Par l’intégration de données des différentes applications de la BD Plusieurs méthodes de conception, plus ou moins formelles Entité-Relations Objets & Fonctions Merise Normalisation relationnelle Architecture ANSI-SPARC Schéma Conceptuel (CS) ES ES ES CS IS 13 La BD (donc le CS) est définit en utilisant : Le langage de définition de données La BD est manipulée au niveau de CS à travers: Le langage de manipulation de données Les deux sous-langages forment: Le langage de base de données En général incomplet au sens de la machine de Turing SQL pour une BD relationnelle Architecture ANSI-SPARC Schéma Conceptuel (CS) ES ES ES CS IS 14 Architecture ANSI-SPARC Schémas Externes (ESs) Un ES = un sous-schéma d’une BD Dérivé du CS La dérivation est définie dans le ES Définit une vue de la BD Une sous-base virtuelle En général partielle Pour des usagers ad-hoc Vues 4-GL, orientés Web notamment (HTML, XML…) Pour des programmeurs d’application Vues SQL, pour SQL imbriqué ou Vbasic, ou procédures stockées… ES ES ES CS IS 15 Architecture ANSI-SPARC Schémas Externes (ESs) Une BD est en général munie de plusieurs différentes ESs Mais tous ont le CS comme racine commune Donc tous doivent être accepté par le DBA Perte d’autonomie de l’usager ES ES ES CS IS 16 Architecture ANSI-SPARC Schéma Interne (IS) Définit la représentation interne de la BD Niveau interne ou physique Les disques, fichiers hachés, arbres-B… contenant la BD La représentation physique de valeurs de données Réel, entier, texte, OLE… Encodage… Définit l’application du CS sur le IS Selon le principe de l’indépendance de niveaux logique et physique ES ES ES CS IS Assez d ’ANSI-SPARC 17 Le modèle relationnel de données Défini en 1970 par Codd Simple facile à appréhender, même pour un non spécialiste Repose sur de solides bases théoriques Le modèle relationnel représente l'information dans une collection de relations. 18 Le modèle relationnel de données (Définitions) un domaine D est un ensemble de valeurs atomiques. Le terme atomique signifie que ces valeurs sont considérées comme insécables au niveau du modèle. un schéma de relation R, dénoté par R(A1, A2, ..., An), est un ensemble d'attributs R = {A1, A2, ..., An}. A chaque attribut Ai est associé un domaine Di, Ai indiquant le rôle joué par le domaine Di dans la relation R. Un schéma de relation décrit une relation et représente l'intension de celle-ci. Le degré de la relation est le nombre d'attributs de celle-ci. Exemple : ETUDIANT(Nom, CNE, adresse, age, diplôme) 19 Définition d’une BD relationnelle La définition d’une BD suppose l’existence de: un ensemble d’attributs un ensemble de domaines (ou types, ou valeurs) un ensemble de noms de tables 20 Schéma de relation Définition: schéma de relation R = ensemble fini de la forme R = {A1:dom(A1),…, An: dom(An)} où Ai est un attribut et dom(Ai) le domaine de Ai noté R = {A1,…, An} 21 N-uplets et relations Définition: un n-uplet t sur R est une fonction qui associe à chaque attribut de Ai de R une valeur de son domaine dom(Ai) Si t(Ai) = ai pour tout i, alors t est représenté par ai… an Définition: une relation r sur R est un ensemble de n-uplets sur R R est appelé schéma de r, et noté sch(r) 22 Caractéristiques des relations une relation est un ensemble de nuplets, il n'y a donc pas de notion d'ordre sur les nuplets, par contre un nuplet est un séquence ordonnée d'attributs, une valeur d'attribut est atomique mais peut être éventuellement nulle (valeur particulière qui indique que la valeur est manquante). 23 Contraintes d’intégrité Elles permettent d’assurer la cohérence des données. Les contraintes d’intégrité sont : Contrainte de domaine : restriction de l’ensemble des valeurs possibles d’un attribut. Contrainte de clé : définit un sous-ensemble minimal des colonnes tel que la table ne puisse contenir deux lignes ayant mêmes valeurs pour ces colonnes. Il existe trois types de clés: Clé primaire : Ensemble minimum d'attributs qui permet de distinguer chaque n-uplet de la table par rapport à tous les autres.Chaque table doit avoir une clé primaire. Clé candidate : Ensemble minimum d'attributs susceptibles de jouer le rôle de la clé primaire. Clé étrangère : fait référence à la clé primaire d'une autre table. 24 Contraintes d’intégrité Contrainte obligatoire : précise qu’un attribut ou plusieurs attributs doivent toujours avoir une valeur. Contrainte d’intégrité référentielle ou d’inclusion: lie deux colonnes ou deux ensembles de colonnes de deux tables différentes. 25 Règles à suivre pour concevoir un schéma relationnel 26 Règles à suivre pour concevoir un schéma relationnel Règle I : Toute entité est traduite en une table relationnelle dont les caractéristiques sont les suivantes : le nom de la table est le nom de l’entité ; la clé de la table est l’identifiant de l’entité ; les autres attributs de la table forment les autres colonnes de la table. 27 Règle II : Toute relation binaire plusieurs à plusieurs est traduite en une table relationnelle dont les caractéristiques sont les suivantes : le nom de la table est le nom de la relation ; la clé de la table est formée par la concaténation des identifiants des entités participant à la relation ; les attributs spécifiques de la relation forment les autres colonnes de la table. Une contrainte d’intégrité référentielle est générée entre chaque colonne clé de la nouvelle table et la table d’origine de cette clé. Règles à suivre pour concevoir un schéma relationnel 28 Règles à suivre pour concevoir un schéma relationnel 29 Règles à suivre pour concevoir un schéma relationnel 30 Règle III : Toute relation binaire un à plusieurs est traduite : 1. soit par un report de clé : l’identifiant de l’entité participant à la relation côté N est ajoutée comme colonne supplémentaire à la table représentant l’autre entité. Cette colonne est parfois appelée clé étrangère. Le cas échéant, les attributs spécifiques à la relation sont eux aussi ajoutés à la même table ; 2. soit par une table spécifique dont les caractéristiques sont les suivantes : le nom de la table est le nom de la relation ; la clé de la table est l’identifiant de l’entité participent à la relation côté 1 ; les attributs spécifiques de la relation forment les autres colonnes de la table. Règles à suivre pour concevoir un schéma relationnel 31 Règles à suivre pour concevoir un schéma relationnel 32 Règle IV : Toute relation binaire un à un uploads/Management/ base-de-donnees-relationnelles.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 23, 2021
- Catégorie Management
- Langue French
- Taille du fichier 1.8367MB