Zapoctovy test 4. 2. [14:00]
-
- Matfyz(ák|ačka) level I
- Příspěvky: 45
- Registrován: 20. 2. 2008 22:41
- Typ studia: Informatika Bc.
- Login do SIS: drabm7am
- Bydliště: Praha
- Kontaktovat uživatele:
Zapoctovy test 4. 2. [14:00]
Zdravím,
Tak odpoledne se pokračovalo ve vytváření databázového engine, na pořadu byly dotazy INSERT, DELETE, CREATE TABLE, DROP TABLE. Přičemž bylo spoustu omezní:
+ Sloupce byly pouze řetězcového typu
+ Podmínka u EELETE byla jenom sloupec="hodnota".
CREATE TABLE <table_name> (...,....)
DROP TABLE <table_name>
INSERT INTO <table_name> VALUES (...,...,...)
DELETE FROM <table_name> WHERE sloupec="hodnota"
Toto byly všechny formátu dotazů, které to mělo umět přijímat. Samozřejmě to nesmělo spadnout na nekorektním vstupu.
Přišlo mi to jako úkol celkem v pohodě - až na to, že jsem to neudělal... chybělo mi tak 10 řádků kódu (max. 20) a myslím, že bych prošel. Nestihl jsem dodělat DELETE.
Docela by mě zajímalo, kolik z nás to dnes odpoledne dalo...
Omlouvám se za zmatečnost příspěvku, ale nemám moc náladu něco uspořádávat do rozumných vět, odstavců a formulací...
Tak odpoledne se pokračovalo ve vytváření databázového engine, na pořadu byly dotazy INSERT, DELETE, CREATE TABLE, DROP TABLE. Přičemž bylo spoustu omezní:
+ Sloupce byly pouze řetězcového typu
+ Podmínka u EELETE byla jenom sloupec="hodnota".
CREATE TABLE <table_name> (...,....)
DROP TABLE <table_name>
INSERT INTO <table_name> VALUES (...,...,...)
DELETE FROM <table_name> WHERE sloupec="hodnota"
Toto byly všechny formátu dotazů, které to mělo umět přijímat. Samozřejmě to nesmělo spadnout na nekorektním vstupu.
Přišlo mi to jako úkol celkem v pohodě - až na to, že jsem to neudělal... chybělo mi tak 10 řádků kódu (max. 20) a myslím, že bych prošel. Nestihl jsem dodělat DELETE.
Docela by mě zajímalo, kolik z nás to dnes odpoledne dalo...
Omlouvám se za zmatečnost příspěvku, ale nemám moc náladu něco uspořádávat do rozumných vět, odstavců a formulací...
- adam
- Matfyz(ák|ačka) level I
- Příspěvky: 31
- Registrován: 10. 1. 2007 12:36
- Typ studia: Informatika Mgr.
- Kontaktovat uživatele:
Re: Zapoctovy test 4. 2. [14:00]
Tak to si můžeme podat ruku. Mně taky chybělo dopsat DELETE. Už jsem měl i kontrolu že sloupec z WHERE v tabulce je a načtení odpovídajícího indexu, načtení řádků z tabulky a jejich zápis zpět do souboru. Takže jen projít ty řádky pole podle podmínky a promazat.
Podle příspěvku v sousedním vlákně měla dopolední skupina údajně čtyři hodiny. (Ale třeba to jejich zadání bylo náročnější, nedokážu to porovnat.)
Podle příspěvku v sousedním vlákně měla dopolední skupina údajně čtyři hodiny. (Ale třeba to jejich zadání bylo náročnější, nedokážu to porovnat.)
-
- Matfyz(ák|ačka) level I
- Příspěvky: 4
- Registrován: 14. 1. 2008 17:15
- Typ studia: Informatika Bc.
Re: Zapoctovy test 4. 2. [14:00]
Pokud by to někoho zajímalo, tak moje řešení je příloze. IMHO byl test jednoduchý, odcházel jsem (myslím jako první) asi hodinu a půl po začátku. Ostatní testy mi přišly těžší, i když jsem je, pravda, nezkoušel programovat.
- Přílohy
-
- ZapoctakDB.zip
- (2.13 KiB) Staženo 395 x
-
- Matfyz(ák|ačka) level I
- Příspěvky: 45
- Registrován: 20. 2. 2008 22:41
- Typ studia: Informatika Bc.
- Login do SIS: drabm7am
- Bydliště: Praha
- Kontaktovat uživatele:
Re: Zapoctovy test 4. 2. [14:00]
IMHO to těžké nebylo, jen mi ten čas nějak nevyšel... holt v Javě jsem se ještě tolik nerozprogramoval...
- Ellrohir
- Matfyz(ák|ačka) level III
- Příspěvky: 140
- Registrován: 21. 12. 2007 13:29
- Typ studia: Informatika Bc.
- Login do SIS: secka7am
- Bydliště: Praha
- Kontaktovat uživatele:
Re: Zapoctovy test 4. 2. [14:00]
no teda možná se pletu a na nějakou zákeřnost bych dojel taky, ale aspoň bych u tohohle věděl, co se po mě chce, což se o dopoledním joinování tabulek v SELECTu říct nedá to mě utvrzuje v domění, že se na mě prostě tenhle tejden lepí akorát smůla resp. už dlouhodobě, protože jestli půjdu dneska ráno nebo odpoledne jsem si vybíral sotva se termíny objevily...
-
- Matfyz(ák|ačka) level III
- Příspěvky: 209
- Registrován: 2. 12. 2007 19:51
- Typ studia: Informatika Mgr.
- Bydliště: Praha 4
Re: Zapoctovy test 4. 2. [14:00]
Ono to vypadalo dost snadné.. Nic úplně zákeřného tam nebylo.. Jen nějak k úspěšnému delete došel málokdo.. A snad každý kdo nedokončil měl dojem, že ještě pět, deset, patnáct minut a měl by to..Ellrohir píše:no teda možná se pletu a na nějakou zákeřnost bych dojel taky, ale aspoň bych u tohohle věděl, co se po mě chce, což se o dopoledním joinování tabulek v SELECTu říct nedá to mě utvrzuje v domění, že se na mě prostě tenhle tejden lepí akorát smůla resp. už dlouhodobě, protože jestli půjdu dneska ráno nebo odpoledne jsem si vybíral sotva se termíny objevily...
- Donarus
- Matfyz(ák|ačka) level III
- Příspěvky: 194
- Registrován: 30. 9. 2007 12:40
- Typ studia: Informatika Mgr.
- Login do SIS: palut7am
Re: Zapoctovy test 4. 2. [14:00]
taky mi chybelo 10-20 minut :/ fungovalo mi vse, ale nejak jsem se (u)trim()oval a u substring()oval a to vsechno zbytecne, bo jsem na konci zjistil, ze muzu rict, ze mam takovou a makovou syntax a bylo to :/ ale ja jak blbec osetroval vsechny mozny vstupy a tim jsem se tka o hodinu zdrzel ... no nakonec jsem dojel na to, ze mou posledni upravou jsem si zapricinil to, ze mi nejakej index lezl mimo hranice pole .. pisemka nebyla tezka, jen jsem vul a delam zbytecne navic veci, ktere delat nemusim a pak to takhel dopada... talk holt priste :/
-
- Matfyz(ák|ačka) level I
- Příspěvky: 9
- Registrován: 28. 10. 2007 17:53
- Typ studia: Informatika Mgr.
Re: Zapoctovy test 4. 2. [14:00]
Já jsem na tom byl podobně. Nejdřív jsem řešil pitomosti ohledně streamů - který z nich maj metodu readline a jak ji vyrobit ze System.in a File. Docela slušně zabitejch 30 minut.
Pak jsem řešil jak ve vstupnímu streamu ze souboru nastavit, aby při otevření nevynuloval obsah (nebo něco takovýho - prostě, když jsem ho na danej File otevřel, tak readline nevracel nic...). Dalších slušnejch minut zabitejch.
Stihnul jsem dopsat všechno, ale nefungoval mi jenom delete. Posledních asi 10-20 minut jsem řešil, proč to nefunguje, a na cestě domů mi došlo, že jsem na souboru otevíral vstupní i výstupní stream zároveň, přičemž ten výstupní smaže obsah vstupního - a jak potom chcete ten File číst, že? Je to skoro to samý jako prostřední případ a mně to nedojde...Stačilo proházet pár řádků.
No prostě jsem debil a každej normální člověk na mým místě by to dal.
Pak jsem řešil jak ve vstupnímu streamu ze souboru nastavit, aby při otevření nevynuloval obsah (nebo něco takovýho - prostě, když jsem ho na danej File otevřel, tak readline nevracel nic...). Dalších slušnejch minut zabitejch.
Stihnul jsem dopsat všechno, ale nefungoval mi jenom delete. Posledních asi 10-20 minut jsem řešil, proč to nefunguje, a na cestě domů mi došlo, že jsem na souboru otevíral vstupní i výstupní stream zároveň, přičemž ten výstupní smaže obsah vstupního - a jak potom chcete ten File číst, že? Je to skoro to samý jako prostřední případ a mně to nedojde...Stačilo proházet pár řádků.
No prostě jsem debil a každej normální člověk na mým místě by to dal.