Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связи mysql, foreign key / 7 сообщений из 7, страница 1 из 1
21.09.2016, 11:33
    #39312550
KrasPvP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
Всем дня доброго!
Вот, настал первый курсовой проект, и стал вопрос о его реализации. У меня тема: база клиентов для фирмы. Реализовать я решил все дело php + mysql + html + css. С последними двумя инструментами проблем нет, но вот со вторым (Mysql) огромные проблемы со связями.
Я знать плохо не знаю о базах данных, лекции, практика хоть и идет, но все это нам толкуют ну очень на не хорошем уровне, приходится заниматься самообучением, как всегда.
По теме курсовой я составил схему одной базы данных, которую я разбил на 4 таблицы:



Надеюсь, что связи расставил правильно. Но суть в том, что я понял, что для связи надо чтобы дочернее поле было индексом, а родительское - primary.
Но загвоздка в том, что в одной таблице могут быть как и поля, которые тоже надо связать с другой таблицей (пример из схемы: есть таблица Услуги, в ней id_услуги(Primary), название_услуги, цена_услуги и есть таблица Проекты, в которой есть эти же поля для связи - id_услуги, название_услуги, цена_услуги

Нам преподавать говорил, что можно связать только id первой и второй таблицы и потом вызывать (связывать) нужные поля по этому же id... Это я уже не понял и запутался.
Так же посмотрел, как реализуется все это дело в phpmyadmin -
YouTube Video
...
Рейтинг: 0 / 0
21.09.2016, 13:22
    #39312665
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
В проектах должна быть связь только с id услуг, клиентов, статусов. Зачем ты дублируешь туда названия и прочую муть. Их можно будет вытащить как раз через связь.
...
Рейтинг: 0 / 0
21.09.2016, 13:39
    #39312673
KrasPvP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
SharuPoNemnogu,

Честно, плохо понял вашу мысль. Как я смогу, допустим, пр связи из т. Услуги в т. Проекты запихнуть id_услуги, если у меня не будет существующего пустого поля в т. Проекты?
...
Рейтинг: 0 / 0
21.09.2016, 13:49
    #39312682
KrasPvP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
И лучше тогда спрошу сразу: если не стоило выносить дублирующиеся поля, то как вытянуть то их потом? У меня суть и задача в написании страницы, которая выводит все эти данные для менеджера, с возможностью занесения данных. их изменения и удаления
...
Рейтинг: 0 / 0
21.09.2016, 13:55
    #39312686
KrasPvP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
SharuPoNemnoguВ проектах должна быть связь только с id услуг, клиентов, статусов. Зачем ты дублируешь туда названия и прочую муть. Их можно будет вытащить как раз через связь.

Я подумал... и понял кажется... но не полностью. вы имели ввиду типа такой связи?


т.е. мы через id поля сможем вытащить остальные поля? но как?
...
Рейтинг: 0 / 0
21.09.2016, 14:43
    #39312733
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
KrasPvP,

через join.
например все проекты клиента

Код: sql
1.
2.
3.
select c.name, p.name 
from client c
inner join project p on c.id = p.client_id
...
Рейтинг: 0 / 0
29.09.2016, 09:37
    #39317506
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связи mysql, foreign key
Связь по цене лишняя
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связи mysql, foreign key / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]