(Bit) Off topic: Ludska hlupost

Honza Pazdziora adelton na informatics.muni.cz
Pondělí Leden 14 21:13:44 CET 2002


On Mon, Jan 14, 2002 at 08:37:46PM +0100, Juraj Chlebec wrote:
> Uz zacinam pochybovat o svojom zdravom rozume. Povedzte mi:
> Mam databazu zamestnancov univerzity. Mam databazu (databazy) studentov
> univerzity - predpokladajme ze za kazdu fakultu jednu... Vsetko je to nejako
> poprepajane v IS univerzity... Ja viem ze to nie je bohvieco...
> Pride na pretras ze treba vybudovat centralnu databazu osob, zamestnancov +
> studentov...

:-) (Tohle je chapave pokyvani hlavou.)

> Ok vsetci sme radi ze sa na tom na jednom pracovisku robi, ze bude databaza
> v ktorej budu spravne a aktualne udaje... Po case je vsetko (?) hotove a ked
> sa dam do reci s kompetentnym veducim celoskolskeho vypoctoveho strediska +
> jeho zamestnanca ktory tu db robil - povedia mi do oci ze tam maju
> duplikatne zaznamy (meno,priezvisko,rc atd...) odlisene len osobnym cislom
> zamestnanca z dovodu (ako sa vyjadrili) uz navrhnutej logiky databazy...
> (priklad zamestnanec je zaroven studentom na nejakej fakulte alebo student
> studuje naraz na dvoch fakultach)...

Deja vu.

> Povedzte mi ludia, som idiot ja alebo oni???????????????? Ja som to v tom

Ten zakladni problem je v tom, ze oni tohle nepotrebuji. Dokud
nepotrebujete udelat v te agende poradek a nedejboze dat lidem pristup
k jejich datum, tak je Vam jedno, ze to urednice masti naprosto
libovolne. Tam typicky jde pouze o to, aby student dostal na konci
diplom a zamestnanec vyplatu. A jak se k tomu dojde a jak je to
zaevidovano, je vedlejsi.

Pokud ale potrebujete zajistit, ze student zaplati za sve dalsi
studium, ze po jednom prihlaseni postgradulani student uvidi jak sve
aktualni studium, tak sve historicke znamky, tak ze bude schopen zadat
znamky u predmetu, ktere ucit (zminil jste univerzitu, tak uvadim
priklady, ktere z tohoto prostredi duverne znam) a nebude se muset
logovat na kazdou akci separatne, mate problem. A potrebujete vycistit
duplicity, propojit je ... a neni pravdepodobne, ze k tomu budete mit
nejakou extra psychologickou ci realizacni podporu ostatnich, kteri to
nepotrebuji.

Muze dojit i k tomu, ze z jednoho osobniho zaznamu osoby se stane
osobni zaznam jine osoby -- proste urednice zmeni jmeno, prijmeni
a rodne cislo. Coz je vec, kterou neosetrite datovymi strukturami,
anybrz pouze povedomim, jake jsou dusledky tech akci, ktere lide
v personalnich agendach delaji. A webovy system, kde lidi vidi svoje
data (data, ktera se jich tykaji) to velice rychle vytahne na svetlo.

Cisteni (vycisteni) duplicit neni jednorazovy proces. Protoze
duplicity byly a budou. Vzniknou proste tak, ze na nejake katedre se
domluvi na vyuce s externistou, o kterem se vicemene nic nevi. A
teprve postupne se zjisti, ze ten nove zalozeny osobni zaznam je
duplicitni k zaznamu personalnimu, protoze v organizaci pred dvema
lety na jine katedre pracoval. A jeste k tomu si zacne delat rigo,
takze je zaroven i student. A doupresnuje se to postupne, nejdriv se
ani nevi, kde vlastne ten clovek bydli a jak je stary, pak se
priblizne zjsitit datum narozeni, pak rodne cislo, a tak dale. Do toho
Vam vsichni budou rikat, ze rodne cislo je unikatni identifikator
(mate na Slovensku jeste rodna cisla? no to je jedno, neni!).

> okamihu ako som to pocul vzdal a otocil som sa a odisiel od nich prec...
> (nechal som ich stat na moste kde sme pretriasali nejake pracovne veci...
> 
> Juro Chlebec
> 
> PS: Prepacte mi ten vylev ale verim ze kazdy v tejto konferencii asi vie ako
> sa navrhuju databazy a mne zostal nad touto logikou databazy aj ked nie som
> odbornik a nemam na to skoly stat rozum... A to nehovorim o tom ze ty ludia
> boli par krat za nami (ina fakulta) a bavili sme sa o tom a nehovorim ani o
> tom ze sam rektor univerzity (informatik), im povedal ze si tu db
> predstavuje no proste tak ako ma byt (asi vsetci vieme ako)...
> 
> Nemate nahodou nejake linky v cestine a slovencine pojednavajuce o navrhu
> databaz nech im to preboha poslem??? Uz je sice neskoro ale aspon budem
> spokojnejsie zomierat...

Neni to o navrhu databazi. Muzete se mrknout na
http://is.muni.cz/clanky/, kde piseme o tom, jak to probihalo pri
vyvoji a nasazovani weboveho IS MU (Masarykova Univerzita v Brne).
A mame snahu tam popsat prave ty jine veci nez databazova schemata.

Pokud byste to chtel delat opravdu ciste, tak ty duplicity povolite
a zavedete separatni tabulku na cisteni duplicit

	osoby_ekvivalence(id1 integer not null, id2 integer not null,
		foreign key (id1) on osoby(id),
		foreign key (id2) on osoby(id))

kde ty duplicity svazete. Pak ale uz nikdy nemuzete udelat v selectu

	and predmety_ucitele.osoba_id = osoby.id

nebo

	and predmety_ucitele.osoba_id = :p1

kdyz hledate neco ohledne osoby, ale vzdycky budete muset jit pres
tu vazebni tabulku

	and predmety_ucitele.osoba_id = osoby_ekvivalence.id1
	and osoby_ekvivalence.id2 = osoby.id

a

	and predmety_ucitele.osoba_id = osoby_ekvivalence.id1
	and osoby_ekvivalence.id2 = :p1

. Ale neni to pekne.

Vetsinou je jednodussi ta numericka id proste opravit a duplicity
vyrusit.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, DBD::XBase.
------------------------------------------------------------------------


Další informace o konferenci Databases