Innholdsfortegnelse:
Video: Samsung UNBELIEVABLE QLED TV Ambient Mode in Action ! 2024
PL / SQL er språket som skal brukes når du skriver kode som ligger i databasen. I den følgende artikkelen vil du se forskjellige situasjoner der du finner PL / SQL nyttig.
Bruk av databaseutløsere
A utløser er en hendelse i DBMS som kan føre til at noen kode utføres automatisk. Det finnes fire typer databaseutløsere:
- Utløsere på tabellnivå kan starte aktivitet før eller etter en INSERT, UPDATE eller DELETE-hendelse. Disse brukes mest til å spore historieinformasjon og databaseendringer, for å holde overflødige data synkronisert, eller for å øke sikkerheten ved å forhindre at bestemte operasjoner oppstår.
- Visningsnivå utløser er veldig nyttige. En visning er en lagret SQL-setning som utviklere kan spørre om som om det var en databasetabell selv. Ved å plassere INSTEAD OF triggers på en visning, kan INSERT, MODIFY og DELETE kommandoer brukes på visningen uavhengig av dens kompleksitet, fordi INSTEAD OF trigger utgjør hva som kan gjøres for visningen.
- Database-nivå utløser kan aktiveres ved oppstart og nedleggelse. Når databasen starter, kan du for eksempel teste tilgjengeligheten til andre databaser eller webtjenester. Før en nedleggelse av databasen, vil du kanskje varsle andre databaser og webtjenester om at databasen går offline.
- Session-nivå utløser kan brukes til å lagre spesifikk informasjon. For eksempel, når en bruker logger på eller av, vil du kanskje utføre kode som inneholder brukerens preferanser og laster dem inn i minnet for rask tilgang. Når økten lukkes, kan en utløser lagre innstillingene for fremtidig bruk.
Skripting med fart
Når du skriver kode, kan du skrive inn en del kode og utføre den uten å først lagre den i databasen. Oracle gir denne funksjonen, som støttes av alle PL / SQL IDEer.
Holde kode server-side
Flertallet av PL / SQL-koden er lagret som program-enheter i serveren. En typisk applikasjon har mange linjer med kode.
Noen programmerere, spesielt web-baserte utviklere som jobber i J2EE eller. NET-miljøer, prøv å skrive mesteparten av koden i applikasjonsserveren i Java (for J2EE-utviklere) eller VB. NET (for. NET utviklere). Dette er ikke god praksis. I en databaseapplikasjon er mye av logikken viet til å hente og oppdatere informasjon. Hvis koden for å oppnå denne oppgaven ligger i en applikasjonsserver, må den sende en forespørsel til databasen over et nettverk. Da må databasen behandle forespørselen og sende informasjonen tilbake på tvers av nettverket for at applikasjonen skal behandles.Fordi nettverk og datamaskiner er nå veldig raske, tror du kanskje at dette bare tar fraksjoner på et sekund. Selv om dette er tilfelle for en enkelt forespørsel, hvis en meget kompleks applikasjon krever millioner eller til og med hundrevis av millioner av interaksjoner med databasen, kan multipliseringen av antall interaksjoner med like brøkdeler av et sekund føre til svært dårlig ytelse.
Selv relativt enkle operasjoner som krever bare noen få databasebehov kan være problematiske hvis søknaden nås av hundrevis, tusenvis eller titusenvis av brukere samtidig. Det er mye vanskeligere å bygge en database-intensiv applikasjon uten å bruke server-side koding enn det er å skrive all koden til å kjøre i en applikasjonsserver.
En av argumentene mot å skrive server-side-koden er at søknaden ikke vil være bærbar (kan ikke flyttes fra en plattform til en annen). Imidlertid har de fleste organisasjoner som bruker Oracle, brukt det i svært lang tid (ti eller flere år) og overveier ikke en bytte til en annen plattform. Også webutvikling er i øyeblikket i en tilstand av rask flux. Organisasjoner bytter ofte mellom. NET, J2EE og andre miljøer for deres webbaserte applikasjonsutvikling.
Begge. NET og J2EE miljøer er også i flux. I J2EE-miljøet var bransjestandarden for webutvikling for et år siden å lage JavaServer-sider (JSPs). Foreløpig er industristandarden å jobbe i JSP / Struts-miljøet. I løpet av det neste året vil JavaServer Faces (JSFs) trolig bli industristandard. Derfor er kode skrevet i midtlinjen en stor risiko for å bli omskrevet i fremtiden.
Server-side kode kjører raskere, er lettere å vedlikeholde og teste, og er mindre mottakelig for endring enn kode plassert i mellomlinjen. Derfor er det å skape betydelige deler av et program i databasen en bedre tilnærming.
Det finnes flere steder hvor du kan skrive kode som programmene dine kan bruke:
- Programpartier: PL / SQL-programenheter kan returnere et sett med verdier (funksjoner) eller PL / SQL-rutiner kan utføre databaseoperasjoner (prosedyrer). Disse funksjonene og prosedyrene kan kalles av andre funksjoner og prosedyrer eller (når det gjelder funksjoner) som brukes i SQL-setninger. PL / SQL-rutiner kan være så store og komplekse som du trenger dem til å være. Noen komplekse rutiner kan inneholde tusenvis av kodelinjer. Hele systemene kan inneholde millioner av kodelinjer.
- PL / SQL-kode innebygd i visninger: Oracle lar deg legge inn kode i databasevisninger. Koden kan faktisk være plassert på ett av to steder i visningen. Først kan du plassere riktig utformede funksjoner som returnerer en verdi i SELECT-delen av en SQL-setning for å hente tilleggsinformasjon, som kanskje eller kanskje ikke er en del av tabellene som blir forespurt. Du kan også legge inn PL / SQL i INSTEAD OF triggers på en visning. Disse utløserne lar deg utføre INSERT, UPDATE og DELETE operasjoner på komplekse visninger, med PL / SQL håndterer systematisk hvordan disse operasjonene skal håndteres.
- Batchrutiner: Batchrutiner løpskode som behandler et stort antall poster på samme tid. Generering av fakturaer for hver kunde i et system eller behandling av lønnskontroller for en hel organisasjon er eksempler på batchrutiner. Disse rutinene er vanligvis store, komplekse og databaseintensive. Denne typen rutine skal med sikkerhet skrives i PL / SQL.