• 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

#376
O ničom / Re: VTIPY A FLIPY
03.03.2012, 21:17:11
Fakt nekonečný príbeh...
#377
2. ročník / Re: OS
03.03.2012, 18:38:40
Quote from: xxx3 on  03.03.2012, 18:33:05
vracia nulu :D
Wow, no to je teda odpoveď... Napísal som tam 0, nula, zero - nedobre, "vraca nulu" - dobre  :ohmygod:

Každopádne, dík  ;)
#378
2. ročník / Re: OS
03.03.2012, 18:01:03
Tuší niekto, čo má byť v otázke 27?

QuoteUveďte význam (sémantiku) návratovej hodnoty služby chmod() pri úspešnom vykonaní služby (viď sekcia RETURN VALUE manulálovej stránky man 2 chmod)

// Edit: detto u otázky 36 (služba chown())
#379
Quote from: BlackBerry on  02.03.2012, 14:09:17
Quote from: totaluser on  02.03.2012, 13:50:33
Nazdar,
Bol niekto skúsiť kúpiť v piatok, keďže Daňo na prednáške vravel, že od piatka do utorka sa to tam bude dat kúpiť.

Dík
8.30 uz vsetko vypredane bolo :)
Stačilo tam v pondelok zavolať a jeden kus si zarezervovať  :P
#380
2. ročník / Re: OS
01.03.2012, 15:10:02
Quote from: Tren on  01.03.2012, 15:04:20
bude prednaska teraz v piatok? alebo budu 2x siete?
Keď som správne pochopil, len predbežne zisťoval, či budú môcť prísť všetci na tie double-prednášky. Takže zajtra by malo byť všetko normálne, ako je v rozvrhu.
#381
2. ročník / Re: OS
01.03.2012, 12:42:26
Quote2. Overte/preukážte, či v originálnom a zduplikovanom kanáli (deskriptore súboru) sa hodnota súborového kurzora (file position) mení súčasne v oboch kanáloch.

Rozumiem tomu správne? Máme des1 = open("subor.txt", O_RDONLY);, ktorý zduplikujeme do des2 = dup(des1); Potom do subor.txt niečo zapíšeme a máme zistiť či sa kurzor posunul aj v des1, aj v des2?
#382
O ničom / Re: Spam - @student.tuke.sk
01.03.2012, 11:50:23
Quote from: Marek_Baranica on  01.03.2012, 11:22:55
dalsi spam od stud. org.
dnes dokonca so zlou gramatikou

QuotePopoludnie z Red Hatom

OMFG  :ohmygod:
#383
2. ročník / Re: DBS
28.02.2012, 19:18:34
Quote from: esperian on  28.02.2012, 19:12:33
niekto kto sa rozumie do tej autoopravovne ?? potreboval by som skontrolovat to co som spravil  :)
šup do PM  ;)

edit// nz  ;)
#384
2. ročník / Re: DBS
28.02.2012, 17:33:48
Quote from: Domino_666 on  28.02.2012, 14:59:59
dá sa nejako aspoň čiastočne zrýchliť INSERT viacerých riadkov? Syntax z MySQL mi nefunguje a pre tento krát som to vložil všetko ako ťulpas manuálne, ale ak existuje elegentnejšie riešenie v oracli, rád sa to naučím...
Syntax z MySQL je super, v Oracli je niečo takéto:

insert all
into tablename values (......)
into tablename values (......)
.......
select * from dual;


Takže veľa znakov neušetríš :D

Problém ale nastáva, keď musíš použiť sekvenciu. Predošlý príklad sa v takom prípade použiť nedá. Treba urobiť čosi také:

insert into tablename(id,col2,col3)
      select sequencename, inner_view.*
      from (select 'value_for_col2','value_for_col3' someval from dual union all
            select 'value_for_col2','value_for_col3' someval from dual union all
            .......................................
            select 'value_for_col2','value_for_col3' someval from dual)
inner_view;


Na môj vkus trošku komplikované...
#385
2. ročník / Re: DBS
27.02.2012, 19:45:46
Quote from: zaky on  27.02.2012, 19:20:28
hodnoty v stĺpci evc sú autoincrement
najprv som si vytvoril sekvenciu s_evc start with 1 increment by 1
a teraz si vytvaram tabulku a pre evc mam podla zadania
evc number(6) primary key xxx
ale ma to byt autoincrement, co este mam dopisat namiesto xxx
Nič také ako auto increment tam nemôžeš napísať. Oracle by ti vyhodilo hlášku ORA-00907: missing right parenthesis.

Na auto increment máš práve tú sekvenciu. Do definície tabuľky netreba vpisovať nič. Keď budeš vkladať riadky do tejto tabuľky, potom zavoláš sekvenciu cez s_evc.nextVal. Do evc ti to vloží jednotku a aktuálnu hodnotu sekvencie (s_evc.currVal) inkrementne o 1 (na dvojku). Pri vkladaní ďalšieho riadku do tabuľky bude do evc vložená dvojka a hodnota sekvencie sa inkrementne na trojku.

AUTO_INCREMENT sa do definície tabuľky píše v MySQL. Oracle na to má sekvencie... V MySQL by definícia tabuľky zamestnanec vyzerala asi takto:
CREATE TABLE zamestnanec (
     evc int(6) NOT NULL AUTO_INCREMENT,
     ..................
     PRIMARY KEY (evc)
) ENGINE=MyISAM;
#386
2. ročník / Re: OS
26.02.2012, 20:53:05
Quote from: razer08 on  26.02.2012, 20:42:13
mna by zaujalo,ze ako ste riesili ulohu 7...citanie block by block
V podstate rovnako, ako šestku, akurát, že buffer nie je char, ale pole char-ov s veľkosťou buffer_size.
#387
Quote from: totaluser on  26.02.2012, 19:28:35
Quote from: Tren on  14.02.2012, 22:03:56
v equlibrii bude , tam kde aj ML bolo

nazdar,
to je tam na Postovej ulici?
lebo ja som ML nekupoval, tak neviem kam mam ist po tu knihu ked uz bude v predaji.

dik
Hej, je to Poštová 13 - dom s dosť ošarpanou omietkou. Treba zazvoniť, pustia ťa dnu. Prejdeš cez dvorový priechod až celkom na dvor - predajňa je napravo.
#388
2. ročník / Re: OS
26.02.2012, 18:22:43
Quote from: xxx3 on  26.02.2012, 18:18:18
A ako to vyskusam na kopirovani pomocou presmerovania nevies ?

Toto tiež neviem, že ako je myslené   bk

Kdesi som objavil, že presmerovanie vyzerá takto:
$ cat subor6.txt > subor6a.txt

Toto skopíruje jeden súbor do druhého. Ale nemá to nič s Céčkovým programom.
#389
2. ročník / Re: OS
26.02.2012, 18:10:18
Quote from: xxx3 on  26.02.2012, 17:58:44
ta 6. uloha ma byt srpavena tak, ze zadam napr. ./a.out prvysubor.txt druhysubor.txt    ... a skopiruje mi to obsah prveho suboru do druheho ? Dobre rozumiem tej ulohe ?
Ja som si najprv myslel, že to má pracovať len so vstupom ako so súborom. Ale vyzerá to tak, že by to malo fungovať tak, ako píšeš.
#390
2. ročník / Re: OS
26.02.2012, 14:19:52
Quote from: xxx3 on  26.02.2012, 14:07:44
Quote from: veteran on  26.02.2012, 13:47:18
Mne prihlasovanie ide, ale asi 2 dni dozadu mi po prihlásení do Putty vypisovalo, že Your login will expire in 1 day - alebo čosi podobné. Zmenil som si heslo a už to nepíše :D Ale čo to bolo a prečo to písalo, neviem  ???

pisalo to prave preto, ze bolo potrebe si zmenit heslo :D ... mne to povedal pan Popovec ked som si bol dat spravit ucet
Jááj, no to mi nepovedal :D
#391
2. ročník / Re: OS
26.02.2012, 13:47:18
Quote from: Tren on  26.02.2012, 13:44:43
Quote from: veteran on  26.02.2012, 13:40:18
A otázka 67? Už som tam vpísal všetky možné štruktúry, ale nič mi nezobralo :(
inode
Dík ;)

Quote from: mino on  26.02.2012, 13:42:33
Funguje vam vsetkym prihlasovanie na hron? Ja som bol minuly tyzden za tym clovekom, co dava loginy, ale ked sa prihlasujem pomocou "ssh hron.fei.tuke.sk -luser", tak mi vypise: "ssh_exchange_identification: Connection closed by remote host", pred tym mi vypisovalo nieco ine, ze zle meno/heslo... Je mozne, ze som dostal login na nieco ine, ako hron? :D Lebo on sa ma nic nepytal, len mi povedal, aby som prilozil ISIC a ukazal mi na obrazovke meno a heslo... Ale teraz mam taky pocit, ze to nebude ono... ci? :D
Mne prihlasovanie ide, ale asi 2 dni dozadu mi po prihlásení do Putty vypisovalo, že Your login will expire in 1 day - alebo čosi podobné. Zmenil som si heslo a už to nepíše :D Ale čo to bolo a prečo to písalo, neviem  ???
#392
2. ročník / Re: OS
26.02.2012, 13:40:18
A otázka 67? Už som tam vpísal všetky možné štruktúry, ale nič mi nezobralo :(
#393
2. ročník / Re: DBS
26.02.2012, 13:36:40
Quote from: RiTChi on  26.02.2012, 13:00:48
Yeah! ^^ Vdaka veteran, normalne sa oplatilo byt za blbeho a opytat sa :D
nz  :) Radšej sa spýtať a byť blbý raz, ako sa nespýtať a byť blbý navždy  ;)

Quote from: xxx3 on  26.02.2012, 13:24:29
a toto, veteran ... ked je podmienka, ze hodnota v stĺpci cena_sluzby je vždy väčšia ako 0

tak to dam len na koniec tabulky ze CHECK (cena_sluzby>0)  ?  .. elbo niekde som nasiel tak podobnu podmienku, ze constraint cena_sluzby_check CHECK (cena_sluzby>0) ...
Más zrejme na mysli dopyt:
alter table sluzba add constraint cena_sluzby_check CHECK (cena_sluzby>0);

Toto použiješ, keď si CHECK nenastavil pri prvotnej definícii tabuľky. Prípadne, keď potrebuješ zmeniť nejakú podmienku, resp.  nejakú pridať, odobrať a pod.  ;) Volá sa to Out-of-line constraint - integritné obmedzenie vložené do definície tabuľky.
#394
2. ročník / Re: DBS
26.02.2012, 12:24:00
Quote from: xxx3 on  26.02.2012, 11:58:52
sekvencia je na to inkrementovanie, hej ?
Áno. V MySQLku je to lepšie, tam je auto_increment číslo uložené priamo v tabuľke a vôbec sa oňho nestaráš. V Oracle DB si urobíš sekvenciu a potom pri vkladaní údajov do tabuľky ju zavoláš (s_kod_sluzby.NEXTVAL), aby ti inkrementla hodnotu a vložila ju do príslušného stĺpca.

Quote from: xxx3 on  26.02.2012, 11:58:52A vztahy nemaju nic spolocne so sekvenciou, ci?
Nemyslím, žeby to spolu nejako súviselo.

Foreign keys slúžia na to, aby databáza vedela dať do súvisu údaje. Napr.: v tabuľke auto máme poznamenanú ŠPZku. Je to PRIMARY KEY - nechceme, aby sme mali v tejto tabuľke nejaké auto dvakrát. ŠPZku máme aj v tabuľke asz. ŠPZ v tabuľke auto je "parent" a ŠPZ v tabuľke asz "child". Na základe tohto vzťahu si vieme zistiť, že auto s nejakou ŠPZkou malo toho a toho dňa takú a takú opravu. Pomocou ďalších vzťahov, ktoré sú v tej schéme predpísané vieme zistiť aj koľko tá oprava stála a kto túto zákazku prijal. To všetko sa dá vypísať do jednej peknej tabuľky pomocou príkazov JOIN, INNER JOIN, LEFT JOIN (ešte o nich bude reč na cvičeniach).

Existujú tri druhy vzťahov - 1:1, 1:n a m:n.

Popíšem na príkladoch.
Vzťah 1:1 - to je napr. vzťah muž:žena. V našej kultúre je zrejmé, že jedna žena má len jedného muža a naopak. Dá sa to aplikovať aj na školu - teda napr. učiteľ je/môže byť triedny len jednej triede a opačne - nejaká trieda má len jedného triedneho učiteľa.
Vzťah 1:n - to je prípad nášho autoservisu na všetkých troch vzťahoch. Jedno auto môže mať v db zapísaných viacero opráv. Jeden zamestnanec môže mať v db zapísaných viacero prijatých zákaziek (no však bodaj by aj nie, ináč by taký autoservis veľmi rýchlo skrachoval  ;D).
Vzťah m:n - toto je prípad vzťahu viac:viac. Teda napr. v škole - každý učiteľ učí veľa žiakov a každý jeden žiak chodí na rôzne hodiny ku viacerým učiteľom.

Sekvencie slúžia čisto len na inkrementáciu hodnôt pri vkladaní údajov do tabuliek.

Heh, som sa nejako rozpísal, tak snáď to niekto dočíta do konca  ;D
#395
2. ročník / Re: DBS
26.02.2012, 11:34:04
Primary key

To je nejaký primárny kľúč tabuľky, teda stĺpec tabuľky, kde v každom riadku bude jedinečný údaj. V tabuľke sluzba to je stĺpec evc. Každá zákazka/služba bude mať svoje vlastné evidenčné číslo.

Alebo iný príklad. Predstav si db na matrike. Každý človek dostane po narodení svoje rodné číslo, ktoré je jedinečné. Neexistujú dvaja ľudia s rovnakým RČ. Teda v db na matrike je nejaký stĺpec rodne_cislo a je na 100% nastavený ako primary_key. Ak by sme sa tam pokúsili vložiť človeka s rodným číslom, ktoré je už obsadené, vypísalo by to chybu Duplicate entry '......' for key 'PRIMARY' (resp. niečo podobné - toto je hláška z MySQL. Oracle má možno inú. Môžeš si to skúsiť na svojej databáze a uvidíš, čo to bude hlásiť :))

EDIT: No, takže Oracle hádže pri duplicite niečo takéto:
ERROR v riadku 1:
ORA-00001: unique constraint (TvojLogin.SYS_C00243949) violated


Viac o tejto chybe: http://www.dba-oracle.com/sf_ora_00001_unique_constraint_violated.htm
#396
2. ročník / Re: DBS
26.02.2012, 11:29:19
Quote from: RiTChi on  26.02.2012, 11:17:06
Odkial vlastne databaza vie, ktory stlpec inkrementovat? Podla PRIMARY KEY? Asi tomu nerozumiem celkom dobre.

Databáza to vie podľa sekvencie, ktorú si nastavíš. V našom prípade:

Máme tabuľku sluzba:
create table sluzba(
   kod_sluzby .......................,
   nazov_sluzby .......................,
   cena_sluzby .......................,
   ..............................................
);


a sekvenciu:
create sequence s_kod_sluzby
   start with 1
   increment by 1;


Teda, máme vytvorenú tabuľku, zatiaľ v nej nie sú žiadne údaje. Skúsime ich tam vložiť (INSERT budeme riešiť tento týždeň):
insert into sluzba(kod_sluzby,nazov_sluzby,cena_sluzby) values(
s_kod_sluzby.NEXTVAL,
'vymena oleja',
86.99);


A pozrime si výstup:
select * from sluzba;
Quote
KOD_SLUZBY NAZOV_SLUZBY         CENA_SLUZBY
---------- -------------------- -----------
         1 vymena oleja               86,99

Databáza zistila, že v tabuľke nemáme nič. V sekvencii máme nastavené, že začíname od jednotky (start with 1). Teraz vložme druhý údaj (druhú zákazku/službu):
insert into sluzba(kod_sluzby,nazov_sluzby,cena_sluzby) values(
s_kod_sluzby.NEXTVAL,
'vymena pneu',
45.26);


A checknime výstup:
select * from sluzba;
QuoteKOD_SLUZBY NAZOV_SLUZBY         CENA_SLUZBY
---------- -------------------- -----------
         2 vymena pneu                45,26
         1 vymena oleja               86,99

Databáza zistila, že v tabuľke máme zákazku s ev. č. 1 a keďže v sekvencii máme nastavené inkrementovanie po jednej, tak ďalšiemu riadku tabuľky (zákazke/službe) priradí dvojku.

O primary key napíšem do ďalšieho príspevku.
#397
2. ročník / Re: DBS
26.02.2012, 10:16:13
Quote from: Rajo on  25.02.2012, 23:30:56
Quote from: Tux on  25.02.2012, 23:21:16
Quote from: Rajo on  25.02.2012, 23:20:25
Tabuľka sluzba
· hodnoty v stĺpci kod_sluzby sú autoincrement

create sequence s_sluzba ... alebo s_kod_sluzby ? názov tabulky alebo názov stĺpca ?

create sequence s_kod_sluzby.

určite ? na cviku sme robili nejake tabulky so sekvenciou a dali sme s_nazov_tabulky ...nie názov stĺpca :) ale keď stĺpec tak stĺpec :P
V podstate to máš jedno, ako si to pomenuješ. Keď budeš vkladať hodnoty to tabuľky, vložíš len volanie sekvencie s_evc.NEXTVAL. Mne to viac pasuje, keď má sekvencia rovnaké meno ako príslušný stĺpec tabuľky. Ale každý má iný vkus  ;) Tabuľka môže mať aj tak len jeden stĺpec s autoincrementom (ale dá sa to obísť).
#398
2. ročník / Re: DBS
25.02.2012, 17:44:11
Quote from: xxx3 on  25.02.2012, 17:07:09
nam Lalova hovorila, ze nemame nic na domacu ulohu ...
Jak vám fajne  ;D
#399
2. ročník / Re: DBS
25.02.2012, 15:28:35
Quote from: bEnd3r on  25.02.2012, 15:23:29
prepokladam ze tam len nahadzem prikazy ktore som pouzil na vytvorenie tabuliek, tak?
:thumbs-up:
#400
2. ročník / Re: OS
25.02.2012, 15:28:13
Quote from: esperian on  25.02.2012, 12:42:04
nevedel by niekto pomoct s 8 ulohou ??ako na to
No to by aj mňa zaujímalo. Ak som správne pochopil šestku a sedmičku, ide len o skopírovanie vstupu z klávesnice. Tu sa o tom čosi píše:
QuoteMozno, ze ste si uz vsimli, ze praca so subormi sa velmi nelisi od prace s obrazovkou a klavesnicou. Tento priebeh je spravny. C totiz v skutocnosti pracuje s klavesnicou a obrazovkou ako so suborom. V subore stdio.h su definovane dva konstantne pointery, ktore predstavuju dva subory, otvorene operacnym systemom pri spusteni programu. Su to:

FILE *stdin;
FILE *stdout;


Keď dám príkaz $ time ./a.out, tak mi to meria čas od potvrdenia príkazu, teda sa meria aj čas, ktorý mi trvá napísanie (pastnutie) vstupu. :( >:(