Kampfgummibaerlie
Datenbank-Guru
- Beiträge
- 743
Ich möchte (einmal wieder) von vorne Anfangen mit der Homepage für Mutter xD
Was mich interessiert, weil seit meinem Verkehrsunfall angeblich auch die Planungsfähigkeit beeinträchtigt sei, wie kann/sollte ich eine solche Datenbank vorausplanen?
Mein Gedanke wäre, alles relevante schriftlich zu notieren, dann in einer OpenOffice Base (die, die ich bevor ich gottsiedank auf PGSQL umgestiegen bin, verwendet habe), und schauen, ob es dort bereits zu etwaigen Komplikationen kommt, diese ausbessern, und am Ende gut vorbereitet sich hinter den PGSQL-Server setzen
Meine bisherige Planung (ich schreibe im Windows Editor) sieht so aus:
Ich bin zwar noch kein Akretschmer in Sachen PGSQL, aber mir fallt auf, dass ich irrsinnigen Spaß daran habe, einen Vorgang wie das erstellen der Datenbank enormen Spaß macht xD
Des weiteren lerne ich nach und nach immer mehr, bin außerdem im Moment in der HTL Ottakring (Informatik) als außerordentlicher Zuhörer, und kann vl. im Februar zu der Klasse stoßen, in welcher ich im Moment "zuhöre".
Was mich interessiert, weil seit meinem Verkehrsunfall angeblich auch die Planungsfähigkeit beeinträchtigt sei, wie kann/sollte ich eine solche Datenbank vorausplanen?
Mein Gedanke wäre, alles relevante schriftlich zu notieren, dann in einer OpenOffice Base (die, die ich bevor ich gottsiedank auf PGSQL umgestiegen bin, verwendet habe), und schauen, ob es dort bereits zu etwaigen Komplikationen kommt, diese ausbessern, und am Ende gut vorbereitet sich hinter den PGSQL-Server setzen
Meine bisherige Planung (ich schreibe im Windows Editor) sieht so aus:
Code:
Was möchte ich in der Mimoso-Datenbank:
1.: Tabelle Maschinentypen
1. 1.: ID serial Primary Key
1. 2.: Name varchar(30) Unique Not Null
1. 3.: Preis numeric Not Null
1. 4.:
2.: Tabelle Maschinen
1. 1.: ID serial Primary Key
1. 2.: Typ Integer FK Maschinentypen(id) Not Null
3.: Typ Timerange
3. 1.: Function time_subtype_diff(x time without timestamp, y time without timestamp) select extract(epoch from(x-y));
3. 2.: Typ timerange as range (subtype = time, subtype_diff = time_subtype_diff)
4.: Tabelle Öffnungszeiten
4. 1.: ID serial Primary Key
4. 2.: wochentag_id integer Not Null
4. 3.: öffnungszeit timerange Not Null
5.: Tabelle Vermietungen
5. 1.: ID serial Primary Key
5. 2.: Maschine integer FK Maschinen(id) Not Null
5. 3.: Mietzeit tsrange Not Null
6.: Triggerprocedure in_öffnungszeit()
6. 1.: function wochentag_datum(x date) as select extract(dow from x)
6. 2.: if (select count(1) from öffnungszeiten where wochentag_id = wochentag_datum(lower(new.mietzeit)::date) and öffnungszeiten.öffnungszeit @> lower(new.mietzeit)::time) then return new; else raise exception '><'
7.: Tabelle Urlaubstage
7. 1.: ID serial Primary Key
7. 2.: Datum daterange unique not null
7. 3.: Grund varchar(50) Not Null
8.: Triggerprocedure in_urlaubstagen()
8. 1.: if (datum @> lower(new.mietzeit)::date then raise exception '><' else return new;
9.: Tabelle Feiertage
8. 1.: ID serial Primary Key
8. 2.: Name varchar(30) Not Null
8. 3.: Datum text Not Null
10.: Triggerprocedure in_feiertagen()
10. 1.: if (select count(1) from feiertage where to_date(current_date, 'DD.MM.') then raise eception '><' else return new;
11.:
Ich bin zwar noch kein Akretschmer in Sachen PGSQL, aber mir fallt auf, dass ich irrsinnigen Spaß daran habe, einen Vorgang wie das erstellen der Datenbank enormen Spaß macht xD
Des weiteren lerne ich nach und nach immer mehr, bin außerdem im Moment in der HTL Ottakring (Informatik) als außerordentlicher Zuhörer, und kann vl. im Februar zu der Klasse stoßen, in welcher ich im Moment "zuhöre".