Здравствуйте. Может кто сталкивался и сможет подсказать: есть БД MySql в ней 2 типа таблиц: 1-ый - таблицы где лежат записи разных документов разных форм(на 10 разных форм есть 10 разных таблиц). 2-ой - 1 таблица, которая хранит список этих форм и их описание. Нужно связать эту таблицу с другими таблицами: 1 запись из этой таблицы ссылается на таблицу формы т.е. внешний ключ ссылается имя таблицы. Может я мудрю и можно сделать проще... Думал внести в первую таблицу поле с типом формы, но тогда во все записи любой формы нужно добавить поле с типом и получится избыток информации.
Если у вас данные 10 различных типов документов уже находятся в 10 различных таблицах - у вас нет возможности ссылаться на них из посторонней таблицы как-либо иначе, чем через 10 различных полей, каждое из которых является foreign key для одной из 10 таблиц. В противном случае вы нарушите условие транзитивности данных (3-я нормальная форма), и если нарушение этого условия для неключевых атрибутов - в общем норма, то для ключевых недопустимо (представьте как потом SQL-запросы для выборки будут выглядеть).
Чтобы зделать красиво, можно добавить 11-ю таблицу, назвав ее например Document, в неё спрятать все эти 10 ссылочных полей, и на каждую запись в одной из 10-ти исходных таблиц сформировать (скриптом сгенерить) запись в 11-й таблице (в дальнейшем для автоматизации можно зделать триггеры на каждую из 10 таблиц). Далее на основании этой таблицы зделать view типа DocumentV, в которую спрятать всю эту ссылочную муть с 10 таблицами.
Таким образом для всех других таблиц и отношений будет одна таблица Document, для запросов выборки - один view DocumentV.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В общем вот вопрос: "Можно ли поставить на паузу импорт в MySql и как?" Импортирую WorkbenchЕМ
Товар, который может принадлежать нескольким категориям одновременноЗапросы: (1) достать все товары вместе с их категориями, (2) достать товар...