zaliczenie 

po polsku


Zaliczenie kursu Wprowadzenie do technologii baz danych
Zasady ogólne


Kurs koñczy siê zaliczeniem (z ocen±), gdzie oceniane jest
wykonanie zadania zaliczeniowego, polegaj±cego na
zaprojektowaniu i wykonaniu mini-aplikacji realizuj±cej któr±¶ z
zaproponowanych dalej . Termin
uzyskania zaliczenia wynika z wymagañ Dziekanatu, tj. nie
wprowadzam w³asnych, dodatkowych wymagañ co do ostatecznego
terminu z³o¿enia pracy. Proszê jednak mieæ na uwadze, ¿e przez
znaczn± czê¶æ wakacji letnich bêdê zapewne na urlopie, co mo¿e
utrudniæ uzyskanie zaliczenia w tak odleg³ym terminie ;-).




    l
    Rozwi±zanie powinno uwzglêdniaæ: projekt struktury danych,
    interfejs umo¿liwiaj±cy ,,standardowe'' operacje na danych
    u¿ytkownikowi nie znaj±cemu szczegó³ów wewnêtrznej budowy
    aplikacji ani jêzyka SQL, oraz uruchomienie wraz z
    wype³nieniem bazy mniej lub bardziej realnymi danymi
    próbnymi. Zbiór danych próbnych powinien byæ ,,rozs±dnej''
    wielko¶ci, tj. nie dwa-trzy rekordy! Aplikacja powinna
    dzia³aæ poprawnie i byæ odporna na b³êdy u¿ytkownika
    (np. nie reagowaæ na parê nerwowych ciosów w klawisze
    skasowaniem wszystkich wcze¶niej zapisanych danych).
    l

    l
    Preferowane s± rozwi±zania wykorzystuj±ce MySQL; rozwi±zania
    oparte na przechowywaniu danych w plikach tekstowych mog±
    byæ do przyjêcia w uzasadnionych przypadkach, nale¿y jednak
    wtedy pamiêtaæ o rozwi±zaniu (lub unikniêciu) problemów
    zwi±zanych z mo¿liwo¶ci± równoleg³ej modyfikacji tych samych
    plików przez kilka procesów.
    l

    l
    Niezbyt mnie interesuj± jako rozwi±zania zadañ
    ) zaliczeniowych np. aplikacje w Excelu, Magic, XBase itp. czy
    oparte na innych RDBMS ani¿eli MySQL; nie dlatego, ¿eby by³y
    a priori gorsze, tylko ze wzglêdu na trudno¶ci z
    ich przetestowaniem na lokalnie dostêpnym komputerze i brak
    wystarczaj±cych kompetencji do ich oceny.
    l

    l
    Interfejs u¿ytkownika mo¿na skonstruowaæ za pomoc± dowolnych
    narzêdzi programistycznych dostêpnych na
    bobo.fuw.edu.pl (lub które dadz± siê na nim ³atwo
    zainstalowaæ; w razie w±tpliwo¶ci proszê o kontakt). Mo¿e
    to byæ (z grubsza wg. rosn±cego wyrafinowania)

      l
      zestaw skryptów shella/awka z wywo³aniami programu
      mysql i dialogami ,,linijka po linijce'' z
      u¿ytkownikiem,
      l

      l
      analogiczny zestaw skryptów z dialogami pe³noekranowymi
      wykonanymi np. za pomoc± programów
      lub
      ,
      l

      l
      zestaw skryptów CGI w shellu/awku/perlu/dowolnym znanym
      autorowi i dostêpnym na serwerze jêzyku programowania
      (udostêpniaj±cym komunikacjê z MySQL, np. ,
      ,
      ...?),
      l

      l
      program w C wykorzystuj±cy do
      komunikacji z baz± danych i
      lub
      czy te¿

      do obs³ugi interakcji pe³noekranowej,
      l

      l
      program w C/C++/Perl/Python z okienkowym interfejsem
      u¿ytkownika w X Window System,
      l

      l
      lub mo¿e jeszcze inaczej?
      l


    Mam ¶wiadomo¶æ, ¿e techniki programowania interfejsów nie
    zosta³y w zadowalaj±cym stopniu przedstawione w ramach kursu,
    g³ównie z powodu ograniczeñ czasowych i niemo¿no¶ci za³o¿enia
    np. ¿e wszyscy s³uchacze znaj± jêzyk C co najmniej w
    podstawowym zakresie. Osobom bez wiêkszego do¶wiadczenia w
    programowaniu sugerowa³bym raczej skorzystanie z metod
    wymienionych w pierwszych trzech punktach powy¿ej.
    l




Od (prawie) ka¿dej z tych szczegó³owych regu³ mo¿liwe s±
wyj±tki, prosi³bym jednak o wcze¶niejsze zg³aszanie i
uzgadnianie szczegó³ów projektów o wyra¼nie odmiennych
za³o¿eniach. Podobnie te¿ w przypadku, gdyby wykonanie
zaprojektowanego rozwi±zania wymaga³o instalacji dodatkowego
oprogramowania na serwerze.


Proponowane tematy zadañ



Ksi±¿ka adresowa
Oczywi¶cie z mo¿liwo¶ci± wyszukiwania wg. ró¿nych kryteriów,
wygodnym wprowadzaniem danych, i funkcj± zrzucania podzbioru
(lub wszystkich) rekordów do pliku tekstowego, nadaj±cego siê
do druku. Interfejs technikami dowolnymi.

Archiwum listów poczty elektronicznej
Z mo¿liwo¶ci± szybkiej selekcji listów do wy¶wietlania
wed³ug kilku kluczy: przede wszystkim utworzonych na podstawie
nag³ówków (nadawca, data, temat, ...); opcjonalnie
wyszukiwanie pe³notekstowe w tre¶ci listów, warto wprowadziæ
mo¿liwo¶æ ograniczenia zakresu wyszukiwania wed³ug warto¶ci
kluczy j.w. Nale¿y stworzyæ mechanizmy wprowadzania listów do
archiwum, tak pojedynczego listu jak i pliku w formacie
mbox. Mile widziana te¿ mo¿liwo¶æ stworzenia
ksi±¿ki adresowej na podstawie adresów nadawców listów zapisanych
w archiwum.


mo¿na znale¼æ informacje o mo¿liwych postaciach adresów poczty
internetowej, natomiast
mo¿na
siê (zbyt) szczegó³owo dowiedzieæ, jak mog± wygl±daæ nag³ówki
listu elektronicznego.

Katalog ksi±¿ek
Uproszczona aplikacja nadaj±ca siê do skatalogowania ma³ej
lub ¶redniej wielko¶ci ksiêgozbioru prywatnego. W rekordach
zapisujemy dane takie, jakie wystêpuj± w katalogach bibliotecznych
czy bibliografiach (autor, tytu³, rok wydania, wydawnictwo,
dzia³ tematyczny, s³owa kluczowe, ew. ISBN, ...) i nale¿y stworzyæ
mo¿liwo¶ci przeszukiwania katalogu wed³ug kryteriów dotycz±cych
tych danych.

Inny wariant tego tematu to katalog kolekcji p³yt/kaset audio/kaset wideo
o analogicznych cechach u¿ytkowych.

MySQL-locate
Zadanie polega na odtworzeniu czêsci funkcjonalno¶ci
systemowego programu
z wykorzystaniem MySQL.

Katalog kolekcji p³yt CD z oprogramowaniem
Wykorzystuj±c mo¿liwo¶ci programu locate lub tworz±c
w³asn± implementacjê (czê¶ci) jego funkcji, stworzyæ aplikacjê do
katalogowania zawarto¶ci kolekcji p³yt z oprogramowaniem, umo¿liwiaj±c±
szybkie odszukanie pliku/plików i p³yty, na której siê znajduj±,
wed³ug kryteriów dotycz±cych nazwy pliku i/lub katalogu.

MySQL-fortune
Znowu chodzi o odtworzenie (istotnej) czê¶ci funkcji
istniej±cego programu
(), z
wykorzystaniem informacji zawartej w jego dokumentacji. Mile
widziane pomys³owe funkcje wykraczaj±ce poza oferowane przez
orygina³.

Zarz±dzanie kontami unixowymi
Dane potrzebne do wygenerowania
i
przechowujemy w bazie danych pod MySQL,
wraz z dodatkowymi informacjami np. data utworzenia rekordu,
data jego ostatniej modyfikacji, data wa¿no¶ci (po której dane
konto wygasa). Oczywi¶cie dodajemy interfejs obs³uguj±cy
typowe operacje: dodanie rekordu (u¿ytkownika), modyfikacja
danych u¿ytkownika (np. nazwiska czy daty wa¿no¶ci konta),
oraz "wyeksportowanie" danych w postaci plików, które mo¿na by
zainstalowaæ w systemie jako /etc/passwd i
/etc/shadow. Nigdy nie zak³adamy, ¿e mo¿emy
bezpo¶rednio pisaæ do plików systemowych!

W¶ród za³o¿eñ nale¿y przyj±æ, ¿e rekordy opisuj±ce konta raz
za³o¿one nie bêd± nigdy usuwane z bazy (chyba, ¿e wprowadzono
je od pocz±tku b³êdnie -- mo¿na to uznaæ za sytuacjê
wyj±tkow±), a up³yniêcie terminu wyga¶niêcia konta bêdzie
skutkowa³o tym, ¿e konto to bêdzie pomijane w plikach
wynikowych generowanych po up³ywie tego terminu.

W tym przypadku interfejs nie mo¿e byæ
zrealizowany technikami WWW.

Inne?
W³asne pomys³y mile widziane, jak ju¿ wspomnia³em wy¿ej.
Stopieñ z³o¿ono¶ci powinien byæ orientacyjnie zbli¿ony do
poprzednich zadañ.






Accessed by: 1298 since January 9th


Last modified: January 9th

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • pajaa1981.pev.pl