Beruflich Dokumente
Kultur Dokumente
Base Entwurf Einer Datenbank
Base Entwurf Einer Datenbank
Copyright
Copyright
Copyright und Lizenzen
Dieses Dokument unterliegt dem Copyright 2006 seiner Autoren und Beitragenden, wie sie im entsprechenden Abschnitt aufgelistet sind Alle !arkennamen innerhalb dieses Dokuments geh"ren ihren legitimen Besit#ern $ie k"nnen es unter der %orausset#ung &erbreiten und'oder modifi#ieren, dass $ie sich mit den Bedingungen einer der (oder aller) folgenden *i#en#en ein&erstanden erkl+, ren
./0 .eneral 1ublic *icense (.1*), %ersion 2 oder sp+ter (http-''www gnu org'licenses'gpl html) Creati&e Commons Attribution *icense (C CA*), %ersion 2 0 oder sp+ter (http-''creati&ecommons org'licenses'by'2 0') 1ublic Documentation *icense (1D*), %ersion 2 oder sp+ter1ublic Documentation *icense /otice 3he contents of this Documentation are sub4ect to the 1ublic Documentation *i, cense %ersion 2 0 (the 5*icense5)6 you may only use this Documentation if you comply with the terms of this *icense A copy of the *ice nse is a&ailable at http-''www openoffice org'licenses'1D* html
Der 3itel der 7riginaldokumentation ist 8Base,9andbuch, :ntwurf einer Beispieldaten, bank, ;berset#ung aus <ssue 2=2>6? Der'die urspr@nglichen Autoren der 7riginaldokumentation sind im Abschnitt 8Auto, ren? aufgef@hrt und k"nnen entweder unter authorsAuser,faB openoffice org oder bei Cragen'Anmerkungen #ur ;berset#ung unter fran#4akobAopenoffice org kontaktiert werden 1ersonen, die das Dokument in irgendeiner Deise nach dem unten angegebenen %er"f, fentlichungsdatum &er+ndern, werden im Abschnitt 8Beitragende? mitsamt Datum der %er+nderung aufgef@hrt
Autoren
walteram Cran# Eakob !echtilde $tehmann .erald .eib Dolfgang 0hlig
Beitragende
$ie k"nnen eine editierbare %ersion dieses Dokuments &on folgenden $eiten herunterladenhttp-''oooauthors org'de'&eroeffentlicht' oder http-''de openoffice org'source'browse'de'documentati, on'oooauthors'
<nhalts&er#eichnis
Inhaltsverzeichnis
Copyright Copyright und *i#en#en Autoren Beitragende %er"ffentlichung und $oftware&ersion :inf@hrung :rstellung der Datenbank,Datei :rstellen der 3abelle 3ermine :rstellen der 3abelle 83yp? :rstellen einer Be#iehung #wischen den 3abellen :rstellen des Cormulars 3yp .eben $ie einige Daten in das Cormular in :rstellen des Cormulars 8/euer 3ermin? Jndern des Cormulars 8/euer 3ermin? Die Dateneingabe einfacher gestalten :in *istenfeld in ein Cormular einf@gen Dem Cormular ein Kombinationsfeld hin#uf@gen Das Cormular testen Cestlegen der 3abulatorreihenfolge :in Cormular #ur An#eige aller 3ermine erstellen Das Cormular kopieren Das Cormular bearbeiten Dem Cormular eine $ortierreihenfolge hin#uf@gen :rstellen des Cormulars #ur Auflistung der 3ermine Die $ortierreihenfolge festlegen Jndern der .rundlage f@r das Cormular Jndern der %erbundeigenschaften Jndern der :igenschaften eines $teuerelements :ine Abfrage erstellen :ine Abfrage sortieren Jndern des %erbundtyps in der Abfrage :in Cormular basierend auf einer Abfrage erstellen Das Cormular kopieren Jndern der dem Cormular #ugrundeliegenden Abfrage :rstellen eines Berichts i i i i i 2 2 > G = 20 2H 2I 2= 20 22 26 2= 2F >0 >0 >0 >2 >2 >I >I >G >= H0 H> HH H6 H6 H6 HG
Copyright
Den Bericht bearbeiten :inige 3ipps f@r den .ebrauch der Datenbank 9in#uf@gen eines neuen 3yps im Cormular 9in#uf@gen eines neuen 3yps im Datenbankob4ektfensters Das Cormular aktualisieren Daten filtern
HF I0 I0 I2 I2 I2
ii
:inf@hrung
Einfhrung
<n diesem Dokument wollen wir $ie mit der Arbeit mit 77o Base &ertraut machen Da#u werden wir eine Datenbank #ur %erwaltung &on 3erminen aufbauen Dir werden
3abellen erstellen in denen die <nformationen gespeichert werden, Cormulare er#eugen, um die 3ermine an#ulegen und #u bearbeiten, bestimmte 3ermine aus unserem Datenbestand heraus filtern und 3ermine mit 9ilfe &on Berichten ausgeben :rstellung der Kalender,Datenbank
Erstellung der
aten!an"# atei
Klicken $ie im 9auptm en@ auf Datei > Neu > Datenbank, um den 7pen7ffice org Datenbank,Assistenten auf#urufen !arkieren $ie im ersten $chritt die 7ption Neue Datenbank erstellen und klicken $ie auf Weiter
:inf@hrung
:inf@hrung
>
:inf@hrung
Abbildung I- 3abellenentwurf
Als erstes wollen wir uns ansehen, wie ein Celd erstellt wird<n die erste Leile der $palte Celdname geben $ie ID ein und dr@cken dann die TAB, 3aste <n der ersten Leile der $palte Celdtyp w+hlen $ie aus dem *istenfeld den :intrag In teger !INT"#"$%& <m Abschnitt Celdeigenschaften im unteren 3eil des Censters +ndern $ie den Dert bei AutoDert in Ja&
:inf@hrung
<n der folgenden Abbildung 6 sehen $ie den :intrag f@r die erste Leile-
Feldeigens)*aften
AutoDert P Ea :ingabe erforderlich P Ea6 *+nge P I0 :ingabe erforderlich P /ein6 *+nge P I0
:ingabe erforderlich P Ea :ingabe erforderlich P /ein :ingabe erforderlich P /ein :ingabe erforderlich P /ein :ingabe erforderlich P /ein AutoDert P /ein6 :ingabe erforderlich P /ein
AnschlieSend klicken $ie mit der rechten !austaste auf die Celdmarkierungsschaltfl+, che des <D,Celdes (das ist der Bereich links &om Celdnamen) und w+hlen $ie aus dem KonteQtmen@ den :intrag +rim,rs)*l-ssel
:inf@hrung
:inf@hrung
<m Datenbankfenster klicken $ie auf Datei > .(ei)*ern, um die Arbeit #u speichern, die wir bisher an der Datenbank &orgenommen haben
Feldname
<D 3yp/ame
Feldt'(
<nteger M</, 3:.:NO 3eQt M%AN, C9ANO
Feldeigens)*aften
AutoDert P Ea :ingabe erforderlich P Ea6 *+nge P I0
*egen $ie f@r das Celd <D einen 1rim+rschl@ssel fest $peichern $ie die 3abelle unter dem /amen T'( und schlieSen $ie die :ntwurfs, ansicht
:inf@hrung
:inf@hrung
Klicken $ie auf die 3abelle 3yp und dann ebenfalls auf die $chaltfl+che 4inzu f-gen Beide 3abellen erscheinen im Censter Nelationenentwurf
:inf@hrung
Klicken $ie auf <m ersten $chritt des Assistenten Celdauswahl klicken $ie auf die Dropdownliste 3abellen und Abfragen und w+hlen den :intrag Tabelle= T'(
20
:inf@hrung
22
:inf@hrung
22
:inf@hrung
2>
:inf@hrung
$olange das 3yp,Cormular ge"ffnet ist, k"nnen wir sofort einige Daten eingeben Klicken $ie in die leere Lelle unter der ;berschrift 3ypname und geben $ie #esund*eit ein $chlieSen $ie die :ingabe mit "NT"$ ab .eben $ie +ersnli)* ein und dr@cken $ie "NT"$ .eben $ie ?rlaub ein und dr@cken $ie "NT"$& .eben $ie Arbeit ein und dr@cken $ie "NT"$
Denn $ie diesen $chritten gefolgt sind, sollten <hr Cormular so +hnlich wie Abbildung 22 aussehen
2H
:inf@hrung
$chlieSen $ie das Cormular $ie sollten die Date nbank erneut speichern
Klicken $ie auf <m ersten $chritt des Assistenten Celdauswahl klicken $ie auf die Dropdownliste 3abellen und Abfragen und w+hlen dort den :intrag Tabelle=Termine %erschieben $ie alle Celder ausgenommen <D in die $palte Celder im Cormular Klicken $ie auf Weiter
2I
:inf@hrung
26
:inf@hrung
2G
:inf@hrung
2=
:inf@hrung
%erschieben $ie das 3yp<D,Celd #ur@ck unter das 7rt,Celd Denn eines der Celder gr"Ser gemacht werden muss, k"nnen $ie es 4eder#eit w+hrend der Bearbeitung des Cormulars anpassen %ersuchen $ie, das Cormular in Anlehnung an Abbildung 2F auf $eite 20 auf#ubauen
2F
:inf@hrung
ie
Dir k"nnen das Cormular nun &erwenden, aber der Lweck eines :ingabeformulars ist es, die Dateneingabe m"glichst einfach #u gestalten Dir erreichen dies indem wir einige Celdeinstellungen +ndern Klicken $ie einmal auf das Beginn,Celd Klicken $ie mit der rechten !austaste und w+hlen $ie den KonteQteintrag #ru((e > Betreten Klicken $ie doppelt auf das Celd Beginn (nicht auf das Beschriftungsfeld) :in Censter :igenschaften- Datumsfeld wird ange#eigt Auf der Negisterkarte Allge, mein @berpr@fen $ie bitte, ob folgende 7ptionen markiert sind
Diederholung sollte auf Ja geset#t werden Aufklappbar sollte ebenfalls auf Ja stehen
20
:inf@hrung
D+hlen $ie nun nacheinander die unten stehenden Celder und set#en die folgenden :igenschaften
Beginn,0hr#eit- $tandard#eit- B=CC=CC6 Drehfeld- Ja6 Diederholung- Ja :nde,0hr#eit- $tandard#eit- B=DC=CC6 Drehfeld- Ja6 Diederholung- Ja
22
:inf@hrung
Anmerkung
Wenn .ie diese Auswa*l ni)*t se*en, *olen .ie sie si)* im >en- -ber An si)*t > .'mbolleisten > Formular .teuerelemente auf den Bilds)*irm&
Klicken und #iehen $ie in einem leeren Bereich unseres Cormulars ein Nechteck auf, das ungef+hr die .r"Se des &orhandenen 3yp<D,Celdes besit#t Der *istenfeld,Assistent erscheint
:ntwurf einer Beispieldatenbank 22
:inf@hrung
<m ersten $chritt 3abellenauswahl klicken $ie auf T'( und dann auf Weiter
2>
:inf@hrung
2H
:inf@hrung
$et#en $ie die 0mrandungsfarbe auf .)*warz Klicken $ie anschlieSe nd auf die $chaltfl+che mit den drei 1unkten rechts &on 9in, tergrundfarbe
<n der CarbdialogboQ set#en $ie die Derte f@r Not, .r@n und Blau 4eweils auf EEF und klicken dann auf /0
$ie k"nnen den :igenschaften,Dialog f@r den Augenblick schlieSen $tellen $ie sicher, dass das alte 3yp<D,Celd und seine Beschriftung nicht mehr grup, piert sind und l"schen $ie das 3eQtfeld
TI++ Wenn die beiden "lemente no)* gru((iert sind, kli)ken .ie mit der linken und ans)*lie1end mit der re)*ten >austaste auf das Feld und w,*len aus dem 0onte<tmen- #ru((e > Auf*eben&
2I
:inf@hrung
Liehen $ie in einem leeren Bereich ein Kombinationsfeld auf Der Kombinationsfeld, Assistent wird automatisch aufgerufen <m ersten $chritt 3abellenauswahl klicken $ie auf Termine und dann auf Weiter
26
:inf@hrung
:inf@hrung
$et#en $ie die 0mrandungsfarbe auf .)*warz Klicken $ie auf die $chaltfl+che mit den drei 1unkten rechts &on der :igen, schaft 9intergrundfarbe <n der Carb,DialogboQ set#en $ie bitte die Derte &on Not, .r@n und Blau auf 4eweils EEF und klicken dann auf /0 $ie k"nnen den :igenschaften,Dialog wieder schlieSen
/un, &erschieben $ie das Kombinationsfeld, wie $ie es bereits mit dem 3yp,Celd ge, macht haben 1ositionieren $ie das Celd direkt unter der Beschriftung 7rt $ie m@ssen nat@rlich &orher das alte 3eQtfeld l"schen .ruppieren $ie die beiden Celder <hr Cormular k"nnte nun folgendermaSen aussehen-
as (or%ular testen
$peichern $ie das Cormular und schlieSen $ie es Klicken $ie nun im Cormularabschnitt der Datenbank doppelt auf das Cormular /euer 3ermin Das Cormular wird nun schreibgesch@t#t ge"ffnet Das bedeutet, dass $ie keine Jnderungen am Cormularentwurf &ornehmen k"nnen $ie k"nnen nur Daten ein, geben .eben $ie einen 3ermin ein %ersuchen $ie, sich bei der Dateneingabe #wischen den ein#elnen Celdern #u bewegen $ie werden &ielleicht bemerken, dass die Celder nicht in der richtigen Neihenfolge angesprungen werden <m 3yp<D,Celd stehen <hnen nur die :intr+ge #ur %erf@gung, die sich bereits in der 3abelle 3yp befinden C@r den 7rt erg+n#t 4eder neue :intrag, den $ie t+tigen, die *is, te f@r alle neuen Datens+t#e Denn $ie einen Datensat# eingegeben haben, k"nnen $ie auf das $ymbol Datensatz s(ei)*ern gehen oder auf die Neuen Datensatz,$chaltfl+che klicken, die die bishe,
2=
:inf@hrung
rigen Daten speichert und #u einem neuen leeren Datensat# f@hrt *et#teres geschieht auch, wenn $ie im let#ten :ingabefeld eines Datensat#es die 3AB, oder :nter,3aste dr@cken .eben $ie einige 3ermine ein, damit wir f@r sp+ter einige Daten #ur %erf@gung haben Bitte legen $ie mindestens #wei mit dem gleichen Beginn (Datum) an, # B dem >2 0I 200G
Klicken $ie mit der rechten !austaste auf das Cormular im Datenbankfenster und w+hlen den Befehl Bearbeiten Klicken $ie einmal auf irgendein $teuerelement im Cormular Dann klicken $ie mit rechts auf das gleiche :lement und w+hlen #ru((e > Betreten 0nd 4et#t noch einen Doppelklick auf das :lement, um sein :igenschaften,Censter #u "ffnen Klicken $ie 4et#t auf die drei 1unkte neben Akti&ierungsreihenfolge
ComboBoQ ist ein $tandardname f @r das Kombinationsfeld 7rt und *istBoQ ist der /ame f@r das *istenfeld3yp<D
2F
:inf@hrung
$peichern $ie das Cormular und schlieSen $ie es $peichern $ie auch die Date nbank
as (or%ular "opieren
<m Cormularabschnitt des Datenbankfensters klicken $ie mit der rechten !austaste auf /euer 3ermin und w+hlen den !en@eintrag 0o(ieren Klicken $ie erneut mit der rechten !austaste und w+hlen $ie diesmal den Befehl "in f-gen Als Cormularnamen geben $ie Terminliste ein und klicken $ie auf /0
as (or%ular !ear!eiten
Klicken $ie mit der rechten !austaste auf das neue Cormular und w+hlen $ie den Befehl Bearbeiten Klicken $ie auf die $chaltfl+che des Cormular,/a&igators
Anmerkung Das .'mbol f-r den Formular Na6igator ist @ wie einige andere au)* @ bei den 6ers)*iedenen Betriebs'stemen unters)*iedli)*, ge*en .ie einfa)* mit der >aus -ber die einzelnen .'mbole und lesen die Toolti((s&
TI++
Wenn .ie die .'mbolleiste Formular "ntwurf im 8aufe unserer Gbung ge s)*lossen *aben, ffnen .ie sie einfa)* -ber das >en- Ansi)*t > .'mbolleis ten > Formular "ntwurf wieder&
>0
:inf@hrung
>2
:inf@hrung
$ie k"nnen die Cormular,/a&igations,Derk#eugleiste &erwenden, um sich durch die Datens+t#e #u bewegen
Die Datens+t#e stehen aktuell so in der Neihenfolge, wie sie in die Datenbank eingege, ben worden sind 0m den ;berblick @ber die eigenen 3ermine #u behalten, ist dies nicht sehr hilfreich Deshalb sollten wir eine $ortierung #u unserem Cormular hin#u, f@gen
Als ersten Celdnamen w+hlen $ie Beginn und lassen die $ortierreihenfolge bei Auf steigend C@r den #weiten Celdnamen w+hlen $ie Beginn,0hr#eit und f@r den dritten Celdnamen das Celd :nde,0hr#eit *assen $ie die $ortier ung bei allen Celdern auf Aufsteigend
>2
:inf@hrung
<m $chritt 2 w+hlen $ie die 3ermin,3abelle aus und f@gen alle Celder (auSer dem Celd <D) in die Celder im Cormular,*iste ein Klicken $ie auf Weiter
:inf@hrung
+ndert, gel"scht oder hin#ugef@gt werden k"nnen Dieses Cormular ist nur da#u da, um die Daten an#u#eigen Klicken $ie auf Weiter
>H
:inf@hrung
ie Sortierreihenfolge festlegen
Calls die $chaltfl+che :ntwurfsmodus an'aus nicht &erf@gbar sein sollte, schlieSen $ie das Cormular, klicken mit der rechten !austaste auf dem /amen des neuen Cormulars und w+hlen den Befehl Bearbeiten Klicken $ie mit der rechten !austaste in die 3abelle und w+hlen $ie den :intrag Formular Auf der Negisterkarte Daten klicken $ie auf die $chaltfl+che mit den > 1unkten neben der 7ption $ortierung
$et#en $ie die $ortierung wie &orher Beginn, Beginn ?*rzeit und "nde $ortierung- Aufsteigend Klicken $ie auf /0
:inf@hrung
<mmer noch auf der Negisterkarte Daten klicken $ie auf die Dropdownliste Art des <n, halts und w+hlen dort den :intrag .78 Befe*l
Der Dialog 3abellen hin#uf@gen erscheint &or dem $U*,Kommando,Censter %erwenden $ie dieses Censter, um die beiden 3abellen ins $U*,Censter #u @ber, nehmen Danach schlieSe n $ie das Censter
>6
:inf@hrung
Anmerkung
C@gen $ie das Celd 3yp/ame aus der 3yp,3abelle hin#u Be&or wir diesen $U*,Befehl fertig stellen, m@ssen wir einen Blick auf die %er, bindungen #wischen den beiden 3abellen werfen
>G
:inf@hrung
Klicken $ie auf /0 $peichern $ie den $U*,Dialog unter Abfrage > Terminaufstel lung und schlieSen $ie das $U*,Befehl, und anschlieSend das Cormular,:igen, schaften,Censter Denn $ie dieses Cormular nun ausf@hren, werden $ie bemerken, dass die 3yp<D, $palte f@r alle Datens+t#e leer ist Das 3abellensteuerelement beruht auf dem 3yp<D, Celd und nicht auf dem Celd 3yp/ame
>=
:inf@hrung
:inf@hrung
Klicken $ie auf das Abfragen,$ymbol auf der linken $eite Klicken $ie dann auf Das Censter 3abellen hin#uf@gen wird ange#eigt C@gen $ie beide 3abellen in die Abfrage ein Klicken $ie auf .)*lie1en Das Abfrageentwurfsfenster sollte ungef+hr so aussehen-
H0
:inf@hrung
:inf@hrung
/un k"nnen $ie den $U*,Befehl sehen, der <hrer Abfrage #ugrunde liegt $ie werden #iemlich am :nde des Befehls folgenden Ausdruck bemerken 8A/D ( ( 53ermine5 5Be, ginn5 P VD W200G,0I,>0W X ) )? Dieser Ausdruck findet Datens+t#e, bei denen der Be, ginn am >0 0I 200G ist /un wird man diese Abfrage aber h"chst selten brauchen und wir wollten 4a eine Abfrage f@r den heutigen 3ag erstellen :r set#en $ie hier#u den Ausdruck VD W200G, 0I,>0W X durch 3?$$"NT5DAT" und klicken $ie den 0mschaltknopf f@r die Design, Ansicht erneut
H2
:inf@hrung
/un sehen $ie ein dreigeteiltes Censter mit den Abfrageergebnissen im oberen 3eil
H>
:inf@hrung
<n der :ntwurfstabelle sehen $ie eine Leile $ortierung, direkt unter der Leile, in der der /ame der 3abelle steht, #u der das Celd geh"rt 0m eine $ortierreihenfolge #u einer $palte hin#u#uf@gen, klicken $ie in die Leile $ortierung dieser $palte /un ist die Dropdownliste f@r die $ortierung akti& und $ie k"nnen aufsteigend oder ab, steigend ausw+hlen $et#en $ie nun die $ortierung f@r die Beginn,Leit auf aufsteigend
HH
:inf@hrung
HI
:inf@hrung
as (or%ular "opieren
<m Cormularabschnitt des Datenbankfensters klicken $ie mit der rechten !austaste auf das Cormular 3erminaufstellung und w+hlen dann den !en@befehl 0o(ieren Klicken $ie mit der rechten !austaste unter den Cormularnamen und w+hlen $ie "in f-gen <n der 3eQtboQ Cormularname geben $ie als /amen Termine 4eute ein und klicken auf /0 $peichern $ie die Datenbank erneut
:inf@hrung
HG
:inf@hrung
H=
:inf@hrung
en Bericht !ear!eiten
$chlieSen $ie den Bericht Klicken $ie mit der rechten !austaste auf den Bericht und w+hlen den Befehl Be arbeiten :in Bericht ist ein einfaches 77o Driter,Dokument mit hin#ugef@gten Celdern $ie werden die leere Leile @ber den Celdnamen bemerken Diese wird angelegt, da die meisten Berichte .ruppierungen enthalten 9ier k"nnte # B das Beginn,Datum stehen, wenn wir danach gruppiert h+tten Klicken $ie einmal in der 3abelle und w+hlen $ie dann im !en@ Tabelle > Tabellen eigens)*aften&&& und wechseln auf die Negisterkarte .(alten .eben $ie die folgenden Derte f@r die ein#elnen $palten ein .(alte
:ntwurf einer Beispieldatenbank
Breite
HF
:inf@hrung
2 2 > H I 6 G =
aten!an"
:s wird &orkommen, dass $ie einen neuen 3yp in das 3yp,Dropdown,Celd aufnehmen wollen Da diese Daten in einer eigenen 3abelle gespeichert sind, m@ssen $ie den :in, trag in die 3abelle schreiben :s gibt &erschiedene Dege dies #u tun
I0
:inf@hrung
aten!an"o!.e"tfensters
Denn $ie gerade dabei sind, einen neuen 3ermin an#ulegen, k"nnen $ie auch auf An si)*t > DatenbankMuellen klicken oder FN auf <hrer 3astatur dr@cken <m oberen 3eil des Cormularfensters wird der DatenBuellenbereich sichtbar
I2
:inf@hrung
Klicken $ie nun auf die 3yp,3abelle .eben $ie einen neuen 3ypnamen ein und speichern $ie den Datensat#
as (or%ular a"tualisieren
Denn $ie einen neuen 3yp angelegt haben, m@ssen $ie die 3yp,*istboQ aktualisieren Klicken $ie auf die Aktualisieren,$chaltfl+che
aten filtern
Denn $ie nur die 3ermine eines 3ages sehen m"chten, k"nnen $ie nat@rlich eine Abfrage erstellen, di e nur die Daten dieses 3ages #ur@ckgibt :s ist aber ebenso m"glich T und deutlich einfacher T das Cormular 3erminaufstellung #u &erwenden und nach dem entsprechenden 3ag #u filtern :ine !"glichkeit ist2 2 > .ehen $ie #u einem Datensat# des bestimmten 3ages, der $ie interessiert Klicken $ie in das Celd Beginn Klicken $ie auf die AutoCilter,$chaltfl+che der $ymbolleiste Cormular,/a&igati,
on
/un wird anhand des ausgew+hlten Date nsat#es gefiltert $ie k"nnen auchAuf die $chaltfl+che Cormularbasierter Cilter der $ymbolleiste Cormular,/a&igation klicken Die Cormular,Cilter,$ymbolleiste wird ange#eigt
.eben $ie ein Datum in das Beginn,Celd ein und klicken $ie auf die $chaltfl+che
entfernen
I2