Sta je to Baza podataka???

toxi

Zainteresovan član
Poruka
379
Na svim forumima se prica o nekim bazama podatak, SQL serverima, da treba da se ti serveri povezu i tako nesto.
A JA NISTA NE RAZUMEM :-( .
Video sam na nekom forumu da bi trebalo da procitam neku knjigu koja govori uopseno o bazama podataka pa da tek onda ucim neku posebnu bazu podataka npr MySQL.. Medjutim ja nikakav txt koji objasnjava sta je to baza podataka, pa ako mozete da mi kazete neki link i uopste sta treba sve da znam o tome.
Ja koliko sam razumeo( verujem da ce te se na ovu izjavu nasmejati ), baza moze da bude i obican .txt fajl u koji se smestaju podaci, a da su te baze podataka(MySQL i dr.) u stvari ... eee. da uz njih dobijem neke "include"( header,DLL ili sta vec) fajlove u kojima se nalaze f-je pomocu kojih mogu da manipulisem podacima u bazi??? Tj. treba mi baza i program koji ce tom bazom da upravlja, jel tako?
Ovo ce verovatno uci u kategoriju najglupljih pitanja.
 
toxi:
Na svim forumima se prica o nekim bazama podatak, SQL serverima, da treba da se ti serveri povezu i tako nesto.
A JA NISTA NE RAZUMEM :-( .
Video sam na nekom forumu da bi trebalo da procitam neku knjigu koja govori uopseno o bazama podataka pa da tek onda ucim neku posebnu bazu podataka npr MySQL.. Medjutim ja nikakav txt koji objasnjava sta je to baza podataka, pa ako mozete da mi kazete neki link i uopste sta treba sve da znam o tome.
Ja koliko sam razumeo( verujem da ce te se na ovu izjavu nasmejati ), baza moze da bude i obican .txt fajl u koji se smestaju podaci, a da su te baze podataka(MySQL i dr.) u stvari ... eee. da uz njih dobijem neke "include"( header,DLL ili sta vec) fajlove u kojima se nalaze f-je pomocu kojih mogu da manipulisem podacima u bazi??? Tj. treba mi baza i program koji ce tom bazom da upravlja, jel tako?
Ovo ce verovatno uci u kategoriju najglupljih pitanja.


knjiga se zove :designing relational database systems.chm probaj da je skines sa neta, ako ne uspes posalji mi mail, pa cu ti poslati ...
pozz
 
toxi:
Na svim forumima se prica o nekim bazama podatak, SQL serverima, da treba da se ti serveri povezu i tako nesto.
A JA NISTA NE RAZUMEM :-( .
Video sam na nekom forumu da bi trebalo da procitam neku knjigu koja govori uopseno o bazama podataka pa da tek onda ucim neku posebnu bazu podataka npr MySQL.. Medjutim ja nikakav txt koji objasnjava sta je to baza podataka, pa ako mozete da mi kazete neki link i uopste sta treba sve da znam o tome.
Ja koliko sam razumeo( verujem da ce te se na ovu izjavu nasmejati ), baza moze da bude i obican .txt fajl u koji se smestaju podaci, a da su te baze podataka(MySQL i dr.) u stvari ... eee. da uz njih dobijem neke "include"( header,DLL ili sta vec) fajlove u kojima se nalaze f-je pomocu kojih mogu da manipulisem podacima u bazi??? Tj. treba mi baza i program koji ce tom bazom da upravlja, jel tako?
Ovo ce verovatno uci u kategoriju najglupljih pitanja.
Nije nimalo glupo pitanje Toxi.
Dobro si procenio sta bi to moglo biti, obzirom da nemas iskustvop sa bazama podataka. Naravno da baza moze biti i |TXT fajl, svaki oblik zapisa na disku koji ima smisaone podatke (u najmanju ruku smisaone za odredjenu delatnolst i program koji ume da ih procita).
Poslusaj savete o tome gde da pocnes i navali. Nemoj se nadati nekim spektakularnim rezultatima brzo ali se isplati poznavanje baza podataka.
Nece uci u red najglupljih pitanja, tvoje pitanje ulazi u red ispravno postavljnenih pitanja sa molbom za pomoc.
 
toxi:
Ja koliko sam razumeo( verujem da ce te se na ovu izjavu nasmejati ), baza moze da bude i obican .txt fajl u koji se smestaju podaci, a da su te baze podataka(MySQL i dr.) u stvari ...

dobro si shvatio, podaci koji su na bilo koji nacin povezani ili uredjeni su basa podataka...
mysql, mssql, access, oracle, tralalala su sve sistemi za upravljanje tim bazama...
 
Obersturmfuehrer:
dobro si shvatio, podaci koji su na bilo koji nacin povezani ili uredjeni su basa podataka...
mysql, mssql, access, oracle, tralalala su sve sistemi za upravljanje tim bazama...
Samo da dodam, da svi ovi sistemi koji su navedeni su sitemi za upravljanje relacionim bazama podataka, koje se i najčešće koriste. Osim njih postoje neke druge: hijerarhijske, objektne, ali relacione se koriste u 90% slučajeva, te kada se kaže baza podataka, podrazumeva se da je u pitanju relaciona baze podataka.
 
Paaaa... meni je neki decak(91) na SD forumu reko da ja pojma nemam i tako to jer postavljam neka glupa pitanja, a ja ih postavljam da bih nesto naucio. Tako da se sad nesto gubi i tako to...

Ali pa jesam trazio knjige o bazama na CET KOMBIB i MK katalozima( nisam ja takav da odma krknem pitanje ovde pa vi da radite ono sto bih ja trebaa) ali ima gomila knjiga u vezi baza podataka koje govore "globalno" o njima a ni jednoj u naslovu ne nadjoh i "C++" a ima za Javu i C# i tako...
Naso sam knjigu koja govori o tome kako da napravim bazu u Acess-u i jos nekim programima :-( zove se SQL, i nista drugo sto ima veze sa C++om a trenutno nisam u bg pa nemogu da se raspitivam po radnjama, izvinite.
 
Tog djecaka posalji znas vec gdje ...
A sto se tice tvog problema, prilazem ti neke svoje dijelove koda iz nekih aplikacija koje sam radio, koje se ticu povezivanja c++ i baze podataka preko odbc-a.
Obrati dakle paznju na ove funkcije i pogledaj malo u MSDN za vise informacija.


Kod:
//  Biblioteke potrebne za uspjesnu realizaciju:
#include <sql.h>
#include <sqlext.h>
#include <odbcinst.h>

//   Deklaracija potrebnih handle-ova
static HENV henv1, henv2;
static HDBC hdbc1, hdbc2;

// A evo i funkcija kojom se kreira novi Data Source, i uspostavlja se konekcija sa Access DB.

int connectAikido(HENV &henv1, HDBC &hdbc1, char path[400])
{
SQLRETURN retcode;
char linker[500];
char path1[200];
wsprintf(path1, "%s%s", path, "aikido.mdb");
wsprintf(linker, "DSN=aikido%cFileType=Access%cDBQ=%s%c", '\0', '\0', path1, '\0');
if(SQLConfigDataSource(NULL, ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)\0", linker)== SQL_ERROR)
{
MessageBox(NULL, "Nemože se kreirati DSN, tako da i sama ODBC konekcija je onemogućena.", "Problem!", MB_OK);
return 0;
}

if(SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv1)== SQL_ERROR)
{
MessageBox(NULL, "Problem prilikom alociranja HENV-a.", "Problem!", MB_ICONERROR);
return 0;
}

if(SQLSetEnvAttr(henv1, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3, 0) == SQL_ERROR)
{
MessageBox(NULL, "Problem sa postavljanjem atributa HENV-a.", "Problem!", MB_ICONERROR);
return 0;
}

if(SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1) == SQL_ERROR)
{
MessageBox(NULL, "Problem prilikom alociranja za HDBC.", "Problem!", MB_ICONERROR);
return 0;
}

if(SQLConnect(hdbc1,(SQLCHAR*) "aikido", SQL_NTS, (SQLCHAR*)"", SQL_NTS, (SQLCHAR*)password, SQL_NTS) == SQL_ERROR)
{
MessageBox(NULL, "Problem sa konekcijom sa 'aikido.mdb' bazom podataka.\nProvjerite da li se ova baza nalazi u root-u programa.", "Problem!", MB_ICONERROR);
return 0;
}
return 0;
};
 
toxi:
Naso sam knjigu koja govori o tome kako da napravim bazu u Acess-u i jos nekim programima :-( zove se SQL, i nista drugo sto ima veze sa C++om a trenutno nisam u bg pa nemogu da se raspitivam po radnjama, izvinite.
Stani malo... Treba prvo da naučiš osnove relacionih baza, pa onda povezuj do mile volje sa kojim jezikom hoćeš. Kod relacionih baza se sve obavlja preko SQL. SELECT, UPDATE, INSERT, DELETE su samo neke od gomile komandi ovog, inače standardizovanog jezika upita... Prosleđuješ upit sa ovim i sličnim komandama iz programa, a nad podacima u bazi se vrše "operacije".
Da bi naučio kako da napraviš bazu, može u potpunosti da posluži ACCESS. U njegovoj pozadini radi tzv. Jet engine, koji podržava većinu SQL iskaza. Baci malo pogled na oglednu bazu NorthWind, koja dolazi sa Access-om...
 
Ima error ovaja "sqlext.h", take a look :
--------------------Configuration: bzw1 - Win32 Debug--------------------
Compiling...
bzw1.cpp
c:\program files\microsoft visual studio\vc98\include\sqltypes.h(114) : error C2146: syntax error : missing ';' before identifier 'SQLHWND'
c:\program files\microsoft visual studio\vc98\include\sqltypes.h(114) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

bzw1.exe - 2 error(s), 0 warning(s)

A ljudi pa kako je moguce da svi vi to znate a niko ne moze da predlozi neku knjigu? Pa valjda ste morali i vi od nekuda da naucite :) ?
 
toxi:
...

A ljudi pa kako je moguce da svi vi to znate a niko ne moze da predlozi neku knjigu? Pa valjda ste morali i vi od nekuda da naucite :) ?

Idi u Access i napravi bazu, neke tabele, mozda uspes i veze(relationship). Onda probaj da napravis 'query'. To je upit. Ti ces ga verovatno praviti u grafickom modu (selektujes koje kolone iz koje tabele hoves da prikazes). Onda probaj da predjes u 'SQL mode' i dobices SQL upit (to ti je ovo 'select nesto from tabela'). Tj, pretpostavljam da je Access jos uvek takav, nisam pokretao isti nekoliko godina.
Tako drndaj malo i vec ces bolje kontati organizaciju relacionih baza. A i sve to ti je manje vise intuitivno, nema ni puno komandi. Celo SQL uputstvo na ETF-u je stajalo na jedan list! (i to veliki font)
 
Sad vidim da može i direktni klik na link. ;) Pogledaj knjige o MS Access, PHP i MySQL. Instaliraj sebi MS Access (bilo koju verziju) i baci se na probe, tako se najbolje uči. Preporuka: napravi sebi bazu s imenima i tel. brojevima svih ukućana i prijatelja i upit da možeš naći nečiji broj po par slova imena i već si napravio dobar korak naprijed. Ostalo će doći uz vrijeme i pokušaje.

Živi dugo i uspješno.
 
sorlaag:
Stani malo... Treba prvo da naučiš osnove relacionih baza, pa onda povezuj do mile volje sa kojim jezikom hoćeš. Kod relacionih baza se sve obavlja preko SQL. SELECT, UPDATE, INSERT, DELETE su samo neke od gomile komandi ovog, inače standardizovanog jezika upita... Prosleđuješ upit sa ovim i sličnim komandama iz programa, a nad podacima u bazi se vrše "operacije".
Da bi naučio kako da napraviš bazu, može u potpunosti da posluži ACCESS. U njegovoj pozadini radi tzv. Jet engine, koji podržava većinu SQL iskaza. Baci malo pogled na oglednu bazu NorthWind, koja dolazi sa Access-om...

Sorlaag, samo jedna ispravka:
"Kod relacionih baza se sve obavlja preko SQL. SELECT, UPDATE, INSERT, DELETE..."
Ova konstatacija nije tacna u potpunosti. Ne mora svaka relaciona baza da bude SQL baza. I zbog toga sto nije SQL, nema ni gore pomenute i ostale komande.

A i C++ se moze podesiti da radi sa drugim vrstama baza podataka a ne samo SQL, zavisi od izbora.

I na kraju, ne moraju sve baze biti relacione baze, da bi se posao obavio kako valja. Ako imamo na primer samo tekstualne fajlove kao baze podataka.

Cisto da ne zbunjujemo pocetnike, d anas posle ne pljuju, kad naidju na nesto drugo :)
 
U pravu si, ne moraju. Nisam hteo da se previše ograđujem, a u svakom slučaju je SQL zastupljen kod velike većine... Što se tiče definicije baze, tekstualni fajlovi mu dođu kao flat-baza i svakako mogu da posluže...
Ako govorimo o SUBP (Sistem za upravljanje bazama podataka), što je često sinonim za termin "baza podataka", onda se stvari komplikuju uvođenjem konkurentne obrade, transakcija, trigera, stored procedura, zaštite itd. itd.

Danas su sve zanimljivije objektne baze podataka. Problem sa relacionim bazama (koje je uveo Codd 70-ih godina) je u tzv. razlici impedansi (impedanse mismatch). Naime, kod objektnih jezika imamo objekte, a kod baza tabele. Za čuvanje objekata moraju se kreirati string-upiti, koji se prosleđuju bazi itd. Problem rešavaju objektne baze, kod kojih je moguće direktno iz jezika čuvati objekte, bez razmišljanja o prevođenju u neke relacije itd. Primer ovakve baze je db4o (database for objects). Radi sa Javom i .NET-om. Međurešenja podrazumevaju objektno-relacione baze, kod kojih se npr. u tabelama čuvaju objekti...
 
@Sukur
Jok ba :) Taj fajl nisam ja pis'o...
Kako da vam demonstriram velicinu upitnika iznad moje glave? :)
Znate ono kad pacijent pita doktora : "Doktore sta mi je", a ovaj pocne da "objasnjava"... :)
Sad cu bačim pogled na onaj link pa ce vidimo...
A i jedan dobar covek mi je poslao na mail neku knjigu medjutim velicina je 6.4 Mb pa jos nisam poc'o da skidam to...
download...
reading....
Ubavo, sad cu ja da se igram po accessu( a jelte odkud vama ideja da ja imam access, znate vi posto je office :D , Salim se) pa kad za jedno godinu dana procitam ono, cu posujem again. ;)
Pozz
 

Back
Top