Есть БД. Подскажите пожалуйста, как просмотреть внешние связи между таблицами. Пытаюсь создать pdf-схему не получается, ошибка
Warning: require_once(./libraries/fpdf/fpdf.php) [function.require-once]: failed to open stream: No such file or directory in z:\home\localhost\www\Tools\phpmyadmin\pdf_schema.php on line 52
Fatal error: require_once() [function.require]: Failed opening required './libraries/fpdf/fpdf.php' (include_path='.;/usr/local/php5/PEAR') in z:\home\localhost\www\Tools\phpmyadmin\pdf_schema.php on line 52
Неактивен
nettle
Попробуйте установить последнюю версию phpMyAdmin. У вас скрипт почему-то не находит класс для работы с pdf.
При установке свежей версии разверните расширенные таблицы и сможете работать с дизайнером связей.
Неактивен
Спасибо попробую.
А может надо файл конфигураций какой-нибудь отредактировать или не в этом дело? Извините если вопрос дурацкий, я только начала в нем работать и хочу на связи посмотреть, которые я создала... и че-то ничего не выходит...
Неактивен
nettle
Чтобы использовать Дизайнер связей необходимо развернуть расширенные таблицы. Инструкцию по установке phpMyAdmin можно посмотреть здесь:
Неактивен
Я обновила phpmyadmin до версии 2.11.10, вкладка "дизайнер" есть , но добавить внешние связи не получается. Типы таблиц при обновлении поменялись с innodb на myisam. Я сделала запросы ALTER TABLE <ИМЯ ТАБЛИЦЫ> type=InnoDB. Запрос успешно выполняется, но смены типа не происходит. Подскажите, пожалуйста, как поменять тип таблиц?
В дизайнере когда попытаась сделать внешние связи, это у меня получилось, было сообщение типа "связь добавлена". Когда в дочернюю таблицу попыталась добавить "запретную" запись, она добавилась... Помогите, пожалуйста разобраться...
Отредактированно nettle (2010-03-07 18:25:12)
Неактивен
Тип таблиц должен устанавливаться с помощью параметра ENGINE. В phpMyAdmin тип таблиц можно поменять на странице "Операции".ALTER TABLE `table_name` ENGINE = InnoDB;
Без примера мне сложно сказать что вы сделали и как исправить в связях.
Неактивен
Спасибо - типы таблиц поменять удалось! Связи тоже сделала - создала таблицы заново (делала вроде как прежде) и получилось. Связи между таблицами ЕСТЬ, но их визуально в Дизайнере не видно. Подскажите please что надо сделать?
Отредактированно nettle (2010-03-09 11:25:02)
Неактивен
nettle
Если на таблицах InnoDB есть связи, то в Дизайнере они должны отобразиться автоматически.
У вас в Дизайнер выводятся таблицы, но без связей? Если так, то покажите пример структуры двух связанных таблиц.
Неактивен
users
id_user int(11) {PK}, auto_inc
a text
b text
c text
id_status int(11)
passwords
id_user int(11) {PK}
l text
p text
e text
statuses
id_status int(11) {PK}, auto_inc
s textЕсть связь users.id_user->passwords.id_user, но ее не видно в Дизайнере. А связь statuses.id_status->users.id_status, вообще не создается (пишется "Loading... 99%") ... хотя я ее создаю точно так же как и предыдущую
Отредактированно nettle (2010-03-16 11:44:00)
Неактивен
nettle
Так мне не ясна структура таблицы, нужен запрос вида CREATE TABLE (связи будут в ALTER TABLE). Вы можете посмотреть его перейдя на страницу экспорта и создав текстовый дамп убрав предварительно галочку в блоке "Данные".
Неактивен
-- Версия сервера: 4.1.16 -- Версия PHP: 5.1.6 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- База данных: `users_db` -- -- -------------------------------------------------------- -- -- Структура таблицы `passwords` -- CREATE TABLE `passwords` ( `id_user` int(11) NOT NULL default '0', `l` text NOT NULL, `p` text NOT NULL, `e` text NOT NULL, PRIMARY KEY (`id_user`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; -- -------------------------------------------------------- -- -- Структура таблицы `statuses` -- CREATE TABLE `statuses` ( `id_status` int(11) NOT NULL auto_increment, `s` text NOT NULL, PRIMARY KEY (`id_status`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ; -- -------------------------------------------------------- -- -- Структура таблицы `users` -- CREATE TABLE `users` ( `id_user` int(11) NOT NULL auto_increment, `a` text NOT NULL, `b` text NOT NULL, `c` text NOT NULL, `id_status` int(11) NOT NULL default '0', PRIMARY KEY (`id_user`), KEY `id_status` (`id_status`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ; -- -- Ограничения внешнего ключа сохраненных таблиц -- -- -- Ограничения внешнего ключа таблицы `passwords` -- ALTER TABLE `passwords` ADD CONSTRAINT `passwords_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `users` (`id_user`) ON DELETE CASCADE ON UPDATE CASCADE; -- -- Ограничения внешнего ключа таблицы `users` -- ALTER TABLE `users` ADD CONSTRAINT `users_ibfk_1` FOREIGN KEY (`id_status`) REFERENCES `statuses` (`id_status`);
P.S. Hanut, при помощи запроса alter table нужную связь я создала. Спасибо, что подсказали, как запрос на создание таблицы можно посмотреть!!! Остается вопрос: почему связей не видно в Дизайнере? Это немного неудобно просто...
Отредактированно nettle (2010-03-17 12:40:57)
Неактивен
nettle
Импортировал ваши таблицы, связи есть. В чем у вас проблема мне пока не понятно. Сами таблицы в Дизайнере есть, а связей вы не видите? Можете показать как это у вас выглядит?
Неактивен
|
|