MySQL Forums
Forum List  »  German

Re: Date_Format Abfrage in Schichtsystem
Posted by: Thomas Wiedmann
Date: April 05, 2012 05:42AM

Hallo Frank,
mit dieser Tabellenstruktur ist mein SQL-Vorschlag nur schwerlich möglich. Die Tabelle entspricht nicht der zweiten Normalform, da es acht Wiederholungen oder "laufende-Nr" ( siehe 1_IO_NIO, 2_IO_NIO, .. ) enthält. Ausserdem löst Du Dich von dem Zwang immer acht "laufende-Nr" zu verwalten. Eventuell gibt es mal nur zwei, bei anderen Meßstellen eben zwanzig. Flexibel eben.

Weiterhin ist der gewählte Datentyp für den Primary Key gefährlich, wegen der eventuellen Dezimalstellen. Nutze hierfür am Besten INT oder BIGINT und wenn keine negativen Zahlen auftreten, dann hast Du mit der Option UNSIGNED einen riesigen und sicheren Zahlenbereich.

Vorschlag für die Tabelle:

CREATE TABLE `dq500`.`dichtpr_uk` ( 
 `Teilnummer` BIGINT UNSIGNED NOT NULL , 
 `DatumZeit` datetime NOT NULL , 
 `Station` int( 2 ) NOT NULL , 
 `typ` varchar( 1 ) collate utf8_bin NOT NULL default '0', 
 `Teil_IO_NIO` varchar( 3 ) collate utf8_bin NOT NULL , 
 lfdnr TINYINT NOT NULL,     -- möglicher Wert -128 bis +127
 `IO_NIO` varchar( 3 ) collate utf8_bin NOT NULL , 
 `LR` decimal( 8, 3 ) NOT NULL , 
 `Nest` int( 1 ) NOT NULL default '0', 
 PRIMARY KEY ( `Teilnummer` ) 
) ENGINE = MyISAM DEFAULT CHARSET = utf8 COLLATE = utf8_bin;

Die gewünschte nebeneinander Darstellung der Gruppen läßt sich dann am Besten im Skript realisieren. Eventuell hilft auch GROUP_CONCAT() weiter.


Viel Erfolg.

Grüße
Thomas

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Date_Format Abfrage in Schichtsystem
1188
April 05, 2012 05:42AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.