#1 2010-02-18 11:32:23

nettle
Редкий гость
Зарегистрирован: 2010-02-18
Сообщений: 13
Профиль

схема базы данных

Есть БД. Подскажите пожалуйста, как просмотреть внешние связи между таблицами. Пытаюсь создать 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

Неактивен

#2 2010-02-18 12:11:38

Hanut
Модератор
Откуда: Рига, Латвия
Зарегистрирован: 2006-07-02
Сообщений: 4597
Профиль  Вебсайт

Re: схема базы данных

nettle
Попробуйте установить последнюю версию phpMyAdmin. У вас скрипт почему-то не находит класс для работы с pdf.

При установке свежей версии разверните расширенные таблицы и сможете работать с дизайнером связей.

Неактивен

#3 2010-02-18 12:55:51

nettle
Редкий гость
Зарегистрирован: 2010-02-18
Сообщений: 13
Профиль

Re: схема базы данных

Спасибо попробую.
А может надо файл конфигураций какой-нибудь отредактировать или не в этом дело? Извините если вопрос дурацкий, я только начала в нем работать и хочу на связи посмотреть, которые я создала... и че-то ничего не выходит...

Неактивен

#4 2010-02-18 14:09:16

Hanut
Модератор
Откуда: Рига, Латвия
Зарегистрирован: 2006-07-02
Сообщений: 4597
Профиль  Вебсайт

Re: схема базы данных

nettle
Чтобы использовать Дизайнер связей необходимо развернуть расширенные таблицы. Инструкцию по установке phpMyAdmin можно посмотреть здесь: http://php-myadmin.ru/learning/instrument-pma.html

Неактивен

#5 2010-03-07 18:20:55

nettle
Редкий гость
Зарегистрирован: 2010-02-18
Сообщений: 13
Профиль

Re: схема базы данных

Я обновила phpmyadmin до версии 2.11.10, вкладка "дизайнер" есть , но добавить внешние связи не получается. Типы таблиц при обновлении поменялись с innodb на myisam. Я сделала запросы ALTER TABLE <ИМЯ ТАБЛИЦЫ> type=InnoDB. Запрос успешно выполняется, но смены типа не происходит. Подскажите, пожалуйста, как поменять тип таблиц?
В дизайнере когда попытаась сделать внешние связи, это у меня получилось, было сообщение типа "связь добавлена". Когда в дочернюю таблицу попыталась добавить "запретную" запись, она добавилась... Помогите, пожалуйста разобраться...

Отредактированно nettle (2010-03-07 18:25:12)

Неактивен

#6 2010-03-07 19:59:13

Hanut
Модератор
Откуда: Рига, Латвия
Зарегистрирован: 2006-07-02
Сообщений: 4597
Профиль  Вебсайт

Re: схема базы данных

Тип таблиц должен устанавливаться с помощью параметра ENGINE. В phpMyAdmin тип таблиц можно поменять на странице "Операции".
ALTER TABLE `table_name`  ENGINE =  InnoDB;

Без примера мне сложно сказать что вы сделали и как исправить в связях.

Неактивен

#7 2010-03-09 11:24:10

nettle
Редкий гость
Зарегистрирован: 2010-02-18
Сообщений: 13
Профиль

Re: схема базы данных

Спасибо - типы таблиц поменять удалось! Связи тоже сделала - создала таблицы заново (делала вроде как прежде) и получилось. Связи между таблицами ЕСТЬ, но их визуально в Дизайнере не видно. Подскажите please что надо сделать?

Отредактированно nettle (2010-03-09 11:25:02)

Неактивен

#8 2010-03-09 13:04:42

Hanut
Модератор
Откуда: Рига, Латвия
Зарегистрирован: 2006-07-02
Сообщений: 4597
Профиль  Вебсайт

Re: схема базы данных

nettle
Если на таблицах InnoDB есть связи, то в Дизайнере они должны отобразиться автоматически.

У вас в Дизайнер выводятся таблицы, но без связей? Если так, то покажите пример структуры двух связанных таблиц.

Неактивен

#9 2010-03-16 11:43:39

nettle
Редкий гость
Зарегистрирован: 2010-02-18
Сообщений: 13
Профиль

Re: схема базы данных

Код:

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)

Неактивен

#10 2010-03-16 11:56:34

Hanut
Модератор
Откуда: Рига, Латвия
Зарегистрирован: 2006-07-02
Сообщений: 4597
Профиль  Вебсайт

Re: схема базы данных

nettle
Так мне не ясна структура таблицы, нужен запрос вида CREATE TABLE (связи будут в ALTER TABLE). Вы можете посмотреть его перейдя на страницу экспорта и создав текстовый дамп убрав предварительно галочку в блоке "Данные".

Неактивен

#11 2010-03-17 12:23:12

nettle
Редкий гость
Зарегистрирован: 2010-02-18
Сообщений: 13
Профиль

Re: схема базы данных

Код:

-- Версия сервера: 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)

Неактивен

#12 2010-03-17 12:57:25

Hanut
Модератор
Откуда: Рига, Латвия
Зарегистрирован: 2006-07-02
Сообщений: 4597
Профиль  Вебсайт

Re: схема базы данных

nettle
Импортировал ваши таблицы, связи есть. В чем у вас проблема мне пока не понятно. Сами таблицы в Дизайнере есть, а связей вы не видите? Можете показать как это у вас выглядит?
http://i2.fastpic.ru/thumb/2010/0317/db/4391690a7f444a1f8550cf9d42ac0ddb.jpeg

Неактивен

Board footer

Powered by PunBB
Modified by Ivan Shumiloff
© Copyright 2006-2007 PHP-MYADMIN.RU

Рейтинг@Mail.ru