php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 13-01-2009, 10:11
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard SELECT * FROM unbekannte Tabellen Menge

Ich hab ein kleines Denkproblem
Ist folgendes möglich in SQL.
Code:
SELECT felder FROM table_1, ... table_n
Ohne zu wissen wieviele Tabellen es genau sind?

Die Tabellen sind zu 100% gleich aufgebaut. einzig eine 4 stellige nummer unterscheidet die Tabellen an sich.

Leider kann ich keine programmierung drauf anwenden. sonst würde ich Vorher ein Show Tables über die Datenbank laufen lassen und mir alle tabellen die das suchkriterum erfüllen einfach in das Select einbauen.

Gib es eine Möglichkeit oder nicht?

Google und Suche brachten keine für mich verwertbaren Ergebnisse.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
  #2 (permalink)  
Alt 13-01-2009, 10:22
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Afaik hast du da keine Chance. Die verwendeten Tabellen müssen zum Parsezeitpunkt der Query bereits feststehen.
Mit Zitat antworten
  #3 (permalink)  
Alt 13-01-2009, 10:42
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard

Danke.

Hatte zwar gehofft das es doch irgendeine Möglichkeit gibt diesen Umstand zu umgehen, muss wohl doch das Query von Zeit zu Zeit angepasst werden.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
  #4 (permalink)  
Alt 13-01-2009, 19:14
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.271
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: SELECT * FROM unbekannte Tabellen Menge

Zitat:
Original geschrieben von Wyveres
Google und Suche brachten keine für mich verwertbaren Ergebnisse.
Und warum das wohl? ... Im Zweifel, weil's sich, mit an Sicherheit grenzender Wahrscheinlichkeit, um keinen sinnvollen Datenbank entwurf handelt.
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #5 (permalink)  
Alt 14-01-2009, 11:40
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard Re: Re: SELECT * FROM unbekannte Tabellen Menge

Zitat:
Original geschrieben von goth
Und warum das wohl? ... Im Zweifel, weil's sich, mit an Sicherheit grenzender Wahrscheinlichkeit, um keinen sinnvollen Datenbank entwurf handelt.
Ich will dir ja nicht zu nahe treten goth aber woraus schliesst du das?

Und vorallem habe ich über die Datenbank Tabellen nur gesagt das sie absolut gleich sind. weder Wieviel Inhalt sich darin befindet noch warum es mehrere sind. Das sind alles Informationen die zur eigentlichen Fragestellung und Antwortgebungen nicht benötigt werden.

Einzig alleine der Umstand mehrere gleich geartete Tabellen von unbekannter Menge zur Laufzeit in ein SQL statment einzubauen, ohne show tables und Programmierweg, zum Einbauen der abzufragenden Tabellen, gehen zu müssen war gefragt.
Nicht mehr und nicht weniger.

Wenn du dich trotzdem mit Mir über das "für und wieder" und "das warum und weshalb" auseinander setzen möchtest, so können wir das gerne machen.

Ich glaube aber kaum das irgendeins deiner Argumente dazu Führen wird das die bestehnde Datenbank Struktur einer änderung erfahren wird.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
  #6 (permalink)  
Alt 14-01-2009, 12:28
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Prinzipiell hat er Recht. Der Datenbankentwurf ist für die Tonne.
Da wir aber ja nur mit MySQL arbeiten, und es dann tatsächlich sinnvolle Anwendungszwecke dafür gibt, kann man sich dann meist mit einer Merge-Tabelle helfen.

Prinzipiell lautet die Antwort für jede Website mit 5 Tabellen jedoch nach wie vor: Falsches DB-Design.
Mit Zitat antworten
  #7 (permalink)  
Alt 14-01-2009, 14:57
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von ghostgambler
Prinzipiell hat er Recht. Der Datenbankentwurf ist für die Tonne.
Da wir aber ja nur mit MySQL arbeiten, und es dann tatsächlich sinnvolle Anwendungszwecke dafür gibt, kann man sich dann meist mit einer Merge-Tabelle helfen.

Prinzipiell lautet die Antwort für jede Website mit 5 Tabellen jedoch nach wie vor: Falsches DB-Design.
Prinzpiell würde ich ihm recht geben und auch Dir,
Aber das kann ich bezogen auf mein Anliegen nicht geben.

Warum, ich habe mit keinem Wort, mit keiner Erklärung gesagt um was für Tabellen es sich genau handelt. Zudem habe mit keinem Wort erwähnt um welche DB es geht.

Ich Sagte auch nicht für welchen zweck die Tabellen sind und was für Inhalt in den Tabellen steht.

Ich Sagte nur der Aufbaue der Tabellen ist gleich.
Die Felder heißen gleich.
Die Tabellen Benennung ist gleich bis auf eine Nummer.

Die Anzahl der Tabellen ist Unbekannt und das ich nach einer Möglichkeit gefragt habe wie man nun eine Anzahl x dieser Tabellen nach Daten Abfragt ohne x Genau definieren zu müssen und ohne vorheriges "Show tabels" und Programmteil zum auswerten der Tabellen.
Eine Antwort darauf habe ich erhalten.

So nun Frage ich euch beide goth und ghostgambler. Wo genau liegt dann da ein Designfehler vor? Wo genau ist dann der DB entwurf für die Tonne?

Was währe denn für eich ein Sinnvoller DB entwurf. wenn ihr folgendes gegeben habt.

1.) eine nicht Definierte Menge User anzunehmender Wert >100.000
2.) Eine Wöchentlicher Erfassung von 120 zuständen
3.) für jeden User gibt es in der Erfassung Pro Woche x datensätze maximal wert Unbegrenzt.
4.) Auswertung der 120 zustände für jeden User einmal im Monat. gegenvergleich mit einem Sollzustand der ebenfalls 120 Werte besitzt, Auflistung in Tage (Montag-Freitag) zu a 12 Feldern a 2 Werte
5.) Statistik auslesen.
6.) Tagesansicht,Wochenansicht,Monatsansicht, Jahresansicht
7.) berücksichtigung das User Mehrfach Soll anlegen kann, änderungen innerhalb der Woche. Mehrere Soll und Ist Für eine Woche.

und jetzt kommts
8.) Neben den Usern zuordnung zu verschiedenen Stellen dabei kann ein User zu x Stellen zugeordnet werden. Mehrere Erfassung pro user Pro Stelle Pro Woche.

Frage wann Sprengt die Erfassung die Grenze eines BIGINT?

Ich will niemanden damit angreifen. Versteht mich bitte nicht Falsch. aber Behauptungen von einem Falschen DB Design dafür möchte ich schon Plausible Argumente hören.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
  #8 (permalink)  
Alt 14-01-2009, 15:33
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Ich Sagte nur der Aufbaue der Tabellen ist gleich.
Die Felder heißen gleich.
Die Tabellen Benennung ist gleich bis auf eine Nummer.
Warum stopfst du nicht alles in eine Tabelle?
evtl mit einem zusätzlichen Nummernfeld?
Oder baust eine klassische n:m Relation?

Auf jeden Fall erscheint mir das auch arg denormalisiert!!
Die 5 Normal Formen

Alleine schon der Vorsatz Tabellen auszulesen, derren Bezeichnung man nicht kennt, ist schockierend.


Zitat:
Frage wann Sprengt die Erfassung die Grenze eines BIGINT?
In MySQL sind dann 18446744073709551615 Datensätze möglich.
__________________
Wir werden alle sterben

Geändert von combie (14-01-2009 um 15:39 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 14-01-2009, 20:52
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.271
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Re: SELECT * FROM unbekannte Tabellen Menge

Zitat:
Original geschrieben von Wyveres
Ich glaube aber kaum das irgendeins deiner Argumente dazu Führen wird das die bestehnde Datenbank Struktur einer änderung erfahren wird.
Ich glaube nicht, dass ich es nötig habe auf solch eine Trollantwort zu erwiedern.

Lass es Dir gesagt sein, Dein Entwurf ist für die Tonne. Gleiches gehört zu gleichem. Wenn dein Entwurf vernünftig normalisiert wäre, hättest Du diese Problem jetzt nicht.

Aber von meinetwegen bleib wie du bist.
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #10 (permalink)  
Alt 15-01-2009, 02:50
MuffiTehmaeh
 Newbie
Links : Onlinestatus : MuffiTehmaeh ist offline
Registriert seit: Jan 2009
Ort: Erkelenz, bei Mönchengladbach ^^
Beiträge: 4
MuffiTehmaeh ist zur Zeit noch ein unbeschriebenes Blatt
MuffiTehmaeh eine Nachricht über ICQ schicken
Standard

Defakto kann ich da meinen Vorrednern nur zustimmen.
Wenn in vielen tabellen jeweils die selben Spalten namen vorhanden sind lohnt es sich nicht das ganze in viele tabellen zu setzen sondern wirklich nur in eine und dann das ganze mit den normalisierungsformeln zu zerlegen. Selbst viele Große Seiten haben das da anders gemacht ^^

Gruß
Richard | Muffi
Mit Zitat antworten
  #11 (permalink)  
Alt 15-01-2009, 08:45
Wyveres
 Registrierter Benutzer
Links : Onlinestatus : Wyveres ist offline
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
Blog-Einträge: 2
Wyveres ist zur Zeit noch ein unbeschriebenes Blatt
Wyveres eine Nachricht über ICQ schicken
Standard Re: Re: Re: Re: SELECT * FROM unbekannte Tabellen Menge

Ok und Danke für die aufschlussreichen Antworten.

Danke an PHP-Desaster das er meine Ursprüngliche Frage beantwortet hat.
__________________
Bitte Beachten.
Foren-Regeln
Danke
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:06 Uhr.