Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/23: Рейтинг темы: голосов - 23, средняя оценка - 4.52
 Аватар для Argon
60 / 39 / 0
Регистрация: 24.04.2012
Сообщений: 419

Выбор схемы базы данных

15.07.2009, 19:55. Показов 4700. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый! я новичок в создании и проектировании бд, поэтому возник вопрос, как лучше связать данные что бы получилось максимально удобно.
Собственно о базе, в ней пока 2 таблицы: personal и prijects. первая содержит в себе информацию о сотрудниках (ФИО, телефон, адрес и т.д.). Во второй информация о проектах (название и id). Вопрос: как связать эти таблицы что бы в итоге можно было получить информацию о каждом сотруднике и о всех выполненных им проектах?
Очень надеюсь на помощь!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.07.2009, 19:55
Ответы с готовыми решениями:

Создание схемы базы данных
Здравствуйте, подскажите программу (название) где можно было бы строить схемы для бызы данных SQL, видеть связи, первичные ключи и т.д....

Как узнать имя базы данных и сервер базы данных?
База данных находится на локальной машине

Структура базы данных. Как объединить или разделить схемы
Добрый день, уважаемые товарищи. Собрал схему базы данных. Суть такова, что у меня есть две совершенно одинаковые сущности, только одна...

11
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
15.07.2009, 20:09
В таблицу с проектами добавить поле с номером сотрудника. И когда будешь запрашивать проекты, то можешь выполнить запрос
SQL
1
2
SELECT prijects.name,personal.fam,personal,name,personal.otch,personal.tel FROM prijects 
           LEFT JOIN personal ON personal.id=prijects.userid ORDER BY personal.fam;
Запрос покажет все проекты и человека, который выполнял каждый проект.
1
 Аватар для Argon
60 / 39 / 0
Регистрация: 24.04.2012
Сообщений: 419
15.07.2009, 20:19
таблица с проектами содержит поля project (название проекта) и project_id, если добавить id сотрудника, то получится что сотрудник выполнил лишь один проект! Я видимо что то недопонял, объясните пожалуйста подробнее!
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
15.07.2009, 21:04
Нет... получится, что каждый проект выполнялся только одним сотрудником.
0
 Аватар для Argon
60 / 39 / 0
Регистрация: 24.04.2012
Сообщений: 419
15.07.2009, 22:34
не подходит.. В моей базе сотрудник может выполнять более одного проекта!
0
 Аватар для kostarev
1 / 1 / 0
Регистрация: 15.07.2009
Сообщений: 25
15.07.2009, 23:03
Тебе поможет ERStudio в этой программе можно задать связь много к многим и сгенерировать БД
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
15.07.2009, 23:15
Тогда тебе придётся заводить ещё одну таблицу, в которой будут сопоставления - какой сотрудник какие проекты выполнял.
0
 Аватар для Argon
60 / 39 / 0
Регистрация: 24.04.2012
Сообщений: 419
15.07.2009, 23:42
Цитата Сообщение от kostarev Посмотреть сообщение
Тебе поможет ERStudio в этой программе можно задать связь много к многим и сгенерировать БД
А в EMS SQL Manager 2007 for MySQL нет такой функции?
Humanoid, спасибо! думаю это как раз то что нужно!
0
74 / 73 / 25
Регистрация: 05.10.2008
Сообщений: 233
16.07.2009, 06:15
В таблицу с проектами добавить поле с номером сотрудника.
что каждый проект выполнялся только одним сотрудником.
В моей базе сотрудник может выполнять более одного проекта!
Если только 1 сотрудник выполняет проект то первая таблица предложенная Humanoid соответствует данным критериям:
proect_id, personal.id, project
1, 1, project №1
2, 1, project №2
3, 2, project №3
4, 2, project №4
0
 Аватар для Argon
60 / 39 / 0
Регистрация: 24.04.2012
Сообщений: 419
16.07.2009, 08:01
Цитата Сообщение от Prividenie Посмотреть сообщение
Если только 1 сотрудник выполняет проект то первая таблица предложенная Humanoid соответствует данным критериям:
proect_id, personal.id, project
1, 1, project №1
2, 1, project №2
3, 2, project №3
4, 2, project №4
не подходит! сотрудник два из этой таблицы получается не может выполнять проект 1 или 2!
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
16.07.2009, 08:11
все зависит от того какая у тебя связь, если у тебя связь один к одному то можно в таблице проектов ставит id сторудника, но я как понял что у тебя связь многие ко многим , то есть один проект может делать много сотрудников, и один сотрудник может делать несколько проектов, для такой связи тебе надо создать таблицу id проекта и id сотрудника, в которой первичный ключ будет по обоим полям
0
16.07.2009, 08:23

Не по теме:

протупил малость я

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2009, 08:23
Помогаю со студенческими работами здесь

Выбор модели данных базы данных учета личного состава
Доброго времени суток, уважаемые форумчане! Я работаю Вооруженных Сил РФ. Учет личного состава ведётся на бумажных носителях. Для...

Выбор базы данных, поддерживающей большие объемы данных
Доброго времени суток. Прошу совета в подборе клиента баз данных. Необходимо выполнять следующие задачи: -...

Выбор базы данных
Привет всем, подскажите пожалуйста, какую базу данных выбрать для проекта? База будет использоваться и для телефона и для сайта и для...

Выбор базы данных
Какую выбрать базу данных(перспективную и развивающуюся), гугл советует MySQL или Oracle// если да то посоветуйте хорошую литературу для...

Выбор Базы Данных
Помогите! Есть желание написать не большое приложение в контакте(для себя) сам AS and vk.api не является большой проблемой да и место...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru