Должен ли я использовать AI на этих полях в MySQL? - PullRequest
0 голосов
/ 03 февраля 2010

У меня есть эта база данных ниже.Интересно, как мне использовать идентификатор для идентификации каждой записи.Все связано с classified_table!Два вопроса:

Должен ли я использовать ИИ на каждом ПК в этом случае?

Может ли кто-нибудь дать мне полный код для выбора всего классифицированного из только ad_id ("bmw_330ci_8939483"например)?

Я новичок в нормализованной базе данных и хорошо работаю с базой данных, поэтому подробные инструкции очень ценятся ... Также, если вы заметили какие-либо" ошибки "в этой базе данных, пожалуйста, дайте мне знать.

category table:
cat_id (PK)
cat_name

category_options table:
option_id (PK)
cat_id (FK)
option_name

option_values table:
value_id (PK)
option_id (FK)
value

classifieds table:
classified_id (PK)
ad_id (VARCHAR) something like "Bmw330ci_28238239832" which will appear in URL
poster_id (FK)
cat_id (FK)
area_id (FK)
headline
description
price
etc....

posters table:
poster_id (PK)
name 
email
tel
password

area table:
area_id (PK)
area
community

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 февраля 2010

Использование автоинкремента для ваших PK звучит разумно, потому что звучит так, будто вы уже хотите использовать суррогатную клавишу, а автоинкремент делает вставки очень простыми.Стоит взглянуть на это обсуждение о , как прагматично выбрать, какой первичный ключ использовать .

0 голосов
/ 03 февраля 2010

Я бы автоматически увеличил (AI) для полей, по которым я бы делал большую часть поиска. ИИ облегчает возвращение результатов, но есть проблемы с производительностью, из-за которых он может замедлить работу базы данных.

Что касается запроса, я не совсем уверен, что вы хотели бы вернуть, но этот запрос возвращает classified_id с учетом ad_id

SELECT classified_id FROM classifieds_table WHERE ad_id = "bmw_330ci_8939483" 

Чтобы выполнить одну вставку в таблицу объявлений и столбец идентификатор объявления значение audi a4 будет:

INSERT INTO classifieds_table ad_id VALUES "audi_a4"

Или несколько вставок с использованием одной и той же таблицы, нескольких полей и нескольких значений:

INSERT INTO classifieds_table (ad_id, poster_id) VALUES ("audi_a4", 10)

Обратите внимание, что я пропустил classified_id, потому что, если вы выберете автоинкремент, он будет автоматически присваивать значение без его явного присваивания.

Ознакомьтесь с MySQL :: Создание веб-сайта на основе базы данных с использованием PHP и MySQL для получения дополнительных руководств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...