KOTKA-JÄRJESTELMÄ

 

 

 

 

 

 

 

 

Ismo Horppu

Markku Mielityinen

Markku Vire

Hannu Pekkanen

Jussi Kuittinen

Matti Lupari

 

 

 

 

 

Tietokantaraportti 17.1.2002

 

 

 

 

 

 

Jyväskylän yliopisto

Tietotekniikan laitos


Projektin tietoja

 

Tekijät:                              Ismo Horppu                       (ishorppu@st.jyu.fi)

                                            Markku Mielityinen              (mmmm@st.jyu.fi)

                                            Markku Vire                        (mavire@st.jyu.fi)

                                            Hannu Pekkanen                  (krimu@st.jyu.fi)

Jussi Kuittinen                      (jmkuitti@st.jyu.fi)                         Matti Lupari                       (matlupa@st.jyu.fi)

 

                                                                                                         

Työn nimi:                          Tietokantaraportti

Työ:                                    Raportti syksyllä 2000 Kotka-projektiryhmän, keväällä 2001 Korppi- ja Halko-projektiryhmän sekä syksyllä 2001 Kolibri-projektiryhmän suunnittelemasta ja toteuttamasta tietokannasta.

 

Tiivistelmä:                        KOTKA-projektiryhmä aloitti syksyn 2000 aikana seuraajan kehittämisen Jyväskylän yliopistossa käytössä olevalle Kurki-nimiselle kurssikirjanpitojärjestelmälle. Tätä kehitystyötä jatkoivat Korppi- ja Halko-projektiryhmät keväällä 2001 sekä Kolibri-projektiryhmä syksyllä 2001. Tietokantaraportti sisältää  suunnitellun ja toteutetun tietokannan taulujen kuvaukset ER-kaavioineen. Dokumentti on suunnattu erityisesti järjestelmän kehitystyötä jatkaville projektiryhmille.

 

Avainsanat:                        Tietokanta, ER-kaavio, PostgreSQL

 

 

Version hallinta

 

Versio
Päiväys
Tehnyt

1.0

21.12.2000

Markku Vire

1.1

9.1.2001

Markku Vire

1.2

11.1.2001

Markku Vire

1.3
11.6.2001
Hannu Pekkanen ja Jussi Kuittinen

1.4

13.6.2001

Hannu Pekkanen

1.5                                            9.1.2002                                   Matti Lupari


Sisällys

 

1. Johdanto.. 1

2. Organisaatiot.. 2

2.1 Organisaatioiden ER-kaavio.. 2

2.2 AccessRightLevel. 3

2.3 AccessRightLevelTranslation.. 4

2.4 OrgParameterType. 4

2.5 OrgParameterTypeTranslation.. 5

2.6 OrgParameterTypeProt.. 6

2.7 OrganisationType. 6

2.8 OrganisationTypeTranslation.. 7

2.9 Organisation.. 7

2.10 OrganisationTranslation.. 8

2.11 OrganisationParameter.. 9

2.12 OrgRelationship. 9

2.13 AccessRight.. 10

2.14 OrganisationalSeason.. 11

2.15 OrgSeasonPeriod.. 11

2.16 OrganisationalSeasonLang.. 12

2.17 Period.. 12

2.18 PeriodLang.. 13

2.19 BudgetFocus. 13

2.20 OrganisationAddress. 14

3. Henkilöstön hallinta.. 15

3.1 Henkilöiden ja henkilöstön hallinnan ER-kaavio.. 15

3.2 Person.. 17

3.3 Degree. 18

3.4 DegreeType. 19

3.5 DegreeFrom... 19

3.6 Prefix.. 20

3.7 PrefixType. 20

3.8 Address. 21

3.9 PostalInfo.. 22

3.10 AddressType. 22

3.11 PersonParameter.. 23

3.12 PersonParameterType. 23

3.13 Language. 24

3.14 DegreeTypeLanguage. 24

3.15 TranslatedDegreeFrom... 25

3.16 PrefixTypeLanguage. 25

3.17 AddressTypeLanguage. 26

3.18 PersonParameterTypeLanguage. 26

3.19 DegreeTypeProt.. 27

3.20 PrefixTypeProt.. 27

3.21 AddressTypeProt.. 28

3.22 PersonParameterTypeProt.. 28

3.23 Halko-projektin lisäykset Person-moduuliin.. 30

3.23.1 Teacher.. 31

3.23.2 TeacherParameter 31

3.23.3 TeacherParameterType. 32

3.23.4 TeacherParameterTypeLanguage. 32

4. Kurssikirjanpito.. 34

4.1 Kurssikirjanpidon ER-kaavio.. 34

4.2 Course. 36

4.3 CourseTranslation.. 37

4.4 DescriptionType. 37

4.5 DescriptionTypeTranslation.. 38

4.6 CourseInstance. 38

4.7 CourseDescription.. 39

4.8 CompletionType. 40

4.9 CompletionTypeTranslation.. 40

4.10 CourseInstanceCompletionType. 41

4.11 UserGroup. 41

4.12 UserGroupTranslation.. 42

4.13 CourseParticipant.. 43

4.14 Finished.. 43

4.15 Grade. 44

4.16 GradeTranslation.. 45

4.17 Points. 45

4.18 CalculatePoints. 46

4.19 CalculatePointsLang.. 46

4.20 CalculatePointsCourseInstance. 47

4.21 GroupType. 47

4.22 GroupTypeTranslation.. 48

4.23 EventGroup. 49

4.24 GroupParticipant.. 50

4.25 Event.. 51

4.26 EventPerson.. 52

4.27 Space. 53

4.28 EventSpace. 53

4.29 Resource. 54

4.30 ResourceTranslation.. 54

4.31 SpaceResource. 55

4.32 Field.. 56

4.33 FieldTranslation.. 56

4.34 FieldType. 57

4.35 FieldTypeLang.. 57

4.36 Choice. 58

4.37 ChoiceTranslation.. 58

4.38 FieldChoice. 59

4.39 FieldGroup. 59

4.40 FieldGroupLang.. 60

4.41 FieldProtection.. 60

4.42 Result.. 61

4.43 CourseInstParamInt.. 62

4.44 CourseInstParamIntType. 62

4.45 CourseInstParamIntTypeLang.. 63

4.46 CourseStatus. 63

4.47 CourseStatusLang.. 64

4.48 ObjectGroup. 65

4.49 ObjectGroupLang.. 65

4.50 CourseObjectGroup. 66

4.51 Level. 66

4.52 LevelTranslation.. 67

4.53 Halko-projektin lisäykset Course Bookkeeping-moduuliin.. 67

4.53.1 Subject 69

4.53.2 SubjectTranslation. 69

4.53.3 CourseSubject 70

4.53.4 SubjectOnOrg. 70

4.53.5 CourseFundingOrganisation. 71

5. Opinnäytteet.. 72

5.1 Opinnäytemodulin käyttöoikeudet.. 72

5.2 Opinnäytemodulin ER-kaavio.. 72

5.3 Action.. 74

5.4 Detail. 75

5.5 TranslatedDetail. 75

5.6 Phase. 76

5.7 Subject.. 77

5.8 ActionType. 78

5.9 TranslatedActionType. 79

5.10 DetailType. 79

5.11 TranslatedSubjectDetailType. 80

5.12 PhaseType. 81

5.13 TranslatedPhaseType. 81

5.14 SubjectOrgRelationshipType (SubjectOrganisationRelationshipType) 82

5.15 TrSubjectOrgRelationshipType (TranslatedSubjectOrganisationRelationshipType) 83

5.16 SubjectType. 83

5.17 TranslatedSubjectType. 84

5.18 WorksSubjectAccessRightType. 85

5.19 TrWorkSubjectAccessRightType (TranslatedWorksSubjectAccessRightType) 86

5.20 AllowedCourseSubjectType. 86

5.21 WorksActionAccessGroupType. 87

5.22 TrWorksActionAccessGroupType (TranslatedWorksActionAccessGroupType) 87

5.23 AllowedSubjectCourse. 88

5.24 CoursePhaseForSubject.. 89

5.25 SubjectEventGroupLink.. 89

5.26 SubjectOrgRelationship (SubjectOrganisationRelationship) 90

5.27 SubjectPhaseEventGroup. 91

5.28 PhaseMarker.. 91

5.29 WorksSubjectAccessRight.. 92

6. Maksujen ja palkkojen hallinta.. 93

6.1. CourseCost.. 94

6.2 TeacherHourlyFee. 95

6.3 PeriodFee. 95

6.4 PeriodFeePeriod.. 96

6.5 InvoiceStatus. 96

6.6 InvoiceStatusLang.. 97

6.7 Invoice. 97

6.8 Bill. 98

6.9 BillStatus. 99

6.10 InvoiceItemCourse. 100

6.11 InvoiceItemFee. 101

7. Kolibri-projektin tekemät muutokset Course Bookkeeping -moduuliin.. 102

7.1 Kurssikirjanpito-moduulin ER-kaavio.. 102

7.2 Visibility.. 103

7.3 VisibilityTranslation.. 103

7.4 Priority.. 104

7.5 PriorityTranslation.. 104

7.6 Note. 105

7.7 Comment.. 105

7.8 EventGroupRelationship. 106

7.9 EventGroup-tauluun tehdyt muutokset.. 106

7.10 Event-tauluun tehdyt muutokset.. 107

7.11 GroupParticipant-tauluun tehdyt muutokset.. 108

7.12 Space-tauluun tehdyt muutokset.. 109

8. Muut moduulit.. 110

8.1 AutoNumber.. 110

8.2 LocalizedUI 110

8.3 Ini 111

8.4 Module. 111

8.5 ModuleLanguage. 112

9. Kehitysasteella olevien moduulien taulutarpeet.. 113

9.1 Henkilöstön, projektien ja raha-asioiden hallinta ja suunnittelu.. 113

9.1.1 Projektien hallinta. 113

9.1.2 Ehdotusten käsittely. 113

9.1.3 Vierailijoiden tiedot 114

9.2 Salivarausten sekä kurssien ja tenttien sijoittumisen suunnittelu.. 114

9.3 Viestimoduli 115

 

     


1. Johdanto

Syksyn 2000 Kotka-projektiryhmä aloitti seuraajan kehittämisen Jyväskylän yliopistossa käytössä olevalle Kurki-nimiselle kurssikirjanpitojärjestelmälle. Työn laajuudesta johtuen syksyn 2000 projektiryhmän vastuualueeksi muodostui lähinnä uuden järjestelmän tarpeiden määrittely haastatteluiden avulla, vastaavan tietokantarakenteen hahmottelu ja prototyyppimodulin kehittäminen. Keväällä 2001 Korppi-projektiryhmä jatkoi tätä kehitystyötä toteuttaen kurssikirjanpitojärjestelmän. Kolibri-projektityöryhmä kehitti järjestelmään kalenteri- ja ajanvarausosiota syksyllä 2001.

Suuresta työmäärästä johtuen ER-kaavioiden teossa rajoituttiin muutamaan keskeiseen moduuliin (katso selvitys moduuleista Kotka-projektisuunnitelman luvusta 5), joita olivat henkilöstön hallinta, kurssikirjanpito ja opinnäytteet. Koska projektiorganisaatioon kuuluvilla henkilöillä ei ollut riittävästi tietoa muihin moduuleihin tarvittavista ominaisuuksista ja toiminnoista, tyydyttiin niiden taulurakenteista tekemään vain ylimalkaisia hahmotelmia.

Luvussa 2 esitellään organisaatioiden tietojen ja suhteiden tallentamiseen tarvittavat taulut. Ne eivät kuulu suoraan mihinkään moduuliin, vaan kyseisiä osioita tarvitaan lähes kaikissa moduuleissa. Luku 3 esittelee osittaisen henkilöstönhallintamoduulin. Luku 4 keskittyy kurssikirjanpidon taulurakenteen selvittämiseen ja luku 5 opinnäyteosuuteen. Luku 6 esittelee maksujen ja palkkojen hallinnan. Luku 7 käsittää Kolibri-projektin toteuttamat lisäykset ja muutokset järjestelmän tietokantaan. Luku 8 esittelee muita järjestelmän tarvitsemia tauluja. Luvussa 9 kerrotaan lyhyesti niistä moduuleista, joiden suunnittelu on oleellisilta osiltaan kesken tai lähes kokonaan aloittamatta.

Jokaisessa luvussa on ER-kaavion lisäksi taulukohtainen kuvaus kenttien käyttötarkoituksista, relaatioiden merkityksestä sekä lyhyt esimerkki tallennettavan datan muodosta. Käytetyn PostGreSQL-tietokantaohjelmiston asettamien rajoitusten vuoksi taulujen nimet piti saada mahtumaan 31 merkin tilaan, joka kannattaa huomioida käännös- ja suojaustaulujen nimeämisen osalta.

Kantaa suunniteltaessa päätettiin, ettei mitään dataa todellisuudessa poisteta kannasta, vaan poistettavaksi tarkoitettu data vaan merkitään poistetuksi. Tätä tarkoitusta varten jokaisesta taulukosta löytyy Deleted-kenttä. Lisäksi kaikki järjestelmän tarjoamat vakiotekstit on tallennettu kaikilla järjestelmän tuntemilla kielillä. Sen sijaan käyttäjän syöttämät tiedot tallennetaan yleensä vain yhdellä kielellä. Poikkeuksena on lähinnä kurssikuvausten tallentaminen.


2. Organisaatiot

Organisaatioiden taulut eivät liity suoraan mihinkään toteutettavaan moduuliin, vaan kyseessä olevaa taulurakennetta hyödynnetään lähes kaikissa moduuleissa. Organisaatioiden taulut kuvaavat yliopistojen tiedekuntien ja laitostosten hierarkisen rakenteen. Niiden tärkeimpänä tehtävänä on kuitenkin kertoa, minkälaisia oikeuksia kullakin järjestelmän tuntemalla henkilöllä on missäkin organisaatioympäristössä. Henkilön oikeudet periytyvät ylemmistä organisaatioista kaikkiin kyseisen organisaation alapuolella oleviin yksiköihin, joten esimerkiksi ylimmän organisaatiotason ylläpitäjä on ylläpitäjä kaikissa muissakin organisaatioissa.

2.1 Organisaatioiden ER-kaavio

Kuvassa 1 on esitetty organisaatioihin liittyvät taulut ER-kaavion muodossa. Tauluja käsitellään tarkemmin seuraavissa alaluvuissa. Tauluja Language ja Person ei ole käsitelty, sillä ne on esitelty henkilötietojen hallintaa käsittelevässä luvussa 3.

Organisaatioiden taulurakenteeseen liittyy läheisesti Person-taulun (luku 3.2) OrganisationID-kenttä, joka kertoo henkilön kotiorganisaation. Henkilökunnan tapauksessa kotiorganisaationa voidaan pitää palkan maksavana tahoa, kun vastaavasti opiskelijan kotiorganisaatio on pääainetta vastaava laitos. Huomattavaa on, että kotiorganisaatio liittää henkilön täsmälleen yhteen organisaatioon. Laajemmin käyttöoikeuksia hallitaan AccessRight-taulun (luku 2.13) avulla.

Kotiorganisaation käsite on kuitenkin välttämätön esimerkiksi henkilöstönhallintamoduulin kannalta, sillä siellä kotiorganisaatiota käytetään määrittelemään, kenellä on oikeus muuttaa henkilön tietoja. Henkilötietoja editoivalla henkilöllä pitää olla vähintään sihteerin oikeudet editoitavan henkilön kotiorganisaatiossa.

 

Kuva 1. Organisaatioiden suhteiden ja tietojen ER-kaavio.

2.2 AccessRightLevel

Taulussa AccessRightLevel määritellään kaikki koko organisaatiorakenteessa tunnetut käyttäjäryhmät, joita ovat esimerkiksi opiskelijat, henkilökunta ja ylläpitäjät. Taulun rakenne on seuraavan kaltainen:

Deleted                kertoo, onko oikeustaso poistettu.

AccessRightLevelID     on taulun avainkenttä, joka määrittelee käytetyt oikeusluokat.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun (katso luvun 2.3 taulu AccessRightLevelTranslation) määrittelee käyttöoikeusluokkia vastaavat tekstit.

·        Relaatio OrgParameterType-tauluun taas määrittelee, mitkä käyttäjäryhmät saavat muuttaa minkäkin tyyppisiä organisaatioparametreja (katso luvun 2.6 taulu OrgParameterTypeProt).

·        Taulussa AccessRight (luku 2.13) käytetään tässä taulussa määriteltyjä käyttäjäryhmiä yksittäisten käyttäjien oikeustasojen määrittelyyn.


Esimerkki AccessRightLevel-taulun sisältämästä datasta on taulukossa 1.

 

Deleted

AccessRightLevelID

False

1

True

2

Taulukko 1: Esimerkki AccessRightLevel-taulun käytöstä.

 

2.3 AccessRightLevelTranslation

Taulu AccessRightLevelTranslation määrittelee AccessRightLevel-taulun (luku 2.2) määrittelemien käyttäjäryhmien nimet selkokielisinä kaikilla järjestelmän tuntemilla kielillä. Taulun rakenne on seuraavan kaltainen.

Deleted                                      kertoo, onko käännös merkitty poistetuksi.

AccessRightLevelID           määrittelee mihin taulussa AccessRightLevel määriteltyyn oikeustasoon käännös liittyy.

LanguageID                               kertoo käytetyn kielen.

Name                                              sisältää varsinaisen käännöstekstin.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun (luku 3.13) valitsee käännöksen kielen.

·        Relaatio AccessRightLevel-tauluun (luku 2.2) valitsee käännettävän käyttöoikeustason.

AccessRightLevelTranslation-taulun käyttöä on kuvattu taulukon 2 esimerkissä.

 

Deleted

AccessRightLevelID

LanguageID

Name

False

1

1

Addministrator

False

1

2

Ylläpitäjä

Taulukko 2: Esimerkki AccessRightLevelTranslation-taulun käytöstä.

2.4 OrgParameterType

Organisaatioille tulee voida asettaa dynaamisesti kaikenlaista lisätietoa, kuten vaikka WWW-osoitteita. Taulukossa OrgParameterType määritellään kaikki lisätietotyypit, jotta lisätietojen luokittelu esittämistä varten onnistuu helposti. Itse taulu on määritelty seuraavasti:

Deleted                                                   kertoo, onko tyyppi poistettu.

OrgParameterTypeID    on taulukon avainkenttä.


Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio AccessRight-tauluun (luku 2.2) määrittelee (katso luvun 2.6 taulu OrgParameterTypeProt), mitkä käyttäjärymät saavat editoida minkäkin tyyppisiä organisaatioparametereja.

·        Relaatio Language-tauluun (luku 3.13) taas tarvitaan monikielistystä varten (katso luvun 2.5 taulu OrgParameterTypeTranslation).

·        Taulussa OrganisationParameter (luku 2.11) käytetään tässä taulussa määriteltyjä tyyppejä organisaation dynaamisten tietojen tallennukseen.

 

Esimerkki taulun käytöstä on taulukossa 3.

 

Deleted

OrgParameterTypeID

False

1

Taulukko 3: Esimerkki OrgParameterType-taulun käytöstä.

2.5 OrgParameterTypeTranslation

Taulu määrittelee OrgParameterTypeID-arvoja vastaavat tekstit kaikilla kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

OrgParameterTypeID    määrittelee, mitä OrgParameterType-taulussa (luku 2.4) määriteltyä tyyppiä ollaan kääntämässä.

LanguageID                               kertoo, minkä kielisestä käännöksestä on kyse.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun määrittelee käännöksen kohdekielen.

·        Relaatio OrgParameterType-tauluun määrittelee käännettävän parametrityypin.

 

OrgParameterTypeTranslation-taulun käyttöä esitellään taulukossa 4.

 

Deleted

OrgParameterTypeID

LanguageID

Name

False

1

1

WWW-site

False

1

2

WWW-osoite

Taulukko 4: Esimerkki OrgParameterTypeTranslation-taulun käytöstä.


2.6 OrgParameterTypeProt

Taulu määrittelee, minkä käyttöoikeusryhmän henkilöt saavat editoida minkäkin tyyppisiä organisaatioparametreja. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko oikeus poistettu.

AccessRightLevelID           kertoo, mitä taulussa AccessRightLevel (luku 2.2) määritteltyä käyttöoikeusluokkaa oikeus koskee.

OrgParameterTypeID           kertoo OrgParameterType-taulussa (luku 2.4) määritellyn parametrityypin, jota oikeus koskee.

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio AccessRightLevel-tauluun määrittelee käyttöoikeusluokan.

·        Relaatio OrgParameterType-tauluun määrittelee parametrityypin, jota oikeus koskee.

 

Esimerkki OrgParameterTypeProt-taulun käytöstä on taulukossa 5. Esimerkissä käyttäjäryhmien yksi ja kaksi edustajat saavat muokata parametrityypin yksi arvoja.

 



Deleted

AccessRightLevelID

OrgParameterTypeID

False

1

1

False

2

1

Taulukko 5: Esimerkki OrgParameterTypeProt-taulun käytöstä.

2.7 OrganisationType

Taulussa määritellään, minkä tyyppisiä organisaatioita organisaatiorakenteeseen kuuluu. Tyypin perusteella voidaan siten tulostaa esimerkiksi lista tiedekunnan laitoksista. Toisaalta on epäselvää, että tarvitaanko tyypin ilmoittamiseen näin monimutkaista rakennetta, vai riittäisikö pelkkä numerokenttä Organisation-taulussa (luku 2.9). Taulun nykyinen rakenne näyttää seuraavalta:

Deleted                                      kertoo, onko organisaatiotyyppi poistettu.

OrganisationTypeID           on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun (luku 3.13) tarvitaan tyyppien monikielistykseen (katso luvun 2.8 taulu OrganisationTypeTranslation).

·        Organisation-taulussa (luku 2.9) käytetään tässä taulussa määriteltyjä tyyppejä organisaatioiden luokitteluun.


Esimerkki OrganisationType-taulun käytöstä on taulukossa 6.

 

Deleted

OrganisationTypeID

False

1

False

2

Taulukko 6: Esimerkki OrganisationType-taulun sisällöstä.

2.8 OrganisationTypeTranslation

Taulussa määritellään organisaatiotyypeille tekstimuotoiset vastineet eri kielillä. Taulun rakenne on seuraavan kaltainen:

Deleted                                      kertoo, onko käännös poistettu.

OrganisationTypeID    kertoo käännettävän organisaatiotyypin.

LanguageID                               määrittelee kyseessä olevan käännöksen kielen.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio OrganisationType-tauluun (luku 2.7) määrittelee käännettävän organisaatiotyypin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee kohdekielen.

 

Esimerkki OrganisationTypeTranslation-taulun sisällöstä on taulukossa 7.

 

Deleted

OrganisationTypeID

LanguageID

Name

False

1

1

University

False

1

2

Yliopisto

Taulukko 7: Esimerkki OrganisationTypeTranslation-taulun sisällöstä.

2.9 Organisation

Taulu sisältää kaikki järjestelmää käyttävät organisaatiot. Käytännössä tarkoitus on tallentaa tiedot yliopiston tiedekunnista ja laitoksista. Organisaation yhteystiedot lisättiin tähän taulukkoon, jotta jokaisen organisaatioon kuuluvan henkilön kohdalla ei tarvitsisi toistaa samoja tietoja. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko organisaatio poistettu.

OrganisationID                              on taulun avainkenttä.

OrganisationTypeID           määrittelee taulun OrganisationType avulla organisaatiotyypin.

StyleSheet            määrittelee organisaation tyylitiedoston. Tätä ei vielä huomioida käyttöliittymässä.


Tauluun liittyvät relaatiot ovat seuraavat:

·        Organisaatioiden nimet määritellään Language-tauluun (luku 3.13) liittyvällä relaatiolla.

·        Relaatio OrganisationType-tauluun (luku 2.7) määrittelee organisaation tyypin.

·        Relaatio Organisation-tauluun itseensä määrittelee organisaatiolle aliorganisaatiot (katso luvun 2.12 taulu OrgRelationship).

·        Organisation-taulua käytetään myös tauluista OrganisationParameter (luku 2.11), AccessRight (luku 2.13), Space (luku 4.22) ja Person (luku 3.2) määrittelemään, mihin organisaatioon annettu data liittyy.

 Esimerkki Organisation-taulun sisällöstä on taulukossa 8.

 

Deleted

OrganisationID

OrganisationTypeID

False

1

1

Taulukko 8: Esimerkki Organisation-taulukon sisällöstä.

2.10 OrganisationTranslation

Taulu määrittelee Organisation-taulussa (luku 2.9) esiteltyjen organisaatioiden nimet kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

OrganisationID                                           määrittelee organisaation, jonka nimeä oltiin kääntämässä.

LanguageID                               kertoo kielen, jolle käännös tehdään.

Name                                              sisältää varsinaisen käännöksen.

Abbreviation                          sisältää käännöksen lyhenteen.

 

Esimerkki taulun sisällöstä on taulukossa 9.

 

Deleted

OrganisationID

LanguageID

Abbreviation

Name

False

1

1

JYU

University of Jyväskylä

False

1

2

JYU

Jyväskylän yliopisto

Taulukko 9: Esimerkki OrganisationTranslation-taulun sisällöstä.


2.11 OrganisationParameter

Tauluun OrganisationParameter on tallennettu organisaation dynaamiset parametrit, joiden tyypi on määritelty OrgParameterType-taulukossa (luku 2.4). Yleisen suunnittelulinjan mukaisesti käyttäjän syöttämiä eri parametrien arvoja ei tallenneta usealla kielellä. Taulukon rakenne on seuraava:

Deleted                                      kertoo, onko parametri poistettu.

OrganisationID                              määrittelee organisaation, jonka parametrista on kyse.

OrgParameterTypeID    kertoo parametrin tyypin.

Value                          sisältää parametrin arvon.

 

Relaatiot

·        Relaatio Organisation-tauluun (luku 2.9) määrittää organisaatio, johon parametri liittyy.

·        Relaatio OrgParameterType-tauluun (luku 2.4) määrittää parametrin tyypin.

 

Taulukossa 10 olevassa esimerkissä luodaan aiemmin luodulle organisaatiolle 1 tyyppiä 1 oleva parametri.

 

Deleted

OrganisationID

OrgParameterTypeID

Value

False

1

1

www.jyu.fi

Taulukko 10: Esimerkki OrganisationParameter-taulun käytöstä.

2.12 OrgRelationship

Tämän taulun avulla kuvataan organisaatioiden keskinäiset suhteet. Jokaisen organisaation kohdalta luetellaan kaikki sen alaorganisaatiot. Myös organisaatiota itse pidetään sen itsensä alaorganisaationa. Tällaisella rakenteella pystytään luomaan kaivattu käyttöoikeuksien periytyminen organisaatiorakenteessa ylhäältä alaspäin. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko organisaatiosuhde poistettu.

OrganisationID                              kertoo organisaation, jonka tiedoista on kyse.

SubOrganisationID             määrittelee alaorganisaation OrganisationID:n määrittelemälle organisaatiolle.

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatiot Organisation-tauluun (luku 2.9) määrittelevät organisaation ja alaorganisaation.


Taulukossa 11 olevassa esimerkissä määritellään kahden organisaation suhde, jossa organisaatio 2 sijoitetaan organisaation 1 alle.

 

Deleted

OrganisationID

SubOrganisationID

False

1

1

False

1

2

False

2

2

Taulukko 11: Esimerkki OrgRelationship-taulun sisällöstä.

2.13 AccessRight

Tämä taulu määrittelee, minkälaisia oikeuksia kullakin henkilöllä on missäkin organisaatiossa. OrgRelationship-taulun (luku 2.12) avulla saadaan selville kaikki kyseisen organisaation alapuolella olevat organisaatiot, joissa oikeudet myös pätevät. Taulun rakenne on seuraavan kaltainen:

Deleted                                      kertoo, onko oikeus poistettu.

PersonID                                    määrittelee henkilön, jonka oikeuksista on kyse.

OrganisationID                              määrittelee organisaation, jossa oikeus on voimassa.

AccessRightLevelID           kertoo kyseessä olevan oikeustason.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Organisation-tauluun (luku 2.9) määrittelee organisaation, jossa oikeus on voimassa.

·        Relaatio AccessRightLevel-tauluun (luku 2.2) määrittelee kyseessä olevan oikeustason.

·        Relaatio Person-tauluun (luku 3.2) määrittelee henkilön, jonka oikeuksista on kyse.

Taulukossa 12 olevassa esimerkissä henkilöllä 1 on tason 1 oikeudet organisaatiossa 1 ja henkilöllä 2 tason kaksi oikeudet organisaatiossa 2. Mikäli OrgRelationship-taulu on taulukon 11 kaltainen, on henkilöllä 1 tason 1 oikeudet myös organisaatiossa 2, joka sijaitsi organisaation 1 alapuolella. Henkilöllä 2 taas ei ole mitään oikeuksia organisaatiossa 1.

 

Deleted

PersonID

OrganisationID

AccessRightLevelID

False

1

1

1

False

2

2

2

Taulukko 12: Esimerkki AccessRight-taulun sisällöstä


2.14 OrganisationalSeason

Tämä taulu määrittelee lukukauden parametrit. OrgSeasonPeriod-taulun (luku 2.15) avulla saadaan selville kyseisen lukukauden tietoja käyttävät organisaatiot. Taulun rakenne on seuraavan kaltainen:

Deleted                                      kertoo, onko oikeus poistettu.

OrganisationalSeasonID määrittelee organisaation lukukauden, jonka tiedoista on kyse.

PeriodID                                    määrittelee perioidin, johon tiedot vaikuttavat.

StartDate                           kertoo lukukauden alkamisajankohdan.

EndDate                             kertoo lukukauden loppumisajankohdan.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio OrgSeasonPeriod-tauluun (luku 2.15) määrittelee organisaation, joka käyttää määriteltyjä tietoja.

·        Relaatio Period-tauluun (luku 2.17) määrittelee kyseessä olevan periodin.

 

Esimerkki taulun sisällöstä on taulukossa 13.

 

Deleted

OrganisationalSeasonID

PeriodID

StartDate

EndDate

False

1

1

01-01-01

02-01-01

False

2

2

02-01-01

03-01-01

Taulukko 13: Esimerkki OrganisationalSeason-taulun sisällöstä.

2.15 OrgSeasonPeriod

Tämä taulu määrittelee, mitkä organisaatioperiodit liittyvät mihinkin organisaatioon. Taulukon rakenne on seuraavan kaltainen:

Deleted                                      kertoo, onko oikeus poistettu.

OrganisationalSeasonID määrittelee organisaatioseasonin, jonka tiedoista on kyse.

OrganisationID                                           määrittelee organisaation, joka tietoja käyttää.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Organisation-tauluun (luku 2.9) määrittelee organisaation, joka käyttää määriteltyjä tietoja.

·        Relaatio OrganisationalSeason-tauluun (luku 2.14) määrittelee kyseessäolevan organisaatioseasonin.


Esimerkki taulun sisällöstä on taulukossa 14.

 

Deleted

OrganisationalSeasonID

OrganisationID

False

1

1

False

2

2

Taulukko 14: Esimerkki OrgSeasonPeriod-taulun sisällöstä.

2.16 OrganisationalSeasonLang

Taulussa määritellään organisaatioseasontyypeille tekstimuotoiset vastineet eri kielillä. Taulun rakenne on seuraavan kaltainen:

Deleted                                      kertoo, onko käännös poistettu.

OrganisationalSeasonID kertoo käännettävän lukukauden.

LanguageID                               määrittelee kyseessä olevan käännöksen kielen.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio OrganisationalSeason-tauluun (luku 2.14) määrittelee käännettävän organisaatiotyypin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee kohdekielen.

 

Esimerkki OrganisationalSeasonLang-taulun sisällöstä on taulukossa 15.

 

Deleted

OrganisationalSeasonID

LanguageID

Name

False

1

1

Lukukausi 1

False

1

2

lukukausi 2

Taulukko 15: Esimerkki OrganisationalSeasonLang-taulun sisällöstä.

2.17 Period

Taulu sisältää kaikki käytettävissä olevat periodit ja niiden alkamisajat. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko periodi poistettu.

PeriodID                            on taulun avainkenttä.

StartDate                           kertoo periodin alkamisajankohdan.

EndDate                             kertoo periodin loppumisajankohdan.


Tauluun liittyvät relaatiot ovat seuraavat:

·        Organisaatioiden nimet määritellään Language-tauluun (luku 3.13) liittyvällä relaatiolla.

·        Relaatio OrganisationalSeason-tauluun (luku 2.14) määrittelee periodiin liittyvän organisationseasonin.

·        Relaatio BudgetFocus-tauluun (luku 2.19) määrittelee kustantavan organisaation.

 Esimerkki Period-taulun sisällöstä on taulukossa 16.

 

Deleted

PeriodID

StartDate

EndDate

False

1

01-01-01

03-01-01

Taulukko 16: Esimerkki Period-taulukon sisällöstä.

2.18 PeriodLang

Taulussa määritellään periodityypeille tekstimuotoiset vastineet eri kielillä. Taulun rakenne on seuraavan kaltainen:

Deleted                                       kertoo, onko käännös poistettu.

PeriodID              kertoo käännettävän periodtyypin.

LanguageID                               määrittelee kyseessä olevan käännöksen kielen.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Period-tauluun (luku 2.17) määrittelee käännettävän periodtyypin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee kohdekielen.

 

Esimerkki PeriodLang-taulun sisällöstä on taulukossa 17.

 

Deleted

OrganisationalSeasonID

LanguageID

Name

False

1

1

Period 1

False

1

2

Periodi 1

Taulukko 17: Esimerkki PeriodLang-taulun sisällöstä.

2.19 BudgetFocus

Taulu sisältää tiedon siitä, mitä organisaatiota laskutetaan. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko organisaatio poistettu.

PeriodID                            määrittelee periodin.

OrganisationID                     määrittelee organisaatiotyypin.

 

 

 

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Period-tauluun (luku 2.17) määrittelee periodin tyypin.

·        Relaatio Organisation-tauluun määrittelee organisaation tyypin.

 

Esimerkki BudgetFocus-taulun sisällöstä on taulukossa 18.

 

Deleted

PeriodID

OrganisationID

False

1

1

Taulukko 18: Esimerkki BudgetFocus-taulukon sisällöstä.

2.20 OrganisationAddress

Taulu määrittelee organisaation osoitetiedot. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko oikeus poistettu.

OrganisationID                     kertoo, mikä organisaatio on kyseessä.

AddressID                                 kertoo Address-taulussa (luku 3.8) määritellyn parametrityypin, jota viittaus koskee.

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Organisation-tauluun määrittelee organisaatiotyypin.

·        Relaatio Address-tauluun määrittelee osoitetyypin.

 

Esimerkki OrganisationAddress-taulun käytöstä on taulukossa 19.



Deleted

OrganisationID

AddressID

False

1

1

False

2

1

Taulukko 19: Esimerkki OrganisationAddress-taulun käytöstä.


3. Henkilöstön hallinta

KOTKA-tietokannan Person-osio muodostaa tietokannan ydinrakenteen, jonka palveluita muut modulit hyödyntävät. Kaikki käyttäjiä koskevat henkilökohtaiset tiedot kirjataan tänne.

 

 

3.1 Henkilöiden ja henkilöstön hallinnan ER-kaavio

Kuvassa 2 on esitetty henkilöihin ja henkilöstön hallintoon liittyvät taulut ER-kaavion muodossa. Tauluja käsitellään tarkemmin seuraavissa alaluvuissa.

Henkilöiden saavuttamat oppiarvot kirjataan Degree-, DegreeType-, DegreeFrom- ja Grade-taulujen avulla (luvut 3.3-3.5 ja 4.14). Oppiarvoista voitaisiin antaa esimerkkinä maisterin ja tohtorin tutkinnot. Tittelit ja työtehtävät kirjataan Prefix- ja PrefixType-tauluihin. Tällaisia ovat esimerkiksi arkkiatrin titteli ja professorin virka. Henkilöiden osoitteet kirjataan Address-, PostalInfo- ja  AddressType-tauluihin (luvut 3.8 ja 3.9). Osoitteissa erotellaan ainakin työ-, koti- ja mökkiosoite. Kaikki muut henkilön henkilökohtaiset parametrit kirjataan tauluihin PersonParameter ja PersonParameterType (luvut 3.10 ja 3.11). Näitä ovat esimerkiksi puhelinnumerot, sähköpostiosoitteet, aloitusvuosi ja opintolinja.

Kaikki tietokantaan tallennetut tiedot monikielistetään yhdistämällä ne many-to-many -suhteella Language-tauluun (luku 3.13). Aktiivisena kielenä on kullekin käyttäjälle hänelle Person-taulussa (luku 3.2) määritelty kieli.

Henkilöistä kirjattujen tietojen käsittelyyn tarvittavat käyttöoikeudet määritellään yhdistämällä ne many-to-many -suhteella AccessRightLevel-tauluun (luku 2.2). Jokaisella henkilöllä tulee olla minimimääräoikeuksia, jolloin hän voi ainakin lukea itseään koskevia tietoja.

Henkilöstön hallinnan osalta kaikkia tarvittavia tauluja ei ole vielä suunniteltu. Esimerkiksi rahankäytön ja projektienhallinnan tarvitsemat taulurakenteet puuttuvat. Näistä kerrotaan lisää hallinnollisia asioita käsittelevässä luvussa 7.1.

 

 

Kuva 2: Kotka-tietokannan Person-osion ER-kaavio


3.2 Person

Person-tauluun tallennetaan tiedot kaikista järjestelmän käyttäjistä. Taulu sisältää tärkeimmät käyttäjän parametrit. Lisäksi taulussa on mukana kenttiä erilaisia käyttöliittymän toimintaan liittyviä parametreja varten. Taulun kentät ovat seuraavat:

Deleted                                                     kertoo, onko henkilö poistettu.

PersonID                                                   on taulun avainkenttä.

CallName                    on henkilön kutsunimi.

FirstNames                  sisältää henkilön etunimet.

LastName                    on henkilön sukunimi.

LanguageID                  on henkilön käyttämän käyttöliittymän kieli.

HomeOrganisationID          on henkilön kotiorganisaatio.

FundingOrganisationID       on henkilön rahoitusorganisaatio.

Account                     on henkilön sisäänkirjautumisessa antama nimi.

Password                    on henkilön sisäänkirjautumisessa antama salasana.

RegisteredOn                on henkilön järjestelmäänlisäyksen ajankohta.

LastLogin                      on henkilön viimeisen järjestelmään kirjautumisen ajankohta.

LastLogout                     on henkilön viimeisen järjestelmästä kirjautumisen ajankohta.

SessionTimeout                 on henkilön määrittämä käyttöliittymän automaattisen järjestelmästä uloskirjautumisen aikaväli.

AutoLogout                     määrittelee, varmistetaanko henkilön järjestelmästä uloskirjautuminen.

SocSecBirth                 on henkilön sosiaaliturvatunnuksen alkuosa.

SocSecCentury               on henkilön sosiaaliturvatunnuksen keskiosa.

SocSecEnd                   on henkilön sosiaaliturvatunnuksen loppuosa.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

 

Esimerkki Person-taulun käytöstä on taulukossa 20.

 

Deleted

PersonID

CallName

FirstNames

LastName

LanguageID

OrganisationID

False

1

Matti

Matti

Meikäläinen

1

1

False

2

Maija

Maija

Meikäläinen

2

1

 

Account

Password

RegisteredOn

LastLogin

LastLogout

SessionTimeout

AutoLogout

matti

ittam

00-11-19

00-12-19

00-12-19

1800

False

maija

ajiam

00-11-24

00-12-24

00-12-24

900

True

 

SocSecBirth

SocSecCentury

SocSecEnd

121267

-

789J

211245

+

7897

Taulukko 20: Esimerkki Person-taulun sisällöstä.

3.3 Degree

Taulussa on lueteltuna kaikki järjestelmään syötetyt oppiarvot. Oppiarvoista tallennetaan saajan lisäksi tyyppi, arvosana sekä myöntänyt organisaatio, henkilö ja myöntämispäivä. Toiminta on läheisessä sidoksessa tauluihin DegreeType (luku 3.4) ja DegreeFrom (luku 3.5). Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko oppiarvo poistettu.

DegreeID                                    on taulun avainkenttä.

PersonID              kertoo oppiarvon omistajan.

DegreeTypeID          kertoo oppiarvon tyypin.

GradeID               kertoo arvosanan.

DegreeFromID          kertoo oppiarvon myöntäjäorganisaation.

GrantedOn             kertoo myöntämisajan.

GrantedBy             kertoo myöntäjän.

 

Tauluun liittyvät relaatiot ovat seuraavat:


Esimerkki Degree-taulun käytöstä on taulukossa 21.

 

Deleted

DegreeID

PersonID

DegreeTypeID

False

1

1

1

False

1

2

2

 

GradeID

DegreeFromID

GrantedOn

GrantedBy

1

1

00-11-30

JYU

1

2

00-11-30

JYU

Taulukko 21: Esimerkki Degree-taulun sisällöstä.

3.4 DegreeType

Taulussa kuvataan kaikki järjestelmän tuntemat oppiarvotyypit. Toiminta on läheisessä sidoksessa tauluihin Degree (luku 3.3) ja DegreeFrom (luku 3.5). Taulun rakenne on seuraava:

Deleted                                      kertoo, onko oppiarvotyyppi poistettu.

DegreeTypeID                          on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki DegreeType-taulun käytöstä on taulukossa 22.

 

Deleted

DegreeTypeID

False

1

False

2

Taulukko 22: Esimerkki DegreeType-taulun sisällöstä.

3.5 DegreeFrom

Tässä taulussa määritellään kaikki ne järjestelmän tuntemat tahot, jotka voivat myöntää oppiarvoja. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko organisaatiotyyppi poistettu.

DegreeFromID                          on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

 

 

Esimerkki DegreeFrom-taulun datasta on taulukossa 23.

 

Deleted

DegreeFromID

False

1

False

2

Taulukko 23: Esimerkki DegreeFrom-taulun sisällöstä.

3.6 Prefix

Tauluun tallennetaan kaikki organisaation tittelit ja työtehtävät sekä näihin liittyvät alkamis- ja loppumispäivät. Toiminta on läheisessä sidoksessa tauluun PrefixType (luku 3.7), jossa määritellään käytettävissä olevat tittelit ja työtehtävät. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko titteli tai tehtävä poistettu.

PrefixID                                    on taulun avainkenttä.

StartDate             on tittelin tai tehtävän anto- tai alkamispäivä.

EndDate               on tittelin tai tehtävän päättymispäivä.

PersonID              on tittelin tai tehtävän omistaja.

PrefixTypeID          on tittelin tai tehtävän tyyppi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki Prefix-taulun sisällöstä on taulukossa 24.

 

Deleted

PrefixID

StartDate

EndDate

PersonID

PrefixTypeID

False

1

01-01-01

02-01-01

3

1

False

2

01-01-01

02-01-01

4

2

Taulukko 24: Esimerkki Prefix-taulun sisällöstä.

3.7 PrefixType

Tähän tauluun tallennetaan järjestelmän tunnistamat tittelit ja työtehtävät. Toiminta on läheisessä sidoksessa tauluun Prefix (luku 3.6), johon varsinaiset myönnetyt tittelit ja työtehtävät kirjataan. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko titteli- tai tehtävätyyppi poistettu.

PerfixTypeID                          on taulun avainkenttä.

Rank                  on tittelin tai tehtävän arvo.


Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki PrefixType-taulun sisällöstä on taulukossa 25.

 

Deleted

PerfixTypeID

Rank

False

1

1

False

2

2

Taulukko 25: Esimerkki PrefixType-taulun sisällöstä.

3.8 Address

Tauluun tallennetaan käyttäjän katuosoite. Toiminta on läheisessä sidoksessa tauluihin PostalInfo (luku 3.9) ja AddressType (luku 3.10), jossa määritellään käytettävissä olevat osoitetyypit. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko osoite poistettu.

AddressID                                 on taulukon avainkenttä.

AddressTypeID         on osoitteen tyyppi.

Street                on katuosoite.

PostalInfoID          on postitustietojen tyyppi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki Address-taulun käytöstä on taulukossa 26.

 


Deleted

AddressID

AddressTypeID

Street

PostalInfoID

False

1

3

Ankkakatu 2

1

False

2

4

Kotkatie 5

2

Taulukko 26: Esimerkki Address-taulun sisällöstä.


3.9 PostalInfo

Tauluun tallennetaan käyttäjän osoitteita. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko osoite poistettu.

PostalInfoID                          on taulukon avainkenttä.

ZipCode               on osoitteen tyyppi.

Country               on katuosoite.

Town                  on postitustietojen tyyppi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki PostalInfo-taulun käytöstä on taulukossa 27.

 


Deleted

PostalInfoID

ZipCode

Country

Town

False

1

666

Ankkakatu 2

Ankkalinna

False

2

6969

Kotkatie 5

Hanhivaara

Taulukko 27: Esimerkki PostalInfo-taulun sisällöstä.

3.10 AddressType

Tässä taulussa kuvataan kaikki järjestelmän tunnistamat osoitetyypit. Toiminta on läheisessä sidoksessa tauluun Address (luku 3.8), johon varsinaiset osoitteet kirjataan. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko osoitetyyppi poistettu.

AddressTypeID                       on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki AddressType-taulun käytöstä on taulukossa 28.

 

Deleted

AddressTypeID

False

1

False

2

Taulukko 28: Esimerkki AddressType-taulun sisällöstä.

 

 

3.11 PersonParameter

Järjestelmän laajennettavuuden kannalta on tärkeää, että uusien parametrityyppien lisäys on helppoa ja henkilöiden parametrimäärät voivat vaihdella. Tämän ongelman ratkaisee dynaamisesti toimiva PersonParameter-taulu. Toiminta on läheisessä sidoksessa tauluun PersonParameterType (luku 3.12), jossa määritellään käytettävissä olevat parametrityypit. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko parametri poistettu.

PersonParameterID             on taulun avainkenttä.

PersonID              on parametrin omistaja.

PersonParameterTypeID on parametrin tyyppi.

PersonParameterValue  on parametrin arvo.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki PersonParameter-taulun käytöstä on taulukossa 29.

 

Deleted

PersonParameterID

PersonID

PersonParameterTypeID

False

1

3

1

False

2

4

2

 

PersonParameterValue

Mies

Nainen

Taulukko 29: Esimerkki PersonParameter-taulun sisällöstä.

3.12 PersonParameterType

Tässä taulussa esitellään kaikki järjestelmän hyväksymät parametrityypit. Toiminta on läheisessä sidoksessa tauluun PersonParameter (luku 3.11), johon varsinaiset parametrit kirjataan. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko parametrityyppi poistettu.

PersonParameterTypeID   on taulun avainkenttä.

BelongsInGroup                 ryhmittelee parametrit.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

 

Esimerkki PersonParameterType-taulun käytöstä on taulukossa 30.

 

Deleted

PersonParameterTypeID

False

1

False

2

Taulukko 30: Esimerkki PersonParameterType-taulukon sisällöstä.

3.13 Language

Tämä taulu on koko KOTKA-järjestelmän käytössä ja sillä esitellään järjestelmän tukemat kielet. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko kieli poistettu.

LanguageID                               on taulun avainkenttä.

Name                  on kielen nimi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki Language-taulun käytöstä on taulukossa 31.

 

Deleted

LanguageID

Name

False

1

English

False

2

Finnish

Taulukko 31: Esimerkki Language-taulun sisällöstä.

3.14 DegreeTypeLanguage

Tällä taululla monikielistetään oppiarvot. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko oppiarvon tyypin kieli poistettu.

DegreeTypeID                          kertoo käännettävän oppiarvon.

LanguageID            on käytetty kieli.

Name                  on oppiarvon nimi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

 

 

 

Esimerkki DegreeTypeLanguage-taulun käytöstä on taulukossa 32.

 

Deleted

DegreeTypeID

LanguageID

Name

False

1

1

Bachelor’s Degree

False

1

2

Kandidaatin tutkinto

Taulukko 32: Esimerkki DegreeTypeLanguage-taulun sisällöstä.

 

3.15 TranslatedDegreeFrom

Tällä taululla monikielistetään oppiarvojen lähteet. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko oppiarvon tyypin kieli poistettu.

DegreeFromID                          on kyseinen oppiarvotyyppi.

LanguageID            on käytetty kieli.

Name                  on oppiarvon nimi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki TranslatedDegreeFrom-taulun käytöstä on taulukossa 33.

 

Deleted

DegreeTypeID

LanguageID

Name

False

1

1

Bachelor’s Degree

False

1

2

Kandidaatin tutkinto

Taulukko 33: Esimerkki TranslatedDegreeFrom-taulun sisällöstä.

3.16 PrefixTypeLanguage

Tällä taululla monikielistetään titteli- ja työtehtävätyypit. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko tittelin tai tehtävän tyypin kieli poistettu.

PrefixTypeID                          kertoo käännettävän tittelin tai työtehtävän.

LanguageID            on käytetty kieli.

Name                  on tittelin tai tehtävän nimi.

Abbreviation          on tittelin tai tehtävän nimen lyhenne.

 

Tauluun liittyvät relaatiot ovat seuraavat:


Esimerkki PrefixTypeLanguage-taulun käytöstä on taulukossa 34.

 

Deleted

PrefixTypeID

LanguageID

Name

Abbreviation

False

1

1

Doctor

Ph.D

False

1

2

Tohtori

Ph.D

Taulukko 34: Esimerkki PrefixTypeLanguage -taulun sisällöstä.

3.17 AddressTypeLanguage

Tällä taululla monikielistetään osoitetyypit. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko osoitetyypin kieli poistettu.

AddressTypeID                       kertoo käännettävän osoitetyypin.

LanguageID            on käytetty kieli.

Name                  on osoitetyypin nimi.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki AddressTypeLanguage-taulun käytöstä on taulukossa 35.

 

Deleted

PrefixTypeID

LanguageID

Name

False

1

1

Home Address

False

1

2

Kotiosoite

Taulukko 35: Esimerkki AddressTypeLanguage-taulun sisällöstä.

3.18 PersonParameterTypeLanguage

Tällä taululla monikielistetään henkilökohtaiset parametrityypit. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko parametrityypin kieli poistettu.

PersonParameterTypeID   kertoo käännettävän parametrityypin.

LanguageID            on käytetty kieli.

Name                  on parametrityypin nimi.

 

Tauluun liittyvät relaatiot ovat seuraavat:


Esimerkki PersonParameterTypeLanguage-taulun käytöstä on taulukossa 36.

 

Deleted

PrefixTypeID

LanguageID

Name

False

1

1

Gender

False

1

2

Sukupuoli

Taulukko 36: Esimerkki PersonParameterTypeLanguage-taulun sisällöstä.

3.19 DegreeTypeProt

Tällä taululla kontrolloidaan kaikkien henkilöiden oikeuksia muuttaa omia ja muiden oppiarvoja. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko tietyn oppiarvotyypin käyttöoikeus poistettu.

AccessType                          on käytön oikeustyyppi.

DegreeTypeID          on kohteena olevan oppiarvon tyyppi.

AccessRightLevelID    on kohteeseen oleva oikeus.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki DegreeTypeProt-taulun käytöstä on taulukossa 37.

 

Deleted

AccessType

DegreeTypeID

AccessRightLevelID

False

1

1

1

False

2

1

2

Taulukko 37: Esimerkki DegreeTypeProt-taulun sisällöstä.

3.20 PrefixTypeProt

Tällä taululla kontrolloidaan kaikkien henkilöiden oikeuksia muuttaa omia ja muiden titteleitä ja työtehtäviä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko tietyn tittelin tai tehtävän käyttöoikeus poistettu.

AccessType                          on käytön oikeustyyppi.

PrefixTypeID          on kohteena oleva tittelin tai tehtävän tyyppi.

AccessRightLevelID    on kohteeseen oleva oikeus.

 

Tauluun liittyvät relaatiot ovat seuraavat:


Esimerkki PrefixTypeProt-taulun käytöstä on taulukossa 38.

 

Deleted

AccessType

PrefixTypeID

AccessRightLevelID

False

1

1

1

False

2

1

2

Taulukko 38: Esimerkki PrefixTypeProt-taulun sisällöstä.

3.21 AddressTypeProt

Tällä taululla kontrolloidaan kaikkien henkilöiden oikeuksia muuttaa omia ja muiden osoitteita. Taulun kentät ovat seuraavat:

Deleted                                      kertoo, onko tietyn osoitetyypin käyttöoikeus poistettu.

AccessType                          on käytön oikeustyyppi.

AddressTypeID on kohteena olevan osoitteen tyyppi.

AccessRightLevelID    on kohteeseen oleva oikeus.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

Esimerkki AddressTypeProt-taulun käytöstä on taulukossa 39.

 

Deleted

AccessType

AddressTypeID

AccessRightLevelID

False

1

1

1

False

2

1

2

Taulukko 39: Esimerkki AddressTypeProt-taulun sisällöstä.

3.22 PersonParameterTypeProt

Tällä taululla kontrolloidaan kaikkien henkilöiden oikeuksia muuttaa omia ja muiden henkilökohtaisia parametreja. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko tietyn parametrityypin käyttöoikeus poistettu.

AccessType                          on käytön oikeustyyppi.

PersonParameterTypeID on kohteena olevan parametrin tyyppi.

AccessRightLevelID    on kohteeseen oleva oikeus.

 

Tauluun liittyvät relaatiot ovat seuraavat:

 

 

Esimerkki PersonParameterTypeProt-taulun käytöstä on taulukossa 40.

 

Deleted

AccessType

PersonParameterTypeID

AccessRightLevelID

False

1

1

1

False

2

1

2

Taulukko 40: Esimerkki PersonParameterTypeProt-taulun sisällöstä.


3.23 Halko-projektin lisäykset Person-moduuliin

Halko-projektissa toteutettiin Kotka- ja Korppi-projekteissa käytettyyn henkilöstön hallinta-moduuliin lisäksi opettajien tietojen tallentamiseen tarkoitettu taulurakenne. Muutoin rakenteet ovat yhtenevät. Seuraavissa alaluvuissa esitetään näiden taulujen rakenteet.

 

 

Kuva 3. Halko-projektin Person-moduulin ER-kaavio


3.23.1 Teacher

Taulu laajentaa Person-taulua (luku 3.2) ja määrittelee Personin alityypin eli opettajan. Taulu sisältää seuraavat kentät:

Deleted

ilmoittaa, onko tietue merkitty poistetuksi.

PersonID

määrittelee opettajan henkilönumeron.

SalaryOfficeNum

määrittelee opettajan palkanlaskennan henkilönumeron..

SalaryGroupID

määrittelee opettajan normaalin tuntipalkkion.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio SalaryGroup-tauluun määrittelee opettajan normaalin tuntipalkkion.

 

Esimerkki taulun sisällöstä on taulukossa 41.

 

Deleted

AccessType

AddressTypeID

AccessRightLevelID

False

1

1

1

False

2

1

2

Taulukko 41: Esimerkki Teacher-taulun sisällöstä.

 

3.23.2 TeacherParameter

Taulu on toimintaperiaatteeltaan ja tarkoitukseltaan samanlainen kuin PersonParameter-taulu (luku 3.11). Erona on luonnollisesti se, että tämä taulu määrittelee lisäparametreja opettajalle. Taulu sisältää seuraavat kentät:

Deleted

ilmoittaa, onko tietue merkitty poistetuksi.

ParameterID

on taulun avainkenttä.

ParameterValue

määrittelee parametrin arvon.

PersonID

määrittelee henkilön eli opettajan, jonka parametrista on kyse.

ParameterTypeID

määrittelee parametrin tyypin.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Person-tauluun (luku 3.2) määrittelee opettajan henkilöllisyyden.

·        Relaatio TeacherParameterType-tauluun (luku 3.23.3) määrittää parametrin tyypin.

 

Esimerkki taulun sisällöstä on taulukossa 42.

 

Deleted

AccessType

PersonAddressTypeID

AccessRightLevelID

False

1

1

1

False

2

1

2

Taulukko 42: Esimerkki TeacherParameter-taulun sisällöstä.

 

3.23.3 TeacherParameterType

Taulu määrittelee opettajan käytössä olevat parametrit. Taulu sisältää seuraavat kentät:

Deleted

ilmoittaa, onko tietue merkitty poistetuksi.

ParameterTypeID

on taulun avainkenttä.

 

 

Esimerkki taulun sisällöstä on taulukossa 43.

 

Deleted

ParameterTypeID

False

1

False

2

Taulukko 43: Esimerkki TeacherParameterType-taulun sisällöstä.

 

3.23.4 TeacherParameterTypeLanguage

Taulu monikielistää opettajan parametrien nimet. Taulu sisältää seuraavat kentät:

Deleted

ilmoittaa, onko tietue merkitty poistetuksi.

ParameterTypeID

määrittelee parametrin tyypin.

LanguageID

määrittelee parametrin kielen.

Name

määrittelee parametrin nimen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio TeacherParameterType-tauluun (luku 3.23.3) määrittelee monikielistettävän parametrin tyypin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käytettävän kielen.

 


Esimerkki taulun sisällöstä on taulukossa 44.

 

Deleted

ParameterTypeID

LanguageID

Name

False

1

1

Veroprosentti 1

False

2

1

Veroprosentti 2

Taulukko 44: Esimerkki TeacherParameterTypeLang-taulun sisällöstä.

 


4. Kurssikirjanpito

Kurssikirjanpitomoduuli vastaa sisällöltään suunnilleen nykyistä KURKI-järjestelmän tietokantaa. Kurssikirjanpidon taulurakenne sisältää kaikki opetusohjelmasta löytyvät kurssit (Course, luku 4.2), kaikki tiettynä ajanjaksona luennoitavat kurssit (CourseInstance, luku 4.6), ilmoittautumiset kursseille (CourseParticipant, luku 4.13) sekä tietysti kursseihin kuuluvien demomerkintöjen ym. vastaavien hallinnan (Result, luku 4.42). Lisäksi mukana on opinto-oppaan laadinnassa tarvittavat tiedot (CourseDescription, luku 4.7). Puutteena on opintojaksojen arvostelufunktion puuttuminen, sillä nykyistä toteutusta on hankala siirtää vastaavalla tavalla uuteen järjestelmään.

Kurssikirjanpidon tarvitsemien taulujen lisäksi mukana on osa myös salivarausten suunnittelussa sekä henkilökohtaisen kalenterin laadinnassa tarvittavista tauluista. Lisäksi KURKI-järjestelmässä olevat henkilötietoihin liittyvät taulut on siirretty Person-osioon, jota käsitellään luvussa 3.

 

4.1 Kurssikirjanpidon ER-kaavio

Kurssikirjanpito-moduulin ER-kaavio esitetään kuvassa 4 ja sen ominaisuuksiin perehdytään seuraavissa aliluvuissa. Taulujen Language ja Person ominaisuuksia ei esitetä yksityiskohtaisesti, sillä ne on esitelty luvuissa 3.13 ja 3.2

 

Kuva 4: Kurssikirjanpito-osion ER-kaavio.


4.2 Course

Course-taulu sisältää opetusohjelmassa olevien kurssien vakiona pysyvät tiedot. Se vastaa eräänlaista ohjelmointikielten tyypinmäärittelyä. Taulun rakenne on seuraava:

Deleted               kertoo, onko kurssi poistettu

CourseID                                    on taulun avainkenttä eli se yksilöi kurssit. Periaatteessa myös kurssikoodi (Code) on yksikäsitteinen. Haastattelujen pohjalta tuli kuitenkin selväksi, että käytännössä näin ei ole, sillä kurssikoodit kiinnitetään joskus vasta kirjausvaiheessa. Esim. TIExxx-kursseja voi olla useita.

Code                                              on opinto-oppaastakin löytyvä kurssikoodi (esim. MAT355).

OrganisationID                     ilmoittaa kurssin järjestävän organisaation tunnusnumeron. Vastaa periaatteessa kurssikoodin alkuosaa (esim MATxxx viittaa matematiikan laitokseen).

Level                                           erittelee mm. approbatur-, cum laude- ja laudatur-tasoiset kurssit. Periaatteessa voitaisiin määritellä Level-taulukko, johon tämä kenttä viittaisi.

MinCredits                               määrittelee opintojakson opintoviikkomäärän minimin.

MaxCredits                               määrittelee opintojakson opintoviikkomäärän maksimin.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language tauluun (luku 3.13) tarvitaan kurssinimien kääntämisessä (katso CourseTranslation, luku 4.3).

·        Course-taulun tietoja käytetään CourseInstance-taulussa (luku 4.6) pohjatietoina.

Esimerkki Course-taulun sisällöstä on taulukossa 45. Siinä esitellään TIExxx-kurssi, jonka järjestää organisaatio 2, se on tasoa 1 ja siitä saa aina 3 opintoviikkoa.

 

Deleted

CourseID

Code

OrganisationID

Level

MinCreadits

MaxCredits

False

1

TIExxx

2

1

3

3

Taulukko 45: Esimerkki Course-taulun sisällöstä.


4.3 CourseTranslation

Tämä taulu määrittelee Course-taulussa (luku 4.2) määritellyille kursseille nimet kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                 kertoo, onko käännös poistettu.

CourseID              määrittelee käännettävän kurssin.

LanguageID         määrittelee kielen, jolle käännös tehdään.

Name                        sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Course-tauluun (luku 4.2) määrittelee käännettävän kurssin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee kohdekielen.

 

Esimerkki taulun sisällöstä on taulukossa 46.

 

Deleted

CourseID

LanguageID

Name

False

1

1

Test course

False

1

2

Testikurssi

Taulukko 46: Esimerkki CourseTranslation-taulun sisällöstä.

 

4.4 DescriptionType

Tässä taulussa määritellään kurssikuvauksissa tarvittavat tyypit. Tätä taulua käytettään kurssikuvauksen jakamiseen loogisiin kokonaisuuksiin, joten sitä voidaan hyödyntää vaikka opinto-opasta laadittaessa. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko kuvaustyyppi poistettu.

DescriptionTypeID             on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun (luku 3.13) tarvitaan tyyppinimien monikielistämiseksi (katso DescriptionTypeTranslation, luku 4.5).

·        Relaatio CourseInstance-tauluun (luku 4.6) yhdistää tyypitetyt kurssikuvaukset kursseihin (katso CourseDescription, luku 4.7).


Taulukossa 47 on esimerkki DescriptionType-taulun mahdollisesta sisällöstä.

 

Deleted

DescriptionTypeID

False

1

False

2

Taulukko 47: Esimerkki DescriptionType-taulun sisällöstä.

4.5 DescriptionTypeTranslation

Tässä taulussa määritellään tekstimuotoiset vastineet DescriptionType-taulussa (luku 4.4) määritellyille kuvaustyypeille. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

DescriptionTypeID             määrittelee ko. kuvaustyypin.

LanguageID                               kertoo kielen, jolle tyyppiä käännetään.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio DescriptionType-tauluun (luku 4.4) määrittelee käännettävän kuvaustyypin.

·        Relaatio Language-tauluun (luku 3.13) valitsee kohdekielen.

 

Taulukossa 48 on esimerkki taulun mahdollisesta sisällöstä

 

Deleted

DescriptionTypeID

LanguageID

Name

False

1

1

Prerequisities

False

1

2

Esitiedot

Taulukko 48: Esimerkki DescriptionTypeTranslation-taulun käytöstä.

4.6 CourseInstance

Tämä taulu määrittelee tiettynä lukuvuonna pidettävät kurssit. Taulukon rakenne näyttää seuraavalta:

Deleted                                      kertoo, onko kurssin esiintymä poistettu.

CourseInstanceID                on taulun avainkenttä

CourseID                                    määrittelee pidettävän kurssin tyypin Course-taulusta (luku 4.1).

StartDate                                 kertoo kurssin alkamisajankohdan.

EndDate                                      kertoo kurssin päättymisajankohdan.

WWWSite                                      sisältää kurssin verkko-osoitteen.

 

 

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Course-tauluun (luku 4.2) määrittelee pidettävän kurssin tyypin.

·        Relaatio Description- ja Language-tauluihin määrittelee DescriptionType-taulussa määritellyistä osista koostuvan kurssikuvauksen kaikilla järjestelmän tuntemilla kielillä (katso CourseDescription, luku 4.7).

·        Relaatio CompletionType-tauluun (luku 4.8) määrittelee kurssille mahdolliset suoritustavat (katso CourseInstanceCompletionType, luku 4.10).

·        Relaatio CourseParticipant-tauluun (luku 4.13) yhdistää henkilöt kursseille.

·        Relaatio EventGroup-tauluun (luku 4.23) yhdistää kurssin ja kurssiin liittyvät opetusryhmät toisiinsa.l

 

Esimerkki taulun sisällöstä on taulukossa 49.

 

Deleted

CourseInstanceID

CourseID

StartDate

EndDate

WWWSite

False

1

1

13.1.2001

30.4.2001

www.jyu.fi/kurssi

False

2

2

14.1.2001

28.4.2001

www.jyu.fi/kurssi2

Taulukko 49: Esimerkki CourseInstance-taulun sisällöstä.

4.7 CourseDescription

Tämä taulu sisältää kurssikuvaukset kaikilla järjestelmän käyttämillä kielillä. Itse kuvaus kootaan useista taulussa DescriptionType (luku 4.4) määritellyn tyyppisistä osista. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko kurssikuvauksen osa poistettu.

CourseInstanceID                määrittelee kurssin, johon kuvaus liityy.

DescriptionTypeID             kertoo, minkä tyyppisestä kurssikuvauksen osasta on kyse.

LanguageID                               kertoo kuvauksessa käytetyn kielen.

Description                            sisältää itse tekstin.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CourseInstance-tauluun määrittelee kurssin, johon kuvaus liittyy.

·        Relaatio DescriptionType-tauluun määrittelee kurssikuvauksen osan tyypin.

·        Relaatio Language-tauluun määrittelee kuvauksessa käytetyn kielen.

 


Jos esimerkiksi taulut CourseInstance ja DescriptionType ovat taulukkojen 41 ja 39 kaltaiset, voisi CourseDescription-taulun sisältö olla taulukon 51 kaltainen. Tällöin kurssi 1 on kurssin 2 esitietovaatimuksena.

 

Deleted

CourseInstanceID

DescriptionTypeID

LanguageID

Description

False

2

1

1

Course 1

False

2

1

2

Kurssi 1

Taulukko 51: Esimerkki CourseDescription-taulun sisällöstä

4.8 CompletionType

Tämä taulu määrittelee kaikki erilaiset kurssien suoritustavat. Periaatteessa tämä taulu tuntuu olevan turha, sillä samaan tulokseen päästään käyttämällä CourseDescription-taulua (luku 4.7). Erillistä taulua käyttämällä järjestelmä tarjoaa kuitenkin suoritustavat vakioteksteinä, eikä niitä tarvitse kirjoittaa jokaisen kurssin kurssikuvauksen yhteen Description-elementtiin erikseen. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko suoritustapa poistettu.

CompletionTypeID                on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CourseInstance-tauluun (luku 4.6) määrittelee, millä tavoin mikäkin kurssi voidaan suorittaa (katso CourseInstanceCompletionType, luku 4.10).

·        Relaatio Language-tauluun (luku 3.13) tarvitaan suoritustapojen monikielistämiseksi.

 

Esimerkki taulun sisällöstä on taulukossa 52.

 

Deleted

CompletionTypeID

False

1

False

2

Taulukko 52: Esimerkki CompletionType-taulun sisällöstä.

4.9 CompletionTypeTranslation

Tämä taulu sisältää kaikki kurssin suoritustavat teksteinä kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

CompletionTypeID                määrittelee käännettävän suoritustavan.

LanguageID                               kertoo, mille kielelle suoritustapa käännetään.

Name                                              sisältää varsinaisen käännöksen.

 


Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CompletionType-tauluun (luku 4.8) määrittelee käännettävän suoritustavan.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytettävän kielen.

 

Esimerkki taulun sisällöstä on taulukossa 53.

 

Deleted

CompletionTypeID

LanguageID

Name

False

1

1

Final examination

False

1

2

Lopputentti

Taulukko 53: Esimerkki CompletionTypeTranslation-taulun sisällöstä.

4.10 CourseInstanceCompletionType

Tämä taulu määrittelee, millä tavoin minkäkin pidettävän kurssin voi suorittaa. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko suoritustapa poistettu.

CourseInstanceID                määrittelee kyseisen kurssin.

CompletionTypeID                kertoo, millä tavoin suoritus onnistuu.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CourseInstance-tauluun (luku 4.6) määrittelee kurssin, jonka suoritustavasta on kyse.

·        Relaatio CompletionType-tauluun (luku 4.8) määrittelee suoritustavan.

 

Esimerkki taulun sisällöstä annetaan taulukossa 54. Esimerkissä kurssin 1 voi suorittaa tavalla 1, mutta kurssin 2 kohdalla tämä ei ole enää mahdollista.

 

Deleted

CourseInstanceID

CompletionTypeID

False

1

1

True

2

1

Taulukko 54: Esimerkki CourseInstanceCompletionType-taulun sisällöstä.

4.11 UserGroup

Tämä taulu määrittelee kurssikirjanpitomoduulin käyttäjäryhmät, kuten kurssilaiset ja luennoitsijat. Tämän taulun nimeä on ehdotettu vaihdettavaksi kuvaavammaksi, sillä kehitettävänä on Kurki-järjestelmän seuraaja. Tosin taulun nimi ei näy sovelluksen käyttäjälle mitenkään, joten aivan pakollista se ei ole. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käyttäjäryhmä poistettu.

UserGroupID                            on taulun avainkenttä.

 


Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CourseParticipant-tauluun (luku 4.13) määrittelee, jokaiselle kurssiin liittyvälle henkilölle käyttäjäryhmän.

·        Relaatio Language-tauluun (luku 3.13) tarvitaan käyttäjäryhmien monikielistämiseen.

·        Relaatio Field-tauluun (luku 4.32) määrittelee, minkä käyttäjäryhmän edustajat saavat käsitellä mitäkin kenttätyyppiä (katso FieldProtection, luku 4.41).

 

Esimerkki taulun sisällöstä esitetään taulukossa 55.

 

Deleted

UserGroupID

False

1

False

2

Taulukko 55: Esimerkki UserGroup-taulun sisällöstä.

4.12 UserGroupTranslation

Tämä taulu määrittelee kaikille kurssikirjanpidon käyttäjäryhmille nimet kaikilla järjestelmän käyttämillä kielillä. Luvussa 4.11 esitetyt moitteet taulun nimeämisessä koskevat myös UserGroupTranslation-taulua. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

UserGroupID                            määrittelee ko. käyttäjäryhmän.

LanguageID                               määrittelee käsiteltävän kielen.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio UserGroup-tauluun (luku 4.11) määrittelee käännettävän käyttäjäryhmän.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 

Mikäli käyttäjäryhmät ovat kuten taulukossa 55, voisi UserGroupTranslation-taulun sisältö näyttää taulukossa 56 esitetyn kaltaiselta.

 

Deleted

UserGroupID

LanguageID

Name

False

1

1

Lecturer

False

1

2

Luennoitsija

False

2

1

Student

False

2

2

Opiskelija

Taulukko 56: Esimerkki UserGroupTranslation-taulun sisällöstä.


4.13 CourseParticipant

Tässä taulussa määritellään kaikki kursseille osallistuvat henkilöt. Tänne tallennetaan tiedot niin kurssilaisista, luennoitsijoista kuin demonpitäjistäkin. Ryhmät erotellaan toisistaan UserGroupID-kentän perusteella. Kurssille ilmoittautuminen tapahtuu lisäämällä rivi tähän tauluun. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko osallistuja poistettu.

PersonID                                    määrittelee kurssille osallistuvan henkilön.

CourseID                                    määrittelee henkilölle kurssin.

UserGroupID                            määrittelee henkilön roolin kurssilla.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Person-tauluun (luku 3.2) määrittelee kurssille osallistuvan henkilön.

·        Relaatio CourseInstance-tauluun (luku 4.6) määrittelee kurssin, johon henkilö liittyy.

·        Relaatio UserGroup-tauluun (luku 4.11) määrittelee henkilölle käyttäjäryhmän.

 

Mikäli käyttäjäryhmät on määritelty taulukossa 55 esitetyllä tavalla, voisi CourseParticipant-taulukon sisältö näyttää taulukon 57 kaltaiselta. Tässä esimerkissä henkilö 1 on luennoitsijana kurssilla 1 ja henkilö 2 on kurssilainen samalla kurssilla.

 

Deleted

PersonID

CourseID

UserGroupID

False

1

1

1

False

2

1

2

Taulukko 57: Esimerkki CourseParticipant-taulukon sisällöstä.

4.14 Finished

Finished-tauluun merkitään kaikki hyväksytyt kurssit. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko arvosana poistettu.

PersonID                                    määrittelee henkilön jonka tiedoista on kyse.

Person2ID                                 kertoo tuloksen kirjaajan.

CourseID                                    kertoo tapahtumaan liittyvän kurssin.

GradeID                                      määrittelee arvosteluasteikon.

Credits                                      kertoo opintoviikkomäärän.

Code                                              kertoo kurssin koodin.

FinishedOn                               kertoo, milloin kurssi on hyväksytty.

RegisteredOn                          kertoo, milloin kurssi on rekistetöity.

 


Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Person-tauluun (luku 3.2) määrittelee tarvittavien henkilöiden tiedot.

·        Relaatio Grade-tauluun (luku 4.15) määrittelee arvosana-asteikon.

 

Taulun sisältö voisi näyttää esimerkiksi taulukon 58 kaltaiselta.

 

Deleted

PersonID

Person2ID

CourseID

GradeID

Credits

False

1

3

2

1

2

False

2

4

4

2

4

 

Code

FinishedOn

RegisteredOn

TIE110

2001-03-20

2001-04-30

TIE220

2001-03-30

2001-04-20

Taulukko 58: Esimerkki Finished-taulun sisällöstä.

4.15 Grade

Tämä taulu sisältää kaikki järjestelmässä käytettävät arvosanat. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko arvosana poistettu.

GradeID                                      on taulun avainkenttä.

BelongsInGroup                                           kertoo mihin ryhmään arvosana kuuluu.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Points-tauluun (luku 4.17) tarvitaan, sillä Points-taulusta saadaan tiedot pistemääristä, jotka vaikuttavat arvosteluun.

·        Grade-taulussa määriteltyjä arvosanoja käytetään Finished-taulussa (luku 4.14).

 

Taulun sisältö voisi näyttää esimerkiksi taulukon 59 kaltaiselta.

 

Deleted

GradeID

BelongsInGroup

False

1

1

False

2

2

Taulukko 59: Esimerkki Grade-taulun sisällöstä.


4.16 GradeTranslation

Tämä taulu sisältää kaikki järjestelmässä käytettävät arvosanat tekstimuodossa kaikilla järjestelmässä käytetyillä kielillä. Käännöstaulu tarvitaan, sillä osa arvosanoista on sanallisia (kuten hyväksytty ja hylätty). Taulun rakenne on seuraava.

Deleted                                      kertoo, onko käännös poistettu.

GradeID                                      määrittelee käännettävän arvosanan.

LanguageID                               määrittelee kielen, jolle arvosana käännetään.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Grade-tauluun (luku 4.15) määrittelee käännettävän arvosanan.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 

Mikäli arvosanat on määritelty taulukossa 59 esitetyllä tavalla, voisi GradeTranslation-taulu näyttää taulukon 60 kaltaiselta.

 

Deleted

GradeID

LanguageID

Name

False

1

1

Failed

False

1

2

Hylätty

False

2

1

Passed

False

2

2

Hyväksytty

Taulukko 60: Esimerkki GradeTranslation-taulusta.

4.17 Points

Tämä taulu sisältää kaikki tiedot pistemääristä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko arvosana poistettu.

PointsID                                    on taulun avainkenttä.

NumberOfPoints                                           kertoo pisteiden lukumäärän.

CalculatePointsID             kertoo tiedon mitä kaavaa käyttäen pisteet lasketaan.

GradeID                                      Määrittelee arvosana-asteikon.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Grade-tauluun (luku 4.15) tarvitaan, sillä Grade-tauluun tallennetaan tiedot arvosanasta.

·        Relaatio CalculatePoints-tauluun (luku 4.18) tarvitaan, sillä sen avulla lasketaan arvosana johon pistemäärä oikeuttaa.

 


Taulun sisältö voisi näyttää esimerkiksi taulukon 61 kaltaiselta.

 

Deleted

PointsID

NumberOfPoints

CalculatePointsID

GradeID

False

1

15

1

1

False

2

20

2

2

Taulukko 61: Esimerkki Points-taulun sisällöstä.

4.18 CalculatePoints

Tämä taulu sisältää tiedon siitä, miten arvosana lasketaan. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko arvosana poistettu.

CalculatePointsID             on taulun avainkenttä

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Points-tauluun (luku 4.17) tarvitaan, sillä Points-taulu sisältää tiedot pistemääristä.

·        Relaatio CalculatePointsCourseInstance-tauluun (luku 4.20) tarvitaan, sillä sen avulla määritellään kurssi-instanssi johon pisteidenlasku kuuluu.

 

Taulun sisältö voisi näyttää esimerkiksi taulukon 62 kaltaiselta.

 

Deleted

CalculatePointsID

False

1

False

2

Taulukko 62: Esimerkki CalculatePoints-taulun sisällöstä.

4.19 CalculatePointsLang

Tämä taulu sisältää järjestelmässä käytettävien arvosteluasteikkojen käännökset. Taulun rakenne on seuraava.

Deleted                                      kertoo, onko käännös poistettu.

CalculatePointsID             määrittelee käännettävän arvosanan.

LanguageID                               määrittelee kielen, jolle arvosana käännetään.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CalculatePoints-tauluun (luku 4.18) määrittelee käännettävän arvostelufunktion.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 


Taulu näyttää taulukon 63 kaltaiselta.

 

Deleted

CalculatePointsID

LanguageID

Name

False

1

2

Oma_arvostelu

False

2

2

Norm_arvostelu

Taulukko 63: Esimerkki CalculatePointsLang-taulusta.

4.20 CalculatePointsCourseInstance

CalculatePointsCourseInstance-taulu määrittelee, mitkä arvostelufunktiot kuuluvat mihinkin kurssi-instanssiin. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko tapahtumaryhmä poistettu.

CourseInstanceID      määrittelee kurssin.

CalculatePointsID     määrittelee arvosteluasteikon joka liittyy ko. kurssiin.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CalculatePoints-tauluun (luku 4.18) määrittelee tapahtumaryhmän tyypin (esim demo tai luento).

·        Relaatio CourseInstance-tauluun (luku 4.6) liittää arvosteluasteikon oikeaan kurssiin.

 

Taulu näyttää taulukon 64 kaltaiselta.

 

Deleted

CourseInstanceID

CalculatePointsID

FALSE

1

1

FALSE

2

2

Taulukko 64: Esimerkki CalculatePointsCourseInstance-taulun sisällöstä.

4.21 GroupType

Tämä taulu määrittelee kaikki järjestelmän käyttämät ryhmätyypit. Tällaisia ovat esimerkiksi demoryhmät, tentit, luennot ja kokoukset. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko ryhmätyyppi poistettu.

GroupTypeID                            on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun (luku 3.13) määrittelee ryhmän nimen (katso GroupTypeTranslation, luku 4.22).

·        GroupType-taulun arvoja käytetään EventGroup-taulussa (luku 4.23) ryhmän tyypin ilmoittamiseen.


Esimerkki taulun sisällöstä on taulukossa 65.

 

Deleted

GroupTypeID

False

1

False

2

Taulukko 65: Esimerkki GroupType-taulun sisällöstä.

4.22 GroupTypeTranslation

Tämä taulu sisältää kaikki ryhmätyypit teksteinä kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

GroupTypeID                         määrittelee käännettävän ryhmätyypin.

LanguageID                               kertoo, mille kielelle suoritustapa käännetään.

Name                                              sisältää varsinaisen käännöksen.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio GroupType-tauluun (luku 4.21) määrittelee käännettävän ryhmätyypin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 

Esimerkki taulun sisällöstä on taulukossa 66.

 

Deleted

GroupTypeID

LanguageID

Name

False

1

1

Examination

False

1

2

Tentti

Taulukko 66: Esimerkki GroupTypeTranslation-taulun sisällöstä.


4.23 EventGroup

EventGroup-taulu määrittelee useita samanlaisia tilaisuuksia sisältävän tilaisuusryhmän. Yksittäiset tapahtumat on määritelty Event-taulussa (luku 4.25). Ryhmäajattelun ideana on kapseloida samaan loogiseen kokonaisuuteen kuuluvat tilaisuudet yhteisen otsikon alle, jolloin tapahtumaryhmään ilmoittautuminen ilmoittaa henkilön kaikkiin ryhmän tapahtumiin, kuten demoryhmän eri demokertoihin. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko tapahtumaryhmä poistettu.

EventGroupID                          on taulun avainkenttä.

GroupTypeID           määrittelee tapahtumaryhmän tyypin.

CourseInstanceID      määrittelee kurssin, johon tapahtumaryhmä liittyy. Periaatteessa ryhmän ei tarvitse kuulua mihinkään kurssiin (esim. laitosneuvoston kokoukset).

EventGroupName        kertoo tapahtumaryhmän nimen. Mahdollisesti tämä pitäisi tarjota usealla kielellä.

MaxParticipants                  kentän tarkoitus on rajoittaa ilmoittautumisten määrää.

MinParticipants                  kentän tarkoitus on rajoittaa ilmoittautumisten määrää.

NumberOfOccurences           kenttään kirjataan tilaisuusryhmää suunniteltaessa tavoite kokoontumiskertojen määrästä. Voidaan myös käyttää pelkän toistomäärän ilmoittamiseen.

URI                   kenttään kirjataan tapahtumaryhmän internet-sivun osoite.

ValidUntil                               ilmoittaa, mihin saakka ryhmä on voimassa. Käytetään kannan ylläpidon helpottamiseen.

Comment                                      kenttään kirjataan ryhmään liittyviä lisätietoja tai selitteitä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio GroupType-tauluun (luku 4.21) määrittelee tapahtumaryhmän tyypin (esim demo tai luento).

·        Relaatio EventGroupRelationship-tauluun (luku 7.8) määrittelee tapahtumaryhmän suhteen muihin tapahtumaryhmiin.

·        Relaatio CourseInstance-tauluun (luku 4.6) liittää ryhmän oikeaan kurssiin. Tämä liitos voi myös puuttua, mikäli tapahtumaryhmä ei kuulu mihinkään kurssiin (esim. laitosneuvoston kokous).

·        Relaatio GroupParticipant-tauluun (luku 4.24) liittää ryhmään ilmoittautuneet henkilöt ryhmään.

·        Relaatio Event-tauluun (luku 4.25) määrittelee tapahtumaryhmän yksittäiset tapahtumat.

 


Taulukossa 67 olevassa esimerkissä määritellään kurssiin 1 liittyvä tyyppiä 1 oleva tapahtuma. Sen sijaan tapahtuma 2 ei kuulu mihinkään kurssiin.

 

Deleted

EventGroupID

GroupTypeID

CourseInstanceID

EventGroupName

False

1

1

1

Ryhmä1

False

2

7

NULL

FC Kuokkala

 

MinParticipants

MaxParticipants

NumberOfOccurences

10

20

10

NULL

NULL

20

 

URI

ValidUntil

Comment

www.mit.jyu.fi

27-04-2002 00:00:00+03

opetusryhmä

NULL

30-08-2003+03

Jalkapallojoukkue

 

Taulukko 67: Esimerkki EventGroup-taulun sisällöstä.

4.24 GroupParticipant

Tämä taulu määrittelee ilmoittautumisen tapahtumaryhmään ja sitä kautta myös tapahtumaan. Tätä taulua on tarkoitus käyttää opetusryhmiin ilmoittautumisessa. Sen sijaan kursseille ilmoittautumiset menevät CourseParticipant-tauluun (luku 4.13). Näin toimitaan siksi, että joku kurssille ilmoittautunut ei välttämättä ilmoittaudu mihinkään opetustilaisuuteen. Luonnollisesti myös henkilökohtaisiin tapahtumaryhmiin liittyminen toteutetaan tämän taulun avulla. Taulun rakenne on seuraava:

Deleted                             kertoo, onko ilmoittautuminen peruttu.

PersonID                                    kertoo ilmoittautuneen henkilön.

EventGroupID                          määrittelee ryhmän, johon on ilmoittauduttu.

Registered                               on ajankohta, jolloin ilmoittautuminen on tapahtunut.

UserLevel                                 määrittelee ryhmään kuuluvan henkilön oikeudet esim. ryhmän muokkauksessa. Voi olla, että tästä tehdään oma taulunsa.

GroupParticipantID           on taulun perusavainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Person-tauluun (luku 3.2) määrittelee henkilön, joka on ilmoittautunut ryhmään.

·        Relaatio EventGroup-tauluun (luku 4.23) kertoo ryhmän, johon ilmoittautuminen on tehty.

·        Relaatio tauluun Comment (luku 7.7) liittää ryhmään ilmoittautumishetkeen kommentin.

 

 

 

Taulukossa 68 olevassa esimerkissä henkilö 1 on ilmoittautunut ryhmään 1. Henkilö 2 taas on perunut ilmoittautumisensa.

 

Deleted

PersonID

EventGroupID

Registered

False

1

1

1.2.2000

True

2

1

2.2.2000

 

GroupParticipantID

UserLevel

12

1

13

0

 

Taulukko 68: Esimerkki GroupParticipant-taulusta.

4.25 Event

Event-taulu määrittelee yksittäiset tapahtumat. Järjestelmän kannalta tapahtuma on jotain, joka tapahtuu jossain tilassa ja vaatii jonkin verran aikaa. Lisäksi tapahtumaan on kyettävä ilmoittautumaan. Tämän taulun tapahtumat tarkistamalla voidaan luoda henkilökohtainen lukujärjestys kalenterimoduuliin. Taulun rakenne näyttää seuraavalta:

Deleted                                      kertoo, onko tapahtuma poistettu.

EventID                                      on taulun avainkenttä.

EventGroupID                        määrittelee tapahtumaryhmän, johon tapahtuma kuuluu.

RealParticipants                kertoo tapahtuman todellisen osallistujamäärän. Tämä voi erota ilmoittautuneiden määrästä. Tätä kenttää voidaan hyödyntää seuraavia vastaavia tilaisuuksia suunniteltaessa. Osallistujamäärää rajoittaa myös MaxParticipants, joka on esitelty luvussa 4.18.

BeginTime                           kertoo tapahtuman alkamisajan.

EndTime                                      kertoo tapahtuman päättymisajan.

VisibilityID                          liittää tapahtumalle näkyvyysarvon.

PriorityID                          liittää tapahtumalle tärkeysarvon l. prioriteetin.

Name                                kertoo tapahtuman nimen tai kuvauksen.

 

 

 

 

 

 

 

 

 

 

 

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio EventGroup-tauluun (luku 4.23) kertoo tapahtumaryhmän, johon taphtuma liittyy.

·        Relaatio GroupParticipant-tauluun (luku 4.24) kertoo tapahtumaan ilmoittautuneet henkilöt.

·        Relaatio Person-tauluun (luku 3.2) määrittelee tilaisuudelle pitäjät (katso EventPerson, luku 4.21).

·        Relaatio Space-tauluun (luku 4.27) kertoo tilaisuudelle varatut tilat (katso EventSpace, luku 4.23).

·        Relaatio Result-tauluun (luku 4.42) liittää kurssikirjanpitomerkinnät johonkin tilaisuuteen.

·        Relaatio Visibility-tauluun (luku 7.2) liittää tapahtumalle näkyvyysarvon.

·        Relaatio Priority-tauluun (luku 7.4) liittää tapahtumalle prioriteetin.

·        Relaatio Note-tauluun (luku 7.6) liittää tapahtumaan käyttäjien mahdolliset palautteet ja kommentit.

Esimerkki taulun sisällöstä on taulukossa 69. Siinä määritellään kaksi tapahtumaa, joista jälkimmäinen ei liity mihinkään tapahtumaryhmään.

 

Deleted

EventID

EventGroupID

RealParticipants

BeginTime

False

123

12

37

2001-09-17 08:00:00+02

False

124

NULL

1

2001-12-12 19:30:00+02

 

VisibilityID

EndTime

PriorityID

Name

1

2001-09-17 10:00:00+02

1

NULL

2

2001-12-13 04:00:00+02

1

Ulos Leenan kanssa

Esimerkki Event-taulun käytöstä on taulukossa 69.

4.26 EventPerson

Tämä taulu määrittelee tilaisuuksien pitäjät. Yhdellä tilaisuudella voi olla useampia kuin yksi pitäjä. Taulun rakenne on seuraava:

Deleted                 kertoo, onko tilaisuuden pitäjä poistettu.

EventID                 määrittelee tilaisuuden.

PersonID              kertoo tilaisuuden pitäjän.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Event-tauluun (luku 4.25) määrittelee tilaisuuden.

·        Relaatio Person-tauluun (luku 3.2) kertoo tilaisuuden pitäjän.

 

Taulukossa 70 olevassa esimerkissä tilaisuudella 1 on pitäjänä henkilö 1 sekä tilaisuudella 2 henkilöt 2 ja 3.

 

Deleted

EventID

PersonID

False

1

1

False

2

2

False

2

3

Taulukko 70: Esimerkki EventPerson-taulun sisällöstä.

4.27 Space

Space-taulu määrittelee kaikki järjestelmän tuntemat tilat, kuten luentosalit ja demoluokat. Tauluun on esitetty lisättäväksi tilasta kertova kommentti, joka tietysti pitäisi monikielistää. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko tila poistettu järjestelmästä.

SpaceID                                      on taulun avainkenttä

Code                                              kertoo tilan koodin, esimerkiksi MaA102.

OrganisationID                              määrittelee organisaation, jonka hallintaan tila kuuluu.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Resource-tauluun (luku 4.29) määrittelee tilassa sijaitsevat resurssit.

·        Relaatio Organisation-tauluun (luku 2.9) määrittelee organisaation, jonka hallintaan tila kuuluu.

·        Relaatio Event-tauluun (luku 4.25) kertoo, mihin tilaisuuksiin tila on varattu (katso EventSpace, luku 4.28).

 

Esimerkki tilataulun käytöstä on taulukossa 71.

 

Deleted

SpaceID

Code

OrganisationID

False

1

MaA102

1

False

2

MaD202

1

Taulukko 71: Esimerkki Space-taulun sisällöstä.

4.28 EventSpace

EventSpace-taulu määrittelee Event-taulussa (luku 4.25) esiintyneille tapahtumille tilat. Samalle tapahtumalle voidaan tarvittaessa ilmoittaa useampia tiloja. Taulun rakenne näyttää seuraavalta:

Deleted                 kertoo, onko tilavaraus poistettu.

EventID                 kertoo tilaan liittyvän tapahtuman.

SpaceID                 määrittelee varatun tilan.

 

 

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Event-tauluun (luku 4.25) määrittelee tapahtuman, jonka tilanvarauksista on kyse.

·        Relaatio Space-tauluun (luku 4.27) kertoo tapahtumalle varatun tilan.

 

Esimerkki taulun sisällöstä esitetään taulukossa 72.

 

Deleted

EventID

SpaceID

False

1

1

Taulukko 72: Esimerkki EventSpace-taulun sisällöstä.

4.29 Resource

Resource-taulussa määritellään tunnetut resurssit. Resurssilla tarkoitetaan mitä tahansa ominaisuutta tai esinettä, joka voidaan liittää tiloihin ja hyödyntää salivarausten suunnittelussa. Resursseja ovat esimerkiksi taulut, piirtoheittimet, mikrot ja istumapaikat. Taulun rakenne on seuraava:

Deleted                 kertoo, onko resurssi poistettu.

ResourceID         on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Language-tauluun (luku 3.13) tarvitaan resurssinimien monikielistämiseksi (katso luvun 4.30 taulu ResourceTranslation).

·        Relaatio Space-tauluun (luku 4.27) määrittelee resurssin johonkin tilaan (katso luvun 4.31 taulu SpaceResource).

 

Taulun sisältö voisi näyttää esimerkiksi taulukossa 73 esitetyn kaltaiselta.

 

Deleted

ResourceID

False

1

False

2

Taulukko 73: Esimerkki Resource-taulusta.

4.30 ResourceTranslation

Tämä taulu määrittelee kaikille järjestelmän resursseille nimet kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

ResourceGroupID                  määrittelee ko. resurssisin.

LanguageID                               määrittelee ko. kielen.

Name                                              sisältää varsinaisen käännöksen.

 

 

 

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Resource-tauluun (luku 4.29) määrittelee käännettävän resurssin.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 

Mikäli resurssit ovat kuten taulukossa 74, voisi ResourceTranslation-taulun sisältö näyttää taulukossa 60 esitetyn kaltaiselta.

 

Deleted

ResourceID

LanguageID

Name

False

1

1

seats

False

1

2

istumapaikkoja

False

2

1

phone

False

2

2

puhelin

Taulukko 74: Esimerkki ResourceTranslation-taulun sisällöstä.

4.31 SpaceResource

SpaceResource-taulu määrittelee tietyn resurssin johonkin tilaan. Lisäksi resurssille voidaan antaa jokin tietty lisätieto. Esimerkiksi, jos resurssi on puhelin, lisätiedoksi voidaan sijoittaa puhelinnumero. Taulun rakenne on seuraava:

Deleted                 kertoo, onko resurssi poistettu tilasta.

SpaceID                 määrittelee ko. tilan.

ResourceID         määrittelee tilassa sijaitsevan resurssin tyypin.

Value                                           sisältää reusrssiin liittyvän lisätiedon.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Resource-tauluun (luku 4.29) määrittelee resurssin tyypin.

·        Relaatio Space-tauluun (luku 4.27) määrittelee tilan, jossa resurssi sijaitsee.

 

Mikäli resurssitaulu on taulukon 75 kaltainen, voisi SpaceResource-taulun sisältö näyttää taulukon 61 kaltaiselta.

 

Deleted

SpaceID

ResourceID

Value

False

1

2

014-1234567

Taulukko 75: Esimerkki SpaceResource-taulun sisällöstä.


4.32 Field

Field-taulu sisältää kursseilla tarvittavat kenttätyypit. Näitä ovat esimerkiksi kentät kurssin demokerroille. Eri kurssit voivat luonnollisesti määritellä omat kenttänsä tarpeensa mukaan. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko kenttä poistettu.

FieldID                                      on taulun avainkenttä.

FieldTypeID                            määrittelee fieldtypen.

FieldGroupID                          määrittelee fieldgroupin.

OrderNum                                    määrittelee järjestysnumeron.

DefaultValue                        määrittelee oletusarvon.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio CourseInstance-tauluun (luku 4.6) määrittelee kurssin, jonka kentistä on kyse.

·        Relaatio UserGroup-tauluun (luku 4.11) määrittelee minkä käyttäjäryhmien edustajat saavat muuttaa kentän arvoa (katso FieldProtection, luku 4.41).

·        Relaatio Result-tauluun (luku 4.42) määrittelee yksittäiselle kurssikirjanpitomerkinnälle kenttätyypin.

 

Taulun sisältö voisi näyttää taulukon 76 kaltaiselta.

 

Deleted

FieldID

FieldTypeID

FieldGroupID

OrderNum

DefaultValue

False

1

2

1

1

Demo1

Taulukko 76: Esimerkki Field-taulun sisällöstä.

4.33 FieldTranslation

Tämä taulu määrittelee kaikille kenttätyypeille nimet kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

FieldID                                      määrittelee ko. kenttätyypin.

LanguageID                               määrittelee ko. kielen.

Name                                              sisältää varsinaisen käännöksen.

 


Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Field-tauluun (luku 4.32) määrittelee käännettävän kentän.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 

Deleted

FieldID

LanguageID

Name

False

1

1

demo

False

2

2

Tentti

Taulukko 77: Esimerkki FieldTranslation-taulun sisällöstä.

 

4.34 FieldType

FieldType-taulu sisältää kursseilla tarvittavan kenttätyypin. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko kenttä poistettu.

FieldTypeID                            on taulun avainkenttä.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio Field-tauluun (luku 4.32) määrittelee kenttätyypin, jonka kentistä on kyse.

 

Taulun sisältö voisi näyttää taulukon 78 kaltaiselta.

 

Deleted

FieldTypeID

False

1

Taulukko 78: Esimerkki Field-taulun sisällöstä.

4.35 FieldTypeLang

Tämä taulu määrittelee kaikille kenttätyypeille nimet kaikilla järjestelmän käyttämillä kielillä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko käännös poistettu.

FieldTypeID                            määrittelee ko. kenttätyypin.

LanguageID                               määrittelee ko. kielen.

Name                                              sisältää varsinaisen käännöksen.

 


Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio FieldType-tauluun (luku 4.34) määrittelee käännettävän kentän.

·        Relaatio Language-tauluun (luku 3.13) määrittelee käännöksessä käytetyn kielen.

 

Deleted

FieldTypeID

LanguageID

Name

False

1

1

demo

False

2

2

Tentti

Taulukko 79: Esimerkki FieldTypeLang-taulun sisällöstä.

4.36 Choice

Choice-taulu sisältää kursseilla tiedon valitusta kenttätyypistä. Taulun rakenne on seuraava:

Deleted                                      kertoo, onko kenttä poistettu.

ChoiceID                                    on taulun avainkenttä.

OrderNum                                    määrittelee järjestysnumeron.

 

Tauluun liittyvät relaatiot ovat seuraavat:

·        Relaatio FieldChoice-tauluun (luku 4.38) määrittelee kenttätyypin, jonka kentistä on kyse.

 

Taulun sisältö voisi näyttää taulukon 80 kaltaiselta.