La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne.

Présentations similaires


Présentation au sujet: "TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne."— Transcription de la présentation:

1 TP1 - DBMAIN BFSH1 - 1015 Lausanne - Switzerland - Tel. +41 21 692.3420 - Giovanni.Camponovo@unil.ch - http://www.hec.unil.ch/bda Université de Lausanne Ecole des Hautes Etudes Commerciales (HEC) Cours de Bases de Données Avancées ALIGNMENT | BUSINESS MODEL | PROCESS | SERVICE | ENVIRONMENT | REQUIREMENTS

2 Bases de Données Avancées – TP1 2 Agenda  Introduction –DBMAIN  Créer une base de données en 4 étapes avec DBMAIN –1. Générer le modèle conceptuel –2. Générer le modèle relationnel –3. Générer le modèle physique –4. Générer le code SQL pour créer la base de données  La suite du projet

3 Bases de Données Avancées – TP1 3 Introduction  Un outil d'ingénierie d’applications de bases de données. –Conception de bases de données:  Analyse conceptuelle, conception logique et physique  Normalisation et optimisation  Intégration de schémas  Génération de code. –Transformations: transformations de schémas, transformations de modèles.  Conceptuel - Relationnel –Rétro-ingénierie et compréhension de programmes  Disponible –Sur le site officiel de DB-MAIN: http://www.db-main.be/ –Applications HEC > Programmation et Developpement > DB-MAIN 7.1a

4 Bases de Données Avancées – TP1 4 1. Générer le modèle conceptuel  Analyse et formalisation du domaine –Identifier les concepts (entités, associations, attributs) du domaine –Etapes  Créer un nouveau projet (File>New Project)  Schéma conceptuel (Product>New schema)  Définir les entités (New>Entity Type) –Nom –Super-Types  Définir les attributs (New>Attribute) –Nom, Cardinalités, Type (Next Attribute) –Attribut Complèxes (First Attribute + Next Attributes) –Identifiant  Définir les relations (New>Rel Type) –Nom, Attributs –Cardinalités –Roles  Documenting the schema –Semantique (accessible à partir des entités, relations and attributs)

5 Bases de Données Avancées – TP1 5 1. Générer le modèle conceptuel - Exemple  Enoncé –La Bibliothèque de l’UNIL dispose d'ordinateurs interconnectés qui doivent permettre de gérer les emprunts. L'interview des bibliothécaires permet de déterminer les faits suivants:  Un livre est caractérisé par son numéro dans la bibliothèque (identifiant), son titre, son éditeur et son (ses) auteur(s);  Un livre peut exister dans la bibliothèque en un ou plusieurs exemplaires. Les exemplaires sont charactérisés par un numéro d’exemplaire (qui s’ajoute à l’identifiant du livre pour identifier un exemplaire de livre spécifique stocké dans la bibliothèque)  Chaque abonné qui s'inscrit à la bibliothèque est charactérisé par un numéro (identifiant), un nom, un prénom et une adresse (composée, de rue ville et NPA). L’abonné a aussi un statut (étudiant, assistant, professeur), qui lui donnera le droit d'effectuer un nombre different d’emprunts (10, 50, 100) et de les garder pour une durée différente (30j, 60j, 90j).  On veut pouvoir obtenir la liste des emprunts effectués par chaque abonné avec l’exemplaire emprunté, la date de l'emprunt et l’éventuelle date de restitution;  Parmi les livres on distingue les thèses, qui ont les mêmes propriétés de livre, mais dont on veut aussi garder aussi le nom de l’institution qui l’a assigné et la composition du comité de thèse (sous forme d’une liste de noms).

6 Bases de Données Avancées – TP1 6 1. Générer le modèle conceptuel - Exemple

7 Bases de Données Avancées – TP1 7 2. Générer le modèle relationnel  Générer une copie du modèle conceptuel (Product>CopyProduct)  Transformer les schéma pour respecter les contraintes du relationnel –Transformer les attributs  Pas d’attributs multivalués  Entités (Transform>Attribute>Entity Type)  Pas d’attributs complèxes  Désagregation (Transform>Attribute>Disagregation) –Transformer les relations  Associations n-n  création d’une nouvelle entité (Transform>Rel-type>Entity Type)  Association 1-n  Clé étrangères (Transform>Rel-type>Attribute) –Transformer les sous-typages  Sous-types  relation (Transform>Entity-Type>Is-a>Rel_Type)  Transformations automatiques (à utiliser avec précaution) –Transform > Relational Model

8 Bases de Données Avancées – TP1 8 2. Générer le modèle relationnel - Example

9 Bases de Données Avancées – TP1 9 3. Générer le modèle physique  Générer une copie du modèle relationnel (Product>CopyProduct) –Créer les indexes (Access Key) –Optimisations:  normalisations  éviter les indexes inutiles –Créer les espaces de stockage (collections)

10 Bases de Données Avancées – TP1 10 3. Générer le modèle physique - Example

11 Bases de Données Avancées – TP1 11 4. Script SQL  A partir du modèle physique (Transform>QuickSQL) –Le script généré sera ensuite utilisé dans TOAD (qui sera l’objet du TP3) pour créer le schéma dans la base de données dans Oracle et notamment:  Creation des tables  Creation des contraintes  Creation des indexes  Etc.

12 Bases de Données Avancées – TP1 12 4. Script SQL - example -- * Standard SQL generation * -- Database Section create database Biblio; -- Tables Section create table Livre ( Numero char(1) not null, Titre char(1) not null, Editeur char(1) not null, constraint ID_Livre primary key (Numero)); create table Abonne ( Numero char(1) not null, Nom char(1) not null, Prenom char(1) not null, Statut char(1) not null, Rue char(1) not null, Ville char(1) not null, NPA char(1) not null, constraint ID_Abonne primary key (Numero)); create table Auteur ( Numero char(1) not null, Auteur char(1) not null, constraint ID_Auteur primary key (Numero, Auteur)); create table ComiteDeThese ( Numero char(1) not null, NomExpert char(1) not null, constraint ID_ComiteDeThese primary key (Numero, NomExpert)); create table Emprunt ( NumEx char(1) not null, NumeroLivre char(1) not null, NumeroAbo char(1) not null, Date_Emprunt char(1) not null, Date_retour char(1), constraint ID_Emprunt primary key (NumEx, NumeroLivre, NumeroAbo, Date_Emprunt)); create table Exemplaire ( Numero char(1) not null, NumEx char(1) not null, constraint ID_Exemplaire primary key (NumEx, Numero)); create table These ( Numero char(1) not null, Institution char(1) not null, constraint ID_These_LI primary key (Numero));

13 Bases de Données Avancées – TP1 13 4. Script SQL - example ---- Constraints Section alter table Livre add constraint ID_Livre check(exists(select * from Auteur where Auteur.Numero = Numero)); alter table Livre add constraint ID_Livre check(exists(select * from Exemplaire where Exemplaire.Numero = Numero)); alter table Auteur add constraint EQU_Auteu_LI foreign key (Numero) references Livre; alter table ComiteDeThese add constraint REF_Comit_These foreign key (Numero) references These; alter table Emprunt add constraint REF_Empru_Abonn foreign key (NumeroAbo) references Abonne; alter table Emprunt add constraint REF_Empru_Exemp foreign key (NumEx, NumeroLivre) references Exemplaire; alter table Exemplaire add constraint EQU_Exemp_LI foreign key (Numero) references Livre; alter table These add constraint ID_These_LI foreign key (Numero) references Livre; -- Index Section create index ID_Livre on Livre (Numero); create index ID_Abonne on Abonne (Numero); create index ID_Auteur on Auteur (Numero, Auteur); create index ID_ComiteDeThese on ComiteDeThese (Numero, NomExpert); create index REF_Empru_Abonn on Emprunt (NumeroAbo); create index ID_Emprunt on Emprunt (NumEx, NumeroLivre, NumeroAbo, Date_Emprunt); create index ID_Exemplaire on Exemplaire (NumEx, Numero); create index EQU_Exemp_LI on Exemplaire (Numero); create index ID_These_LI on These (Numero);

14 Bases de Données Avancées – TP1 14 Exercices: Exercice 6 – Modèle Conceptuel

15 Bases de Données Avancées – TP1 15 Exercices: Exercice 6 – Modèle Relationnel

16 Bases de Données Avancées – TP1 16 Questions ?


Télécharger ppt "TP1 - DBMAIN BFSH Lausanne - Switzerland - Tel Université de Lausanne."

Présentations similaires


Annonces Google