Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
une base de donnes est un ensemble de donnes modlisant les objets d'une partie du monde rel et servant de support une application informatique. Pour mriter le terme de base de donnes, un ensemble de donnes non indpendante doit tre interrogeable par le contenu, c'est-dire que l'on doit pouvoir retrouver tous les objets qui satisfont un certain critre." [Gardarin, 2001]
Dfinition- SGBD
Un systme de gestion de base de donnes (SGBD) est : - peru comme un ensemble de logiciels systmes permettant aux utilisateurs d'insrer, de modifier et de rechercher efficacement des donnes spcifiques dans une grande masse d'informations partage par de multiples utilisateurs" [Gardarin, 2001] - Systme matriel et logiciel dont la fonction est d'assurer la gestion automatique d'une base de donnes et de permettre la cration, la modification, l'utilisation et la protection des donnes [Thierry Badard, 2010].
Notes:
Le logiciel d'utilisation d'une base de donnes peut faire partie du systme de gestion d'une base de donnes ou tre un systme indpendant. On rencontre parfois le terme base de donnes au sens de systme de gestion de base de donnes . " [OQLF, 2001]
Modlisation du rel
Base de donne
Cardinalit Proprit
Lide de base du modle E/R et de ses variations tient au fait que lon peut dcrire tout tat dune ralit par la collection des proprits des entits ou des associations (relations) qui le composent.
Formalisme E/R : 1, N
Formalisme E/R : N, N
Pourquoi un SGBD?
SGBD fonctionnalits
Quelques fonctionnalits :
Grer le stockage, effectu dans des BD. Contrler la concurrence (conflits d'accs sur les donnes partages). Protger les donnes : contrles de scurit, reprises sur panne et mcanismes de spcification de contraintes d'intgrit. Proposer des interfaces utilisateurs pour la gestion du SGBD par les utilisateurs ou les administrateurs de bases de donnes. Proposer des donnes distribues (accs des donnes disposes dans plusieurs bases de donnes supportes par des systmes diffrents et des modles distincts). Ainsi, un SGBD est destin grer un gros volume d'informations, persistantes (annes) et fiables (protection sur panne), partageables entre plusieurs utilisateurs et/ou programmes et manipules indpendamment de leur reprsentation physique.
SGBD - Technologie
Relationnelle ou Objet-Relationnelle [serveur universel] (98% du march) Oriente-Objet pure (2% du march) Rseau (ancienne technologie) Hirarchique (ancienne technologie)
Plan de la prsentation
Les grands SGBD
Oracle IBM DB2 Microsoft SQL Server Sybase SQL Server Ingres Informix
Dfinition
Le langage SQL (Structured Query Language) est un standard bien tabli pour les SGBD relationnels. Diffrentes normes existent dont SQL2 (ou SQL92) et SQL3 (ou SQL99), la plus rcente. Mais il subsiste des diffrences entre les implantations des normes dans les systmes de gestion de bases de donnes. Ce langage inclut des oprations permettant: de dfinir les donnes (Data Definition Language) CREATE TABLE piste ( nombre number, degre number, km number); de manipuler les donnes (Data Manipulation Language) Insert, Delete, Update; dinterroger les donnes (DML-Query Language) SELECT * FROM pistes WHERE km > 8;
Exemple : Cration de la table "client", qui possde des champs de type caractres : Prenom, Nom, Adresse, Ville, Pays et un champ Date_anniversaire de type date .
CREATE TABLE client ( Prenom char(50), Nom char(50), Adresse char(50), Ville char(50), Pays char(25), Date_anniversaire (date) ;
Exemple 2 :
CREATE TABLE personne (nas char(11) NOT NULL CONSTRAINT pk_nas PRIMARY KEY, nom varchar2(15), prenom varchar2(15), sexe char(1), no_civiq varchar(6), nom_rue varchar(20), CONSTRAINT fk_maison FOREIGN KEY (no_civiq, nom_rue) REFERENCES maison(numero, rue), CONSTRAINT check_nom CHECK (nom=UPPER(nom)), CONSTRAINT check_FM CHECK (sexe IN ('F', 'M')) );
Les vues
Une vue est une "table virtuelle", c'est--dire dont les donnes ne sont pas stockes dans une table de la base de donnes, et dans laquelle il est possible de rassembler des informations provenant de plusieurs tables. Cration d'une vue : CREATE VIEW
CREATE VIEW Vue (colonneA,colonneB,colonneC,colonneD) AS SELECT colonne1,colonne2,colonneI,colonneII FROM nom_table1 Alias1, Nom_tableII AliasII WHERE Alias1.colonne1 = AliasII.colonneI AND Alias1.colonne2 = AliasII.colonneII
Les indexes
Un index contient une entre pour chaque valeur du ou des champs sur lesquels lindex sapplique. Il permet un accs direct et rapide aux enregistrements. Lorsquon cr une contrainte de cl primaire sur un champ, un index du mme nom est automatiquement cr. Cration d'un index : CREATE INDEX CREATE INDEX i_nom ON personne (nom); Suppression d'index : DROP INDEX DROP INDEX l_nom; Afficher des index Avec PostgreSQL : utilisation des catalogues pg_index et pg_class
Les squences
C'est un objet de la base de donnes partir duquel plusieurs utilisateurs peuvent gnrer un identifiant unique. On peut utiliser une squence pour gnrer automatiquement des valeurs pour les cls primaires. Par dfaut, le pas d'incrmentation est de 1.
Exemple :
CREATE SEQUENCE id_route; CREATE SEQUENCE id_route INCREMENT BY 10 START WITH 1000 la premire valeur est 1000 et la seconde 1010.;
Introduction
Dnormalisation
Fusion/non-fusion de tables Partitionnement Mthode d'indexation Mthodes de stockage Clustering Fonction Storage pour spcifier la faon de stocker les donnes.
33
Eclairage
PROPRI
Non prnom adresse
TERRAIN
N terrain Frontage
Selon la rgle habituelle, on fusionne les tables lorsque l'on a une cardinalit 1,1. Poteau (numero, proprio, puissance, marque, modele, sdo_geom) Cependant, s'il y a une cardinalit minimum de 0, on peut dcider de sparer les deux tables pour viter d'avoir des champs vides. Poteau (numero, proprio, sdo_geom) Eclair (num_eclair, puissance, marque, modele, no_poteau)
Selon la rgle habituelle, on cre deux tables de relation: posseder_maison et posseder_terrain. Cependant, comme la plupart du temps un propritaire possde la fois la maison et le terrain, il est possible de crer une seule table posseder. Certains champs seront vides loccasion. Maison (no_civique, nom_rue, nb_etage) Terrain (no_terrain, frontage, profondeur) Propritaire (no_proprio, nom prenom, no_civique, nom_rue, ville, code_postal) Posseder (no_proprio, no_terrain, no_civique, nom_rue)
Dnormalisation- Partitionnement
Personne
Nom Prnom Sexe Adress
Dnormalisation- Partitionnement
Il implique la division de tables ayant un grand volume de donnes en plus petites, de manire ce que le SGBD n'aie pas besoin de retrouver trop de donnes la fois. Il existe deux faons de partitionner une table: horizontalement et verticalement
Pour Recensement au Maroc, une seule table personne pour tout le pays reprsente des millions d'enregistrements. De plus, le nombre sera rapidement doubl si l'on conserve l'historique Personne (numero, nom, prenom, sexe, date_naissance, no_civique, nom_rue, ville, rgion, code_postal) On peut alors crer une table personne par province (partition), sparer les hommes des femmes, conserver l'historiques dans des tables part.
Personne_Grand Casa (numero, nom, prenom, sexe, date_naissance, no_civique, nom_rue, ville, code_postal) Femme_Fs-Boulemane (numero, nom, date_naissance, nom_rue, ville, code_postal) prenom, no_civique,
Dnormalisation- Partitionnement
Le partitionnement horizontal implique la division des enregistrements de la table en deux ou plusieurs tables ayant la mme structure. Le partitionnement vertical implique la division des champs de la table que l'on place dans deux ou plusieurs tables qui seront relies entre elles via la cl primaire (que l'on retrouvera dans chaque table).
Indexation
Dans chaque table, les nouveaux enregistrements sont ajouts la fin ce qui fait qu'ils ne sont pas ordonns. Sans index, la seule faon des SGBD de rechercher une valeur est de parcourir chaque enregistrement du dbut de la table jusqu' la fin. Plus la table a d'enregistrements, plus le temps de recherche est long.
10
Indexation
La cration dun index offre un accs rapide aux valeurs d'une colonne ou de colonnes concatnes. L'index tant plus petit, il peut rsider en mmoire vive. Lorsqu'on ajoute un nouvel enregistrement une table, l'index est automatiquement retri. L'accs une cl peut se faire de faon squentielle ou binaire.
11