Oracle PL/SQL. Paweł Rajba.

Podobne dokumenty
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Oracle PL/SQL. Paweł Rajba.

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Plan wykładu BAZY DANYCH II WYKŁAD 5. Kolekcje. Tablice asocjacyjne Kolekcje Tablice asocjacyjne VARRAY Tablice zagnieżdżone

Oracle PL/SQL. Paweł Rajba.

Relacyjne bazy danych. Podstawy SQL

Bloki anonimowe w PL/SQL

Relacyjne bazy danych. Podstawy SQL

Wykład 5. SQL praca z tabelami 2

Oracle PL/SQL. Paweł Rajba.

Paweł Rajba

Administracja i programowanie pod Microsoft SQL Server 2000

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Obiektowe bazy danych

Język SQL, zajęcia nr 1

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Administracja i programowanie pod Microsoft SQL Server 2000

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Oracle PL/SQL. Paweł Rajba.

ZSBD ćwiczenie 8. Obiektowo relacyjne systemy zarządzania bazą danych. Kolekcje. Wymagania: ZSBD ćwiczenie 8. Zaawansowane systemy baz danych - ZSBD

1 Kolekcje Operacje masowe VARRAY NESTED TABLES Tabele asocjacyjne Perspektywy obiektowe 10.

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006

Oracle PL/SQL. Paweł Rajba.

Wykład 6. SQL praca z tabelami 3

Wykład 8. SQL praca z tabelami 5

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

20 kwietnia Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska. Systemy baz danych - wykład IX. dr inż.

Bazy Danych i Usługi Sieciowe

Administracja i programowanie pod Microsoft SQL Server 2000

Obiektowe bazy danych

Deklarowanie kursora. CURSOR nazwa [ ( param1 typ1 [,param2 typ2]... ) ] [RETURN typ zwracany] IS zapytanie SQL;

Bazy danych i usługi sieciowe

Przestrzenne bazy danych Podstawy języka SQL

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

PODSTAWY BAZ DANYCH 13. PL/SQL

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

SQL (ang. Structured Query Language)

Bazy danych. dr inż. Arkadiusz Mirakowski

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

Hurtownia Świętego Mikołaja projekt bazy danych

Administracja i programowanie pod Microsoft SQL Server 2000

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Bazy danych 10. SQL Widoki

Systemy GIS Tworzenie zapytań w bazach danych

W SQL Serwerze 2008 wprowadzono parametry tablicowe (Table Valued Parameters - TVP).

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

Wykład 05 Bazy danych

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

SQL 4 Structured Query Lenguage

Składowane procedury i funkcje

Autor: Joanna Karwowska

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

ACESS- zadania z wykorzystaniem poleceń SQL

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Widok Connections po utworzeniu połączenia. Obszar roboczy

Bazy danych 6. Klucze obce. P. F. Góra

Podstawy programowania. Podstawy C# Tablice

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Autor: Joanna Karwowska

Grupowanie i funkcje agregujące

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

I. Język manipulowania danymi - DML (Data Manipulation Language). Polecenia INSERT, UPDATE, DELETE

Bazy danych Język SQL część 1 Wykład dla studentów matem

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bloki anonimowe w PL/SQL

Bazy danych - Materiały do laboratoriów VIII

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Język SQL, zajęcia nr 2

Plan wykładu BAZY DANYCH II WYKŁAD 9. Dynamiczny SQL. Dynamiczny SQL

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

050 SQL ELEMENTY ZAAWANSOWANE. Prof. dr hab. Marek Wisła

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Bazy danych Język SQL część 2 Wykład dla studentów matem

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Program szkoleniowy Efektywni50+ Moduł IV Podstawy relacyjnych baz danych i język SQL

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Administracja i programowanie pod Microsoft SQL Server 2000

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Indeksowanie w bazach danych

Projektowanie systemów baz danych

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Podstawy technologii WWW

Bazy danych 6. Podzapytania i grupowanie. P. F. Góra

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Kurs. Podstawy MySQL

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Transkrypt:

Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Zawartość modułu 9 Kolekcje Operacje na kolekcjach Testowanie kolekcji Kolekcje w bazie danych Funkcje tabelaryczne Kolekcje wielopoziomowe - 2 -

Kolekcje Do kolekcji zaliczamy Tabele o zmiennym rozmiarze Tabele zagnieżdżone Charakterystyka kolekcji Tablice jednowymiarowe Numeracja elementów tablicy od 1 Rozmiar jest określony w przypadku tabel o zmiennym rozmiarze (ale rozmiar można zmienić) nieograniczony w przypadku tabel zagnieżdżonych - 3 -

Kolekcje Deklaracja tablic o zmiennym rozmiarze TYPE nazwa_typu IS {VARRAY VARYING ARRAY} (rozmiar) OF typ_danych [NOT NULL]; zmienna nazwa_typu; Deklaracja tablic zanieżdżonych TYPE nazwa IS TABLE OF typ [NOT NULL] zmienna nazwa_typu; - 4 -

Kolekcje Komentarz W definicji możemy korzystać z %type i %rowtype Typem danych może być inna tablica o zmiennym rozmiarze jak również tablica zagnieżdżona Kolejne elementy mogą być dodawane na końcu (poprzez odpowiednią metodę) Z tabeli zagnieżdżonej można usuwać elementy (poprzez odpowiednią metodę) - 5 -

Kolekcje Inicjalizowanie kolekcji tablica := nazwa_typu( el1, el2, el3,... ) Dostęp do elementów t(i) Klauzula not null Nie można w konstruktorze podawać wartości NULL - 6 -

Kolekcje Metody kolekcji EXISTS collection.exists(index) COUNT collection.count DELETE nested.delete nested.delete(index) nested.delete(start_index, end_index) - 7 -

Kolekcje Metody cd. FIRST collection.first LAST collection.last NEXT collection.next(index) PRIOR collection.prior(index) - 8 -

Kolekcje Metody cd. LIMIT collection.limit EXTEND collection.extend collection.extend(n) collection.extend(n, index) TRIM collection.trim collection.trim(n) - 9 -

Kolekcje Przykład: kolekcje-start.txt - 10 -

Operacje na kolekcjach Możemy wykonywać następujące operacje SET zwraca zbiór MULTISET UNION suma MULTISET INTERSECT przecięcie MULTISET EXCEPT różnica Możemy użyć dodatkowo słowa DISTINCT Operacje dotyczące tabel zagnieżdżonych Przykład: kolekcje-operacje.txt - 11 -

Testowanie kolecji Do testowania mamy operatory CARDINALITY ilość elementów MEMBER OF czy jest w kolekcji IS A SET czy jest zbiorem IS EMPTY czy pusty SUBMULTISET czy jest podzbiorem Operacje dotyczące tabel zagnieżdżonych Przykład: kolekcje-testowanie.txt - 12 -

Kolekcje w bazie danych W bazie danych możemy utworzyć typ reprezentujący tabele o zmiennej długości (VARRAY) tabelę zagnieżdżoną tabelę o kolumnie typu kolecji Definicja typu CREATE OR REPLACE TYPE nazwa IS VARRAY(rozmiar) OF typ_danych CREATE OR REPLACE TYPE nazwa IS TABLE OF typ_danych - 13 -

Kolekcje w bazie danych Składowanie tablic o zmiennym rozmiarze Tworzymy typ CREATE OR REPLACE TYPE num_list AS VARRAY(10) OF VARCHAR2(15); Tworzymy tabelę z kolumną o utworzonym typie CREATE TABLE ip_addr_list( List_ID INT PRIMARY KEY, ip_addresses num_list); Dane tablic są składowane wewnątrz tabeli Operacje DML obsługujemy standardowo - 14 -

Kolekcje w bazie danych Składowanie tablic o zmiennym rozmiarze Tworzymy typ CREATE OR REPLACE TYPE num_list AS TABLE OF VARCHAR2(15); Tworzymy tabelę z kolumną o utworzonym typie CREATE TABLE ip_addr_list(list_id INT PRIMARY KEY, ip_addresses num_list) NESTED TABLE ip_addresses STORE AS ip_addresses_tab Dane tablic są składowane w dodatkowo utworzonej tabeli Operacje DML obsługujemy standardowo - 15 -

Kolekcje w bazie danych Przykład: kolecje-skladowanie.txt - 16 -

Funkcje tabelaryczne Są to funkcje zwracające w wyniku tabele Powyższą funkcjonalność można zrealizować przy pomocy omawianych tablic, czyli tablic zmiennej długości (VARRAY) tablic zagnieżdżonych Najczęstsze zastosowanie to pobranie wyniku tabeli w instrukcji SELECT - 17 -

Funkcje tabelaryczne Etapy prowadzące do korzystania z wyniku funkcji tabelarycznej: Utworzenie typu (CREATE TYPE) Utworzenie odpowiedniej funkcji Wywołanie SELECT wraz z operatorem TABLE Przykład: kolekcje-funkcje.txt - 18 -

Kolekcje wielopoziomowe Można tworzyć kolekcje wielowymiarowe tworzymy po prostu kolekcję kolecji Dopuszczalne są dowolne kombinacje Przykład: kolekcje-wielopoziomowe.txt - 19 -