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

Databázové systémy

Started by AnvilOfFury, 07.02.2011, 23:54:46

« predchdzajce - alie »

ricco102831

Quote from: filip27 on  13.04.2011, 15:47:01
neviete ako to este bude z databaz??? ...bude este nejaka zapoctova pisomka po tych dvoch co sme uz pisali??  bk bk

pozri si osnovu predmetu.....v 12. tom tyzdni bude zaverecny test....treba len pozriet do osnov.....vela zaujimavych veci sa tam clovek dozvie :)

Jackson

Ahojte. Kreslim si tak fyzicku schemu a rozmyslam, ako urobit PK, FK... pozriem na autoservis, a v tabulke ASZ je pri datum_sluzby  <pk> . To je snad omyl, alebo nerozumiem. (ved primary key je jedinecna hodnota a v jeden den sa moze vykonat XY sluzieb  :()

Prosim vas, kedy je <pk, fk1>, kedy je len <pk> a kedy je len <fk> vo fyzickej scheme?

Joey_XD

QuoteAhojte. Kreslim si tak fyzicku schemu a rozmyslam, ako urobit PK, FK... pozriem na autoservis, a v tabulke ASZ je pri datum_sluzby  <pk> . To je snad omyl, alebo nerozumiem. (ved primary key je jedinecna hodnota a v jeden den sa moze vykonat XY sluzieb  Sad)

Prosim vas, kedy je <pk, fk1>, kedy je len <pk> a kedy je len <fk> vo fyzickej scheme?

<pk> mas vzdy tam, kde mas primarny kluc v tabulke a tak isto <fk> vsade kde mas cudzi kluc (tj. primarny kluc inej tabuky) a <pk,fk> kde sucastne v tabulke pouzivas riadok tabulky ako primarny, ale aj cuzci kluc  :)

Joey_XD

#303
Mam otazocku k zadaniu. Mam zadanie Vysetrenia 1. Mam uz ako tak hotovu databazu. Riesil som ju podobne ako autoresvis, cize par tab. plus jedna spajacia tabulka. Lenze pri nahadzovani dat do nej z nenormalizovanej tabulky zo zadania som zistil, ze v poslednych riadkoch su dake informacie vynechane, cize do par riadkov sa nezapisuje nic.
Riesil som spojovaciu tab. nasledovne:

create table assoc  (
  CIS.VYS                    NUMBER(5)   default null ,
  EVC_PACIENT           NUMBER(10) default null references pacient (EVC_PACIENT),
  VYSETRENIE_ID        NUMBER(10) default null references vysetrenie (VYSETRENIE_ID),
  LEKAR_ID                 NUMBER(10) default null references lekar (LEKAR_ID),
  POISTOVNA_ID         NUMBER(10)   default null references poistovna (POISTOVNA_ID) ,
  DATUM_VYSETRENIA     DATE default sysdate,
  primary key(VYSETRENIE, DATUM_VYSETRENIA)
);


Problem je v tom, ze ked kazdy riadok dam ako PK, alebo tak ako je tu v kode tak mi nechce zobrat
insert into assoc values( 1,1008, default, 7, default, default);
insert into assoc values(defaul, default, default, 8, default, default);



Prosim poradte co s tym

revelc

ja mam otazocku k cviceniu 9
Quoteatribúty datum_narodenia, start_date, ende_date sú v tvare:  dd.mm.yyyy
To sa ako mysli, ze napr. pri vytvarani tabulky sa do checku da nejaka podmienka (aka ?)
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

ursus

#305
Quote from: filip27 on  11.04.2011, 04:11:05
caute pri mojom zadani si neviem dat radi ako vyriesit tento problem:
"hodnoty atribútu univerzita, fakulta a adresa môžu nadobúdať iba povolené hodnoty."

vedel by mi niekto poradit? ...najprv som chcel cele nazvy tych univerzit, fakult a adresy nahadzat do checku ale to nie je dobre riesenie potom ma napdlo dat kazdy atribut do samostatnej tabulky ale to tiez nema vyznam, pretoze to nie je osetrene.

ja som rozmyslal, ze by som to dal cez check ale aby kontrolovalo iba urcity retazec v tom nazve napr. u nazov_univerzity by bolo v checku univerzita a bralo by iba nazov vtedy ak by sa tam ten retazec vyskytol. Da sa to vobec tak urobit?? ...viete mi niekto poradit????

pripajam sa k tomuto, tiez neviem ako sa to predstavuje, co su akoze povolene hodnoty ?
check na vsetky mesta sveta? :D

thx
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

ludko

Nema niekto zadanie  telefony_zoznam_1 ???? potreboval by som poradit s nejakymi vecami ..thnx ;)

kacko

Nerobi niekto zadania z DBS ??? na cene by sme sa dohodli...

ursus

#308
Quote from: revelc on  15.04.2011, 18:24:28
ja mam otazocku k cviceniu 9
Quoteatribúty datum_narodenia, start_date, ende_date sú v tvare:  dd.mm.yyyy
To sa ako mysli, ze napr. pri vytvarani tabulky sa do checku da nejaka podmienka (aka ?)

tiez ma zaujima  :ropebanana:

este k tomuto:
"atribúty idz, idul a evrp sú celé kladné čísla, ktoré sa automaticky inkrementujú pri
operácii vkladania"

toto je debilizmus cele, logicky by som to spravil takto nejako
"create table rod_prislusnik (
   evrp NUMBER(6) primary key not null default s_evrp.netxval,

ale tak to nejde, cize len ostava pri insertovani verit tomu co bude insertovat, ze bude nato myslet.. co vonkoncom nesplna "automaticky" .. no proste blbost
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

delfinik68

musis si urobit sekvenciu evrp a potom do tabulky das iba : evrp NUMBER(?) NOT NULL

kedze nemusis inzertovat tak dalej neriesis, keby sme mali inzertovat tak potom v inserte pises evrp.next_val

mattoxx

moze niekt ooskenovat, odfotit ako vyzera fyzicka schema k ulohe 9 ?

ursus

Quote from: delfinik68 on  18.04.2011, 00:31:35
musis si urobit sekvenciu evrp a potom do tabulky das iba : evrp NUMBER(?) NOT NULL

kedze nemusis inzertovat tak dalej neriesis, keby sme mali inzertovat tak potom v inserte pises evrp.next_val

sak viem ,a to je error prone retardovany system
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

filip27

mam jednu otazku

musi byt v kazdej tabulke PK ??  ???

sulo

Oracle povolí vytvorenie tabuľky aj bez PK, ale tabuľka by určite vždy mala obsahovať PK, aby sme vedeli jednoznačne identifikovať daný riadok.

ursus

Quote from: filip27 on  19.04.2011, 22:11:02
mam jednu otazku

musi byt v kazdej tabulke PK ??  ???
no ved idealne si ho vyrob, tak ja v scheme hr .. proste tam prdni nieco_id co bude zo sekvencie zrat a bude to pk, alles in ordnung
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

Dragoon17

Neviete ci skuska z databaz bude taka ako po minule roky, alebo sa nieco zmenilo?...minule roky bol test, obcas doplnit nejake selekty a tak...pohoda

yvory

uloha 2 z cvicenia 10
podla mna to ma byt takto
select last_name,hire_date
from hr.employees
where hire_date > (select min(hire_date) from hr.employees where department_id = 50);
lenze vypise 93 riadkov a nie 88,co je tam zle?

jeep18

Nevie niekto ako mozem do tabulky vlozit datum a cas systemovy datum viem ale ak chcem nastavit svoj lubovolny datum a cas takl mi to nejde vdaka

Gabho

Quote from: yvory on  20.04.2011, 21:10:36
uloha 2 z cvicenia 10
podla mna to ma byt takto
select last_name,hire_date
from hr.employees
where hire_date > (select min(hire_date) from hr.employees where department_id = 50);
lenze vypise 93 riadkov a nie 88,co je tam zle?

Chyba je podľa mňa v cviku, čo som sa pýtal asi 6-tich ľudí tak každému vyšlo 93,a aj cvičiaci povedal, že to bude chyba v cviku.

Ten posledny select ma niekto:
13. Pre každé auto zistite cenu a názov najdrahšej poskytnutej služby. Vo výsledku uveďte
spz, typ, nazov_sluzby, cenu_sluzby.

revelc

#319
ja som 13 spravil tak:
select spz, typ, nazov_sluzby, cena_sluzby
from auto join asz using(spz) join sluzba using(kod_sluzby)
where (spz,cena_sluzby) in (select spz,max(cena_sluzby) from asz join sluzba using(kod_sluzby) group by spz)


Nevie niekto 6  a 4  ?
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

Gabho

Quote from: revelc on  22.04.2011, 19:46:23
ja som 13 spravil tak:
select spz, typ, nazov_sluzby, cena_sluzby
from auto join asz using(spz) join sluzba using(kod_sluzby)
where (spz,cena_sluzby) in (select spz,max(cena_sluzby) from asz join sluzba using(kod_sluzby) group by spz)


Nevie niekto 6  a 4  ?

Aha, dakujem, aj ja som to uz tak urobil, len som chcel, aby tam vypisovalo aj auta, ktorym nebola poskytnuta sluzba, ale uz si nebudem komplikovat zivot.

4)
SELECT department_name FROM hr.departments d
WHERE (SELECT count(employee_id) FROM hr.employees e WHERE d.department_id = e.department_id) = 0;

6)
SELECT AVG(salary) FROM hr.employees e
WHERE employee_id = (SELECT manager_id FROM hr.departments d WHERE e.employee_id = d.manager_id);

Vysledok v tej 6-ke nesedi s tym, co by mal vyjst, ale podla mna to je v cviku zle, ja som si vypisal vsetky platy manazerov a spocital som priemer na kalkulacke a vyslo mi to tak, ako to vyjde v tomto selekte, takze podla mna je chyba v cviku

revelc

Dakujem, na tu 4. som medzicasom prisiel aj ja , aj ked moje riesenie asi nie je velmi efektivne (a mam zotriedeny vypis):
select department_name from hr.departments
minus
select department_name from hr.departments join hr.employees using(department_id);

Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

revelc

Otazka k zadaniu :
pre hodnoty atribútu XXX použite skrátený zápis

Co to ten skrateny zapis presne znamena? Pytal som sa to cviciaceho ale velmi som mu nerozumel, hovoril o dajakom ciselniku...
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

yvory

Quote from: revelc on  22.04.2011, 21:41:20
Otazka k zadaniu :
pre hodnoty atribútu XXX použite skrátený zápis

Co to ten skrateny zapis presne znamena? Pytal som sa to cviciaceho ale velmi som mu nerozumel, hovoril o dajakom ciselniku...

ku tomu ciselnku tak ako som to pochopil ja
treba urobit jednu dvojstlpcovu tabulku,jeden stlpec bude cislo alebo index a druhym budu hodnoty,a je to pre ulahcenie,priklad z realneho zivota na ciselnik je napriklad cislo poistovne,aby sa nepouzival ten dlhy nazov ze vseobecna zdravotna alebo co ja viem aka sa pouzivaju tusim trojciferne cisla,snad pochopene :) nam to vysvetlila cviciaca tak ze napriklad kazdej fakulte sa priradi nejake cislo z prveho stlpca a nazov fakulty bude v druhom stlpci,a potom sa ku menam studentov budu priradovat uz len cisla z ciselnika namiesto nazvov fakult

revelc

Diky  :), tiez som to tak pochopil, ze sa pod tym rozumie nova tabulka s 2 stlpcami a v tej povodnej(kde ma byt skrateny zapis) bude FK na idcko novej dvojstlpcovej tabulky, len nas cviciaci to tak cudne vysvetloval...
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "