Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Исследователь
 Аватар для Jallik Lich
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
Записей в блоге: 7

Как создать таблицы и связи в БД?

03.12.2011, 14:29. Показов 1393. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Так сложились обстоятельства, что я делаю сайт Не простое это занятие, особенно, что касается БД...
А ситуация такая... Текст статьи (урока) хранится в трех таблицах:
Главная таблица со статьями: article (id, caption, description и т. д., не особо важно)...
Вторая таблица содержит поля, что надо уже знать, перед тем, как начать читать статью (возможно, когда-то я эти списки сделаю ссылками ) Таблица article_know (art_id, to_know)
Третья таблица, как и вторая, но для того, что надо иметь (например, какое-то уже установленное ПО и т. п.) Таблица article_have (art_id, to_have)...
Помогите мне создать эти таблицы и связи между ними... Связи, как можно догадаться, один ко многим...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2011, 14:29
Ответы с готовыми решениями:

Как создать связи между таблицами и вывести их RedBean
Доброго времени суток, форумчане. Прошу Вас оказать помощь, объясните мне, на примере: Имеется БД с таблицами tickets и clients, в...

Как правильно создать таблицы и связи между ними?
уважаемые форумчане! мне очень нужна помощь в создании таблиц и связей между таблицами... вот что нужно сделать... Информация о...

Как создать запрос который получает значение по связи таблицы
Привет! Таблица "товар": наименование / цена / id_валюта; где id_валюта связана с таблицей "валюты" в которой 2 поля: id /...

4
 Аватар для nubo
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
03.12.2011, 14:33
Делай в дочерних таблицах поля джля связей. Обычно их называют id_parent. И в эти поля нужно писать родительские иды. Вот и вся связь))
0
Исследователь
 Аватар для Jallik Lich
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
Записей в блоге: 7
03.12.2011, 15:01  [ТС]
Это понятно...
А этим самым id_parent (которые у меня называются art_id) надо присваивать какой-то внешний ключ (index, например)?
И меня интересуют SQL запросы добавления, редактирования и удаления таких записей...
0
 Аватар для nubo
113 / 70 / 2
Регистрация: 31.07.2010
Сообщений: 337
03.12.2011, 15:03
Да, индекс желателен на этом поле. Выкладывай дамп, посмотрим.
0
Исследователь
 Аватар для Jallik Lich
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
Записей в блоге: 7
03.12.2011, 15:11  [ТС]
Вот дамп того, что у меня получилось
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
CREATE TABLE IF NOT EXISTS `articles` (
  `id` INT(3) NOT NULL AUTO_INCREMENT,
  `caption` VARCHAR(50) COLLATE cp1251_general_cs NOT NULL,
  `description` VARCHAR(255) COLLATE cp1251_general_cs NOT NULL,
  `shot_text` text COLLATE cp1251_general_cs NOT NULL,
  `target` VARCHAR(255) COLLATE cp1251_general_cs NOT NULL,
  `all_text` text COLLATE cp1251_general_cs NOT NULL,
  `add_date` DATE NOT NULL,
  `views` INT(11) NOT NULL,
  `downloads` INT(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs AUTO_INCREMENT=1 ;
 
CREATE TABLE IF NOT EXISTS `articles_have` (
  `id` INT(9) NOT NULL AUTO_INCREMENT,
  `art_id` INT(6) NOT NULL,
  `to_have` VARCHAR(255) COLLATE cp1251_general_cs NOT NULL,
  PRIMARY KEY (`id`),
  KEY `art_id` (`art_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs AUTO_INCREMENT=1 ;
 
CREATE TABLE IF NOT EXISTS `articles_know` (
  `id` INT(9) NOT NULL AUTO_INCREMENT,
  `art_id` INT(6) NOT NULL,
  `to_know` VARCHAR(255) COLLATE cp1251_general_cs NOT NULL,
  PRIMARY KEY (`id`),
  KEY `art_id` (`art_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_cs AUTO_INCREMENT=1 ;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.12.2011, 15:11
Помогаю со студенческими работами здесь

Как установить связи для подчиненной таблицы?
Здравствуйте. Проблема следующая: база данных в access, в ней три главных таблицы и одна подчиненная..в delphi на форму кинул...

Ключ связи таблицы и набор записей как связать
Пытаюсь разобраться с базой данных. Есть необходимость в одной форме вбивать данные для разных таблиц. В табличном варианте связи работают...

Как соединить таблицы в Access, чтобы связи заполнялись последовательно?
Как соединить таблицы в access так чтобы в связи заполнялись последовательно ато у меня таблицу progress видит а Document нет

Как создать форму обратной связи?
Подскажите, как создать форму обратной связи? Я захожу в Компоненты -- Контакты -- Контакты -- Создать Создаю форму и ...ничего. Я...

Как создать связи в mysql query browser?
как создать связи между таблицами .куда вводить команды и как запустить эту связь?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru