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 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
PHONES Tip ključa
Opcionalnost Naziv kolone
primarni ključ
# (not null) * (not null) o * (not null)
strani ključ
phone_id phone description student_id
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);
Baza podataka - nastavak 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
BAZE PODATAKA u nastavi programiranja
Baze podataka u nasim školama i u svetu Naša iskustva u nastavi baza podataka od SSQL, Clipper- a, ... do SQL servera. Praktična saznanja o potrebi za učenjem baza podataka bilo kao profesionalaca, bilo kao krajnjih korisnika u postupku modelovanja procesa. Naš koncept kako bi trebalo učiti modelovanje baza Kako smo već pričali o izvođenju nastave iz Accessa, nastavak je kako izvodimo nastavu iz SQL servera. Zaključak-osrvrt na univerzitetsko učenje Baza podatka.
Gimnazije Gimnazije koje rade po specijalizovanim i oglednim programima Program Računarske gimnazije Srednje stručne škole
U početku teorijski predmet sa SSQL simulatorom, Clipper-om Access Access i SQL server
Model podataka koji su đaci matematičke gimnazije napravili u okviru svoje redovne vežbe
CATCH HISTORY * date * location º note
EMPLOYEE # id * first name * last name * address * salary * city * state * zip code * start date º e-mail º phone number º note º end date
writes is written by
belonging to
have belonging to
have
PROCEDURE * name º details
belonging to
TRAINING SCHEDULE # date º description
THANK YOU CARD # card number * date sent º description
mother of
ANIMAL
OTHER * name º description
ADMINISTRATOR * Qualification * Sector
working at
NEWSLETTER HISTORY * date mailed belonging to
PERSCRIPTION * brand * name * amount º details
have
TRAINER
have
VACCINATION * name * amount
have
VET * license no * qualification º emergency contact
NEWSLETTER # issue number º note
MEDICAL HISTORY # date # time
belonging to
FLEECIER
belonging to
belonging to have
child of
# id * nickname * weight * sex * born in shelter º date of birth º date of death º friendly º description º note CAT º breed º hair length
received from
ANIMAL DONATION * date º note
of
DOG º breed º hair length
given to
have for have
the work place of SHELTER # id * address * city * state * zip code º note
have
for
have
located in
have
for
FEEDING SCHEDULE # date # time
containg in
CAGE SCHEDULE # date
located in
FOOD # id * name * production date * best before º note
CAGE # id * size * type º description
happened at made by MONEY DONATION # date * payment method * amount º note happened at
have
location of
CLIENT # id * first name * last name * address * city * state * zip code º e-mail º phone number º note
is giving
from RETURN * date º reason º note
for
for
the location of
ANIMAL CLEANING SCHEDULE # date
from
ADOPTION * date º note
of
OTHER º breed
have the receiver of
provided
have
ANIMAL CARER
is sent to
EVENT # id * date * location º description
have
Predmet u III razredu Modeli i Baze podataka
Predmet u IV razredu Modeli i Baze podataka SQL jezik i programiranje na nivou baze podataka: Transakcije Trigeri Procedure i funkcije Naredbe za logičku kontrolu
Fond časova i početak učenja Konceptualni model i ER model. ER, relacioni model i konverzija Izbor alata
Relacione baze i softver za rad sa relcionim bazama: Izbor platforme-izbor alata Standard SQL jezika
Upoznavanje sa alatom u najosnovnjim elementima- 2 do 3 časa Samostalno izvode sledeću vežbu na računaru 2 do 3 časa Naprednije tehnike rada sa alatom Složenija vežba kao rezultat obuke SQLa i alata
Učenik treba da napiše SQL skripta kojim: Kreira sve tabele baze Kreira ograničenja za primarne ključeve, strane ključeve Kreira indekse Kreira ograničenja za korisnike i dodeljuje ovlašćenja Koristi DTS wizard za uvoz podatak u tabele Postavlja upite na kreiranoj bazi Povezuje se Access-om sa bazom i kreira forme.
Što više standardizacije kao olakšanje izvođenja nastave u obrazovanju Uključiti u pravljenju standarda relevantne organizacije iz privrede, univerziteta i škole Kreirati zakonski okvir za veću slobodu nastavnika u izboru tema.