Document 7148211

Download Report

Transcript Document 7148211

Baze podataka u nastavi
mr Branislava Bajković Lazarević
Duša Zoranović
Teze
• Baze podataka
▫ kome je potrebno znanje o bazama podataka
▫ potrebno znanje i veštine
▫ trenutna situacija u školama i potreban fond
časova za realizaciju
▫ iskustvo u Računarskoj gimnaziji
▫ iskustvo sa Oracle Academy programom
Kome je potrebno znanje
• Budući profesionalci u oblasti informacionih
tehnologija
– za projektovanje i kreiranje baze podataka
– za administraciju baza DBA
– za održavanje i razvoj baza
– za kreiranje aplikacija koje koriste baze
• Eksperti i ostali zaposleni u pružanju
informacija profesionalcima prilikom razvoja
informacionih sistema
Kome je potrebno znanje -
nastavak
• Budući korisnici informacionih sistema su od
domaćice do bankovnih službenika
▫ Već danas je realnost rezervacija avio karata preko
Interneta, narudžbine knjiga, plaćanje računa...
Iza svake od tih usluga stoji baza podataka.
▫ Ova kategorija obuhvata gotovo sve zaposlene.
Potrebno znanje i veštine
• Modeliranje i baze podataka
– objekti i veze
– priprema za kreiranje baze
• Baze podataka
– relacione baze podataka (osnovna teorija o tome šta je
baza i normalizaciji)
– kreiranje baza podataka u nekom okruženju Access,
SQL Server...
– manipulacija podacima u bazi (unošenje, izmena,
brisanje)
– upiti za dobijanje informacija
Modeliranje i baze podataka
• Model je jako bitan kao veza između budućih
krajnjih korisnika i službe za razvoj
informacionog sistema.
• Ukoliko krajnji korisnik ima znanje o
modeliranju i bazama biće u mogućnosti da na
bolji način prenese službi za razvoj IS poslovne
potebe, što rezultuje boljim konačnim
informacionim sistemom.
Modeliranje i baze podataka -
nastavak
• Svega 25% od ukupnog broja završenih
projekata počne i nastavi da se koristi. Jedan od
razloga je nedovoljno dobro urađena faza
modelovanja.
• “Slika govori hiljadu reči.” Poželjno je znanje
nekih od načina prikazivanja entiteta i veza
između njih (ERD – Entity Relationship
Diagram)
Modeliranje i baze podataka -
nastavak 2
• Model ERD je poslednji u fazi idejnog razvoja
projekta i na osnovu njega se formira fizička baza
podataka u Access-u, SQL Server-u...
• Model mora na jasan način da prikaže sva poslovna
pravila firme za koju se razvija informacioni sistem.
• Osnovno u modelu je da se prikažu entiteti, njihovi
atributi, veze između entiteta i osobine tih veza.
• Ono što ne može da se prikaže dijagramom, mora da
se zapiše u dokumentaciji tekstom.
Modeliranje i baze podataka -
nastavak 3
• Postoje razni standardi za prikaz ERD-a.
• Postoje i razni alati za razvoj i opis ERD-a:
▫
▫
▫
▫
ERVIN
Visio
Rational Rose
...
(iako upoznati sa raznim standardima, posebno
nam se sviđa standar kojim smo ovladali u okviru
Oracle Academy obrazovanja)
Modeliranje i baze podataka –
nastavak 4
Modeliranje i baze podataka –
nastavak 5
Modeliranje i baze podataka –
nastavak 6
Modeliranje i baze podataka –
nastavak 7
Modeliranje i baze podataka –
nastavak 7
• Veza “više prema više” M:M se razrešava uvođenjem
novog entiteta.
▫ entitet EXAM koji povezuje STUDENT i SUBJECT
• Novi entitet može da ima i svoje posebne atribute
▫ date (datum ispita) i grade (ocena)
• Za primarni ključ može da se uzme kombinacija stranih
ključeva tabela koje povezuje ili da se uvede novi
primarni ključ.
• Ukoliko atribut može da ima više vrednosti po jednoj
vrednosti primarnog ključa (za takav entitet se kaže da
nije u prvoj normalnoj formi), treba da se uvede novi
entitet.
▫ student može da ima nekoliko brojeva telefona (kućni,
mobilni...) pa se uvodi novi entitet PHONE_NUM
Modeliranje i baze podataka –
nastavak 8
STUDENTS
Tip ključa
Opcionalnost
Naziv kolone
primarni ključ
# (not null)
* (not null)
o
o
student_id
name
address
birth_date
Tip ključa
Opcionalnost
Naziv kolone
primarni ključ
# (not null)
* (not null)
o
* (not null)
phone_id
phone
description
student_id
PHONES
strani ključ
Baza podataka
Baza podataka -
nastavak
create table students
(student_id int constraint students_id_pk primary key,
name nchar(20) constraint students_name_nn not null,
address nchar(50),
birth_date datetime);
create table phones
(phone_id int constraint phones_id_pk primary key,
phone nchar(15) constraint phones_phone_nn not null,
description nchar(10),
student_id int constraint phones_students_fk foreign key
references students(student_id));
Baza podataka –
nastavak 1
insert into students (student_id, name, address,
birth_date)
values (1, 'Maja Jovic', 'Kosovska 5', '12-JAN-87');
insert into subjects values (1, 'Matematika 1');
insert into exams values (7, 6, 3, '15-SEP-07',10);
insert into phones
(phone_id, phone,description, student_id)
values (8, '064-123-456', NULL, 6);
Baza podataka –
nastavak 2
Baza podataka –
nastavak 3
Trenutna situacija u školama
• Trenutna situacija je da se baze podataka ili ne
rade ili rade tokom jedne školske godine sa
fondom od jedan ili dva časa nedeljno.
• Naše mišljenje je da bi bilo poželjno da se izvodi
nastava o bazama podataka tokom od jedne do
dve godine sa fondom od dva časa nedeljno. Sa
velikim akcentom na temi: modeliranje baze
podataka (ERD).
• Setimo se da ova tema nije trenutno u programu.
Iskustvo u Računarskoj gimnaziji
• U trećoj godini u okviru predmeta Modeli i baze
podataka (2 časa nedeljno i 30 časova blok nastave godišnje)
učenici ovladaju:
▫ teorijskim osnovama i istorijatom baza podataka
▫ dizajniranjem modela ERD upotrebom alata Visio
▫ pravljenjem XML dokumenata
 validacija XML dokumenta
 kaskadna lista stilova i XML dokumenti
 prikazivanje XML dokumenta HTML dokumentom
▫ UML notacija u opisivanju objektno orjentisanih
modela
Iskustvo u Računarskoj gimnaziji
• U četvrtoj godini u okviru predmeta Modeli i
baze podataka (2 časa nedeljno i 30 časova blok nastave
godišnje) učenici treba da ovladaju SQL jezikom
(kreiranje tabela, unos podataka, manipulacija
podacima, pisanje upita), administracija baze
podataka, transakcije, sigurnost i zaštita baze
podataka.
Iskustvo sa Oracle Academy programom
• U Računarskoj gimnaziji u okviru dodatne nastave, a
od ove godine i u Matematičkoj gimnaziji u redovnoj
nastavi, učenici prate Oracle Academy program.
• Oracle Academy nudi izbalansirani način učenje u
on-line režimu i kontakta sa profesorom.
• Učenicima nudi razvoj znanja i upoznavanje sa
dobrim tehnikama u modeliranju, kao i osnove u
radu i razvoju fizičke baze podataka (SQL standard).
• Kurs se izvodi u 140 časova. Mi smo u okviru
nastave ceo program realizovale sa fondom od 100
časova. Naše mišljenje je da je ovo jako efikasan i
dobro organizovan način rada.
Iskustvo sa Oracle Academy programom
• Učenici prvog razreda Računarske gimnazije,
Stefan Mihailović, Luka Hamza i Stefan Kučević,
su učestvovali sa radom Global Airlines,
With us through space na međunarodnom
takmičenju u modeliranju podataka Global Data
Modeling Competition i uzeli četvrto mesto.
• Konačan model je prikazan na sledećem slajdu.
Iskustvo sa Oracle Academy programom
• Oracle Academy program se sastoji iz osnovnog i
naprednog kursa.
• Osnovni kurs
• dizajn baze podataka
• osnove programiranja u SQL-u
• Napredni kurs
• programiranje u PL/SQL-u
• Izvođenje nastave je organizovano na
• sajtu sa lekcijama i testovima
• sajtu sa direktnim pristupom Oracle Academy bazi