Na Exception handling, het onderwerp dat we afsloten met de laatste PL/SQL-tutorial, is verzamelen het meest gevraagde onderwerp op mijn sociale media. Daarom zullen onze volgende reeks tutorials gebaseerd zijn op PL/SQL-collecties. Vanaf vandaag.
Wat zijn PL/SQL-verzamelingen in Oracle Database?
Een homogene gegevensstructuur met één dimensie die is opgebouwd uit elementen van hetzelfde gegevenstype, wordt in Oracle Database verzameling genoemd. In eenvoudige taal kunnen we zeggen dat een array in Oracle Database Collection wordt genoemd.
Definitie
Een homogene gegevensstructuur met één dimensie die is opgebouwd uit elementen van hetzelfde gegevenstype, wordt in Oracle Database verzameling genoemd.
Waarom noemen we verzameling een homogene gegevensstructuur?
Zoals we weten, bestaat die array uit gegevens van hetzelfde gegevenstype en dat geldt ook voor de PL/SQL-verzameling, daarom noemen we ze een homogene gegevensstructuur.
De structuur van PL/SQL-verzamelingen bestaat uit een cel met een subscript dat index wordt genoemd. Gegevens worden in deze cellen opgeslagen en kunnen worden geïdentificeerd en geopend met behulp van het indexnummer. Dit lijkt weer erg op de structuur van arrays, maar in tegenstelling tot array zijn PL/SQL-verzamelingen strikt eendimensionaal.
Infobyte:
De collecties in Oracle Database zijn strikt eendimensionaal. Het is niet mogelijk om ze op 2D-coördinaten te realiseren. Wanneer de collectie echter een attribuut heeft van objecttype of collectietype, dan is het mogelijk om een multidimensionale array te realiseren.
Soorten PL/SQL-verzamelingen in Oracle Database
PL/SQL-collecties kunnen worden onderverdeeld in twee categorieën:
- Aanhoudend en
- Niet-persistent.
Permanente verzameling, zoals de naam al doet vermoeden, zijn verzamelingen die de verzamelingsstructuur met de gegevens fysiek in de database opslaan en indien nodig opnieuw kunnen worden geopend. Terwijl niet-permanente verzameling gegevens en structuur slechts voor één sessie opslaat.
Op basis van bovenstaande categorieën worden collecties verder onderverdeeld in drie typen:
- Geneste tabellen
- Arrays met variabele grootte of VARRAY's en
- Associatieve arrays.
Geneste tabel – Geneste tabellen zijn permanente verzamelingen, wat betekent dat ze in de database kunnen worden opgeslagen en opnieuw kunnen worden gebruikt. Geneste tabellen hebben geen bovengrenzen voor rijen, dus het zijn onbeperkte verzamelingen. Geneste tabellen zijn aanvankelijk compact, maar kunnen schaars worden door verwijdering.
VARRAY's – Net als bij geneste tabellen, zijn Variable-Sized Arrays ook persistente collecties, dus ze kunnen zowel in de database als in een PL/SQL-blok worden gemaakt en opnieuw worden gebruikt. Maar in tegenstelling tot geneste tabellen zijn VARRAY's begrensd van aard, wat betekent dat ze slechts een vast aantal elementen kunnen bevatten.
Infobyte:
Door de grootte en het opslagschema van VARRAY's verschillen ze van geneste tabellen.
Associatieve array – In tegenstelling tot geneste tabellen en VARRAY's, zijn associatieve arrays niet-permanente verzamelingen en kunnen ze dus niet in de database worden opgeslagen. Omdat ze niet kunnen worden opgeslagen, kunnen ze niet opnieuw worden gebruikt, maar zijn ze beschikbaar in het PL/SQL-blok voor de sessie. Maar net als bij geneste tabellen zijn associatieve arrays onbegrensd, wat betekent dat ze ook geen onder- en bovengrenzen voor rijen hebben.
Veelgebruikte termen in PL/SQL Collection.
Begrensde en onbeperkte verzameling – Een verzameling die onder- of bovengrenzen heeft voor waarden van rijnummer, of zeg een verzameling die slechts een beperkt aantal elementen kan bevatten, worden begrensde verzamelingen genoemd. Een verzameling die geen onder- of bovengrenzen heeft voor rijnummers, worden onbegrensde verzamelingen genoemd.
Dichte en schaarse verzameling. – Verzamelingen zouden dicht zijn als alle rijen tussen de eerste en de laatste zijn gedefinieerd en een waarde hebben gekregen. En een verzameling waarin rijen niet zijn gedefinieerd en opeenvolgend worden ingevuld, worden sparse genoemd collectie.
Dat is het voor deze tutorial. Je kunt anderen helpen bij het leren en mij en mijn kanaal helpen groeien door deze blog te delen met je vrienden of op je sociale media.
Je kunt nu de updates van onze blogs, weggeefacties en andere interessante dingen in je inbox ontvangen, gewoon inschrijven op onze nieuwsbrief. Bedankt en een fijne dag verder!