Title: Oracle Designer
1Oracle Designer
- Introduzione a Oracle Designer
- Realizzata
- Da
- Massimiliano Tullio Zanirato
2Informazioni 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)
3Caratteristiche 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
4Perché 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 lApplication
programmatic Interface (API).
5Aspetti relativi allo Sviluppo di un Progetto a
confronto
Con Designer
Senza Designer
- 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)
- Progettazione
- Costi
- Genarazione del database
- Generazione del codice
- Documentazione del progretto
6Target Database
- Oracle 8 RDMS
- Oracle 7
- Oracle lite
- Oracle Rdb
- IBM DB/2
- Sybase Adaptive Server
- Microsoft SQL Server
- Any ODBC-compliant Database
7Archittetture Client
- Client/Server
- Web-based deployment
- Dynamic HTML
- Visual Basic
- C
- Metodologia di Progettazione
- Analisi (UML)
- Design
8Oracle Designer
Vedere documento allegato (schema logico di
progetto) per analizzare dove si colloca
designer nello sviluppo di un progetto
9Design Editor
- La fase di Design (progetto) di una applicazione
è costituita dai seguenti task - Database Design
- Application Design
10Database Design
- Lobbiettivo 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
11Server 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
12- E possibile attivare la fase di Design senza
passare attraverso lanalisi. Pertanto dal Server
Model si dovrà creare una nuova applicazione
(Application System). - Un utente potrà gestire una o più Applicazioni.
13- Creata lapplicazione, prima di definire le
tabelle del database si dovrà definire il
database di default, i tablespace da utilizzare e
lutente di default. Queste operazioni dovranno
essere eseguite nel DB Admin (Database
Administrator)
14Creazione del Database in DB Admin
15- 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 leventuale
cattura delle strutture di un progetto esistente.
16Server 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
lapplicazione recipiente.
17Creazione di Tabelle (Server Model)
- Seguendo gli standard di progetto si dovrà
indicare il nome della tabella, lalias e
leventuale 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 lintera
tabella fosse registrata in un indice.
18- 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).
19- Le colonne not null (mandatory significativo)
potranno far parte della chiave primaria. - Gli eventuali indice secondari potranno essere
inseriti dal server model navigator.
20- Al termine della definizione della tabelle si può
crare la tabella (nel repository e non
fisacamente) oppure di indicare ulteriori
specifiche per lapplication design.
21Creazione 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
22- 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)
23Creazione di Funzioni, Procedure, Package,
Cursori
- Dal server model guide è possibile creare gli
oggetti sopra indicati. E indispensabile
indicare il nome delloggetto (sempre seguendo
gli standard)
24- 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.
25- Al termine creare loggetto e inserire il codice
delloggetto utilizzando leditor
26Server 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.
27(No Transcript)
28Generazione delle tabelle
- Dal Server Model è possibile creare fisicamente
(su DDL files o sul database) gli oggetti del
database definiti per lapplicazione.
Selezionando gli oggetti (Tabelle, definizioni
PL/SQL ecc) si può attivare la fase di
generazione. - Si sconsiglia di generare gli oggetti
direttamente sul database
29Problemi nellutilizzo di Designer
- Per ogni utente che utilizza design viene
attivato sul server Oracle un processo e
lutilizzo della CPU e della memoria risulta
elevato ogni qual volta viene creato e/o
modificato un oggetto e altresì alterato un
Server model Diagram
30Importanza degli Standard
- Prima di iniziare la realizzazione di un nuovo
progetto è indispensabile conoscere gli standard
utilizzati nellarea 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
lapplicazione in modo da assicurare nomi
coerenti. - Utilizzare parole significative, facilmente
memorizzabili, brevi e al singolare. - Evitare lutilizzo 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 allanalisi, alla
progettazione, alle prove e alla messa a punto.