2014-01-27 2 views
0

Я создаю базу данных для местного автосалона.Остановить дублирование начала данных строки в базе данных

Клиент хочет выполнить сверление опции для определения планов обслуживания, и я пытаюсь выработать логику.

Поэтому в основном первая вещь, которую пользователь делает это выбрать модель автомобиля, то год передачи, а затем КМ в/мили (Эти данные используются, чтобы найти план обслуживания):

enter image description here

Это выполняется с помощью выпадающих меню, заполненных значениями из базы данных.

Теперь тариф за обслуживание по заданию изменяется в зависимости от KM/Miles и никогда не отличается от транспортных средств.

Так визуально он выглядит следующим образом:

enter image description here

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

Теперь то, что мне интересно, как я могу заложить это в MySQL для работы с PHP запрос я бы

заполнить все пустые клетки с повторяющимися данными, например

enter image description here

или

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

+0

Как вы сохранили данные в db ... У вас есть две таблицы различий или более того ... Каковы ключевые поля в таблицах ... – ankur140290

+0

Я еще не создал это Я пытаясь понять, как его структурировать до начала. –

+0

Посмотрев на свой стол, я могу сказать, что вы должны сделать две таблицы: «Sr.No. -> Модель -> Год -> Передача' и другие как «Sr. No -> KMs/Miles -> Oil ... и т. Д.». Затем вам нужно будет сопоставить обе таблицы с sr.no (поле Index). – ankur140290

ответ

0

Вы можете иметь таблицу, как показано ниже:

enter image description here

Итак, как объяснить вам, вы можете написать запрос, чтобы извлечь ваши необходимые данные.

+0

Спасибо !!!!!! –

+0

u r Добро пожаловать ...;) – ankur140290

0

Как кто-то предложил вам нормализовать вашу базу данных, если вы хотите, чтобы у нее когда-либо была целостность данных и она могла адаптироваться к изменениям. Вы хотите стремиться к 3-й нормальной форме (3NF)

Начало понимания Нормализация, потому что вам будет трудно построить хорошую базу данных без нее. http://en.wikipedia.org/wiki/Database_normalization

Вам по крайней мере необходимо разделить это на две таблицы. Я бы предложил таблицу Vehicle, которая содержит столбец для Model, Year, Transmission, KM/Miles (все атрибуты Транспортные средства), а затем таблицу Service Plan, которая имеет атрибуты плана обслуживания. Таблица Vehicle, вероятно, будет иметь столбец для плана обслуживания, на котором есть ограничение внешнего ключа, которое сопоставляется с Первичным ключом таблицы Service Plan (Service_Plan_ID). Таким образом, когда вы запрашиваете транспортное средство X, вы получите карточку, на которой сервисный план сопоставляется с автомобилем.

+0

, потому что KM - это то, что определяет, какие сервисные планы использовать, возможно, я поместил бы его в таблицу планов обслуживания? –

+0

Нет абсолютно нет. Вы не используете логику в базе данных. Вы просто создаете Entity и сохраняете атрибуты об этом объекте. На нем есть KM/Miles. Не план обслуживания. –

+0

Часть нормализации состоит в том, что каждый столбец таблицы должен быть чем-то, что описывает этот объект –

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