Oracle Designer Introduzione a Oracle Designer Realizzata Da

  • Slides: 30
Download presentation
Oracle Designer Introduzione a Oracle Designer Realizzata Da Massimiliano Tullio Zanirato 30/09/2020 Introduzione Tecnica

Oracle Designer Introduzione a Oracle Designer Realizzata Da Massimiliano Tullio Zanirato 30/09/2020 Introduzione Tecnica 1

Informazioni generali ¨ Designer è un prodotto realizzato dalla Oracle che, partendo dagli user

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/09/2020 Introduzione Tecnica 2

Caratteristiche e vantaggi ¨ Designer incrementa la produttività dello sviluppo delle applicazione basate sui

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/09/2020 Introduzione Tecnica 3

Perché si usa Oracle Designer ¨ E’ uno dei migliori integrated Case product sul

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/09/2020 Introduzione Tecnica 4

Aspetti relativi allo Sviluppo di un Progetto a confronto Con Designer Senza Designer ¨

Aspetti relativi allo Sviluppo di un Progetto a confronto Con Designer Senza Designer ¨ Progettazione ¨ Strutturato ¨ Ad hoc ¨ Costi ¨ Bassi ¨ Alti ¨ Genarazione del ¨ Automatico e ¨ Manuali e database quindi costi bassi quindi costi alti ¨ Generazione del ¨ Parzialmente ¨ Manuale codice automatico ¨ Documentazione ¨ Quasi tutte ¨ Ad hoc del progretto contenute nel (Difficoltà a Repository reperirla) 30/09/2020 Introduzione Tecnica 5

Target Database ¨ Oracle 8 RDMS ¨ Oracle 7 ¨ Oracle lite ¨ Oracle

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/09/2020 Introduzione Tecnica 6

Archittetture Client ¨ Client/Server ¨ Web-based deployment ¨ Dynamic HTML ¨ Visual Basic ¨

Archittetture Client ¨ Client/Server ¨ Web-based deployment ¨ Dynamic HTML ¨ Visual Basic ¨ C++ Metodologia di Progettazione: ¨ Analisi (UML) ¨ Design 30/09/2020 Introduzione Tecnica 7

Oracle Designer Vedere documento allegato (schema logico di progetto) per analizzare dove si colloca

Oracle Designer Vedere documento allegato (schema logico di progetto) per analizzare dove si colloca designer nello sviluppo di un progetto : 30/09/2020 Introduzione Tecnica 8

Design Editor ¨ La fase di Design (progetto) di una applicazione è costituita dai

Design Editor ¨ La fase di Design (progetto) di una applicazione è costituita dai seguenti task: 1. Database Design 2. Application Design 30/09/2020 Introduzione Tecnica 9

Database Design ¨ L’obbiettivo principale è la definizione di tutti gli oggetti del database:

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/09/2020 Introduzione Tecnica 10

Server Model ¨ Nella sezione di Database Design e possibile rivedere e rimpiazzare le

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/09/2020 Introduzione Tecnica 11

¨ E’ possibile attivare la fase di Design senza passare attraverso l’analisi. Pertanto dal

¨ 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/09/2020 Introduzione Tecnica 12

¨ Creata l’applicazione, prima di definire le tabelle del database si dovrà definire il

¨ 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/09/2020 Introduzione Tecnica 13

Creazione del Database in DB Admin 30/09/2020 Introduzione Tecnica 14

Creazione del Database in DB Admin 30/09/2020 Introduzione Tecnica 14

¨ Il Data. Base, tablespace, utenti ecc definiti nel DB Admin potrebbero essere utilizzati

¨ Il Data. Base, 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/09/2020 Introduzione Tecnica 15

Server Model Guide ¨ Grazie al server model Guide è possibile creare nuovi oggetti

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/09/2020 Introduzione Tecnica 16

Creazione di Tabelle (Server Model) ¨ Seguendo gli standard di progetto si dovrà indicare

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/09/2020 Introduzione Tecnica 17

¨ E’ possibile creare in questa fase una o più foreign key. ¨ Per

¨ 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/09/2020 Introduzione Tecnica 18

¨ Le colonne not null (mandatory significativo) potranno far parte della chiave primaria. ¨

¨ Le colonne not null (mandatory significativo) potranno far parte della chiave primaria. ¨ Gli eventuali indice secondari potranno essere inseriti dal server model navigator. 30/09/2020 Introduzione Tecnica 19

¨ Al termine della definizione della tabelle si può crare la tabella (nel repository

¨ 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/09/2020 Introduzione Tecnica 20

Creazione Viste ¨ Dal Server Model Guide si possono creare le viste. E’ indispensabile

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/09/2020 Introduzione Tecnica 21

¨ Indicare sempre il tipo di oggetto (funzione, procedure, ecc) e il tipo del

¨ 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/09/2020 Introduzione Tecnica 22

Creazione di Funzioni, Procedure, Package, Cursori … ¨ Dal server model guide è possibile

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/09/2020 Introduzione Tecnica 23

¨ Indicare il tipo di oggetto (funzione, procedure, ecc) e il tipo di variabile

¨ 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/09/2020 Introduzione Tecnica 24

¨ Al termine creare l’oggetto e inserire il codice dell’oggetto utilizzando l’editor 30/09/2020 Introduzione

¨ Al termine creare l’oggetto e inserire il codice dell’oggetto utilizzando l’editor 30/09/2020 Introduzione Tecnica 25

Server Model Diagram ¨ E’ possibile progettare le tabelle di un database graficamente utilizzando

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/09/2020 Introduzione Tecnica 26

30/09/2020 Introduzione Tecnica 27

30/09/2020 Introduzione Tecnica 27

Generazione delle tabelle ¨ Dal Server Model è possibile creare fisicamente (su DDL files

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/09/2020 Introduzione Tecnica 28

Problemi nell’utilizzo di Designer ¨ Per ogni utente che utilizza design viene attivato sul

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/09/2020 Introduzione Tecnica 29

Importanza degli Standard ¨ Prima di iniziare la realizzazione di un nuovo progetto è

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/09/2020 Introduzione Tecnica 30