» »

Podatkovne baze

Podatkovne baze

Sirki ::

Mene pa zanima, kako je s podatkovnimi bazami v C++. V Delhiju je dokaj zmogljiva in uporabna(BDE), :Dali v C-ju obstaja kaj podobnega. A kdo ve za kakšno dobro literaturo za izdelavo podatkovnih baz v Delphiju in/ali C++. Moram narest en program z dokaj velko podatkovno bazo za izdelavo predračunov z nekaj 1000 elementi, pa me zanima predvsem hitro iskanje podatkov znotraj baze.;(

iBojan ::

Ti predlagam, da greš na www.delphi-si.com, k tam dobiš vse odgovore. Vprašanje kar postaj v forumu pa dobiš odgovor, če pa rabiš pomoč hitro pa poskusi na ircu na kanalu #delphi.si

lp, _GeS_ :8)

Kekec ::

Nekaj 1000 elementi se ni velika baza... kakasno bazo imeti je cist odvisn kdo jo bo uporabljo kako etc.. ampak tega nisi napisal... v C++ imas dosti nacinov uporabe baz je pa je res da je potrebno napisati dosti vec vrstic kot v delphiju.

Sirki ::

V bazi bo ~3000 artiklov, vsak opisan z 8 različnimi veličinami (torej 24000 elementov za v bazo), iz teh 3000 artiklov se bo sestavilo določen element za izgradnjo oz vgradnjo in ta element bo potem predstavljal določeno postavko v predračunu. Omeniti še velja, da bo baza na serverju, same aplikacije pri posameznih uporabnikih. Do baze jih bo dostopalo več naenkrat. Vsi uporabniki ne bodo imeli enakih pravic za delo z bazo, nekateri jo bodo lahko samo brali, drugi tudi pisali vanjo.

Men se zdi kr komplicirano, res pa je da nisem ravno vrhunski strokovnjak za podatkovne baze.

Thomas ::

Tehle 3000 artiklov ... To gre vse skupaj v eno tabelo. Alociraš ene 30 MB veliko tabelo ... notri pišeš vse opise ... tabelo shranjuješ na disk ... popravljaš .. delaš operacije seštevanja pa take na njej ...

Ej - to je programček za par dni dela.

To ne rabiš nobenih baz pa nič - samo C++ ali pa VB. Ista figa.
Man muss immer generalisieren - Carl Jacobi

Tr0n ::

Ce bi rad delal v Cju, je verjetno boljse, da uporabis kar Visual Studio ter MSSQL preko ODBC.

Sirki ::

Hvala Thomas, vsaka ideja dobrodošla, posebno, če ti olajša delo.

Kekec ::

Ne vem točno za kake artikle gre ampak vcasih je bolš da imaš tudi več tabel, ki so medseboj povezane... ampak sej pravim to odvisno od zahtev!

iBojan ::

Ko želiš narediti tako veliko podatkovno bazo je najboljše, da podatke hraniš v večih tabelah. Tako si narediš eno tabele z šifranti, drugo z .... Tabele lahko čist enostavno povežeš in bereš iz njih ali pa jih spremijaš , dopoljnjuješ,... Če boš vse podatke stisnil v eno bazo ti bo baze, ko bo enkrat večja delala težave saj boš imel težave z iskanjem in podobnim zaradi hitrosti. Mislim pa da je najboljše če zadevo mal natančneje opišeš in ti lahk takrat pomagamo tudi z konkretnimi nasveti kako in kaj!

lp, _GeS_

Sirki ::

Ekola, takole naj bi to bilo.

Sedaj že obstoja baza (sicer zapisan v en txt file), v kateri so vsi osnovni artikli, ki jih uporabljamo. Vsak artikel ima svojo šifro, ime, ceno izvor, ... in še 4 druge kategorije. In sedaj glavna stvar.

Iz teh osnovnih artiklom tvorimo naš izdelek. Npr. 13 vijakov, 5 konzol, 3 drogovi = A-drog. Teh sestavljenih elementov je spet nekaj tisoč, razvrščenih v različne kategorije (Npr. drogovi, A-drogovi, kanalizacija,...). Zdaj bi jst rad, da ko se v bazi osnovnih artiklov spremeni parameter določenemu artiklu, da se avtomatsko spremenijo ustrezni parametri vse sestavljenim elementom, ki vsebujejo ta artikel.

Poleg tega bi na koncu predračuna tudi rad kosovnico materiala za vse sestavljene elemente, ki nastopajo v predračunu. (npr. kolko je vseh uporabljenih vijakov, koliko betona, ....).

Jst bi najrajš vidu, da bi blo za osnovne artikle svoja tabela, za posamezne kategorije pa ustrezno število tabel, odvisno od tega, koliko kategorij bomo imeli. Če imaste boljšo oz. hitrejšo varianto, prosim povejte, kako?


Upam, da sem bil dovolj podroben.


Tnx!

Thomas ::

Dej se ti z nekom zmeni, da ti tole naredi.

Tkole, po navodilih ... ni dovolj zanesljivo.

Ne boš nekaj prav razumu ... pa maš s finfarja drobiž.

Najceneje bo, če si pripravljen investirati nekaj tisoč DEM.
Man muss immer generalisieren - Carl Jacobi

darh ::

hmm.. jest bi tle tko resu...

mas 2 tabele, 1 z osnovnimi gradniki, drugo pa z "naprednimi" oz sestavljenimi gradniki

vsak osnoven gradnik ima edinstven ID po katerem ga lahko prepoznaš !
torej si določiš eno polje ki ne no imeo duplikatov...

vsak sestavlejn gradnik pa ima neko polje, v katerem so našteti IDji osnovih gradnikov, torej gradnikov ki sestavljajo sestavjen gradnik

ko želiš info od nekega sestavljenega gradnika, prebereš polje z IDji, in nato prebereš vse vrstice osnovnih gradnikov, ki vsebujejo ta ID

simple as that...
;)

lp,x
Excuses are useless! Results are priceless!

Trancedeejay ::

HI
Eno zacetnisko vprasanje. Delam nekaj a la cekiranje login pa paswword v c-ju, pa me zanima kako nardit da recimo password spada k login imenu, da ne bi en login vpisal in en ta tretji password(ki ne spada k temu loginu), da se ne bi dalo tako vstopit v program. Ne vem ali naredim dva polja, eden z logini in drugi s passwordi al kako da bo delalo. Torej ne vem kako povezate kater login spada na kater password, razen ce bi npr. pogledal kater po vrsti zapisan je login in bi poiskal se password pod tisto vpisano stevilko in primerjal. Bi bilo mozno kaj takega, kaksen namig?
Have a nice Day

Matt
Music is the key

zdravc ::

Wing

Od tega kako boš zastavil podatkovne strukture je precej odvisno, kakšna bo potem programska podpora predvsem v smislu možnosti in učinkovitosti.
Napačen design podatkovnih struktur na začetku pogosto onemogoči naknadno nadgrajevanje programske rešitve oz. širjenje funkcionalnosti.

Resitev z navadnimi textovnimi datotekami je sicer možna, vendar bo postala problem, ko se bo stevilo podatkov povečalo. Sam ne poznam jezika C in njegovih možnostmi z delom z datotekami, vendar pri takih zadevah nujno rabiš sistem indexiranja podatkov.
Premisli o tem. Jaz bi se raje odločil za kakšno bazo, pa čeprav samo Access.

Ne glede na izbiro baze bi jaz podatke otganiziral takole:

1. datoteka - materiali
to so podatki o artiklih ki jih rabiš za izdelavo svojih izdelkov.

2. datoteka - izdelko
to so podatki o svojih izdelkih od naziv do npr. prodajne cene

3. datoteka - kosovnica
v tej datoteki je za vsak izdelek seznam materialov potrebnih za izdelavo posemeznega izdelka skupa js podatkom o normativu. Normativ je količinski podatek, ki pove koliko posameznega materiala je potrebno za izdelavo konkretnega izdelka.
V tej datoteki nastane kombinacija zapisov previh dveh datotek in, če ja povprečje materialov na en izdelek 5, bo ta datoteka vsaj 5x večja.
Tu se bo tudi najbolj izpostavil problem indexiranja.
Ne priporočam dati za vsako kosovnico svojo datoeko, ker bos rabil pregledovanje čez vse kosovnice, npr. kje vse si uporabil določen material, da ga zamnejaš z novim itd.

4. datoteka - predračuni
Podobno kot 3., le da tu imaš dokument v katerem navedeš izdelke s ceno in izračunaš vrednost celotnega predračuna. predračun je komercialna kategorija, ki vsebuje še druge pomembne podatke kot so kupec, datum, popust, davek itd.
Če povežes to datoteko - vsako pozicijo (izdelek) s kosovnico dobiš predračun materiala. To je npr. izpis, kjer vidiš koliko posameznega materiala rabiš za realizacijo predračuna.


To je tako zelo na hitro in enostavno, ki pa ni uporabno za kako komercialno rabo. Za izdelavo programa za taksne namene je potrebno še kaj več, predvsem pa pravilno načrtovanje na začetku.

Upam, da sem ti kaj pomagal, vsaj toliko, da si dobil vtis, kako se tega lotiti.


Trancedeejay

Kreiraj datoteko z dvema poljema, v prvem je username v drugem pa pripadajoči password. Password moras zakodirati, da se ne vidi pri odpiranju datoteke s kakšnim editorjem.
Ko ti uporabnik vpiše usernem in password, v tej datoteki najprej preveri, če obstaja vneseni username in, če ne izpiši, da je napačen username. Če obstaja, dekodiraj password in ga primerjaj z vnesenim in, če ni enak izpiši, da je napačno geslo.
kdor zna pa žih

64202 ::

Mah, vzames eno "u izi" integrirano bazico pa je, recimo tale: SQLite home page. Pise se kar pocas, ampak isce pa svinjsko hitro.
I am NaN, I am a free man!

iration ::

zdravc, sicer si se lepo potrudil, ampak po moje je Wing že nekako rešil svoj problem v več kot štirih letih in pol. bo pa komu drugemu prav prišlo.
Tudi jaz bi imel kakšno pravico rad v življenju. Npr. pravico do tega, da delam
12 ur na dan in sem za to nagrajen s strani delujočega ekonomskega prostora, ne
pa kaznovan s strani Salmoneličevih gremlinov. - NavadniNimda

BigWhale ::

Ceprav je ze stiri leta stara, je meni vsec Thomasova ideja. Tako retro je! :P

zdravc ::

UH !!!

Sploh nisem videl datuma prvega posta.

Me je Trancedeejay zavedel ker je ponovno odprl temo. Za take primere, bi morali teme, ki več kot npr. pol leta nimajo odgovora, zaklenit za vse večne čase !!!
Predlog za admine !!!

No ja, mogoče pa res še komu prav pride kot si omenil iration.
Predvsem tistim, ki mislijo, da je tako IZI !!
kdor zna pa žih

Sirki ::

Ja, sem tud jaz presenečen na odgovore po 4 letih :D, hvala vseeno. Tisti problem sem takrat rešil kar z Excelom in VBA ter umotvor še danes dela, samo da je danes samo še bolj kompleksna in prepletena med sabo. Se je Thomasova rešitev izkazala še za najbolj enostavno. :D
Imel sem idejo genialno, zdaj pa jo izvajam.....

kopernik ::

zdravc:
ja zakaj pa bi zaklepali stare teme ?!? Naslednjič raje natančneje preberi naslov, vsebino in čas prispevka ...

kopernik ::

Še en hint za tiste, ki bi radi poceni in hitro rešitev (da se ne bi preveč matrali z navadnimi tekstovnimi fajli):
HSQLDB

Zelo majhna, podpira večino stvari kot velike baze (tudi npr. triggerje in stored procedure). BSD-style licenca. Menda je integrirana v OpenOffice2.0, nisem preverjal ...

Zgodovina sprememb…

  • spremenil: kopernik ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

pomoč v excelu (strani: 1 2 )

Oddelek: Programiranje
628850 (3179) omni-vor
»

Django programiranje

Oddelek: Programiranje
162575 (1000) jype
»

sestava baze spletne trgovine

Oddelek: Programiranje
171359 (840) techfreak :)
»

Naključno izbiranje v VB 6

Oddelek: Programiranje
181571 (1328) gligoran

Več podobnih tem