sql >> Databáze >  >> RDS >> Oracle

Úvod do kolekcí PL/SQL v databázi Oracle

Po zpracování výjimek, tématu, které jsme dokončili v posledním tutoriálu PL/SQL, je kolekce nejžádanějším tématem na mých sociálních sítích. To je důvod, proč naše další série tutoriálů bude založena na kolekcích PL/SQL. Počínaje dneškem.

Co jsou kolekce PL/SQL v databázi Oracle?

Homogenní jednorozměrná datová struktura, která se skládá z prvků stejného datového typu, se v Oracle Database nazývá kolekce. Zjednodušeně můžeme říci, že pole v databázi Oracle se nazývá Collection.

Definice
Homogenní jednorozměrná datová struktura, která se skládá z prvků stejného datového typu, se v Oracle Database nazývá kolekce.

Proč nazýváme shromažďování homogenní datovou strukturou?

Jak víme, že pole se skládá z dat stejného datového typu a stejně tak i kolekce PL/SQL, proto je nazýváme homogenní datovou strukturou.

Struktura kolekcí PL/SQL se skládá z buňky s dolním indexem nazývaným index. Data se ukládají do těchto buněk a lze je identifikovat a přistupovat k nim pomocí indexového čísla. To je opět velmi podobné struktuře polí, ale na rozdíl od pole PL/SQL jsou kolekce přísně jednorozměrné.

Informační bajt:
Kolekce v databázi Oracle jsou přísně jednorozměrné. Není možné je realizovat na 2D souřadnicích. Pokud má však kolekce atribut typu objektu nebo typu kolekce, je možné realizovat vícerozměrné pole.

Typy kolekcí PL/SQL v databázi Oracle

Kolekce PL/SQL lze rozdělit do dvou kategorií:

  1. Trvalé a
  2. Netrvalé.

Trvalé kolekce, jak název napovídá, jsou takové, které fyzicky ukládají strukturu kolekce s daty do databáze a lze k nim v případě potřeby znovu přistupovat. Zatímco neperzistentní kolekce ukládá data a strukturu pouze pro jednu relaci.

Na základě výše uvedených kategorií jsou sbírky dále rozděleny do tří typů:

  1. Vnořené tabulky
  2. Pole s proměnnou velikostí nebo VARRAY a
  3. Asociativní pole.

Vnořená tabulka – Vnořené tabulky jsou trvalé kolekce, což znamená, že mohou být uloženy do databáze a mohou být znovu použity. Vnořené tabulky nemají žádné horní limity na řádky, jedná se tedy o neomezené kolekce. Vnořené tabulky jsou zpočátku husté, ale mohou se smazáním zřítit.

VARRAY – Podobně jako vnořené tabulky Pole s proměnnou velikostí jsou také trvalé kolekce, takže je lze vytvořit v databázi i v PL/SQL bloku a lze je znovu použít. Ale na rozdíl od vnořených tabulek jsou VARRAY ve své podstatě ohraničené, což znamená, že mohou obsahovat pouze pevně stanovený počet prvků.

Informační bajt:
Velikost a schéma úložiště VARRAY je odlišuje od vnořených tabulek.

Asociativní pole – Na rozdíl od vnořených tabulek a VARRAY jsou asociativní pole neperzistentní kolekce, takže je nelze uložit do databáze. Protože je nelze uložit, nelze je znovu použít, ale jsou k dispozici v bloku PL/SQL pro relaci. Ale podobně jako u vnořených tabulek jsou asociativní pole neomezená, což znamená, že také nemají spodní a horní limity řádků.

Běžně používané termíny v kolekci PL/SQL.

Bounded &Unbounded Collection – Kolekce, která má spodní nebo horní limity hodnot čísla řádku nebo řekněme kolekce, která pojme pouze omezený počet prvků, se nazývá ohraničené kolekce. Kolekce, která nemá dolní ani horní limity pro čísla řádků, se nazývá neomezené kolekce.

Hustá a řídká sbírka. – Kolekce jsou prýhusté pokud jsou definovány všechny řádky mezi prvním a posledním a je jim přiřazena hodnota. A kolekce, ve které nejsou řádky definovány a vyplňovány postupně, se nazývají řídké kolekce.

To je pro tento tutoriál vše. Sdílením tohoto blogu se svými přáteli nebo na svých sociálních sítích můžete pomoci ostatním v učení, stejně jako mně a mému kanálu v růstu.

Nyní můžete dostávat aktualizace našich blogů, dárky spolu s dalšími zajímavými věcmi přímo do vaší schránky, stačí se přihlásit k odběru našeho newsletteru. Děkuji a přeji hezký den!


  1. Co je předávání parametrů do SQL a proč to potřebuji?

  2. Výkon SQL:WHERE vs. WHERE (ROW_NUMBER)

  3. Jak se mohu připojit k MySQL v Pythonu 3 na Windows?

  4. Transponování dynamických sloupců do řádků