sql >> データベース >  >> RDS >> Mysql

MYSQLテーブルをどのように設計する必要がありますか?

    正規化はあなたの友達です。

    リレーショナル2テーブル設計に移行する必要があります。

    CREATE TABLE projects (
       project_id int not null primary key auto_increment,
       project_name varchar(128),
       -- ...
    );
    
    CREATE TABLE pages (
       page_id int not null primary key auto_increment,
       project_id int not null, 
       pagetext text,
       image varchar(128), 
       -- ...
    );
    

    これで、各プロジェクトは任意の数のページを持つことができます。

    その後、クライアントが戻ってきて「各ページに0-Nの画像を含めることができます」と言った場合は、外部キーpage_idを含む3番目のテーブルが必要になります。 (ページテーブルにproject_idがあるのと同じように 外部キー)




    1. MySQLクエリで、なぜwhereの代わりにjoinを使用するのですか?

    2. LIMITMySQLを使用した複数のWHERE

    3. MySQLGROUPBYを優先

    4. 製品在庫の加重平均コストの計算