Когда вы делаете объектно-ориентированный дизайн модели, вы часто создаете суперклассы и подклассы.
Например, вы можете создать суперкласс с именем vehicle
. Затем вы можете создавать классы, которые наследуются от vehicle
, называемых, я думаю, roadVehicle
и offroad
. Тогда класс, наследующий от roadVehicle
, может быть car
. & c. & c.
Этот вид дизайна не очень помогает при составлении таблиц для системы управления реляционной базой данных, такой как MySQL (или Oracle или остальное). Почему нет? Наследование классов непросто перевести концептуально в таблицы базы данных.
Итак, вам нужна одна таблица, содержащая все описательные атрибуты для каждого вида транспортного средства. Каждая строка таблицы описывает одно транспортное средство.
Таким образом, вы можете иметь столбцы для
id an autoincrementing id
is_new boolean. true means new, false means used.
make "Volvo", "International Harvester", &c.
model "50D", "King Cab", etc.
year the model year of the machine text like "2001", "2015a"
date_of_manufacture a date field
vehicle_type a text string. "car", "log truck", "tractor", and so forth
engine_type a text string "diesel" "gasoline", "electric", "diesel-electric" &c.
engine_power 75kW, etc. maybe a number if everything is in kW.
number_of_wheels 4 for a car. 18 for a tractor-trailer, etc
tool text. blank for cars. "Log grapple," maybe, for a log truck
description text. "Staffan's old Citroen" for example.
registration_locale text. SE, US, DE, etc.
registration_number text. ABC-123 etc.
Вы получаете идею. Если вы хотите увидеть информацию об используемых автомобилях вы даете этот запрос:
SELECT * FROM vehicles WHERE is_new = 0 AND vehicle_type = 'car'
Недостаток этого является то, что вы должны включать столбцы для всех общих атрибутов в одной таблице. У автомобилей нет инструментов, поэтому вы тратите колонну на автомобиль. Лесные машины могут не иметь регистрационных номеров, поэтому вы тратите на них эту колонку.
Но это не имеет значения. Это простой и удобный способ создания базы данных.
Речь идет о переводе отношений в таблицы mysql, или это о переводе концептуальной схемы (ER ?, UML?) в отношения? –
У меня есть концептуальная схема я проблема transalating ее в отношениях в таблицы MYSQL ДА :) Так у меня vechilas, которые старые и новые - каждый из них содержит тракторы, лесные машины и строительные машины все vehical имеют те же атрибуты, что и Торговая марка, год выпуска, топливо, расход топлива, мощность двигателя –