2015-06-24 2 views
0

У меня есть две таблицы mysql с именем «management» и «services».Как я номинирую свой дизайн этой базы данных?

"управление" таблица имеет поля:

- id  
- name  
- designation  
- description  
- added_date 

"услуги" таблицы имеют поля:

- id  
- name  
- description  
- added_date 

Каждые лица в таблице "управления" должен иметь одно изображение. (их изображение профиля), а в таблице «services» он будет иметь несколько сервисов, и каждая служба должна иметь несколько изображений.

Итак, мой вопрос: как я получаю эти изображения в одной таблице с именем «image_info» и как они разделяют друг друга?

UPDATE: Это, как я попробовал:

# ------------------------ 
# -- 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; 

Надежда кто-то может помочь мне.

спасибо.

ответ

0

Вы можете добавить столбец в таблицу management под названием profile_image, и если она не установлена, она будет null. Так как это отношение 1 к 1. Вам не нужна другая таблица для разделения информации, которая принадлежит вместе.

Что касается services, это отличается, поскольку они могут иметь несколько изображений для каждой службы. Для того, чтобы справиться с этим добавить images таблицы, которая выглядит в основном как этот

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

Если служба имеет несколько изображений, то вы бы иметь несколько записей в таблице images с тем же service_id.

Поскольку служебные изображения и изображения профиля не выходят никоим образом, нет смысла хранить их в одной таблице в любом случае.

+0

Juergen d, Проверьте мой обновленный вопрос. Мне не нужна таблица с именем 'image_category'? – user3733831

+0

Зачем делать это сложнее, если вам нужно только одно изображение в управлении? –

+0

Я не уверен, что делаю это в таблице 'management'. Не могли бы вы немного объяснить это? Спасибо. – user3733831

Смежные вопросы