• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 
Menu

Zobrazi prspevky

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Zobrazi prspevky Menu

Messages - veteran

#326
2. ročník / Re: OS
06.04.2012, 19:07:07
Quote from: Rajo on  06.04.2012, 17:36:00
pošli zdrojak, vyskúšam :)
Ale mne to robí pri akomkoľvek zdrojáku :D
#327
2. ročník / Re: OS
06.04.2012, 16:12:43
Nezaznamenal niekto na hrone čosi takéto?

Dám skompilovať ľubovoľný .c súbor. Prvýkrát ho skompiluje, vytvorí .out súbor a všetko ide OK. Keď urobím nejakú úpravu, chcem skompilovať druhýkrát, vypíše len toto:

gcc: vfork: Resource temporarily unavailable

Odhlásim sa z PuTTY a keď sa znovu prihlásim, začne mi v pravidelných intervaloch naskakovať hláška:


-bash: fork: retry: Resource temporarily unavailable


Po čase sa to zastaví a ostane svietiť toto:
-bash-4.1$


What's wrong?  ???

#328
2. ročník / Re: DBS
04.04.2012, 01:25:07
Quote from: esperian on  04.04.2012, 00:53:331. do zatvorky k V piseme len vtedy ak mame viac stlpcov, alebo aj vtedy ak mame len jeden ?
Zátvorka nemusí byť len pri V, ale aj pri akomkoľvek MVx. ;)

Platí, že do zátvorky sa píšu názvy stĺpcov vtedy, ak je na pravej strane agregačná funkcia. A potom tú zátvorku opakuješ pri ďalších nasledujúcich MVx a na konci aj pri V.

Keď máš len jeden stĺpec, väčšinou nepíšeš nič. To sa stáva vtedy, keď máš len jednu agregačnú funkciu, ktorá je zároveň jediným stĺpcom na výpis.

Ak máš však vypísať len round(count(employee_id)), tak v RA ku V napíšeš zátvorku: V(round(pocet)) ← F COUNT employee_id (employees), hoci tam máš len jediný stĺpec.

Quote from: esperian on  04.04.2012, 00:53:332. department_id, job_id ktore je pred Fkom, je tam preto lebo je to group podla department_id, job_id ?
V podstate áno. Za GROUP BY píšeš všetky stĺpce zo SELECTu okrem agregačných. Agregačné funkcie (za Fkom) sa píšu na konci, aby boli od "neagragačných stĺpcov" oddelené. Ak to napíšeš opačne, vyzeralo by to tak, že ideš počítať COUNT aj department_id aj job_id


Quote from: esperian on  04.04.2012, 00:53:33
3. za Fko davam vsetky "stlpce" ale kedze department_id, job_id je uz red fkom, tak to tam uz dalsi krat nedavam ?
To Fko označuje, že za ním budeš definovať agregačné funkcie (COUNT, AVG, SUM, MAX, MIN a pod.). Nič viac.
#329
2. ročník / Re: DBS
02.04.2012, 19:24:08
Quote from: xxx3 on  02.04.2012, 19:14:42
este toto, dobre je takto? asi 11. uloha

select SUM(salary), department_id from hr.employees group by department_id;
V(sucet, department_id) ← F SUM salary, department_id (employees)
Skript OK. V RA treba department_id písať pred F, tam nemáš nijakú agg. funkciu. Teda:

V(sucet, department_id) ← department_id F SUM salary (employees)
#330
2. ročník / Re: DBS
02.04.2012, 18:58:04
Quote from: xxx3 on  02.04.2012, 17:55:25
no ja v tych vyriesenych prikladoch nevidim taky priklad kde by boli v jednom priklade pouzite dve funkcie  .. vsade je len po jednej ... kde tam vidis taky priklad ? .. tu je pouzite AVG aj COUNT .. ale v tych vzorovych je vsade len bud AVG alebo COUNT ... nikde nie su obe v jednom
8. cvičenie, príklady na cvičenie, príklad č. 5, strana 10/13
#331
2. ročník / Re: DBS
02.04.2012, 17:52:30
Quote from: xxx3 on  02.04.2012, 17:35:45
dik .. a je to zle ked tam je viackrat ?  .. ci je to jedno ?
Nvm či je to zle, ale čo sú vzorové príklady ku cvičeniam, tak tam je F len raz. Takže by som sa toho radšej držal ;)
#332
2. ročník / Re: DBS
02.04.2012, 17:15:31
Quote from: xxx3 on  02.04.2012, 17:05:51
toto mam dobre takto?

select AVG(salary), COUNT(*) "Total" from hr.employees where department_id=60;

MV1 ← sigma department_id=60 (employees)
V ← F AVG salary, F COUNT employee_id (MV1)
DDL skript je OK. V RA netreba písať pred každou agg. funkciou F. Stačí raz.
#333
2. ročník / Re: DBS
02.04.2012, 01:01:13
Quote from: Rajo on  02.04.2012, 00:54:31
select max(salary), round(avg(salary)) from hr.employees;

algebra bude:
V(max(salary),round(avg(salary)) ) <-- F MAX salary, AVG salary (employees)
alebo:
V(max(salary),round(priemer) ) <-- F MAX salary, AVG salary (employees)
alebo:
V(round(priemer) ) <-- F MAX salary, AVG salary (employees)
Ja by som dal

V(maximum,round(priemer)) <-- F MAX salary, AVG salary (employees)
#334
2. ročník / Re: DBS
01.04.2012, 20:41:31
Quote from: zaky on  01.04.2012, 20:35:11
7. select avg(salary) from hr.employees where department_id = 50;
MV1 ← σ department_id=50 (employees)
V   ← F AVG salary (MV1)

8. select department_id, avg(salary) from hr.employees
group by department_id
order by 2;
V(department_id, priemer) ← department_id F AVG salary (employees)

mam dotaz, ze preco v tom druhom je tam v tej zatvorke V( priemer) a v prvom nieje, resp. kedy sa to dava, pls skuste mi vysvetlit
to su vzorove riesene priklady z moodla
Ak sa nemýlim, tak je to preto, lebo v sedmičke pracuješ len s jedným stĺpcom. Teda do zátvorky nemusíš nič písať. Akonáhle robíš s viacerými stĺpcami, musíš to uviesť do zátvorky.
#335
O ničom / Re: Najebalo ma dnes
29.03.2012, 22:40:45
Quote from: tino8 on  29.03.2012, 22:14:10
tak to asi nechodis na mhd casto... uvediem jeden priklad: startuje o minutu skor ako ma, a aj ked vidi ze bezis, jednoducho zatvori predtebou dvere a odide
Keby len to. Mňa najviac rozčuľuje fajčenie vo vozidle. Teraz už je na to zákon, ale čo si pamätám, tak 7-8 rokov dozadu vodiči bežne fajčili za jazdy a vozom sa pekne krásne preháňala tabakovo-nikotínová dymová clona. Ale aj teraz sa stáva, že vodič je počas prestávky lenivý vyjsť von z vozu a zapáli si dnu.  am
#336
2. ročník / Re: OS
28.03.2012, 15:48:42
Quote from: xxx3 on  28.03.2012, 15:25:18
a teraz v piatok nie je OS prednaska, dobre viem ?
Dobre vieš  :) V piatok máme na programe Zámenu prednášok  ap DBS namiesto OS. A v pondelok opačne.
#337
2. ročník / Re: DBS
25.03.2012, 03:12:37
Quote from: Rajo on  25.03.2012, 02:35:42
Quote from: veteran on  24.03.2012, 03:17:19
Quote from: Rajo on  24.03.2012, 02:56:27
lenže ak si extractuješ mesiac napríkald zo sysdate tak ti vypíše "3" , nie "03" ...
select EXTRACT(MONTH FROM sysdate) from dual;
Problém je, že z extractu vieš vydolovať len jeden údaj :D

select to_char(sysdate,'YYYYfmMmfmDd') "Current Date"from dual;
:trestac:
No paráda  :hug: Tu teda asi nebudú vypísané všetky formáty  ;D
#338
2. ročník / Re: DBS
25.03.2012, 00:26:30
Quote from: xxx3 on  25.03.2012, 00:11:36
a ta dalsia uloha, mam toto: SQL>  SELECT employee_id,last_name, TRUNC(MONTHS_BETWEEN(SYSDATE, HIRE_DATE)) "MESIACE" from hr.employees WHERE XXX>200 order by "MESIACE" DESC;

co mam dat miesto XXX ? ... "MESIACE" to neberie

a dik za ten concat
"Mesiace" tam dať nemôžeš, pretože najskôr sa vykonáva klauzula WHERE a vtedy ešte nepoznáme kolónku "Mesiace" (v tom čase to meno ešte nemá)  ;) Za XXX dosaď to, čo neskôr pomenuvávaš ako "Mesiace", teda TRUNC(MONTHS_BETWEEN(SYSDATE, HIRE_DATE)). Nie je to síce pekné riešenie, ale funguje. Krajšie sa to dá urobiť jedine cez two-level select-y (IMHO zbytočná robota).
#339
2. ročník / Re: DBS
25.03.2012, 00:07:58
Quote from: xxx3 on  25.03.2012, 00:02:03
jak spravim toto: 5. Ohraničte last_name spredu aj zozadu symbolom * ?

LPAD a RPAD su na doplnenie, lenze tam treba zadat dlzku, aku maju mat vsetky retazce a zvysok mi doplni hviezdickami ...
Dáš funkciu concat do funkcie concat (najprv hviezdička z jednej strany, potom z druhej).
#340
2. ročník / Re: DBS
24.03.2012, 03:17:19
Quote from: Rajo on  24.03.2012, 02:56:27
lenže ak si extractuješ mesiac napríkald zo sysdate tak ti vypíše "3" , nie "03" ...
select EXTRACT(MONTH FROM sysdate) from dual;
Problém je, že z extractu vieš vydolovať len jeden údaj :D
#341
2. ročník / Re: DBS
23.03.2012, 21:51:36
Quote from: Rajo on  23.03.2012, 15:47:08
lebo ja som to riešil tak, že mi to píše v tvare "YYYYMMDD" čiže pre dnešny dátum by mi vypisalo "20120323" ... a ona nulu nemá vo výsledku, vadí to? :D alebo ako to ona riešila?
AFAIK, v Oracli existuje len jedna číselná reprezentácia mesiaca a to MM (no a ptm ešte RM, rímske čísla). Aj mne to píše 03, ale myslím, že je to OK.
#342
2. ročník / Re: DBS
22.03.2012, 23:00:39
Quote from: esperian on  22.03.2012, 22:51:57
cv6 - 6. uloha mate to tak ako vo vysledkoch ??
Ja mám o jeden výsledok viac (16). Ten posledný už (pre dnešný deň) pracuje viac ako 200 mesiacov (200 mesiacov a 9 dní).
#343
2. ročník / Re: OS
22.03.2012, 22:02:47
Do kedy treba odovzdať domáce úlohy z 5. cvičenia (2012-W05-Procesy)? V Moodli nie je žiadne odovzdávanie sprístupnené.  ???
#344
2. ročník / Re: DBS
21.03.2012, 00:39:59
Quote from: maros67 on  21.03.2012, 00:03:52
Ako uplne odstranim tabulku?? myslim tym aj tie haky baky co tam ostanu ked dam select * from cat; ?
purge recyclebin;
#345
2. ročník / Re: DBS
20.03.2012, 01:41:32
Quote from: xxx3 on  20.03.2012, 01:37:10
... ale tak radsej davam vsade nasjkor podmienku a potom vyberanie ... tak to nemoze byt zle, snad
Existujú určite prípady, kedy je to oveľa výhodnejšie písať opačne (nič konkrétne mi ale nenapadá :D). Ale nemyslím, že sa dá niečo pokaziť tým, že sa to napíše "štandardne" (PROJECT stĺpce (SELECT podmienky)).

Takto vyzerá štandardné mapovanie selekcie a projekcie:
#346
2. ročník / Re: DBS
20.03.2012, 01:34:09
Quote from: xxx3 on  20.03.2012, 00:14:28
nie ? A kedy je to ako ? ... nie je jedno ci naskor vyberiem stlpce z tabulky ktore mi treba a potom z nich povyberam len tie raidky, ktore splnaju pomienku ... alebo ci najskor vyberiem vsetky raidky splnajuce podmienku a potom z niych vyberiem len tie stlpce ktore potrebujem vypisat ?

vysledok je rovnaky, nie ?
A čo v prípade, ak máš vypísať len také stĺpce, ktorých sa netýka podmienka?  ;) Dajme tomu, že máš vybrať first_name a last_name, ale podmienka sa týka napr. hire_date. Ty si najprv vyberieš všetky riadky z tabuľky, ale v nich len stĺpce first_name a last_name. Ako z tohto výberu potom určíš, či je splnená daná podmienka pre hire_date? Nijak. Musíš to urobiť presne opačne. Najprv otestovať podmienku a z riadkov, ktoré ju spĺňajú povyberať tie stĺpce, ktoré treba.
#347
2. ročník / Re: DBS
20.03.2012, 00:10:43
Quote from: xxx3 on  19.03.2012, 23:53:09
ok, dakujem ... a este toto, ze ked pisem tu relacnu algebru tak je jedno ci naskor vyberiem stlpce cez "PI" a az potom robim tu podmienku alebo opacne ?
Nie je to jedno.
#348
2. ročník / Re: DBS
19.03.2012, 23:42:30
Quote from: xxx3 on  19.03.2012, 23:39:31
a este s tymto by som potreboval pomoct: 11. Vypíšte spz áut, ktorým boli poskytnuté služby. Duplicity vylúčte.

Ako vylucim duplicity ?
SELECT UNIQUE alebo SELECT DISTINCT. Ak si old-school, tak použi to prvé, ak chceš ísť podľa najnovších Oracle trendov, použi to druhé  ;D Sú to ekvivalentné príkazy  ;)
#349
2. ročník / Re: DBS
19.03.2012, 23:23:19
Quote from: xxx3 on  19.03.2012, 23:14:27
6. uloha: Zistite first_name, last_name zamestnancov, ktorí nie sú v žiadnom oddelení. Pre kontrolu vypíšte aj id oddelenia.

som dal:  select first_name, last_name, department_id from hr.employees where department_id is null;

a mi dalo len jeden riadok ... vo vysledkoch je, ze ma byt 72 raidkov .... co mam zle ?
Mám pocit, že chyba bude vo výsledkoch. Keď si dám vypísať všetkých zamestnancov (select first_name, last_name, department_id from hr.employees), tak NULL pri department_id má len jeden (Grant Kimbereley).

// EDIT: Inak, IMO je chyba aj pri 6. cvičení v 12. úlohe (má byť 11 výsledkov, v skutočnosti je ich ale až 16).
#350
2. ročník / Re: DBS
19.03.2012, 22:57:19
Quote from: xxx3 on  19.03.2012, 22:52:24
dik .. a do toho zapisu relacnej algebry sa nezapisuje to order by nijak ?
Zapisuje sa, ale na prednáške to nebolo, takže som to nepísal.  ;)