Oracle Designer Introduzione a Oracle Designer Realizzata Da Massimiliano Tullio Zanirato 30/11/2018 Introduzione Tecnica
Informazioni generali Designer è un prodotto realizzato dalla Oracle che, partendo dagli user requirements, permette ad un gruppo di lavoro, di progettare e realizzare applicazioni software basate sui batabase (database application developer) Grazie a Designer, e sotto determinate condizioni, si possono sviluppare prodotti con un approccio RAD (Rapid Application Development) 30/11/2018 Introduzione Tecnica
Caratteristiche e vantaggi Designer incrementa la produttività dello sviluppo delle applicazione basate sui database (database application developer) Permette di sviluppare applicazioni Client/Server e per Web sfruttando la potenza della portabilità di JAVA e HTML Grazie a Modelli e tools di generazione automatizza la costruzione di un ampio range di funzionalità richieste della applicazioni enterprise… 30/11/2018 Introduzione Tecnica
Perché si usa Oracle Designer E’ uno dei migliori integrated Case product sul mercato e la sua flessibilità e potenza influenza lo sviluppo CADM (Case Application Development Method) Tutte le informazioni, dati, processi, sono contenuti in un singolo repository. Offre User extensibility e l’Application programmatic Interface (API). 30/11/2018 Introduzione Tecnica
Aspetti relativi allo Sviluppo di un Progetto a confronto Con Designer Senza Designer Progettazione Costi Genarazione del database Generazione del codice Documentazione del progretto Strutturato Bassi Automatico e quindi costi bassi Parzialmente automatico Quasi tutte contenute nel Repository Ad hoc Alti Manuali e quindi costi alti Manuale Ad hoc (Difficoltà a reperirla) 30/11/2018 Introduzione Tecnica
Target Database Oracle 8 RDMS Oracle 7 Oracle lite Oracle Rdb IBM DB/2 Sybase Adaptive Server Microsoft SQL Server Any ODBC-compliant Database 30/11/2018 Introduzione Tecnica
Metodologia di Progettazione: Archittetture Client Client/Server Web-based deployment Dynamic HTML Visual Basic C++ Metodologia di Progettazione: Analisi (UML) Design 30/11/2018 Introduzione Tecnica
Oracle Designer Vedere documento allegato (schema logico di progetto) per analizzare dove si colloca designer nello sviluppo di un progetto : 30/11/2018 Introduzione Tecnica
Design Editor La fase di Design (progetto) di una applicazione è costituita dai seguenti task: Database Design Application Design 30/11/2018 Introduzione Tecnica
Database Design L’obbiettivo principale è la definizione di tutti gli oggetti del database: tabelle, viste, procedure, function, trigger, table space e data file ecc. E’ indispensabile definire correttamente gli oggetti sopra elencati prima di iniziare le fase di progettazione dei moduli (Application Design). Attenzione agli standard, il buon esito di una procedura dipende anche da questo… 30/11/2018 Introduzione Tecnica
Server Model Nella sezione di Database Design e possibile rivedere e rimpiazzare le tabelle create nel processo di analisi (Modelling system requirements). Inoltre è possibile creare nuove tabelle, includere chiavi primarie e foreign key relationships, creare viste e soprattutto è possibile inserire funzioni, procedure, package e trigger. Queste operazioni vengono eseguite nel Server Model 30/11/2018 Introduzione Tecnica
Un utente potrà gestire una o più Applicazioni. E’ possibile attivare la fase di Design senza passare attraverso l’analisi. Pertanto dal Server Model si dovrà creare una nuova applicazione (Application System). Un utente potrà gestire una o più Applicazioni. 30/11/2018 Introduzione Tecnica
Creata l’applicazione, prima di definire le tabelle del database si dovrà definire il database di default, i tablespace da utilizzare e l’utente di default. Queste operazioni dovranno essere eseguite nel DB Admin (Database Administrator) 30/11/2018 Introduzione Tecnica
Creazione del Database in DB Admin 30/11/2018 Introduzione Tecnica
Il DataBase, tablespace, utenti ecc definiti nel DB Admin potrebbero essere utilizzati per generare fisicamente tali oggetti. Si consiglia di fare creare tali oggetti da un DBA senza passare attraverso Designer. Gli oggetti creati nel DB Admin dovranno servire solo per gestire correttamente il Server Model e l’eventuale cattura delle strutture di un progetto esistente. 30/11/2018 Introduzione Tecnica
Server Model Guide Grazie al server model Guide è possibile creare nuovi oggetti per il progetto (Create/Edit Database Object) Da questo tool cliccando su Run the Design Capture utility è possibile catture gli oggetti di un database puntando direttamente sul database o da un DDL Files. Per entrambi le scelte si dovrà scegliere l’applicazione recipiente. 30/11/2018 Introduzione Tecnica
Creazione di Tabelle (Server Model) Seguendo gli standard di progetto si dovrà indicare il nome della tabella, l’alias e l’eventuale prefisso di colonna (sconsigliato). Audit Columns, la tabella viene creata con 4 campi di controllo per il monitoraggio della tabella stessa. Index Organized, indica che si vuole creare una tabella di solo indice che conserva i dati ordinati secondo i valori della colonne della chiave primaria e li memorizza come se l’intera tabella fosse registrata in un indice. 30/11/2018 Introduzione Tecnica
E’ possibile creare in questa fase una o più foreign key. Per ogni tabella si dovranno indicare le colonne con la relativa picture (datatype/length). 30/11/2018 Introduzione Tecnica
Le colonne not null (mandatory significativo) potranno far parte della chiave primaria. Gli eventuali indice secondari potranno essere inseriti dal server model navigator. 30/11/2018 Introduzione Tecnica
Al termine della definizione della tabelle si può crare la tabella (nel repository e non fisacamente) oppure di indicare ulteriori specifiche per l’application design. 30/11/2018 Introduzione Tecnica
Creazione Viste Dal Server Model Guide si possono creare le viste. E’ indispensabile aver definito precedentemente le tabelle. Il metodo di creazione delle tabelle è simile a quello illustrato per le tabelle 30/11/2018 Introduzione Tecnica
Indicare sempre il tipo di oggetto (funzione, procedure, ecc) e il tipo del valore di ritorno (indispensabile per le function) Si dovranno dichiarare le variabili di input (passaggio di parametri per valore e/o referenza) 30/11/2018 Introduzione Tecnica
Creazione di Funzioni, Procedure, Package, Cursori … Dal server model guide è possibile creare gli oggetti sopra indicati. E’ indispensabile indicare il nome dell’oggetto (sempre seguendo gli standard) 30/11/2018 Introduzione Tecnica
Indicare il tipo di oggetto (funzione, procedure, ecc) e il tipo di variabile di ritorno (indispensabile per le funzioni) Si dovranno definire le variabile da utilizzare per il passaggio di parametri (per valore e/o referenza) e il loro tipo. 30/11/2018 Introduzione Tecnica
Al termine creare l’oggetto e inserire il codice dell’oggetto utilizzando l’editor 30/11/2018 Introduzione Tecnica
Server Model Diagram E’ possibile progettare le tabelle di un database graficamente utilizzando il server model Diagram. Per inserire delle tabelle già definite in un nuovo diagramma, selezionare le tabelle del server model Navigator e tramite il pulsante destro del mouse cliccare su Show on New Diagram. 30/11/2018 Introduzione Tecnica
30/11/2018 Introduzione Tecnica
Generazione delle tabelle Dal Server Model è possibile creare fisicamente (su DDL files o sul database) gli oggetti del database definiti per l’applicazione. Selezionando gli oggetti (Tabelle, definizioni PL/SQL ecc) si può attivare la fase di generazione. Si sconsiglia di generare gli oggetti direttamente sul database 30/11/2018 Introduzione Tecnica
Problemi nell’utilizzo di Designer Per ogni utente che utilizza design viene attivato sul server Oracle un processo e l’utilizzo della CPU e della memoria risulta elevato ogni qual volta viene creato e/o modificato un oggetto e altresì alterato un Server model Diagram 30/11/2018 Introduzione Tecnica
Importanza degli Standard Prima di iniziare la realizzazione di un nuovo progetto è indispensabile conoscere gli standard utilizzati nell’area di sviluppo. Infatti ogni area di sviluppo definisce dei propri standard nel creare gli oggetti di un database (tablespaces, datafiles, nomi di tabelle, viste, funzioni e package ecc). In ogni caso i consigli da seguire nella progettazione sono i seguenti: Far partecipare gli utenti. Inserirli nel gruppo di progettazione. Scegliere i nomi delle tabelle, delle colonne e delle chiavi insieme agli utenti (sempre rispettando gli standard già presenti). Sviluppare un dizionario dei sinonimi per l’applicazione in modo da assicurare nomi coerenti. Utilizzare parole significative, facilmente memorizzabili, brevi e al singolare. Evitare l’utilizzo di codice, di abbreviazione e prefissi sui nomi delle colonne. Utilizzare chiavi significative dove possibili Decomporre le chiavi sovraccariche. Le chiavi di una tabella (PK) dovranno essere posizionati sempre in testa alla tabella stessa, e se esiste un legame FK con una tabella padre, le colonne del padre dovranno essere disposte nella tabella figlio nello stesso ordine. Non farsi tentare dalla velocità di sviluppo. Dedicare tempo e attenzione all’analisi, alla progettazione, alle prove e alla messa a punto. 30/11/2018 Introduzione Tecnica