1. #1
    Lt. Commander
    Dabei seit
    Mär 2005
    Beiträge
    1.862

    Datenbank mit Java

    Hallo,
    ich habe ebín kleines Problem.
    Und zwar hab eich die Aufgabe eine kleine Datenbank in Java zu erstellen.
    Dabei sollen Werte in 5 Kategorien (also z.B. index, Name, Alter ,Adresse...) erstellt werden und es soll eine unbegrenzte Anzahl an Werten rein...d.h. ein statisches Array kommt nicht mehr so einfach in Frage.

    Da ich ein Gebilde brauche, welches eine undefinietre Größe akzeptiert, bin ich bei meiner Suche auf "Hashmap" gestoßen.
    Hier habe ich aber das Problem, dass ich nur (id,string) speichern kann aber ich bräuchte ja z.B. (id,string,string,string,int)

    Das ist aber damit nicht ganz so einfach realisierbar...leider.

    Hat jemand eine Idee oder einen guten Rat!!

    Jede Hilfe ist willkommen!!!

  2. Anzeige
    Logge dich ein, um diese Anzeige nicht zu sehen.
  3. #2
    Cadet 4th Year
    Dabei seit
    Apr 2002
    Ort
    Ulm
    Beiträge
    70

    AW: Datenbank mit Java

    Hi,

    du könnstest das hier verweden:

    hSQL

    Ist eine in Java geschrieben SQL Datenbank, die in deinem Programm dann mit läuft (also keinen Server benötigt)

    Gruß Tobi

  4. #3
    Lt. Commander
    Ersteller dieses Themas

    Dabei seit
    Mär 2005
    Beiträge
    1.862

    AW: Datenbank mit Java

    Cooles Teil, wusste garnicht dass es soetwas gibt.
    Leider bringt mirdas für meine Aufgabe nichts, da der ganze code von mir sein soll.

    Aber trotzdem vielen dank, ich werde mir das Teil für private Zwecke mal genauer anschauen.

  5. #4
    Lt. Junior Grade
    Dabei seit
    Okt 2005
    Beiträge
    398

    AW: Datenbank mit Java

    realisier es doch über mehrdimensionale arrays

    z.B. DATENBANK[tabellenname][ID][spaltenname: WERT]
    oder DATENBANK[tabellenname][spaltenname: WERT(trennzeichen)WERT(trennzeichen)WERT...]

    ich hoffe ich konnte dir etwas helfen allerdings von java selbst habe ich keine ahnung
    If I Say It ... IT'S THE TRUTH!

  6. #5
    sunny-side_down
    Gast

    AW: Datenbank mit Java

    Wie wärs mit einer Liste von einem selbst konstruierten Datentyp, der alle benötigten Informationen speichern kann? Siehe
    http://www.galileocomputing.de/openb...10003256Listen

  7. #6
    Commander
    Dabei seit
    Sep 2001
    Beiträge
    2.768

    AW: Datenbank mit Java

    Also wenn ich mir die API-Doku zu HashMap anschaue, dann kann ich Objekte beliebiger Komplexität in eine Hashmap einfügen.
    Ich kann zwar mit den neuen Features von Java 5 noch nix anfangen, weil ich das noch nie benutzt habe, aber wenn ich das hier lese:
    Code:
    public V put(K key,
                 V value)
    
    Parameters:
        key - key with which the specified value is to be associated.
        value - value to be associated with the specified key.
    Das liest sich doch wie: Speicher rein was du willst.

    Guck dir mal die Doku genauer an.
    Gruß Boron (dessen neuer Rekord beim Bowlen bei 154 Punkten liegt (Stand: 5. März 2011))
    Alternativ: der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss

    Firefoxbenutzer sollten das hier nutzen: https://addons.mozilla.org/de/firefox/browse/type:3


  8. #7
    Lt. Commander
    Ersteller dieses Themas

    Dabei seit
    Mär 2005
    Beiträge
    1.862

    AW: Datenbank mit Java

    An mehdimensionale Arrays habe ich auch schon gedacht, aber das Problem ist, dass Arrays eine feste Größe haben müssen, aber ich brauche ein Konstrukt,welches Prinzipiell undendlich Elemente aufnehmen kann.
    Man kann das Problem zwar umgehen, indem man einfach sagt, dass falls Ende des Arrays erreicht ist, ein neues Array angelegt werden soll und mittels arrayCopy kopiert...das wird aber bei über 40k Einträgen ein ernszunehmendes Problem.

    -----------------------------------------------------------------------------------------------------------------------
    Ich habe mir die API was HashMap angeht auch schon angeschaut und im Prinzip hast du recht.
    Man kann, wenn ich es richtig verstanden habe(und wie du ja gesagt hast)einfach einen Index (Key) angeben und dafür ein Objekt...und dieses Objekt kannja dann prinziepiell aus einer unbegrenzten Anzahl aus anderen Objekten (Name, Nachname..) bestehen.
    Aber kann ich dann auch, wenn ich eine Such-oder Sortierfunktion definiere, auch z.B. nach Name suchen/sortieren lassen?

    Theoretisch nur, indem man alle Indizes der Reihe nach durchgeht...

    -------------------------------------------------------------------------------------------------------------------

    Was genau meinst du mit einem selbstkonstruirten Datentyp..
    also einfach ein Datentyp, der aus Id,String,String,Int usw. besteht?

    Wenn ja, kann ich dann trotdem, sagen wir, nach nur einem String suchen lassen???



    Ps. danke schon mal für die Hilfe!!!

  9. #8
    sunny-side_down
    Gast

    AW: Datenbank mit Java

    Also ich meinte, dass du dir eine eigene Klasse schreibst, die alle gewünschten Daten enthält, so wie z. B.

    public class Person {
    public String name;
    public Date geburtsDatum;
    ...
    }
    und dann eine Liste erzeugst, deren Elemente Objekte aus deiner erzeugten Klasse sind. Dann kannst du natürlich mit
    Person mutter;
    mutter = new Person();
    und mutter.name etc. drauf zugreifen und dann in allen erzeugten Objekten den name durchsuchen.

    Ich hoffe, das war einigermaßen verständlich.
    Ansonsten siehe auch
    http://www.boku.ac.at/javaeinf/jein1.html#object

  10. #9
    Lt. Commander
    Ersteller dieses Themas

    Dabei seit
    Mär 2005
    Beiträge
    1.862

    AW: Datenbank mit Java

    Hmm, das leuchtet eigentlich ein.
    OK ich versuchs mal so.
    thx

  11. #10
    Captain
    Dabei seit
    Nov 2004
    Ort
    Im Herzen Oberbayerns
    Beiträge
    3.629

    AW: Datenbank mit Java

    Allerdings solltest Du die Klassenattribute auf "private" setzen und für den Zugriff auf die Werte entsprechende get- und set-Methoden implementieren. Public-Attribute sind nicht unbedingt sauberer Programmierstil und machen nen ziemlich schlechten Eindruck beim Prof/Lehrer.

    P.S.: Wenn ihr noch nicht soweit seid mit dem selber implementieren von Klassen, dann kannst Du das Problem auch durch die Verschachtelung von zwei Vektoren lösen. Vektoren (vector) haben keine feste Größe und können mit beliebigen Objekttypen gefüllt werden.
    Legst also z.B. einen Vektor pro Datensatz an und speicherst die Vektor-Datensätze wiederum in einem anderen Vektor. Beachte dabei, dass Vektoren keine einfache Datentypen wie int annehmen. Diese musst Du also dem Vector als Integer-Objekt überreichen.
    Hashtables brauchst Du eigentlich nur, wenn Du auf Datensätze nicht über Index, sondern über Key zugreifen willst.
    Geändert von SheepShaver (15.11.2005 um 14:19 Uhr)
    "Solange niemand betrügt, gibt es in diesem Spiel nichts Ungerechtes. Auch dann nicht, wenn man in diesem Spiel verliert." - Friedrich August von Hayek

    "Ich bin Atheistin, Gott sei Dank." - Oriana Fallaci

    "Wir sind keine Konservativen - wir sind Radikale für den Kapitalismus." - Ayn Rand

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Forum-Layout: Feste Breite / Flexible Breite