Prosím o pomoc - sql
Prosím o pomoc - sql
Robíme teraz jednoduché úlohy v konzole linuxu na databázových systémoch, no neviem si poradit s tymto zadaním...
Vytvorte program na evidenciu a sledovanie rozpočtu rodiny.V rámci evidencie budú obsiahnutí všetci členovia rodiny vrátane domácich zvierat.Systém bude umožnovať evidenciu príjmov a výdavkov rodiny za jednotlivé dni.
Potreboval by som to ako skripty jednotlivých tabuliek a prepojenie medzi nimi.
pomohol by niekto?
Vytvorte program na evidenciu a sledovanie rozpočtu rodiny.V rámci evidencie budú obsiahnutí všetci členovia rodiny vrátane domácich zvierat.Systém bude umožnovať evidenciu príjmov a výdavkov rodiny za jednotlivé dni.
Potreboval by som to ako skripty jednotlivých tabuliek a prepojenie medzi nimi.
pomohol by niekto?
Nemozes mi dat pls link, kde zozeniem ten phpmyadmin?ppt napísal:Takto som sa este s sql nezaoberal, ale jedine s cim ti viem poradit, je.. aby si vytvoril jednotlive tabulky v phpmyadminovy a dal exportovat databazu. Tym ziskas casti prikazov, ktore ti treba zapisovat do konzoly. Viac naozaj neviem.
PHPmyAdmin ziskas, ak nainstalujes na svoj localhost nejaky mysql server (napr ja pouzivam kombinaciu apache+php+mysql program PHPtriad). Alebo jednoduchsia cesta je zaregistrovat sa na nejakom freehostingu, ktory ponuka jednu mysql databazu. Napr. sa zaregistruj na www.php5.sk a tam si vytvor databazu. Na phpmyadmin sa tam prihlasis cez http://myadmin.php5.sk
to je také zadanie, že človek musel byť asi nahúlený.. sa z toho nedá všetko domyslieť..
k tomu ani netuším čo za DB
dačo som ti spravil v mysql s innodb typom, v inej db nerobím.. a v bashi, alebo v čom to tam máš tiež nie, tak čisto len sql dotazy..
pre lepší prehľad máš aj obrázok, kde máš lepšie znázornenú integritu referenčných kľúčov..
k dotazom..
insert, pri príjmoch, tam je mesiac unikátny, takže pre každého člena môže byť len jeden mesačný príjem..
select, to spravíš jednoducho cez left join, relácia 1:X
delete, keď zmažeš člena, automaticky sa zmažú jeho výdavky/príjmy..
na čas používaj UNIX_TIMESTAMP() - INT(10) a dátum substr(CURRENT_DATE, -10, 7) - CHAR(7)
keby si mal mať nejaký ten zoznam mesiacov, tak v podstate výber je len taký, že v ktorých dňoch bol nejaký príjem a podľa toho budú výdavky.. možno by bolo dobré spraviť trigger pred insertom a tam by sa tie dátumy doplnili od prvého po akutuálny, alebo iba k tým dňom ku ktorým existujú výdavky..
neviem aké dotazy budeš potrebovať, tak ak budeš mať s nejakým problém, tak napíš..
(ak som dakde spravil chybu, alebo blbo to navrhol, sry, bolo to na rýchlo, ale tá pointa by tam v podstate mala byť..)
final
k tomu ani netuším čo za DB
Kód: Vybrať všetko
CREATE TABLE IF NOT EXISTS `zoznamClenov`
(
`id` INT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`clen` VARCHAR(100) NOT NULL,
UNIQUE (`clen`)
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
CREATE TABLE IF NOT EXISTS `vydavky`
(
`id` INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`clen` INT(3) NOT NULL,
`cas` INT(10) NOT NULL,
`vydavok` DOUBLE(6,2) NOT NULL,
FOREIGN KEY (`clen`)
REFERENCES `zoznamClenov` (`id`)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
CREATE TABLE IF NOT EXISTS `prijmy`
(
`id` INT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`clen` INT(3) NOT NULL,
`mesiac` CHAR(7) NOT NULL,
`prijem` DOUBLE(6,2) NOT NULL,
FOREIGN KEY (`clen`)
REFERENCES `zoznamClenov` (`id`)
ON DELETE CASCADE
ON UPDATE NO ACTION,
UNIQUE (`clen`, `mesiac`)
)
ENGINE=INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;
k dotazom..
insert, pri príjmoch, tam je mesiac unikátny, takže pre každého člena môže byť len jeden mesačný príjem..
select, to spravíš jednoducho cez left join, relácia 1:X
delete, keď zmažeš člena, automaticky sa zmažú jeho výdavky/príjmy..
na čas používaj UNIX_TIMESTAMP() - INT(10) a dátum substr(CURRENT_DATE, -10, 7) - CHAR(7)
keby si mal mať nejaký ten zoznam mesiacov, tak v podstate výber je len taký, že v ktorých dňoch bol nejaký príjem a podľa toho budú výdavky.. možno by bolo dobré spraviť trigger pred insertom a tam by sa tie dátumy doplnili od prvého po akutuálny, alebo iba k tým dňom ku ktorým existujú výdavky..
neviem aké dotazy budeš potrebovať, tak ak budeš mať s nejakým problém, tak napíš..
(ak som dakde spravil chybu, alebo blbo to navrhol, sry, bolo to na rýchlo, ale tá pointa by tam v podstate mala byť..)
final
- Prílohy
-
- db.PNG (8.45 KiB) 1084 zobrazení
foreign key
Nechcem zbytocne vytvarat novu temu a tu otom bola rec tak to davam sem.Potrebujem uz do existujucej tabulky vlozit foreign key.Spravim to takto: Prikaz mi vyhodnoti ako uspesny ale pri naplnani tabuliek mi foreign key ( clen ) zaplna vzdy cislom 0. Neviem co robim zle a uz vobec si neviem pomoct.Ak viete ako na to pls 
Kód: Vybrať všetko
ALTER TABLE `child` ADD (
FOREIGN KEY ( `clen` ) REFERENCES `parents` ( `id` ) ON DELETE CASCADE ON UPDATE NO ACTION
) foreign key
Tabulku som spravil cez php my admin.Mysql typ MyISAM. Ak treba nieco konkretnejsie tak poslem,ak som nieco vynechal tak sorry ale len zacinam 