簡體   English   中英

我如何標准化我的數據庫設計?

[英]How I nomalize my this database design?

我有兩個名為“ management”和“ services”的mysql表。

“管理”表具有以下字段:

- id    
- name    
- designation    
- description    
- added_date

“服務”表具有以下字段:

- id    
- name    
- description    
- added_date

“管理”表中的每個人都應該有一個圖像。 (其個人資料圖片),並在“服務”表中包含多個服務,每個服務應具有多個圖片。

所以我的問題是,如何將這些圖像保存到名為“ image_info”的表中,以及如何將它們彼此分開?

更新:這是我嘗試的方式:

# ------------------------
# -- Image Category Table 
# ------------------------

CREATE TABLE IF NOT EXISTS image_category(
    category_id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(60) NOT NULL,  
    PRIMARY KEY (category_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

# ------------------------------------------
# -- Dumping data for table "image_category"
# ------------------------------------------

INSERT INTO image_category 
                        (name) 
                        VALUES
                        ('service'),
                        ('management'); 

# ------------------------
# Image Table 
# ------------------------

CREATE TABLE IF NOT EXISTS image_info(
    image_id INT(4) UNSIGNED NOT NULL AUTO_INCREMENT,
    category_id INT(4) NOT NULL, 
    image VARCHAR(80) NOT NULL, 
    image_path VARCHAR(150) NOT NULL, 
    extention VARCHAR(10) NOT NULL, 
    image_size VARCHAR(10) NOT NULL,
    dimension VARCHAR(15) NOT NULL,
    mime_type VARCHAR(20) NOT NULL,
    alt_text TEXT DEFAULT NULL, 
    added_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (image_id),
    UNIQUE (image)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

希望有人可以幫助我。

謝謝。

您可以在management表中添加一列名為profile_image的列,如果未設置該列將為null 由於這是一對一的關系。 您不需要另一個表來分隔屬於一起的信息。

至於services ,則不同,因為它們可以為每個服務具有多個圖像。 為了解決這個問題,添加一個images表,基本上像這樣

images table
------------
id
service_id
name
...

如果服務具有多個圖像,那么images表中將有多個具有相同service_id條目。

由於不會以任何方式發布服務映像和個人資料圖片,因此將它們存儲在同一張表中毫無意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM