Swoją bazę stawiam w hekko.pl, mam u nich wykupiony hosting więc przy okazji użyję go do tego projektu. Samo wygenerowanie bazy odbywa się przez panel DirectAdmin i sprowadza się do kilku kliknięć, więc nie ma tu zbyt wiele do opisania. Jest dostępny phpMyAdmin do zarządzania bazą, ale mam trochę wstręt do niego i od razu pobrałem MySQL Workbench. Przy pierwszej próbie połączenia okazało się, że muszę jeszcze wprost ustawić jakie hosty mają dostęp do bazy. Na czas testów dodałem %, czyli po prostu dostęp dla wszystkich
Struktura bazy na potrzeby pierwszej wersji portfela emerytalnego prezentuje się następująco:
Na potrzeby wyświetlenia we frontendzie przykładowego wykresu potrzebuję jedynie wartości funduszy w czasie, więc zakładam tylko tabele Fund (będzie zawierała nazwy funduszy) oraz Rate (wartość w czasie):
CREATE TABLE `fund` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(256) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `rate` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Date` date NOT NULL,
`Value` decimal(10,2) NOT NULL,
`LastUpdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
`FundId` int(11) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Pozostało jeszcze tylko uzupełnić tabelę przykładowymi danymi. Kursy funduszu pobieram ze strony TFI i parsuję przy pomocy narzędzia regexr - wyrażenia regularne spisują się znakomicie do takiego wyselekcjonowania danych
Wszystko łączę w zapytania i wykonuję na bazie:
INSERT INTO fund (`Name`) VALUES ('NN (L) Stabilny Globalnej Alokacji (K)')
INSERT INTO rate (`Date`, `Value`, `FundId`) VALUES
('2014-09-24', 106.66, 1),
('2014-09-25', 106.44, 1),
('2014-09-26', 106.83, 1),
('2014-09-29', 106.71, 1),
...
To tyle na dziś, kolejny post będzie o tym jak te dane z bazy odebrać w backendzie i wystawić je jako json. Zapowiada się długi wpis, bo ponownie pojawiło się kilka problemów - po szczegóły zapraszam w poniedziałek.
0 komentarze:
Prześlij komentarz