Stranica 1 od 1

Baze podataka – osnovni pojmovi s primerom

PostPoslato: Nedelja, 11. Oktobar 2015, 11:31
od Miladin Jovic
Data je relacija DNEVNIK(ucenik,predmet,ocena,datum) sledećom ekstenzijom:

Učenik Predmet Ocena Datum
Petar Analiza 5 1.3.2015.
Petar Numerička matematika 4 2.3.2015.
Lazar Algebra 3 1.3.2015.

Ispitati osobine jedinstvenosti i neredudantnosti na datim kolekcijama i navesti da li neka od kolekcija poseduje osobine ključa ili nadključa.
a) (učenik,predmet)
b) (ocena, datum)

Definicija ključa
Ključ relacije R je takva kolekcija K njenih atributa koja zadovoljava sledeća dva uslova:
• Osobina jedinstvenosti. Ne postoje bilo koje dve n-torke sa istom vrednošću K.
• Osobina neredundantnosti. Ako se bilo koji atribut izostavi iz K, gubi se osobina jedinstvenosti.
Definicija nadključa
Ona kolekcija atributa K koja zadovoljava samo osobinu jedinstvenosti naziva se nadključ relacije.

a) Kako svi redovi u ovoj tabeli imaju različite vrednosti uređene dvojke (učenik, predmet) zaključujemo da važi osobina jedinstvenosti.
Osobina neredudantnosti mi je nejasna. Ako izostavimo kolonu(atribut) Učenik, osobina jedinstvenosti ostaje(dakle data kolekcija je nadključ jer ima samo prvu osobinu iz definicije ključa). A pak, ukoliko izostavimo kolonu Predmet, jedinstvenost se gubi,i to znači da data kolekcija zadovoljava obe osobine ključa.
Šta vi mislite o tome? Šta zapravo znači "bilo koji atribut" iz osobine neredudantnosti?

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Nedelja, 11. Oktobar 2015, 18:32
od desideri
Ovo dva puta "Petar" nikad ne bih ostavio u bazi podataka. Šta da je hiljadu takvih "Petar"? Isto važi i za dva ista datuma u poslednjoj koloni.
Potrebna je dodatna, nova tabela. Ili ekstenzija, kako si naveo.
Ako se pravi profesionalna baza.
Inače operater unosi hiljadu puta "Petar". Naravno, metaforički, mislim da se razumemo. I hiljadu puta isti datum.
To je užas.
A o svemu ostalom moram da razmislim, ovo je čisto teorijski, i baš je matematika u informatici.
Razmisliću i o ovim definicijama koje si naveo. Sve su na mestu, na prvi pogled.
Zadatak je ok, i baš spada u ovaj potforum :thumbup:
Naravno da bih voleo da me neko preduhitri u odgovoru, no odgovoriću i ja :) .

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Nedelja, 11. Oktobar 2015, 22:12
od Miladin Jovic
Naravno da je tako kako si napisao (u vezi ponavljanja podataka) ukoliko se pravi profesionalna baza. Čak mi se čini da se taj postupak koji si naveo,a koji ima veze sa kontrolisanjem redundanse podataka naziva normalizacija baze.
No, ovo je samo zadatak iz kog bi trebali da naučimo osnovne pojmove, pa zato i nije "savršen". :)

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Ponedeljak, 12. Oktobar 2015, 14:57
od Daniel
Budući da se prvi put susrećem s nekim pojmovima iz ovog teksta, zamolio bih te za tačne definicije sledećih pojmova, pre nego što se udubim u zadatak:
ekstenzija (pretpostavljam iz konteksta da je to isto što i tabela, al' ne bih da nagađam);
kolekcija;
atribut.

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Ponedeljak, 12. Oktobar 2015, 17:56
od Miladin Jovic
Ekstenzija je tabela.
Atribut je imenovani domen relacije, prosto rečeno, naziv kolone.
Kolekcija atributa je zapravo skup atributa.

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Ponedeljak, 12. Oktobar 2015, 19:04
od Daniel
Ja bih, ako sam dobro razumeo definicije i objašnjenja koje si izložio, ovako rezonovao (uz obaveznu ogradu da se nisam dosad susretao sa svim ovim pojmovima):

Kolekcija (Učenik, Predmet) sadrži dva atributa, tj. n=2, prema tome, n-torke su, zapravo, uređeni parovi. Postoje tri takva uređena para:
(Petar, Analiza)
(Petar, Numerička matematika)
(Lazar, Algebra)
Kao što vidimo, ne postoje dva međusobno jednaka uređena para, prema tome, ova kolekcija ima osobinu jedinstvenosti.

Ako bismo iz ove kolekcije uklonili atribut Predmet, tada bismo dobili n=1, pa bi n-torke bile (Petar), (Petar) i (Lazar), a pošto bi postojale dve međusobno jednake n-torke, ovakva kolekcija ne bi bila jedinstvena.
Međutim, ako bismo iz kolekcije uklonili atribut Učenik, tada bi n-torke bile (Analiza), (Numerička matematika) i (Algebra), pa ne bi postojale dve međusobno jednake n-torke, što znači da bi ovakva kolekcija i dalje bila jedinstvena.

Pošto nije ispunjen uslov da uklanjanjem bilo kog atributa kolekcija (Učenik, Predmet) gubi osobinu jedinstvenosti, zaključujemo da kolekcija (Učenik, Predmet) nema osobinu neredundantnosti (moram to „n“ da naglasim, budući da si ga na tri mesta izostavio).

Pošto ima samo osobinu jedinstvenosti a nema osobinu neredundantnosti, zaključujemo da ta kolekcija predstavlja natključ (ne nadključ, već natključ, zbog jednačenja suglasnika po zvučnosti).

Slično razmišljanje bi bilo i za kolekciju (Ocena, Datum). Takođe bi se dobilo da ta kolekcija predstavlja natključ.

Da li se slažeš/slažete s ovakvim razmišljanjem?

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Ponedeljak, 12. Oktobar 2015, 19:44
od Miladin Jovic
Apsolutno se slažem,hteo sam da čujem razmišljanja forumaša,a za pravopisne (gramatičke) greške se izvinjavam.Potpuno sam ih prevideo, pisao sam dosta brzo i želeo da objasnim.
Odužiću se postavljanjem ove ekstenzije:

D B G Đ Z Ž
T P K Ć Č S Š F,H,C


:)

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Ponedeljak, 12. Oktobar 2015, 20:59
od Daniel
:thumbup:

BTW nikad mi nije bilo jasno zbog čega i F-V ne čine bezvučno-zvučni par, al' kad lingvisti tako kažu, onda OK, prihvatio sam tako... :)

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Utorak, 10. Novembar 2015, 17:21
od nikola011
desideri je napisao:Ovo dva puta "Petar" nikad ne bih ostavio u bazi podataka. Šta da je hiljadu takvih "Petar"? Isto važi i za dva ista datuma u poslednjoj koloni.
Potrebna je dodatna, nova tabela. Ili ekstenzija, kako si naveo.
Ako se pravi profesionalna baza.
Inače operater unosi hiljadu puta "Petar". Naravno, metaforički, mislim da se razumemo. I hiljadu puta isti datum.
To je užas.
A o svemu ostalom moram da razmislim, ovo je čisto teorijski, i baš je matematika u informatici.
Razmisliću i o ovim definicijama koje si naveo. Sve su na mestu, na prvi pogled.
Zadatak je ok, i baš spada u ovaj potforum :thumbup:
Naravno da bih voleo da me neko preduhitri u odgovoru, no odgovoriću i ja :) .

Nadovezaću se samo iz razvojnog ugla - ako postoji jedinstveni ID u bazi podataka za svakog korisnika, onda nema problema da dvojica imaju ista ili slična imena (to je i najčešća praksa u razvoju, da ne bi dolazilo do konflikta). Kompajler/interpreter će sam dojaviti grešku kada se nađu dva ista tipa podataka sa istom vrednošću u jednoj koloni ako je ta kolona postavljena kao unique i ako je uključeno prijavljivanje greške. Zato mislim da bi trebalo dodati i kolonu za identifikacioni broj korisnika.

Pozdrav i izvinite na smetnji.

Re: Baze podataka – osnovni pojmovi s primerom

PostPoslato: Četvrtak, 12. Novembar 2015, 21:34
od desideri
@nikola011,
kakva smetnja, baš si dobro dopunio moj komentar :thumbup: .
Čak i opraštam kršenje tačke 15 Pravilnika.