Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima

[es] :: Baze podataka :: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima

[ Pregleda: 4478 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

damso
Novi Sad

Član broj: 78853
Poruke: 158
*.dialup.neobee.net.



+9 Profil

icon SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima05.02.2006. u 11:25 - pre 221 meseci
E ovako,
ima li neko pametan da mi matematički objasni zašto je SQL dobar jezik za manipulisanje podacima..
Da li to ima nekih matematičkih dokaza i ko garantuje da za neku aplikaciju je bolje napraviti malo drukčiji jezik za manipulisanje podacima..a ne taj SQL(npr. imamo tabele gde se uglavnom traže samo neke operacije,koje bi se lakse imlementirale preko nekog SQL1 nego ovog,pa u svrhu realizacije tih operacija izmislimo drukčiji DDL/DML jezik..)


Znači da li je ta apstrakcija od SQL operacija napravljena da bude:
(ja sad to ko u algebri)

1.Kompletna? (svaka operacija koja može da se uradi nad podacima može i da se uradi pomoću SQL naredbi)
2.Minimalna?(Nijedna SQL naredba ne može da se izrazi preko drugih naredbi)

3.Par (baza,sql naredbe) čini neku proučenu algebarsku strukturu? (grupa,prsten,polje)(malo je ovo pitanej glupo jer nema naredbe samo nad tabelama nego i nad poljima..) ili bolje rečeno sistem neke strukture..
Npr.Svaka tabela je ustvari konačan skup konačnih skupova(svaka kolona je skup nekih elemenata istog tipa..) a svaka baza je opet skup tabela plus neke relacije koje su jeltako opet skupovi ali relacije su ovde nad AxB gde su A i B različitog tipa..
Ali recimo da bi se pitanje odnosilo na par (PoljaTabele,operacije..)

4.SQL je interfejs a ne implementacija? (obezbjedjuje da se uspjesno implementiraju svi upiti nad podacima sa minimalno "programiranja" , a nije nastao kao rezultat lakoce implementacije naredbi na nizem nivou..-) ili ako je kombinacija,čemu se posvetilo više pažnje..

5.Ako postoji DDL(Data Definition Language) i DML kao apstraktne strukture u kakvom odnosu stoji SQL prema njima?..

6.Šta je definicija podatka u SQLu..osnovna jedinica bi bila (podatak,Tip) pa se od njega pravi Record pa od njega Table..
Da li je record nešto više od skupa polja i pripadnosti tabeli, a tabela nešto više od skupa rekorda i pripadnosti bazi?
Kako se implementiraju relacije medju tabelama?Kao nova tabela ili kao nova tabela posebnog tipa?

Nisam baš puno upućen u teoriju relacionih baza podataka ali još par osnovnih pitanja:

1.SQL jezik je napravljen samo za relacione baze?

2.Ako je napravljen za relacione baze,je li on rezultat apstrakcije rada nad podacima ili prakticne potrebe?Ili pak ima "implementation depended " karakteristike? -vidi pitanje 4.
(da pojasnim,npr.apstrakcija bi značilo da takve naredbe u svakoj manipulaciji tabelama su minimalan skup operacija,znači apstrakcija rada nad podacima je dovela da se definišu osnovne operacije-kao što recimo prilikom rada sa grafikom definišemo CrtajTacku(x,y) a mnoge druge operacije preko nje,a ona je jedna od osnovnih,neophodnih i nedeljivih operacija-na nivou apstrakcije crtanja grafike,naravno ako bismo isli u nivo imlementaciej crtanja to ne bi bila osnovna operacija,vec..recimo naredba dodele,
ili je SQL jezik rezultat prakticne potrebe,znaci treba mi ovo treba mi ono..,ubacicu sebi i UPDATE naredbu iako ona moze da se uradi preko INSERT-WHERE kombinacije,ubacicu sebi...)

www.eden.rs
Izdavač duhovne i filozofske literature
 
Odgovor na temu

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.103.eunet.yu.



+73 Profil

icon Re: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima05.02.2006. u 15:09 - pre 221 meseci
Pocetak pitanja ti je malo neobican, nemam nameru da se pravim pametan nego da ti pomognem. Iz profila vidim da si poceo sa bazama pa ajmo redom.

Nekad davno smo citali da "direktori u americi sami pisu programe". To mi je bilo smesno dok se nisam upoznao sa SQL, tada sam video da je to vrlo jednostavan jezik. U principu je interpreter pa je rezultat odmah vidljiv.

Ali da bi radio potrebna je dosta jak softver (uslovno receno), sto znaci da sam za sebe nista ne radi vec se povezuje sa nekom bazom. A baza (RDMBS) kako god da izgleda nije ni malo jednostavna stvar.


1. Da, sa komandama select, insert, update i delete tim mozes sve da uradis. Ne znam sta bi ti jos trebalo.

2. Ima samo 4 komande

3. Verovatno studiras matematiku pa da se ne bi gadjali izrazima, neka ti ovo odgovori neko drugi. U osnovi bazu cine table koje se sastoje od polja. Podaci su organizovani kao hrpa, ne postoji prethodni i sledeci, e za to mi trebalo malo vremena da prihvatim.

4. Po tvojoj terminolgiji to bi bio interfejs, nezvisan od baze i hadvera

5. DML (data manipulatin language) koristis za pisanje programa/upita. DDL (data definition language) koristis za opis/izmenu opisa, kreiranje tabela, indexa, i ostalog sto podrzava baza.

6. To je na neki nacin klasika, tabela se sastoji od slogova, slogovi se sastoje od polja. Ovo je slicno bilo u cemu da radis, cobol, pascal, dbase, oracle, sta god. Razlika je kako se to cuva, baza je ta koja omogucava lak pristup podacima ali i cuva integritet podataka.


a ima i dodatnih pitanja

1. da

2. prakticne primene, jezik treba da je lak i jednostavan. Ono dalje sto pises je nesto drugo, baza ce ti omoguciti da brzo dodjes do podataka (naredba SELECT) a ti ih koristi dalje kako ti treba.

Posto imam iskustva sa Oracle tamo imas produkte, pa je reseno otprilike ovako: imas SqlPlus koji ti dodje kao interpreter, komandna linija. Ali i SqlForms koji radi sa formama gde koristis SQL jezik, na formi se napravi upit i na osnovu toga popunjavaju polja na ekranu. I jos gomila Sql-produkta koji sql koriste za razmenu podataka sa bazom, preuzimaju i prikazuju na naki drugi nacin.

...

Ono sto baza radi je manipulacija sa podacima, ubacivanje, menjanje, brisanje i naravno select. Druga je stvar sta radis sa tim podacima.

A zasto je dobar jezik? Razlicite baze, a isto pises. Posto vidim da se bavis i sa php onda znas da mozes da podatke citas iz baze. Citanje je uvek isto "select * from tablela;". Priprema, tj pristup bazi malo promenis ali kod ostaje isti. Koristis mysql_connect ako je mysql baza, pgsql_connect ako je postgresql. (ima i malo izmene nekih parametara, ali je to beznacajno)


[Ovu poruku je menjao dragancesu dana 05.02.2006. u 22:18 GMT+1]
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima06.02.2006. u 13:56 - pre 221 meseci
Relacionu teoriju je 'izmislio' Edgar Codd, dok je radio u IBM pre tridesetak godina ili tako nesto. Evo ti link koji tvrdi da prikazuje originalan Codd-ov papir od koga je sve pocelo.

http://www.acm.org/classics/nov95/toc.html

A moze i ovo da bude interesantno:
http://en.wikipedia.org/wiki/Edgar_F._Codd

Codd jeste izmislio relacionu teoriju, a narodu je objasnio drugi covek, Chris Date. Matematicki deo teorije imas u knjizi Introduction to Database Systems, by C. Date

http://www.aw-bc.com/catalog/a...duct/0,1144,0321197844,00.html

http://en.wikipedia.org/wiki/Christopher_J._Date

Danas postoji komoitet koji se bavi SQL standardom. Taj komitet odredjue kako SQL treba da izgleda kao jezik, a onda razliciti proizvodjaci softvera rade svoje implementacije, koje su manje vise slicne i manje vise prate standard.



:-)

[Ovu poruku je menjao Zidar dana 06.02.2006. u 15:05 GMT+1]
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima06.02.2006. u 14:05 - pre 221 meseci
SQL je jedan vrlo pragmatičan jezik i bojim se da je bilo kakav matematički pristup njemu prilično uzaludan - jednostavno jezik "radi posao" već desetinama godina, opšte je prihvaćen i sumnjam da iko razmatra da ga menja, jedino se ide u pravcu njegovog proširivanja da bi se olakšao i ubrzao razvoj database-driven aplikacija.
 
Odgovor na temu

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.voban.co.yu.



+73 Profil

icon Re: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima07.02.2006. u 07:51 - pre 221 meseci
Nemoj mnogo da se brines da li je najbolji nego ga nauci i koristi pa ces videti.

Malo sam se podsetio pa da znas:

Sta je SQL?

Jedinstven jezik za
- definiciju podataka
- pristup podacima
- maniupulaciju podataka
- kontrolu pristupa podataka

Jezik za sve tipove korisnika i rezima rada (okruzenja):
- za krajnje korisnike, programere, administratore
- interaktivni ili batch, ad hoc ili u programu

Jezik za podatke koji je slican engleskom i neproceduralan
- korisnici opisuju zeljeni rezultat, a ne opostupak
- nije metoda dobivanja rezultata

Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

Lobacev
Lobacev Ski
Earth

Član broj: 76551
Poruke: 84
*.erstebank.co.yu.



Profil

icon Re: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima17.02.2006. u 14:04 - pre 221 meseci
Do odgovora da li je nešto dobro ili nije može se doći na dva načina:
a) da se postavi skup uslova koje to "nešto" - u ovom slučaju jezik za upravljanje bazom podataka - treba da zadovolji a koji su od značaja za onoga ko odlučuje;
b) na nervnoj bazi - kada ti se nešto sviđa (ili ne) a ne znaš zašto.

Što se tiče SQL jezika - treba da preferiramo način naveden pod a. Ako pitaš da li je SQL zatvoren u odnosu na skup nad kojim operiše - odmah da ti kažem da nije. Ovo zbog toga što bi rezultat svih SQL operacija trebalo da bude relacija, a kod Oraklovog SQL-a imamo klauzulu CONECT BY koja od rekurzivne relacije pravi stablo. Tako, ako ti je kriterijum da imaš jezik čije operacije ne izvode iz skupa - SQL sigurno nije taj. Ali ako pitaš nekoga - ko je u Kobolu morao da selektuje slogove iz baze podataka dobro pazeći na strukturu, dužinu datoteka i polja (ili nedaj Bože na cilindre i sektore na diskovima), pa je prešao na SQL jezik - koji od ova dva načina je lakši, brži i produktivniji sigurno ćeš dobiti odgovor da je SQL bolji. Tim pre što se kod svake izmene u strukturi datoteka Kobol morao rekompajlirati a SQL ne mora.

[Ovu poruku je menjao Lobacev dana 17.02.2006. u 15:06 GMT+1]
 
Odgovor na temu

[es] :: Baze podataka :: SQL teorija..ili.. matematičko objašnjenje zašto je SQL dobar jezik za manipulisanje podacima

[ Pregleda: 4478 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.