Одно из решений наследования заключается в создании отдельной таблицы для каждого подтипа. Во всех таблицах содержатся одни и те же атрибуты, которые являются общими для базового типа, а также соответствующий атрибут, характерный для подтипа. Название данной структуры также взято из книги Мартина Фоулера.
Если же вам требуется установка системы 1с, то вам сюда: http://programmist1s.ru/nastroyka-1s/.
Файл примера:.ЕЛ V/soln/create-concrete-tables.sql
CREATE TABLE Bugs (
issue_id , SERIAL PRIMARY KEY,
reported_by BIGINT UNSIGNED NOT NULL,
product_id BIGINT UNSIGNED,
priority VARCHAR(20),
version_resolved VARCHAR(20),
status VARCHAR(20),
severity VARCHAR(20), — только для ошибок
version affected VARCHAR(20), — только для ошибок
FOREIGN KEY (reported_by) REFERENCES Accounts(account_id), FOREIGN KEY (product_id) REFERENCES Products(product_id)
) ;
CREATE TABLE FeatureRequests (
issue_id SERIAL PRIMARY KEY,
reported_by BIGINT UNSIGNED NOT NULL,
product_id BIGINT UNSIGNED,
priority VARCHAR(20),
version_resolved VARCHAR(20),
status VARCHAR(20),
sponsor VARCHAR(50),-- только для запросов функ-
ций
FOREIGN KEY (reported_by) REFERENCES Accounts(account_id) , FOREIGN KEY (product_id) REFERENCES Products(product_id)
) ;
Преимущество подхода Наследование конкретной таблицы по сравнению с подходом Наследование одиночной таблицы заключается в том, что предотвращается хранение строки, содержащей значения атрибутов, которые не применяются к подтипу этой строки. Если выполняется ссылка на столбец атрибутов, который отсутствует в этой таблице, пользователь автоматически уведомляется базой данных об ошибке.
Опубликовал vovan666
June 27 2013 12:20:02 ·
0 Комментариев ·
3957 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.