Asenna
APEX 4.0 käyttöösi testipuolelle. Asenna myös SQL Developer
käyttöösi.
Luo lopuksi työalue admin-puolella
testisovelluksiasi varten. APEX’ssa on oma työalue (workspace) käsitteensä. Anna kuvaava nimi työalueelle.
Jos on tarpeen nähdä syntyneen taulualueen
nimi, niin valitse APEX’in admin-puolelta
kohdasta ”Manage Workspaces”
– ”Existing Workspaces” –
ja listalta haluttu workspace (Workspace
Name) ja ”Workspace Summary” raportilta kohta “Workspace
Schemas” mistä näet ko. työalueen taulualueen nimen (Schemas, Tablespaces).
Jos tietokannan
varmuuskopiointi on tehty dynaamisesti (ilman RMAN’ia)
tai RMAN’in backup database komennolla on APEX-taulualue/et
automaattisesti mukana varmistuksilla. DBA’n
kannattaa varmistaa tämä kaikista APEX-ympäristöistä.
Muussa tapauksessa (ilman RMAN’ia), tulee tarvittavat
APEX-taulualueet lisätä käsin varmistusskriptiin.
Jokaisella taululla tulee olla oma pääavaimensa
(pk, primary key) ja jokaisella lapsi-taululla oma viiteavaimensa (fk, foreign key).
Voit generoidfa pk’lle
arvon before row triggerillä taulun omasta sequenssistä.
Anna sequenssille riittävä cache-arvo
ja nomaxvalue. Using tablespace
optiolla voit ohjata syntyvän indeksin omalle taulualueelleen. Jos dataa on
paljon, niin tarkista tarvitaanko lisäindeksejä sovelluksen ja raporttien
nopeuttamiseksi.
Tässä esimerkkinä companies-
ja measures-taulujen luonnit. Mukana myös sequenssien ja before row triggerien luonnit. Nimeä
tämä skripti johonkin hakemistoon vaikka nimelle companies_and_measures.sql. Aja skripti
ohjelmointi-puolen (Application Builder) SQL Workshopin SQL-skripteistä
(SQL Scripts), niin skriptit pysyy hyvin kasassa
täällä APEX-puolella.
drop table companies cascade
constraints
/
create table companies(
id number not null primary key,
firm_name varchar2(100)
not null
)
/
drop sequence companies_seq
/
create sequence companies_seq
nomaxvalue
/
create or replace trigger
companies_trig01
before insert on companies
for each row
begin
select companies_seq.nextval
into :new.id from dual;
end;
/
drop table measures cascade
constraints
/
create table measures(
id number not null primary key,
fk_id number not null,
mes_date date not null,
measure1 number(10,2),
measure2 number(10,2),
measure3 number(10,2),
measure4 number(10,2),
measure5 number(10,2),
measure6 number(10,2),
measure7 number(10,2),
measure8 number(10,2),
measure9 number(10,2),
name1 varchar2(50),
name2 varchar2(50)
)
/
alter table measures
add constraint measures_fk_id
foreign key ( fk_id ) references companies ( id ) on
delete cascade
/
drop sequence measures_seq
/
create sequence measures_seq
nomaxvalue
/
create or replace trigger
measures_trig01
before insert on measures
for each row
begin
select measures_seq.nextval
into :new.id from dual;
end;
/
Anna taulujen sarakkeille mahdollisimman
kuvaavat nimet (Kts. Measures-taulun measure-sarakenimet
eivät ole kuvaavia.) sovellusta ajatellen, niin sinun ei tarvitse muutella niin
paljon sovelluksen labeleita.
Surrogaatti pk’n
voi nimetä aluksi vaikka id’ksi ja lapsi-taulun fk’n fk_id’ksi, niin saat
”rautalankamallin” nopeasti aikaiseksi.
Jos teet lomake- tai taulukko näytön (page) hierarkian välistä, niin tee arvolista (lov, list of value)
jaetuksi komponentiksi ja aseta se lapsi-taulun fk-kenttään.
Lov helpottaa lapsi-rivin kohdistamista oikealle
emolle. Id-arvon voi halutessaa
liittää mukaan lov’in sql’än
”nimi-kentän” perään vaikka muodossa ”nimi ( id )”.
Näillä esimerkkitauluilla lov’in voisi tehdä measures-taulun form page’n fk-kentälle (fk_id).
Sitten vaan sovellusta
rakentamaan (Application Builder) omista tauluista tai valmissovellusta asentamaan
tutkimaan ja testaamaan. Luo companies- ja measures-tauluista vaikka master detailj page. Anna sovellukselle
kuvaava nimi (esim. Companies and Measures).
Käynnistä sovelluspuoli selaimesta, anna workspace’n nimi, sovellustunnus (userid/schema)
ja salasana. Valitse Application Builder ja create.
Rakennamme sovelluksen nollasta (scratch) ja
SQL-tauluihin perustuen. Anna sovellukselle kuvaava nimi (Companies
and Measures) ja valitse applikaatio-schema.
Valitse create. Valitse master
detalj page ja anna master-tauluksi companies ja detalj-tauluksi measures. Valitse
create page ja create. Valitse lopuksi create application yhteenvetoruudulta.
Ja sitten vaan testaamaan ja tutkimaan mitä
sovelluksella voi tehdä. Kaikki sovelluksen perustoiminnot hakua, muutosta,
lisäystä ja poistoa varten tuli automaattisesti. Jotakin kosmeettista
viilausta, kenttien järjestykseen liittyen jne. voi jo tämä ”rautalankamalli”
vaatia, mutta ne on helppo tehdä.
Voit myös käydä läpi manuaalista vaihe
vaiheelta esimerkki-sovelluksen rakentamista. Myös muita vaihtoehtoja
omaehtoiseen opiskelemiseen voi löytyä (oracle learning library).
|
Copyright © 2004 Susara Oy |
jukka.sakkinen(at)susara.fi
– 040 826 9 553 – SUSARA.FI - Susara Oy |