Hallo, ich habe folgende Aufgabenstellung bekommen und hoffe auf Ratschläge, wie ich bei der Programmierung vorgehen soll. Folgende Tabellen sind schon erstellt und ganz unten ist die Aufgabe dazu.
-- Projekt: Schule - Schuljahresfähig machen
-- Mitmannsgruber März 2010
--
-- Eine Tabelle "Schuljahr definieren
create table schuljahr (
sj_id int primary key,
sj_bez varchar2(20),
sj_StartDat date not null,
sj_EndDat date not null);
insert into schuljahr values(1, '2009/2010', '07-09-2009', '02-07-2010');
insert into schuljahr values(2, '2010/2011', '06-09-2010', '01-07-2011');
-- Defiinieren der SJKlassen schuljahresfähige Klassentabelle
create table sjklassen (k_id, k_sj_id, k_s_klaspr, k_s_klasprstv, k_l_klavst, k_bez,
primary key (k_id,k_sj_id))
as
select k_id,1,k_s_klaspr, k_s_klasprstv, k_l_klavst, k_bez
from klassen;
-- Definieren der SJSchueler - schuljahresfähige Schuelertabelle
create table sjschueler(s_schnr primary key, s_name not null, s_vorname, s_adresse, s_gebdat,s_gender)
as
select s_schnr, s_name, s_vorname, s_adresse, s_gebdat, 'm'
from schueler;
update sjschueler set s_gender ='f'
where s_vorname in ('Walli', 'Friederike','Barbara','Leopoldine','Maria','Claudia');
-- Definieren der Tabelle SJschuelerklassen, wo steht, welcher Schueler
-- in welchem Schuljahr in welcher Klasse ist
-- da keine null-Werte im select erlaubt sind, wurde sysdate verwendet
create table SJschuelerKlassen (sk_s_schnr, sk_sj_id, sk_k_id, sk_abDatum, sk_bisDatum,
primary key(sk_s_schnr,sk_sj_id,sk_k_id))
as
select s_schnr, 1, s_k_klasse, sysdate,sysdate
from schueler;
-- Datums werden nachträglich null gesetzt
update SJschuelerKlassen set sk_abDatum = null, sk_bisDatum = null;
-- es ist eine Procedure zu schreiben, die aufgrund der 3 Eingabeparameter:
-- Schuljahr, Klasse_alt und Klasse_neu
-- die Schueler von Schuljahr und Klasse_alt in die neue Klasse:
-- Schuljahr+1 und Klasse_neu aufsteigen lassen, sofern keine negativen
-- vorliegen.
Danke im Voraus!