MySQL: наследование - PullRequest
       13

MySQL: наследование

0 голосов
/ 08 марта 2010

Я читал о функции наследования в PostgreSQL, которая казалась довольно опрятной. К сожалению, я вынужден использовать MySQL. Как бы вы сделали что-то подобное в чистом виде?

Допустим, у вас есть два следующих класса, с которыми вы хотите работать:

User
 ˪ Id
 ˪ Name
 ˪ Password

Employee : User
 ˪ Pay

Как бы вы сохранили их в базе данных MySQL, чтобы их можно было получить, например, из PHP довольно чистым способом? Мне нужно, например, иметь возможность извлекать всех пользователей, включая сотрудников, только сотрудников, выяснить, является ли пользователь также сотрудником и т. Д.

Нужен общий совет, а не конкретное решение по этому делу. Например, я вижу, что могу просто добавить в таблицу Users столбец Pay, который можно обнулять, но мне не очень нравится эта идея, поскольку она быстро станет очень грязной, если потребуется больше подклассов.

1 Ответ

2 голосов
/ 08 марта 2010

Добавить поле к Employee, которое является внешним ключом к User. Вам все равно придется выполнить объединение между таблицами, но это лучше, чем ничего.

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