phpbar.de logo

Mailinglisten-Archive

Datenbankkonzeption

Datenbankkonzeption

Barbara Griem mysql-list at barbex.de
Die Apr 22 12:51:15 CEST 2003


Hallo Leute, ich hoffe, ihr hatte ale schöne Ostern.


> Wenn nichts dagegen spricht, gleich die Fläche in die DB zu schreiben,
> dann
> kannst Du das doch einfach tun - dann ist es ja egal, ob das Rohr rund
> ist oder
> Ecken hat.

Dann müsste der User beim eintragen seiner Daten aus dem Meßprotokoll mit einem Taschenrechner die Fläche ausrechnen. Abgesehen von Fehleranfälligkeit wollte ich das einfach niemandem zumuten.

> Falls das nicht geht - was spricht dagegen, die Tabelle um die Felder
> 'Hoehe'
> und 'Breite' zu erweitern und bei Durchmesser = 0 die Fläche aus
> diesen zu
> berechnen? Wieso macht es keinen Sinn das in eine Tabelle zu packen -
> habe ich
> da irgendwas mißverstanden?

Stimmt eigentlich. Ich dachte, es gäbe da eine ganz elegant Art, wie man das in eine Grundtabelle und eine Rohrformtabelle aufteilt, aber alles was ich angesetzt hatte fand ich sehr unelegant.


> Du könntest ja in der Tabelle entweder ein Flag setzten (rund oder
> viereckig)
> oder schöner eine Domain-Tabelle für die Rohrart anlegen und auf die
> Rohr-Tabelle verweisen. Dein Script kann dann ja nach Rohrart den
> passenden
> Volumenstrom errechnen.

Ja, soetwas ähnliches hatte ich auch überlegt, aber es wurde mir zu unübersichtlich, es gibt natürlich sehr viele verschiedene runde Rohre, also wurde die Tabelle mit den Rohrarten sehr groß, aber für die letztendliche Aufgabe ist es nur wichtig, ob rund oder eckig, nicht welche Art von "rund". Die Flag Lösung wäre auch mein erster Ansatz.


> CREATE TABLE tubing_form (
>   tub_id      int(11) NOT NULL auto_increment,
>   description varchar(255) NOT NULL default '',
>   height      float(9,3) NOT NULL default 0,
>   broad       float(9,3) NOT NULL default 0,
>   form        enum('Pi/4', '1') NOT NULL default 0,
>   KEY (tub_id)
> ) Type=MyISAM;

> CREATE TABLE tubing_speed (
>   tub_id      int(11) NOT NULL default 0,
>   gate_time   int(11) NOT NULL default 0,
>   flow_rate   float(9,3) NOT NULL default 0
> ) Type=MyISAM;

Warum sollte man die Berechnungsformel mit Pi und so in der Datenbank hinterlegen? Ich finde, daß die Datenbank nur für Meßwerte da ist, alles was ich danach mathematisch damit mache ist Sache des abrufenden Skriptes. Ist das nicht irgendwie sauberer?


> Scriptseitig könntest du noch einbauen das wenn
> form != 1 ist pi/viertel dran ist und heigt = broad.
> und wenn form = 1 dann muß
> heigt und broad einzeln eingegeben werden.

> Dh bei einem Formular mit drei Eingabefelder:
> Lasse ich form Leer dann muß nur broad ausgefüllt werden und gebe ich
> bei form 1 ein muß Länge und Breite ausgefüllt werden,

Hmm, ja das scheint praktikabel zu sein, so werde ich da wohl angehen.

Vielen Dank für die Ideen!

Tschüß!

barb :)

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive