Opiskeluoikeuksien maaran tiedonkeruu

Samankaltaiset tiedostot
55 op laskennan poimintakuvaus

Virta_Latausraportti - Tarkistukset

Tilastokeskuksen tutkintotiedonkeruu ammattikorkeakoulut

Tilastokeskuksen opiskelijatiedonkeruu ammattikorkeakoulut

Tilastokeskuksen opiskelijatiedonkeruu yliopistot

Nykyiset tiedonkeruut tietovarannosta

Tilastokeskuksen tutkintotiedonkeruu ammattikorkeakoulut

Opintojen edistymisen seurannan aikataulu, syksy 2016 ja kevät 2017

Opintopistetiedonkeruu

SQL - STRUCTURED QUERY LANGUAGE

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Tilastokeskuksen tutkintotiedonkeruu yliopistot

Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HELIA 1 (14) Outi Virkki Tiedonhallinta

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

Kyselyn yleisrakenne:

HELIA 1 (14) Outi Virkki Tiedonhallinta

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

SELECT-lauseen perusmuoto

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

CSE-A1200 Tietokannat

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. Opettajien nimet: Opiskelijoiden pääaineet

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Makrojen mystinen maailma lyhyt oppimäärä

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto.

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

VIRTA opintotietopalvelun tietomallin muutokset

Liitokset - haut useaan tauluun

CSE-A1200 Tietokannat

KOTA-seminaari, Helsinki 2018 VIRTA-OTP Tiedonkeruut Tavoiteajassa tutkinnon suorittaneet

INSERT INTO koulutus VALUES ( Helsinki, 22.6, 4);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Relaation tyhjyyden testaaminen

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

OUTER JOIN se vanha kunnon kaveri

Dynaamista ja joustavaa ohjelmointia - maukasta makrokielellä

VIRTA-tietomallin laajentaminen - Lukuvuosi-maksu

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu.

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.

Tietokannat II -kurssin harjoitustyö

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Näkymät ja tiedon suojaus

Opiskeluoikeudet. Kaaviokuva

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! ! Henri Nurmi! !

Yhdiste, leikkaus, erotus ym.

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokantakurssit / TKTL

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Opintosuoritukset. Kaaviokuva

Opintopiiritehtävä 3: Verkkohuutokauppa

Java ja tietokannan käsittely (JDBC)

Palaute - Koha-Suomi - Support #1510 Tukipyynnöt: Kohan raportit

Selvitys suunnittelu- ja konsultointialan työvoimasta Liite 2

Tunnetko nämä PL/SQL:n piirteet? Kari Aalto Saariston IT

OHJE OPISKELUOIKEUDEN PURKAMISESTA PASSIIVIREKISTERISTÄ

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Työllisyydestä koulutusaloittain vuonna 2018

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Korkeakoulujen KOTA-seminaari

SQL:N PERUSTEET MARKKU SUNI

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

3. Taulujen määrittely ja muuttaminen

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Koulutus- ja opetusyhteistyö ja VIRTA-tiedot

Tietokanta projektin alussa: create table kurssin_tila ( NOT NULL VARCHAR2(60) create table kurssin_tyyppi ( create table opintojakson_tyyppi (

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

Korkeakoulujen KOTA-seminaari

Transkriptio:

Opiskeluoikeuksien maaran tiedonkeruu Määrittely Opinto-oikeuksista tarvitaan seuraavat tiedot: Tieto jokaisesta yksittäisestä opinto-oikeudesta ja kytkentä niistä opinto-oikeuksista jotka ovat samalla henkilöllä. Tieto sillä tavalla että henkilöt voi ryhmitellä ryhmiin: 1 opinto-oikeus 2 opinto-oikeutta 3 opinto-oikeutta 4 opinto-oikeutta tai enemmän. Jokaisesta opinto-oikeudesta opinto-oikeuden 6 nro-koodi ja korkeakoulu-tiedot. Näiden tietojen perusteella voi opinto-oikeudet jakaa myös yo- ja amk-sektoreiden välillä. Jokaisesta opinto-oikeudesta tieto on ensisijainen opinto-oikeus. Näitä voi henkilöllä olla yksi per korkeakulu, eri korkeakouluissa useita Jokaisesta ylemmästä korkeakoulututkinnon opinto-oikeudesta tieto kuuluuko siihen oikeus alempaan korkeakoulututkintoon. (koskee vain yliopistoja. Poiminta Tulossa selostus tai aukikirjoitus SQL-kyselyistä, mutta itse SQL ohessa: use virta go Expand source declare @debug int = 1 declare @vuosi varchar(4 = '2014' -- Temp-taulu tietojen valintaa varten -- NB! param-taulussa saa olla vain yksi rivi! IF OBJECT_ID('tempdb..#param' IS NOT NULL BEGIN truncate table #param drop table #param if @debug<>0 print convert(varchar,getdate(,120+' DROP temp-taulu param' END create table #param ( vuosi varchar(4, --org varchar(30,---lyhenne (DB-nimi --kk varchar(2,--yliopisto (positiot 1-2 tilpvm date,--tilastointipäivä if @debug<>0 print convert(varchar,getdate(,120+' CREATE temp-taulu param' insert into #param (vuosi,tilpvm select @vuosi as vuosi,@vuosi+'-09-20' as tilpvm

--select * from #param -- Temp-taulu tiedonkeruun tietoja varten IF OBJECT_ID('tempdb..#oikeus' IS NOT NULL BEGIN truncate table #oikeus drop table #oikeus if @debug<>0 print convert(varchar,getdate(,120+' DROP temp-taulu oikeus' END create table #oikeus ( varchar(8, Henkilotunnus varchar(11, Koulutuskoodi varchar(6, Tutkintonimike varchar(200, Ensisijainen bit, Ylempi_liittyy_alempi bit, -- myös null-arvo merkityksellinen! -- opiskelijaavain varchar(100, opiskeluoikeusavain varchar(100, opiskelija_id int, opiskeluoikeus_id int CREATE NONCLUSTERED INDEX IX_tkopisk_opiskelija_id ON #oikeus (opiskelija_id CREATE NONCLUSTERED INDEX IX_tkopisk_opiskeluoikeus_id ON #oikeus (opiskeluoikeus_id if @debug<>0 print convert(varchar,getdate(,120+' CREATE temp-taulu tkopisk' insert into #oikeus (kk,henkilotunnus,ensisijainen,ylempi_liittyy_alempi,opiskelijaavain,opiskeluoikeusavain,opiskelija_id,opiskeluoikeus_id select --'>'+CAST(@oik_lkm as varchar as "Opiskeluoikeuksia", o.db as "", h.henkilotunnus, tk.koodi as "Koulutuskoodi", tk.nimi as "Tutkintonimike" --/*-- ensisijainen tilpvm ( select distinct 1 from Op_oikeuden_ensisijaisuus oe where oe.opiskeluoikeusid=o.id and oe.db=o.db and (select tilpvm from #param between oe.alkamispaivamaara and coalesce(oe.paattymispaivamaara,'9999-01-01',0 "Ensisijainen" --/*-- maisterioikeuteen liittyy kandi?, when ot.koodi='4' then -- opiskeluoikeuden tyyppi: ylempi kk-tutkinto (maisteri coalesce( ( select distinct 1 as "liittyy kandi" from Opiskeluoikeus kandi inner join Opiskeluoikeuden_liittyvyys lii on lii.opiskeluoikeusid=kandi.id --and lii.opiskeluoikeusid2=o.id and lii.db=kandi.db where lii.opiskeluoikeusid2=o.id and kandi.db=o.db,0

else null -- ei ylempi as "Ylempi_liittyy_alempi" --*/,opiskelijaavain=p.avain,opiskeluoikeusavain=o.avain,opiskelija_id=p.id,opiskeluoikeus_id=o.id from Henkilo h inner join Opiskelija p on p.henkiloid=h.id and p.db=h.db inner join Opiskeluoikeus o on o.opiskelijaid=p.id and o.db=p.db inner join Opiskeluoikeuden_tyyppi ot on ot.id=o.op_oikeuden_tyyppiid --and ot.db=o.db inner join Op_oikeuteen_liittyva_tila lt on lt.opiskeluoikeusid=o.id and lt.db=o.db inner join Opiskeluoikeuden_tila kt on kt.id=lt.op_oikeuden_tilaid --and kt.db=lt.db inner join Opiskeluoikeusjakso oj on oj.opiskeluoikeusid=o.id and oj.db=o.db inner join Tutkintonimike tk on tk.id=oj.tutkintonimikeid --and tk.db=oj.db -- where 1=1 -- tutkinto-tyyppinen and ot.koodi in ('1','2','3','4','5','6','7' -- TODO: muita tyyppejä? -- voimassa tilpvm and (select tilpvm from #param between o.alkamispaivamaara and coalesce(o.paattymispaivamaara,'9999-01-01' -- tila and kt.koodi = '1' --aktiivinen and (select tilpvm from #param between lt.alkamispaivamaara and coalesce(lt.paattymispaivamaara,'9999-01-01' and len(h.henkilotunnus=11 -- virallinen suomalainen hetu (ei syntymäajan perusteella -- ilmo and p.id in ( select l.opiskelijaid from Lukukausi_ilmoittautuminen l inner join Lukukausi_ilm_tila lt on lt.id=l.lukukausi_ilmoittautumisen_tilaid where lt.koodi in ('1','2','3' --läsnä, poissa, poissa ei kuluta and l.ilmoittautumispaivamaara <= (select tilpvm from #param and (select tilpvm from #param between l.alkamispaivamaara and coalesce(l.paattymispaivamaara,'9999-01-01' and l.db=p.db -- jakso and (select tilpvm from #param between oj.alkamispaivamaara and coalesce(oj.paattymispaivamaara,'9999-01-01' --*/ --select count(*, count(distinct Henkilotunnus from #oikeus select '1' as "Oikeuksia", where i.db= as "Korkeakoulu" "Koulutusala2002_koodi"

"Koulutusala2002" "Opintoala1995_koodi" "Opintoala1995" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT,'-1' "Koulutusala_koodi" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT where,'tuntematon' "Koulutusala", Ensisijainen when 1 then 'Ensisijainen' else '' as "Ensijaisuus", Ylempi_liittyy_alempi when 1 then 'Liittyy alempi oikeus' when 0 then 'Ei liity alempaa' else '' as "Ylempään oikeuteen liittyy alempi",count(* Lkm group by j.henkilotunnus having COUNT(*=1 group by, union select '2' as "Oikeuksia", where i.db= as "Korkeakoulu" "Koulutusala2002_koodi" "Koulutusala2002" "Opintoala1995_koodi" "Opintoala1995"

when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT,'-1' "Koulutusala_koodi" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT where,'tuntematon' "Koulutusala", Ensisijainen when 1 then 'Ensisijainen' else '' as "Ensijaisuus", Ylempi_liittyy_alempi when 1 then 'Liittyy alempi oikeus' when 0 then 'Ei liity alempaa' else '' as "Ylempään oikeuteen liittyy alempi",count(* Lkm group by j.henkilotunnus having COUNT(*=2 group by, union select '3' as "Oikeuksia", where i.db= as "Korkeakoulu" "Koulutusala2002_koodi" "Koulutusala2002" "Opintoala1995_koodi" "Opintoala1995" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT,'-1' "Koulutusala_koodi"

when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT where,'tuntematon' "Koulutusala", Ensisijainen when 1 then 'Ensisijainen' else '' as "Ensijaisuus", Ylempi_liittyy_alempi when 1 then 'Liittyy alempi oikeus' when 0 then 'Ei liity alempaa' else '' as "Ylempään oikeuteen liittyy alempi",count(* Lkm group by j.henkilotunnus having COUNT(*=3 group by, union select '4' as "Oikeuksia", where i.db= as "Korkeakoulu" "Koulutusala2002_koodi" "Koulutusala2002" "Opintoala1995_koodi" "Opintoala1995" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT,'-1' "Koulutusala_koodi" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT where,'tuntematon' "Koulutusala"

, Ensisijainen when 1 then 'Ensisijainen' else '' as "Ensijaisuus", Ylempi_liittyy_alempi when 1 then 'Liittyy alempi oikeus' when 0 then 'Ei liity alempaa' else '' as "Ylempään oikeuteen liittyy alempi",count(* Lkm group by j.henkilotunnus having COUNT(*=4 group by, union select '>4' as "Oikeuksia", where i.db= as "Korkeakoulu" "Koulutusala2002_koodi" "Koulutusala2002" "Opintoala1995_koodi" "Opintoala1995" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT,'-1' "Koulutusala_koodi" when exists (select * from Yhteiset..Hae_Yliopistot(,DEFAULT where,'tuntematon' "Koulutusala", Ensisijainen when 1 then 'Ensisijainen' else '' as "Ensijaisuus", Ylempi_liittyy_alempi when 1 then 'Liittyy alempi oikeus' when 0 then 'Ei liity alempaa' else '' as "Ylempään oikeuteen liittyy alempi",count(* Lkm

group by j.henkilotunnus having COUNT(*>4

group by, --