wie geht das mit den relationen?

  • wie geht das mit den relationen?

    also ich entwerfe ein programm zu übungszwecken in c#. das proggi soll auf eine datenbank zugreifen können und einiges damit dann anstellen, was aber hierbei nicht im vordergrund steht.

    mein problem ist das ich von primär und fremdschlüssel 0 plan habe.
    ich hab mir nur die tabellen zusammenstellen können die für mein proggi wichtig sind.
    wenn mir jemand anschließend helfen könnte die zueinander in beziehung stellen zu können wäre ich sehr sehr dankbar.

    tabelle: ARTIKEL //einzelne artikel mit einem barcode
    --------------------
    bar-code
    raum
    abteilung
    lieferant
    kategorie
    bezeichnung
    bezeichnung ext.
    beschaffungsdatum
    preis
    kommentar
    seriennummer


    tabelle: RAUM // lediglich eine sammlung möglicher räume die aber erweiterbar sein soll
    -----------------
    raumbezeichnung


    tabelle: ABTEILUNG //eine sammlung möglicher abteilung, auch erweiterbar
    -----------------------
    abteilungen


    tabelle: KATEGORIE // eine sammlung möglicher kategorien, auch erweiterbar
    ------------------------
    kategorieen


    tabelle: LIEFERANT //mögliche lieferanten , erweiterbar
    ----------------------
    name
    adresse
    firmenname
    telefonnummer
    faxnummer


    das diese tabellen erweiterbar sind bedeutet in diesem fall das lediglich neue objekte (z.b. neuen lieferanten) angelegt werden können, nicht aber spalten.

    vielen vielen dank im vorraus
  • Re: wie geht das mit den relationen?

    Mh... ich denke mal so könnte es klappen (keine garantie, habe es nur kurz "zusammengeschossen", denke aber das passt)

    Artikel:
    • bar_code
    • s_nr
    • lief_nr
    • bez
    • bez_ext
    • beschaffungsdatum
    • preis
    • memo

    Raum:
    • Raum_nr
    • S_nr
    • Raum_bez

    Abteilung:
    • Abt_nr
    • Abt_bez
    • S_nr

    Kategorie:
    • Kat_nr
    • Kat_bez
    • S_nr

    Lieferant:
    • Lief_nr
    • Lief_name
    • Lief_adresse
    • Lief_firmname
    • Lief_tel
    • Lief_fax


    s_nr=seriennummer.
    memo = kommentar.

    Denke mal Bar_code und S_nr kannst du beides als schlüssel nehmen, sind ja beide eindeutig.
    mit der s_nr arbeitest du in den anderen Tabellen weiter, wenn du sie als schlüssel verwendest, dürften eigentlich keine doppeleinträge möglich sein.

    In jeder Tabelle gibt es nun Nummern, später für die Select's, zur eindeutigkeit.

    Hoffe das passt so
    :oops:
  • also demnach nehm ich in der tabelle ARTIKEL den barcode als primärschlüssel.
    seriennummer kann ich leider nciht als primärschlüssel nehmen da dieser eintrag optional ist und somit nciht bei jedem artikel vorhanden ist.

    ich hab mal eine vermutung aufgestellt wie das ganze zu realisieren wäre aber ich bin mir nicht sicher ob das so geht mit den beziehungen und ich bin mir auch nicht sicher ob das auch überhaupt s oaussehen darf. also:

    tabelle ARTIKEL
    -------------------
    barcode //primärschlüssel
    seriennummer
    bezeichnung
    bezeichnung extendet
    beschaffungsdatum
    preis
    kommentar
    lief_nr //n:1 verbindung zur tabelle lieferant
    raum_nr //n:1 verbindung zur tabelle raum
    abt_nr //n:1 verbindung zur tabelle abteilung
    kat_nr //n:1 verbindung zur tabelle kategorie


    tabelle LIEFERANT
    ----------------------
    lief_nr //1:n verbindung zur tabelle artikel
    lieferantenadresse
    firmenname
    telefonnummer
    faxnummer


    tabelle RAUM
    ----------------
    raum_nr //1:n verbindung zur tabelle artikel
    raumbezeichnung


    tabelle ABTEILUNG
    -----------------------
    abt_nr //1:n verbindung zur tabelle artikel
    abteilungsbezeichnung


    tabelle KATEGORIE
    -----------------------
    kat_nr //1:n verbindung zur tabelle artikel
    kategorienummer



    hm... kann mich da jemand bitte verbessern oder bestätigen?