Author Topic: Databázové systémy  (Read 70199 times)

Mike

  • Hero Member
  • *****
  • Posts: 634
    • View Profile
Re: Databázové systémy
« Reply #100 on: 31.03.2010, 14:17:31 »
Mal uz niekto cviko s Hrozekom ? Co dal na pisomku ? (4 body)

Peterray

  • Full Member
  • ***
  • Posts: 107
    • View Profile
Re: Databázové systémy
« Reply #101 on: 01.04.2010, 05:49:07 »
Tu to je s utorka:http://www.ulozisko.sk/276927/DSC00151.JPG

Mike

  • Hero Member
  • *****
  • Posts: 634
    • View Profile
Re: Databázové systémy
« Reply #102 on: 01.04.2010, 19:22:52 »
Hrozek stvrtok:

A
1. Zistite first_name a last_name tych zamestnancov, ktorych last_name zacina na S.
2. Zistite first_name tych zamestnancov, ktory nemaju managment_id.
3. Vypiste first_name, last_name salary tych zamestnancov ktorych plat je mnesi ako 3000. Vysledok zoradte podla salary.
4. Vypiste country_id country_name region_id tych krajin ktorych region_id je 4. Vysledok zoradte podla region_id.

B

nestihol som opisat, ale obdobne

PS: davajte si bacha na string, ten sa porovnava pomocou LIKE  ( nie pomocou "=" !!!)


dEVIANT

  • Hero Member
  • *****
  • Posts: 1311
  • Robím, čo môžem. Keď nerobím, nemôžem!
    • View Profile
Re: Databázové systémy
« Reply #103 on: 01.04.2010, 19:38:47 »
Doplňam B:

1.Vypíšte first_name, last_name, manager_id zamestnancov, ktorí majú manager_id medzi 123 a 145.
2.Vypíšte first_name, last_name zamestnancov, ktorí majú first_name _id Peter.
3.Výpíšte department_name, location_id ako "id oddelenia" kde id lokácie je 1700 usporiadané podľa department mena.
4.Vypíšte first_name, last_name, salary zamestnancov, ktorí majú department id.
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

timwood

  • Guest
Re: Databázové systémy
« Reply #104 on: 02.04.2010, 21:03:56 »
Hrozek stvrtok:

A
1. Zistite first_name a last_name tych zamestnancov, ktorych last_name zacina na S.
2. Zistite first_name tych zamestnancov, ktory nemaju managment_id.
3. Vypiste first_name, last_name salary tych zamestnancov ktorych plat je mnesi ako 3000. Vysledok zoradte podla salary.
4. Vypiste country_id country_name region_id tych krajin ktorych region_id je 4. Vysledok zoradte podla region_id.

B

nestihol som opisat, ale obdobne

PS: davajte si bacha na string, ten sa porovnava pomocou LIKE  ( nie pomocou "=" !!!)


pri tej ulohe 4, ako od vas mohol chciet zoradit vysledok podla region_id:)

Mike

  • Hero Member
  • *****
  • Posts: 634
    • View Profile
Re: Databázové systémy
« Reply #105 on: 02.04.2010, 22:04:34 »
j dik. tam ma byt daco ine, ale sak to neni problem tam napisat iny stplec  :)

timwood

  • Guest
Re: Databázové systémy
« Reply #106 on: 03.04.2010, 00:26:21 »
neviete ako ma vyzerat ta dokumentacia k zadaniu?..co tam ma byt..

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #107 on: 03.04.2010, 04:47:09 »
to ako ma vyzerat dokumentacia ku zadaniu,mas tam mat zdrojaky dokumentaciu systemovu aj pouzivatelsku a tak dalej, je to na moodli myslim info k zadaniu alobo predmetu

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #108 on: 03.04.2010, 04:49:54 »
ahojte nevie mi niekto poradit,ako mam vytvorit ten stlpec v tabeluke ked tam mat napriklad na vyber z moznosti ano a nie, potom na autoincrement mi voberc nefunguje ze AUTO_INCREMENT ani mi to nevezme ani year v DATE
tak ako mam potom urobit id co je typu autoincrement a potom rok ktory zobrazi aktualny rok/rok+1

tino8

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Databázové systémy
« Reply #109 on: 03.04.2010, 05:03:18 »
tak ano/nie tak ze na konci das
Code: [Select]
constraint blabla check (nazov_stlpca in('ano','nie')) na autoincrement sa da pouzit sequencia napr
Code: [Select]
CREATE SEQUENCE id_uc_gar
    MINVALUE 1
    START WITH 1
    INCREMENT BY 1
    CACHE 20;
potom hodnoty na mieste autoincrementu zadavas pomocou volania: id_uc_gar.nextval

a ten aktualny rok som este neriesil, ale nato pouzijem asi trigger


karamel je cukr co se uz neuzdravi!

timwood

  • Guest
Re: Databázové systémy
« Reply #110 on: 03.04.2010, 17:03:17 »
calys: o dokumentacii na moodli nic nie je:)

inak, ako riesite Master-detail pohlady?

tino8

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Databázové systémy
« Reply #111 on: 03.04.2010, 17:53:30 »
dobra otazka.

ja som si to predstavil tak: v zadani mam 3 tabulky (garant_predmetu, predmet, studijny_program). Master tabulka je tabulka predmet, a ak kliknem na niejktory riadok v tejto tabulke tak sa mi v detail tabulkach zobrazi podla foreign key info o garantovy predmetu, a o studijnych programoch.
Neviem ci to tak staci, ale zatial mam zrobene iba takto


karamel je cukr co se uz neuzdravi!

Luk1

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
Re: Databázové systémy
« Reply #112 on: 03.04.2010, 18:12:55 »
ahojte nevie mi niekto poradit,ako mam vytvorit ten stlpec v tabeluke ked tam mat napriklad na vyber z moznosti ano a nie, potom na autoincrement mi voberc nefunguje ze AUTO_INCREMENT ani mi to nevezme ani year v DATE
tak ako mam potom urobit id co je typu autoincrement a potom rok ktory zobrazi aktualny rok/rok+1
ten ak_rok som robil cez proceduru
« Last Edit: 03.04.2010, 18:31:47 by Luk1 »

Za slovensky narod bije mi srdce v hrudi.

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #113 on: 03.04.2010, 20:16:22 »
no to ako ma vyzerat dokumnetacia ku zadaniu je hned tam kde je prve cvicenie a v materialoch ku prvemu cviceniu, je tam vsetkych sedem bodov napisanych

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #114 on: 03.04.2010, 20:44:18 »
preco pri date nefunguje year?
a tie master pohlady si nastavis ked uz budes robit aplikaciu v netbeanse ak robis v jave, tam je tak ze ak vytvaras aplikaciu a zadas pripojenie na databazu da ti do ponuky vsetky mozne tabulky co v nej mas, a ty si vyberies tie ktore chces mat pre master pohlad

Luk1

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
Re: Databázové systémy
« Reply #115 on: 03.04.2010, 21:02:19 »
ten year si mozes vyselektovat z dual a ulozit do nejakej premennej
na jednom pdf z cvik je presne vybrany rok z datumu

Za slovensky narod bije mi srdce v hrudi.

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #116 on: 03.04.2010, 22:09:46 »
takze ak dam select etract(year from sysdate) from dual : to bude akoze *
a ked dam create ar replace trigger datum
               before insert on tabulka for each row
               begin
                  insert into new.datum values(*);
               end.

alebo ako?

Luk1

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
Re: Databázové systémy
« Reply #117 on: 03.04.2010, 22:45:49 »
ja to mam takto
create or replace procedure vlozsp
(nazov in varchar)
is
rok number;
sk number;
begin
SELECT EXTRACT(YEAR FROM sysdate) INTO rok FROM DUAL;
sk:=rok+1;
insert into stud_program values (id_ksp.nextval,nazov,rok||'/'||sk);
end;
a ked daco vkladam do tej tabulky studijne programy tak zadavam len nazov a potom volam tuto proceduru

Za slovensky narod bije mi srdce v hrudi.

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #118 on: 04.04.2010, 00:58:36 »
CREATE TABLE garant_predmetu (
   id_ucitela    NUMBER(3) PRIMARY KEY,
   meno      VARCHAR(15) NOT NULL,
   priezvisko   VARCHAR(30) NOT NULL,
   titul      VARCHAR(20),
   pracovisko   NUMBER (6) CONSTRAINT fk_gp REFERENCES pracov_kat(id_prac)
   );

CREATE SEQUENCE seq_garant START WITH 1 INCREMENT BY 1 NOMINVALUE;

CREATE OR REPLACE TRIGGER gar_inc
BEFORE INSERT ON garant_predmetu
FOR EACH ROW
BEGIN
     SELECT seq_garant.nextval INTO new.id_ucitela FROM dual;
END;

mne napriklad nechce zobrat ani tento trigger stale ked dam vlozit nejaku hodnotu mi vypise ze
SQL> INSERT INTO garant_predmetu(meno,priezvisko,titul,pracovisko) values('Tomas','Poklemba','Ing
3);
INSERT INTO garant_predmetu(meno,priezvisko,titul,pracovisko) values('Tomas','Poklemba','Ing.',3)
            *
ERROR v riadku 1:
ORA-04098: trigger 'bb777bb.GAR_INC' is invalid and failed re-validation

Luk1

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
Re: Databázové systémy
« Reply #119 on: 04.04.2010, 01:23:45 »
CREATE TABLE garant_predmetu (
   id_ucitela    NUMBER(3) PRIMARY KEY,
   meno      VARCHAR(15) NOT NULL,
   priezvisko   VARCHAR(30) NOT NULL,
   titul      VARCHAR(20),
   pracovisko   NUMBER (6) CONSTRAINT fk_gp REFERENCES pracov_kat(id_prac)
   );

CREATE SEQUENCE seq_garant START WITH 1 INCREMENT BY 1 NOMINVALUE;

CREATE OR REPLACE TRIGGER gar_inc
BEFORE INSERT ON garant_predmetu
FOR EACH ROW
BEGIN
     SELECT seq_garant.nextval INTO new.id_ucitela FROM dual;
END;

mne napriklad nechce zobrat ani tento trigger stale ked dam vlozit nejaku hodnotu mi vypise ze
SQL> INSERT INTO garant_predmetu(meno,priezvisko,titul,pracovisko) values('Tomas','Poklemba','Ing
3);
INSERT INTO garant_predmetu(meno,priezvisko,titul,pracovisko) values('Tomas','Poklemba','Ing.',3)
            *
ERROR v riadku 1:
ORA-04098: trigger 'bb777bb.GAR_INC' is invalid and failed re-validation
pred to new ma byt este aj :, ale aj tak neviem ci ti to pojde, a staci ked das do toho insertu ze values (seq_garant.nextval,...) nemusis mat na to triger

Za slovensky narod bije mi srdce v hrudi.

calys

  • Full Member
  • ***
  • Posts: 106
    • View Profile
Re: Databázové systémy
« Reply #120 on: 04.04.2010, 19:51:40 »
no to ano ja som len skusala si to vobec  pojde, lebo mne tie triggre a procedury vobec nefunguju a nehapem preco a treba tam nejaky mat :(
a diki ze toto oskusam to s tou dvojbodkou ci to pojde

timwood

  • Guest
Re: Databázové systémy
« Reply #121 on: 05.04.2010, 04:09:57 »
..ako riesite to QBE-prezeranie? ..mate to ako obycajne na pevno definovane pohlady, alebo to treba nejak interaktivne urobit..cez checkboxy alebo ako ..

Ing. nemtom

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7709
  • lofr dyslektik
    • View Profile
Re: Databázové systémy
« Reply #122 on: 05.04.2010, 07:13:41 »
interaktivne
brix will be shat

tino8

  • Hero Member
  • *****
  • Posts: 1093
    • View Profile
Re: Databázové systémy
« Reply #123 on: 05.04.2010, 14:03:34 »
tak asi cez textboxy. ze tam das textbox pre kazdy stlpec a na zaklade vstupu sa posklada select


karamel je cukr co se uz neuzdravi!

Luk1

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
Re: Databázové systémy
« Reply #124 on: 05.04.2010, 18:03:08 »
to ma byt vlastne vyhladavanie, nie ?

Za slovensky narod bije mi srdce v hrudi.