Hrvatski 
matematički elektronski časopis math.e

Broj 6 

 


  Anamari Nakić, Ivo Ugrina:
Internet baza matematičkih pojmova e-Ghetaldus


Dodatak 2: Detalji implementacije sučelja i funkcija e-Ghetaldus-a

e-Ghetaldus ima dva sučelja: korisničko kojem može pristupiti bilo tko, te administratorsko, koje služi za unošenje, modificiranje i brisanje defincija. Sve funkcije opisane u ovom poglavlju napisane su u PHP-u.

Osnovna funkcija koju bi e-Gethaldus trebao obavljati jest pronalaženje određene definicije s obzirom na korisnikov upit. Bilo bi dobro da korisnik može unijeti samo dio pojma (na primjer, matri), da e-Ghetaldus može ispisati slične pojmove (ukoliko je korisnik unio krivi pojam, npr. sirjekcija, baza bi trebala pod slične pojmove ispisati surjekcija, tj. ispravljeni pojam), te ukoliko ima više odgovora na upit ispisati sve. Ukoliko upit nije dio baze trebalo bi ga staviti u tablicu eG_trazeni.


Slika 1. Primjer odgovora na korisnički upit

Za uspješno vođenje baze podataka potrebno je imati i sučelje za unos podataka, brisanje podataka, mijenjanje podataka te odgovarajuće funkcije. Funkcija za unošenje izvora definicija koja bi upisivala izvor u bazu te mu pridjelila odgovarajući prirodni broj (Id4). Funkcija za unos definicije, engleskog naziva te HTML oblika (hrvatski i engleski) određenog pojma trebala bi prvo provjeriti da li taj pojam već postoji u bazi. Ukoliko pojam ne postoji u bazi, funkcija bi ga trebala unijeti zajedno s odgovarajućim atributima (pogledati definiciju tablice eG_pojam) u tabelu eG_pojam. Pri unošenju u tabelu pojam bi dobio jedinstveni prirodni broj Id. Funkcija bi nadalje trebala uzeti Id odgovarajućeg pojma te ga zajedno s definicijom, datumom te Id4 unijeti u tabelu eG_definicija. Ako je pojam već postojao u bazi tada funkcija treba samo uzeti odgovarajući Id te ga zajedno s definicijom, datumom te Id4 unijeti u tabelu eG_definicija.

Definicije se unose u HTML-obliku, onako kako želimo da budu prikazane na Intenetu. Svaki pojam može imati više definicija te bi kod brisanja ili promjene definicije trebalo paziti koju se definiciju briše, odnosno mijenja. Najelegantniji način je da se za određeni pojam ispišu sve definicije te da nakon toga administrator odabere koju će definiciju izbrisati (slika 4) odnosno promijeniti. Znači, potrebna nam je funkcija koja bi ispisivala sve mogućnosti. Za određeni pojam funkcija pronalazi odgovarajući Id iz tabele eG_pojam te potom sve definicije koje pripadaju tom Id-u. Ako samo jedna definicija pripada Id, onda funkcija za brisanje briše odgovarajuću definiciju iz tabele eG_defincija te potom i pojam iz tabele eG_pojam.


Slika 2. Pojam sa dvostrukom definicijom

Funkcija za promjenu podataka prvo treba uzeti stare podatke te ih staviti administratoru na raspolaganje. Nakon što administrator promjeni podatke funkcija će nove podatke upisati na mjesto starih.

Sučelje za rad s bazom sastoji se od još dvije funkcije. Prva funkcija ispisuje sve pojmove koji su traženi, a nisu u bazi (slika 5) dok druga briše jedan od tih pojmova.


Slika 3. Informacije o upitima koji ne postoje u bazi