あなたが言っているすべてのアイテムは、1対1の関係を持っているように見えます。
しかし、他の点としては、どのフィールドもかなり頻繁に空である可能性があるかどうかであり、多くのフィールドにはクラスがありません。たとえば、 ?
CREATE TABLE `image` (
`imgId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`imgTitle` varchar(255) DEFAULT NULL,
`imgURL` varchar(255) DEFAULT NULL,
`imgDate` datetime DEFAULT NULL,
PRIMARY KEY (`imgId`),
KEY `date` (`imgDate`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `imageAddendum` (
`imgId` int(11) NOT NULL DEFAULT '0',
`imgClass` varchar(255) DEFAULT NULL,
`imgFamily` varchar(255) DEFAULT NULL,
PRIMARY KEY (`imgId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
あなたはその後になるだろう:それが事実だった場合や家族、あなたは別のテーブルにそのデータを置くとidを使用して、それにリンクし検討することもできあなたのデータはLEFT JOINを使用しているため、imageAddendumに行がなくてもイメージ内のデータを取得できます。
SELECT i.imgId, i.imgTitle, i.imgURL, i.imgDate, ia.imgClass, ia.imgFamily
FROM image i LEFT JOIN imageAddendum ia using (imgId);
ありがとうございます。非常に有益。 – stefmikhail
答えは変わらないでしょう。しかし、私は答えを編集しました;)私はそれがあなたがすべての画像のために持っているだろうと思うように、メインの '画像'テーブルに日付の列を追加し、それを注文するクエリがもっと早く。考えているのは、ちょうど日付か日時かどうかだけです。私が与えた例は日時ですが、明らかにあなたは日付だけが必要かもしれません。 – Kenny
編集していただきありがとうございます。私の列を作成するためにphpMyAdminを使用しています。 KEYとは何が関係していますか?私はプライマリキーを理解していますが、KEYだけではありません。ああ、各タイプの長さ/値を定義する必要がありますか? – stefmikhail