Data z databáze
Zdravím Vás,
dělám projekt do školy ( Program psaný v C# ) A budu potřebovat databázi všech automobilů (výšku, délku, šířku a hmotnost u všech různých modelů a motorizací) Kdybych si měl takovou databázi vytvořit ručně sám, tak se z toho asi zblázním. Ptám se Vás tedy, jako určitě o dost zkušenějších programátorů. Jak byste tento problém vyřešili ? V rychlosti jsem si našel např. tuto stránku https://www.carfolio.com/car-makes/#a-S . Určitě bych našel i další. Dají se tedy nějak tahat data přímo z nějaké takovéto "online databáze"? Jakým způsobem to funguje ? Potřebuji nějaký kontakt s majitelem stránek ? Jakou cestou byste šli ?
To není ani tak programátorský problém, jako spíš právní. Určitě budeš potřebovat souhlas majitele databáze.
Dobře.. Nedokážu si ale představit, jak ta databáze na jejich webu běží (Jasný, každá stránka to má asi jinak) Ale co já od něj tedy vlastně potřebuji ? V aktualizovaném excelu, který mi prostě jen pošle to asi nemá. Jaký tedy přístup či soubor já potřebuji, aby mi ten program, když si v něm vyberu auto, aby mi vytáhl potřebná data toho auta z databáze ?
To už si budete muset domluvit mezi sebou. Pokud ovšem bude ochotný ty data poskytnout, o čemž silně pochybuji.
Asi úplně nechápu, co řešíš. Snad jde hlavně o projekt a jeho zpracování a ne o to, jestli je u toho nějaká kompletní databáze?
Takže několik řádků do databáze jde vložit ručně, pokud je potřeba použít víc dat, tak si řádky vygenerovat třeba s náhodnými hodnotami.
Na vygenerování náhodných dat je třeba velmi dobrá služba https://www.mockaroo.com/. Nejen že má slušnou databází, ze které umí ty hodnoty nakombinovat, ale umí je vytvářet i tak, aby dávaly smysl a byly mezi sebou konzistentní:
Např. Když vygeneruje náhodné jméno "Alois Jirásek", tak jeho emailová adresa bude něco ve smyslu "a.jirasek51@gmail.com" a pohlaví bude "muž".
Děkuji :) Přemýšlím, že spíš bude asi jednodušší si týden vyhradit na psaní své databáze a prostě aspoň nejznámější značky aut přebouchat ručně. Pokud se Vás můžu zeptat jako úplný laik- Když se rozhodnu psát svou vlastní databázi, jaký nástroj na to bude nejlepší , abych z ní pak mohl číst v C# programu ? Kde vlastně tu databázi psát co nejjednodušeji ? Díky
Nejlepší je ten nástroj, který ovládáš. Pokud zatím neovládáš žádný, tak je to v podstatě jedno.
Přesně tak, neovládám žádný.. Takže pokud chci, abych zadal v programu do pole třeba Škoda Octavia 2014 110 kW a on si sáhl do databáze, porovnal vstup a vyhodil mi do dalších polí rozměry, tak to tedy mohu napsat v té databázi ve Visual Studiu ? Vím že už se ptám jako blb, který tomu naprosto nerozumí.. Ale nerad bych tu týden psal databázi a pak zjistil, že se nedá použít..
Můžeš to napsat v čemkoliv. Ona to ani nemusí být klasická databáze, klidně to můžeš číst přímo ze souboru. To jde o to, co od toho očekáváš.
Důležité je mít ta data nějak strukturovaná, klidně třeba v CSV. Převod do něčeho jiného už neni takový problém (i kdyby se měl napsat jednoúčelový program, který daty z CSV naplní skutečnou databázi). Ovšem plnění databáze daty je přesně ten typ blbárny, kterou je dobré nechat méně kvalifikovaným uživatelům.
Třeba libre office base dokáže pracovat s lecčíms, dokonce mě překvapilo, že si rozumí s xls, pokud by se našel průnik množin toho, co umí LO a váš program, pak by se to dalo využít.
Začal bych teda zjišťováním, s jakými databázemi se umíte bavit přes vlastní program. Ostatně nějaký kus programu pro doplňování/vytváření databáze by taky bylo dobré přidat (a pak by byl problém vytváření databáze vyřešený). Ono je potom pohodička dělat si evidenci ve svém programu, který je pro daný účel přizpůsobený (třeba má nějaké zkratky pro často vkládaná slova), oproti K602 nebo excelu, které jsou univerzální.
Píšu to jako člověk, který databázím nerozumí (SQL a podobné zkratky považuju za cizí slova) a databázovým enginům se vyhybá, nemám příliš rád něco, do čeho nevidim.
Můžu na to použít přímo databázi ve Visual studiu ?
Kdyby nebylo podmínkou použít databází s reálnými daty, tak tohle neřeším :)
Divný požadavek. Tak ať ti škola poradí, kde ta data vzít.
Souhlasím s Váma, ale pokud se kantor rozhodne, že Vám zadá roční projekt a bude k tomu potřeba databáze, kterou si musíte sehnat, zaplatit si jí, nebo si jí sám napsat, tak to buďto musíte udělat nebo neprojdete. Nemá smysl s ním nad tím debatovat.
všech - takovou databázi nikdo nemá a nebude mít.
Podobný problém jsem řešil generováním VIN kódů , odkud se dají data o vozidle vytáhnout (což je, myslím , ve větším objemu za peníz, ale už si přesně nepamatuji ).
Podle mě pro školní projekt by měl stačit nějaký základní rozsah. To určitě nebude potřeba databázi celosvětového vozového parku. Pokud ano, pak by se to stoprocentně muselo tahat z nějaké online datadáze, protože i kdyby se podařilo sehnat takovou databázi ke dnešnímu dni, bude za pár let neaktuální a nepoužitelná. A pak bude záležet na podmínkách dané online databáze (může být třeba omezený počet dotazů za časovou jednotku nebo rozsah poskytovaných dat). Ty podmínky určitě budou někde napsané. Ale předpokládám, že na něco s rozsahem školního projektu to bude stačit.
Napadá mě z jiného soudku, kdysi jsem používal geonames, to je systém, který vrátí nejbližší místa pro zadané souřadnice. Teda použil ho autor programu (geosetter pro georeference fotografií). Bylo tam citelné omezení (něco jako 100 dotazů za hodinu), ale dal se stáhnout soubor (pro jednotlivé země), ze kterého se dalo udělat totéž, bylo to srovnatelně rychlé (prohledávání tabulky pro ČR) a nepotřebovalo to internet. Už jsem dlouho nepoužil ani jedno, nějak jsem neměl čas si s tím hrát (jen jsem nedávno koukal, že mám stažené CZ staré asi 10 let). Pokud by existovalo něco podobného pro auta, je problém vyřešený.
Navazuji na sebe i na ml1:
data pro zadané VIN už se dají stáhnout v json (či xml) a uložit:
vehicle data from vin json