Inhaltsverzeichnis

LibreOffice Base

http://www.brg-woergl.tsn.at/Access/OOBase/index.html
http://www.ooowiki.de/SQL

Relationales Datenbankmanagementsystem

Tabelle

Tabelle in der Entwurfsansicht erstellen
Feldnamen vergeben und Felddatentypen zuordnen

FeldnameNrKlasseNameGeschlechtStrassePLZOrtGeb_datumFahrschueler
FeldtypInteger/Auto-WertTextTextTextTextTextTextDatumJa/Nein

Primärschlüssel setzen: Das Feld Nr markieren > re Maustaste > Primärschlüssel
Tabelle speichern > Name der Tabelle: schueler > OK > Fenster schließen
Tabelle schueler öffnen
Eingabe der Schüler

NrKlasseNameGeschlechtStrassePLZOrtGeb_datumFahrschueler
2AZuegg TinawKlosterwiesgasse 158010Graz27.5.99Ja
2AHuber JörgmKarlauer Str. 568020Graz8.9.00Nein

Datei > Schließen

Formulare > Formular unter Verwendung des Assistenten erstellen…

Formular schueler öffnen

NrKlasseNameGeschlechtStrassePLZOrtGeb_datumFahrschueler
2ABayer FriedrichmSt. Peter Hauptstraße 878010Graz5.5.01Ja
2AGrabner HelmutmMünzgrabenstraße 1048010Graz9.3.01Nein
2AMaitz HelgawSchießstattgasse 68010Graz12.10.00Ja

Importieren und Exportieren von Daten in Base

http://help.libreoffice.org/Common/Importing_and_Exporting_Data_in_Base/de

Importieren (CALC -> BASE)

schueler5-19.csv
Nr;Klasse;Name;Geschlecht;Strasse;PLZ;Ort;Geb_datum;Fahrschueler
5;2A;Richter Monika;w;Schönaugürtel 56;8010;Graz;04.07.01;0
6;2A;Berner Josef;m;Lenaugasse 5;8010;Graz;04.08.01;0
7;2A;Tiefengraber Manfred;m;Pestalozzistr. 10;8010;Graz;29.01.01;0
8;2A;Willitsch Hermann;m;Steinfeldgasse 12;8020;Graz;23.05.01;1
9;2A;Edlinger Fritz;m;Zeppelinstr. 76;8010;Graz;11.10.01;1
10;8A;Höller Susanne;w;Flurgasse 6;8010;Graz;14.08.95;1
11;8A;Maitz Franz;m;Steyrergasse 3;8010;Graz;08.12.94;1
12;8A;Riegler Claudia;w;Schönaugürtel 12;8010;Graz;23.06.95;1
13;8A;Theißl Werner;m;Johann-Fux-Gasse 32;8020;Graz;17.09.94;1
14;8A;Ofner Martina;w;Feuerbachgasse 5;8020;Graz;08.11.94;1
15;8A;Drexler Ernst;m;Jahngasse 4;8010;Graz;31.01.95;1
16;8A;Paar Maria;w;Brauhausstraße 12;8020;Graz;05.03.95;0
17;8A;Lindner Richard;m;Stempfergasse 3;8010;Graz;05.07.95;0
18;8A;Stark Karin;w;Alte Poststr. 34;8020;Graz;21.04.95;1
19;8A;Koren Michael;m;Glacisstr. 75;8010;Graz;06.07.95;0

Exportieren (BASE -> CALC)

Tabellen importieren

weitsprung.csv
Nr;Weit
0;4,60
1;3,40
2;3,50
3;4,10
4;3,55
5;4,15
6;4,40
7;3,90
8;3,30
9;3,45
10;3,25
11;4,05
12;4,50
13;4,50
14;5,00
15;4,10
16;4,85
17;3,95
18;4,35
19;4,25

Abfrage

http://www.brg-woergl.tsn.at/Access/OOBase/abfrage2.html
http://help.libreoffice.org/Common/Query_Design/de

Abfrage in der Entwurfsansicht erstellen
Tabellen: schueler > Hinzufügen > Schließen
Kriterium: Ja oder 1 bei Fahrschueler

Kriterien:

IST LEER
IST NICHT LEER
WIE '??e*'
NICHT WIE '??e*'
ZWISCHEN #1.1.2001# UND #31.12.2001#
NICHT ZWISCHEN #1.1.2001# UND #31.12.2001#
IN (a;b;c; …)
IN ('3A';'5A';'6A')
NICHT IN (a;b;c; …)
NICHT IN ('3A';'5A';'6A')
WAHR
1
FALSCH
0

Parameterabfrage

Kriterium: ?

5a, 26.11.2014

Löschabfrage

Kopie (schuelerbak) der Tabelle schueler anlegen

Extras > SQL >

DELETE FROM "schuelerbak" WHERE "Klasse"='8A' > Ausführen
DELETE FROM "Tabellenname"
WHERE ("Feld 1" LIKE 'Wert 1') AND ("Feld 2" > 'Wert 2') - Filterbedingung

Anfügeabfrage

Abfrage ausführen (Klasse 8A) > Ergebnistabelle links oben (links vom ersten Feldnamen) durch li. Klick markieren > kopieren > Datenbankfenster > Tabelle > entsprechende Tabelle markieren (schuelerbak) > Menü Bearbeiten > Inhalte einfügen … > Formatierter Text [RTF] > OK > Tabellenname: schuelerbak > Daten anhängen > Fertigstellen

Tabellenerstellungsabfrage

Abfrage erstellen > Abfrage mit der Maus in das Datenbankfenster auf Tabellen schieben > Tabellenname > Definition und Daten > Weiter > Fertigstellen
SELECT "Nr","Klasse", "Name", "Geschlecht", "Strasse", "PLZ", "Ort", "Geb_datum", "Fahrschueler" INTO "test2A" FROM "schueler" WHERE "Klasse" = '2A'

Aktualisierungsabfrage

Extras > SQL >

UPDATE "schuelerbak" SET "Klasse" = '3A' WHERE "Klasse"='2A'
Man darf den Befehl nicht in die SQL-Ansicht der Abfrage reinschreiben, sondern unter EXTRAS – SQL in einen SQL-Statement Interpreter reinschreiben. Dann auf "Ausführen" - Siehe da! Es funktioniert!

Position einer Zeichenkette in einem Feld berechnen

Feld: POSITION ( ' ' IN "Name" )
Alias: pos

Zuname extrahieren

Feld: LEFT([Name], POSITION(' ' IN [Name])-1)
Alias: Zuname

Vorname extrahieren

Feld: SUBSTR([Name], POSITION(' ' IN [Name])+1)
Alias: Vorname

Alter berechnen

Feld: DATEDIFF('yy',"Geb_datum",NOW())
Alias: alter

Eine ganze Datenbanktabelle löschen

Bericht

5B, 4.15.2014

Beziehungen