Tabelle in mehrere Tabellen gleichmässig aufteilen

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von JCB, 24.07.2007.

  1. JCB

    JCB Mitglied

    Dabei seit:
    27.02.2006
    Beiträge:
    42
    Zustimmungen:
    0
    Hallo,

    ich habe eine Tabelle die in einem Feld unterschiedliche Werte von Mitarbeiteranzahlen hat. Ich möchte diese Tabelle nun in 4 gleichgroße Teile aufteilen, wobei aber jede dieser Zieltabellen die ungefähr gleiche Menge an unterschiedlichen Mitarbeiteranzahlen hat. Ich hatte mir überlegt, ob ich das mit der Random Funktion hinbekomme. Jedoch finde ich das zu unsauber. Dann gäbe es noch die Möglichkeit die Anzahl der Datensätze pro MA-Anzahl zu gruppieren und dann die gewichtung dieser Zahl bei der Tabellenerstellung einfliessen zu lassen. Ist aber sehr aufwändig.

    Gibt es dafür noch eine andere Möglichkeit?

    Bin für jeden Hinweis dankbar,

    Gruß,

    Jens
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 sim4000, 24.07.2007
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Irgendwie weiss ich nicht wirklich was du vor hast.
    Kannste das bitte mal ein wenig genauer erklären, und vielleicht noch n UML-Diagramm dazupacken wie es jetzt aussieht, und wie es nach umbau aussehen soll?

    Lg, sim4000.
     
  4. JCB

    JCB Mitglied

    Dabei seit:
    27.02.2006
    Beiträge:
    42
    Zustimmungen:
    0
    Hallo sim4000,

    ich versuchs. UML Diagramm geht nicht so einfach. Die Aufgabe ist aber:

    Ich habe eine Tabelle mit 1200 Datensätzen, diese soll in 4 kleine Tabellen (mit der gleichen Struktur wie die Quelltabelle also "Select * from source_tbl;") zu je 300 Datensätzen geteilt werden. Dabei sollen aber die aus der Quelltabelle zu selektierenden 300 Datensätze immer dem gleichen Mischungsverhältnis des Feldes Mitarbeiteranzahl entsprechen. Somit fällt eine Sortierung dieses Feldes aus. Ich dachte es gäbe irgendeine Funtion oder Hilfe, die Datensätze bei jedem der 4 Requests um eine neue Tabelle zu erstellen, die das korrekte Mischungsverhältnis setzt.


    Danke, daß du dich meiner annimmst :)

    Gruß,

    JB
     
  5. #4 madfool, 24.07.2007
    madfool

    madfool Tripel-As

    Dabei seit:
    12.08.2004
    Beiträge:
    192
    Zustimmungen:
    0
    Bist du sicher das du das so machen willst? Und nicht einfach nur zB. jedem Datensatz eine 1-4 zuordnen? Erklär mal wofür das gut sein soll.

    Ansonsten, wenn es wirklich so sein soll, dann kannst du zB. einen Zähler bereit halten und von dem vor dem Einfügen mod(4) nehmen, so weisst du in welche Tabelle der Datensatz landen soll.

    Gruß
    D.
     
  6. #5 hazelnoot, 25.07.2007
    hazelnoot

    hazelnoot www.mywm.dl.am

    Dabei seit:
    13.10.2005
    Beiträge:
    377
    Zustimmungen:
    0
    Ort:
    in Geiersberg
    UML du meinst wohl ein ERD

    @JCB
    vl hilft dir das beim design deiner datenbank: http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

    mfg hazelnoot
     
  7. JCB

    JCB Mitglied

    Dabei seit:
    27.02.2006
    Beiträge:
    42
    Zustimmungen:
    0
    @hazelnoot nein das ist es nicht, das würde bedeuten, daß ich die Struktur der Daten relational aufteilen möchte. Ist aber nicht Ziel.

    @madfool Mein Kunde möchte aus meiner Potentialliste an Kundendaten jeweils 4 Listen haben, die er dann an 4 unterschiedliche Mitarbeiter senden möchte. Diese sollten nach möglichkeit den gleichen Anteil an unterschiedlich gearteten Kunden haben. Soll heissen, wenn z.B das MasterFile 300 Kundendaten mit MA-Anzahlen um die Hundert hat, sollen diese 300 dann auch gleichmässig auf die 4 aufgeteilt werden.

    Aber ich denke, ich werde nach der Anzahl sortieren und dann diesem mod(4) einsetzen. das sollte dann reichen.

    Danke für eure Mühe,

    Jens
     
  8. #7 madfool, 26.07.2007
    madfool

    madfool Tripel-As

    Dabei seit:
    12.08.2004
    Beiträge:
    192
    Zustimmungen:
    0
    Na siehst du, das meine ich doch. Dazu musst du die Daten doch nicht in vier verschiedenen Tabellen abspeichern, sondern nur jedem Datensatz eine Zahl von 1-4 zuordnen, danach kannst du diese vier Listen dann doch ziehen.

    Gruß
    D.
     
  9. netcat

    netcat Jungspund

    Dabei seit:
    27.07.2007
    Beiträge:
    24
    Zustimmungen:
    0
    Tatsächlich halte ich das für eine Frage des Algorithmus, der die Abfragen macht.

    Stellt sich die Frage, warum die Aufteilung in vier Tabellen; was unterscheidet die Mitglider der vier Tabbellen? Hat man diese Frage beantwortet, ergibt sich eindeutig ein zusätzliches Feld mit

    1. entweder einem SET von vier Werten, über die man dann die jeweils Dreihundert auseinanderhalten kann
    2. oder ein Fremdschlüssel, falls es erweiterbar sein soll

    Mehrere Tabellen ein und der selben Struktur sind redundant und sollten sich durch ein zusätzliches Feld ersetzen lassen.
     
  10. JCB

    JCB Mitglied

    Dabei seit:
    27.02.2006
    Beiträge:
    42
    Zustimmungen:
    0
    Naja vieleicht hatte ich mich dann auch etwas komisch ausgedrückt.:think: Der Output sollten nicht 4 redundante Tabellen sein, sondern halt Listen die man den Mitarbeitern in unterschiedlichen Niederlassungen gibt. Das war aber nicht das Problem sondern die gleichmässige Verteilung der Datensätze. Ich habe nun folgendes gemacht:

    Tabelle sortiert nach MA Anzahl ASC
    Danach einen Zähler eingefügt
    Danach ein neues Feld mit [Zähler] MOD 4 gefüllt

    und dann dieses neue Feld zum Extrahieren benutzt.

    Danke Euch allen nochmal für die Hilfe. Manchmal muss man auf alles ein wenig rumdenken und anderen zuhören, um auf die Lösung zu kommen.

    Danke

    JB
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. netcat

    netcat Jungspund

    Dabei seit:
    27.07.2007
    Beiträge:
    24
    Zustimmungen:
    0
    Hmm, COUNT ausgeben lassen, durch 4 teilen, SELECTS limitieren und das dann an die Niederlassungen ausgeben?
     
  13. #11 saeckereier, 16.08.2007
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Dito. Lösung hat im Programm zu erfolgen. Es gibt keinen Grund bei willkürlich aufgeteilten Datenmengen da mehrere Tabellen zu nehmen, schon gar nicht bei der Zahl. Viel sinniger das im abrufenden Programm zu machen.
     
Thema: Tabelle in mehrere Tabellen gleichmässig aufteilen
Besucher kamen mit folgenden Suchen
  1. tabelle aufteilen in mehrere

Die Seite wird geladen...

Tabelle in mehrere Tabellen gleichmässig aufteilen - Ähnliche Themen

  1. Mit bash Skript bestimmte Werte aus Tabelle lesen

    Mit bash Skript bestimmte Werte aus Tabelle lesen: Hallo! Ich beschäftige mich erst seit Kurzem mit bash und bin deshalb noch nicht so fit darin. Und nun habe ich schon ein kleines Problem und...
  2. Artikel: Diagramme in Linux - Vier Tabellenkalkulationen im Vergleich

    Artikel: Diagramme in Linux - Vier Tabellenkalkulationen im Vergleich: Tabellenkalkulationen sind aus der Arbeitswelt kaum noch wegzudenken. Eine ihrer Stärken ist die schnelle Visualisierung tabellarischer Daten in...
  3. Unix-Filetabelle

    Unix-Filetabelle: Hallo, ich verstehe das noch nicht so ganz wie das in Unix so abläuft mit der Open file Table, System File Table und Inode Table. Im Inode...
  4. Tabelle erst ab bestimmter Spalte anzeigen

    Tabelle erst ab bestimmter Spalte anzeigen: Hallo, ich habe eine Datei, in der eine Tabelle enthalten ist. Die einzelnen Spalten sind durch Leerzeichen getrennt. Per grep habe ich schon...
  5. Einzelne Spalte aus MySQL Tabelle exportieren

    Einzelne Spalte aus MySQL Tabelle exportieren: Hallo. Ich möchte gern eine einzelne Spalte (Email) aus einer bestehenden MySQL Datenbank Tabelle (Profiles) exportieren. Ich habe die...