Forum www.polcz.fora.pl
pcz
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

zadania zaliczenie

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Zajęcia / Relacyjne i obiektowe bazy danych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Juro




Dołączył: 19 Paź 2008
Posty: 63
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Sob 11:08, 09 Cze 2012    Temat postu: zadania zaliczenie

Zadanie ze srednia arytmetyczna i ocenami
Kod:

--desc adepci;
--desc przedmioty;
--desc oceny;
/*
select dla_kogo from oceny where z_przedmiotu in
(select kod from przedmioty where przedmioty.nazwa like 'Systemy baz danych');
*/
--select kod from przedmioty where przedmioty.nazwa like 'Systemy baz danych';

/*
select * from adepci where indeks in (
select dla_kogo from oceny where z_przedmiotu in
(select kod from przedmioty where przedmioty.nazwa like 'Systemy baz danych'));
*/

/*
create or REPLACE type TYP_OCENA as object
(
Ocena number(3,1),
Przedmiot VARCHAR2(30)
)
*/

--create or replace type KOL_OCENY as TABLE of TYP_OCENA
/*
create or replace type TYP_ADEPT as object
(
 INDEKS number(5),
 NAZWISKO_IMIE VARCHAR(30),
 KIERUNEK VARCHAR(30),
 LISTA_OCEN KOL_OCENY,
 MEMBER FUNCTION SR_OCEN RETURN NUMBER
)
*/
/*
create or replace type body TYP_ADEPT as
MEMBER FUNCTION SR_OCEN RETURN NUMBER
IS
I NUMBER;
suma NUMBER:=0;
BEGIN
FOR I in 1..LISTA_OCEN.COUNT LOOP
 suma:=suma+LISTA_OCEN(I).OCENA;
END LOOP;
if LISTA_OCEN.COUNT>0 then RETURN suma/LISTA_OCEN.COUNT; ELSE return 0; end if;
end SR_OCEN;
end;
*/
/*
create or REPLACE view VIEW_ADEPCI of TYP_ADEPT
with object identifier(INDEKS)
as
select INDEKS,NAZWISKO_IMIE,KIERUNEK,cast(multiset(
select TYP_OCENA(o.OCENA,p.NAZWA) from oceny o join przedmioty p on
o.z_przedmiotu=p.kod where o.dla_kogo= a.indeks)
as KOL_OCENY)
from adepci a;
*/
 select a.INDEKS, a.nazwisko_imie, a.lista_ocen from view_adepci a
where a.SR_OCEN()>4;


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
pawmar




Dołączył: 27 Lut 2010
Posty: 50
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pon 12:31, 11 Cze 2012    Temat postu:

Zadanie z funkcją DO_ZAPLATY, obliczającą sumę za zakupione towary:

Kod:
CREATE OR REPLACE TYPE T_TOWAR AS OBJECT(
  NAZWA VARCHAR2(20),
  ILOSC NUMBER(3),
  CENA NUMBER(8,1)
);
/

CREATE OR REPLACE TYPE T_TOWARY AS TABLE OF T_TOWAR;
/

CREATE OR REPLACE TYPE LISTA_KLIENTOW AS OBJECT(
NIP VARCHAR2(5),
NAZWISKO VARCHAR2(25),
LISTA_TOWAROW T_TOWARY,
MEMBER FUNCTION DO_ZAPLATY RETURN NUMBER
);
/

CREATE OR REPLACE TYPE BODY LISTA_KLIENTOW AS
MEMBER FUNCTION DO_ZAPLATY RETURN NUMBER
IS
  I NUMBER;
  SUMA NUMBER := 0;
  BEGIN
    FOR I IN 1..LISTA_TOWAROW.COUNT LOOP
      SUMA := SUMA + LISTA_TOWAROW(I).ILOSC * LISTA_TOWAROW(I).CENA;
    END LOOP;
    RETURN SUMA;
  END DO_ZAPLATY;
END;
/

CREATE OR REPLACE VIEW VIEW_KLIENCI OF LISTA_KLIENTOW
WITH OBJECT IDENTIFIER(NIP)
AS
SELECT NIP, NAZWISKO, CAST(MULTISET(
SELECT T_TOWAR(F.TOWAR, F.ILOSC, F.CENA) FROM FAKTY_KUPNA F JOIN TOWAR T ON F.TOWAR=T.KOD WHERE F.KLIENT=K.NIP
)
AS T_TOWARY)
FROM KLIENCI K;
/


Kto pamięta niech napisze treść funkcji jakie mieliście do napisania. Pzdr


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Zajęcia / Relacyjne i obiektowe bazy danych Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin