Toon posts:

beschrijving wat is nou precies een view (oracle)

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi ik heb gebruik gemaakt van views, om niet elke keer dezeflde kolommen samen hoeven te voegen. Maarrr
hoe leg ik nu GOED uit wat een view precies is. Het klinkt bijna te makkelijk om waar te zijn. Ik heb een beschrijving nodig voor een rapportage dat zowel door professionals als leken wordt gelezen.
Ik ben op google en hier aan het zoeken geweest maar kon niks beschrijvends vinden.

Zelf dacht ik aan zoiets:
Een view is een virtuele realtime samenvoeging van één of meerdere tabellen. Een view kan handig zijn als uitgangssituatie zodat niet elke keer handmatig een query gemaakt hoeft te worden.

Gaarne aanvullingen!

Acties:
  • 0 Henk 'm!

Verwijderd

In SQL, a view is a virtual table based on the result-set of an SQL statement.

A view contains rows and columns, just like a real table. The fields in a view are fields from one or more real tables in the database.

You can add SQL functions, WHERE, and JOIN statements to a view and present the data as if the data were coming from one single table.
Dat dekt de lading vrij aardig (net als jouw omschrijving).
Ik weet niet wat de scope van je rapportage is, en in welke context dit uitgelegd moet worden, maar views hebben soms wel voordelen:

- Sommige applicaties/tools geven je niet de mogelijkheid om een eigen (wat ingewikkelder) query te gebruiken maar stellen zelf de query samen die vaak te beperkte mogelijkheden biedt. Crystal Reports 8.5 bijvoorbeeld.

- Toegangsrechten op een view kunnen afwijken van rechten op de onderliggende tabellen. Hiermee kun je bv. users wel een bepaalde order of zo tonen, maar niet de creditcard gegevens van de besteller.

- Wanneer je query gebruik maakt van user defined functions is een view meestal performanter dan die query, omdat een view precompiled in de database wordt opgeslagen wordt en dat UDF-deel niet bij elke aanroep geparsed hoeft te worden.

- Door van 1 of meer columns een aggregate te maken (sum, max, min, avg, etc.) wordt een view per definitie readonly, erg prettig wanneer je moet toestaan dat 3rd party systemen bij je database moeten kunnen.

En zo zijn er waarschijnlijk nog wel een hoop meer dingen te noemen...

Acties:
  • 0 Henk 'm!

  • SeatRider
  • Registratie: November 2003
  • Laatst online: 08:41

SeatRider

Hips don't lie

Als het om Jip en Janneketaal moet gaan, zou ik het zo verwoorden: "Het resultaat van een query dat zichzelf weer gedraagt als een tabel".

Nederlands is makkelijker als je denkt


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 25-09 11:48

André

Analytics dude

Een tabel samengesteld uit diverse gegevens vanuit de database

Acties:
  • 0 Henk 'm!

Verwijderd

Een tabel op basis van een query (virtuele table)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dank u allen! :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Een virtuele tabel welke een weergave/selectie is van een selectie van 1 of meerdere onderliggende (fysieke) tabellen.

[ Voor 18% gewijzigd door RobIII op 31-10-2008 10:15 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • T-8one
  • Registratie: Oktober 2001
  • Laatst online: 25-09 15:47

T-8one

take it easy, take a sisi

'table' suggereerd naar mijn idee dat er data in een view zit, waarom het niet heel simpel houden?

"een query opgeslagen in de database."
En eventueel een toelichting dat deze op eenzelfde manier te benaderen is als een table voor selecties.

GP 32 the most powerfull handheld in the world :P


Acties:
  • 0 Henk 'm!

  • kwiebus
  • Registratie: Oktober 2002
  • Laatst online: 08:00
André schreef op woensdag 29 oktober 2008 @ 19:32:
Een tabel samengesteld uit diverse gegevens vanuit de database
Is dan dan niet een materialized view?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bij replys gaarne de hele zin overnemen :).

Ik heb nu over een view:
' Een view is een virtuele tabel (queyr) welke een weergave en/ of selectie is van één of meerdere (fysiek) onderliggende tabellen, welke realtime wordt uitgevoerd. Een view kan handig zijn als uitgangssituatie zodat niet elke keer handmatig een query gemaakt hoeft te worden.'

Daarnaast heb ik ook een goede beschrjiving van een Materialized View nodig.
Zelf kwam ik met deze, gaarne aanvullen indien nodig 8)

'Een MV (Materialized View) is, zoals de naam doet vermoeden, gedeeltelijk hetzelfde als een view. Alleen is een MV niet virtueel en niet real time. Als een MV wordt aangemaakt wordt er ook daadwerkelijk een fysieke tabel aangemaakt op db niveau. Bij een MV worden de joins en de berekeningen(aggegraties) van te voren uitgevoerd en wordt de uitkomst in de MV opgeslagen. Bij bevragingen scheelt dit veel tijd, omdat de tabel enkel nog hoeft te worden uitgelezen.'

[ Voor 6% gewijzigd door Verwijderd op 03-11-2008 11:05 ]


Acties:
  • 0 Henk 'm!

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Een materialized view kan afaik ook gewoon 'real time' zijn, dit hangt af van hoe de MV is gedefinieerd.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Orphix schreef op maandag 03 november 2008 @ 13:10:
Een materialized view kan afaik ook gewoon 'real time' zijn, dit hangt af van hoe de MV is gedefinieerd.
Heb je inderdaad gelijk in, maar is bij mij niet zo. Vandaar dat ik al oogkleppen op had gezet, thnx voor submit

Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
RobIII schreef op vrijdag 31 oktober 2008 @ 10:14:
Een virtuele tabel welke een weergave/selectie is van een selectie van 1 of meerdere onderliggende (fysieke) tabellen.
De data hoeft niet specifiek uit de tabellen te komen.

SQL:
1
CREATE VIEW foo AS SELECT 1 + 2;

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 26-09 10:03

MBV

@Prisoner: waarom zou je het moeilijker maken? Een exacte omschrijving komt vaak techniek bij kijken, terwijl de 'ongeveer'-omschrijving vaak een stuk makkelijker te begrijpen is voor een leek :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
nog even een andere vraag, welke niet wordt gewaardeerd in een losse draad:
Is het mogelijk om MV's van de schema's B,C,D in schema A te zetten binnen dezelfde DB.
Over 2 db's lukt dit wel.
Ik had ergens gelezen dat dit NIET mogelijk was, alleen kan ik dit niet meer terugvinden (nee ook niet via google)!

[ Voor 17% gewijzigd door Verwijderd op 04-11-2008 10:37 . Reden: juiste formulering ]


Acties:
  • 0 Henk 'm!

  • T-8one
  • Registratie: Oktober 2001
  • Laatst online: 25-09 15:47

T-8one

take it easy, take a sisi

Verwijderd schreef op dinsdag 04 november 2008 @ 10:02:
nog even een andere vraag, welke niet wordt gewaardeerd in een losse draad:
Is het mogelijk om MV's van de schema's B,C,D in schema A te zetten binnen dezelfde DB.
Over 2 db's lukt dit wel.
Ik had ergens gelezen dat dit NIET mogelijk was, alleen kan ik dit niet meer terugvinden (nee ook niet via google)!
Als je zorgt dat de rechten tussen de verschillende schema's in orde zijn, dus schema A heeft rechten op B,C en D, dan kan ik geen probleem bedenken.

GP 32 the most powerfull handheld in the world :P


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het aanmaken van een MV in een ander schema in de eigen db is gelukt. Het was enkel een kwestie van rechten, hiervoor zijn de:
leesrechten nodig over het andere schema
create (MV) rechten nodig in het doelschema.

Daarnaast nog even de vraag:
Weten jullie of het mogelijk is om materialized view commit on refresh EN force (of andere optie) te doen? Zodat je zeker weet dat hij altijd wordt uitgevoerd?
Het klinkt voor mij niet heel erg betrouwbaar als de optie refresh on commit geïnstalleerd wordt en dat deze uit kan vallen als hij één keer faalt. Hier kom je natuurljik niet zomaar meteen achter, je merkt het pas als er al fouten gemaakt zijn in de rapportages.

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

Verwijderd schreef op maandag 24 november 2008 @ 17:53:
Daarnaast nog even de vraag:
Weten jullie of het mogelijk is om materialized view commit on refresh EN force (of andere optie) te doen? Zodat je zeker weet dat hij altijd wordt uitgevoerd?
Het klinkt voor mij niet heel erg betrouwbaar als de optie refresh on commit geïnstalleerd wordt en dat deze uit kan vallen als hij één keer faalt. Hier kom je natuurljik niet zomaar meteen achter, je merkt het pas als er al fouten gemaakt zijn in de rapportages.
Opnieuw aanmaken. Maar als je het on commit doet, valt het dan niet gewoon in de transactie van de onderliggende tabel?
The time taken to complete the commit may be slightly longer than usual when this method is chosen. This is because the refresh operation is performed as part of the commit proces
waarbij je dus goed uit moet kijken dat je geen materialized views legt op tabblelen die hoge update frequentie hebben. (kan uiteraard wel, maar schiet het doel voorbij)

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.

Pagina: 1