|
|
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Прошу оценить мою базу данных, разработанную для курсовой работы, и указать на мои ошибки. Пункты задания: 1. Анализ предметной области, выделение сущностей и связей 2. Разработка ER-диаграммы 3. Определение таблиц, ключей и связей 4. Разработка структурной схемы БД 5. Разработка 4х запросов к БД Предметная область: руководство, кол-во сущностей не менее 4х. БД разрабатывается для научного центра микроэлектроники. С анализом предметной области получилось следующее (я не совсем представляю, чем занимается руководство): на предприятии руководитель занимается тем, что получает заказы от заказчиков, и распределяет их по различным отделам, которые выполняют эти заказы. Также руководитель назначает премии различным отделам, которые получают эти премии. Выделенные сущности: 1.Руководитель 2.Заказ 3.Исполнитель 4.Премия ER-диаграмма: Структурная схема БД: Вот так всё это у меня вышло. Что думаете? Где и почему нужно подправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 06:02 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okul , у тебя получается: - "руководителей" столько, сколько заказов - с "исполнителями" такая же фигня - и с отделами - нет таблички по "Заказчикам" - премия какая-то странная Итог: не структура - просто каша. По премиям расскажи. Её дают на отдел всей суммой? Как потом она распределяется по исполнителям? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 09:04 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
krvsa, т.е руководитель - необязательное условие или заказ связан с премией как 1:1? Или в данном случае ещё какой-то тип связи? По заказчикам думал делать таблицу след вида: Наименование руководителя, текущие заказы, контактные данные. Тогда получится связь заказчик заказывает заказ(Текущие заказы у руководителя связаны с ID заказа у заказчика как 1:1)? Премия выдаётся одна на отдел. Дальше её распределяют руководители отделений. Я не стал это рассматривать, т.к для меня это чрезмерно усложнит схему. И основная цель у нас всё же проектирование структурированной кабельной сети. А каша - это да, к сожалению я очень плохо разобрался в этом вопросе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 10:29 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Или для устранения совпадения количества заказов и количества руководителей следует связывать не ID заказа, а, например, наименование заказа? Или же у руководителя должно быть другое поле.. пока такие мысли. А поле 'заказчик' из таблицы заказов можно просто убрать, чтобы не создавать путаницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 10:44 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulосновная цель у нас всё же проектирование структурированной кабельной сети Без полного описания "подзадачи", того что ты тут пытаешся решить, труднова-то будет дать конкретные рекомендации... Обычно делают табличку "Сотрудники", "Отделы", "Должности"... Тогда вес расклад штатного расписания можно представить такой табличкой Штатное расписаниеКодНачалоОкончаниеКод сотрудникаКод должностиКод отдела Т.о. как "руководители", так и "исполнители", все берутся из таблички "Сотрудники". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 11:34 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Теперь по заказам... Что есть "принимает", "рспределяет" и "выполняет"? Поскольку это может быть "от" неким полем в табличке "Заказы"... "До" отдельных таблиц со связями с заказом и другими таблицами... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 11:38 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulПремия выдаётся одна на отдел. Т.о. имеем следующую структуру (как вариант)... ОтделКодНазвание ПремияКодДатаСуммаКем назначена (код сотрудника)Код отдела okulДальше её распределяют руководители отделений. Это еще одна табличка... Распределение премииКодСуммаКод сотрудникаКод премии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 11:42 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
krvsa, По задаче: нужно разработать не всю базу данных, а хотя бы её часть, главное - предметная область:Руководство и наличие не менее 4х сущностей. Принимает и распределяет - действия руководителя. Соответственно они показаны связями от заказа к руководителю и от исполнителя к руководителю, отдельных таблиц под них не нужно. Выполняет - просто показывает процесс выполнения, т.е. что такой-то отдел выполняет такой-то заказ, без дополнительных свойств. Про дальнейшее распределение премии: хватит указать лишь то, что отдел получает премию, дальнейшее распределение несущественно. Надо организовать всё в рамках данных сущностей +-. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 14:56 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okul , тогда по "Заказу" можно сделать так: ЗаказчикКодНазваниеДругие поля... ЗаказКодДатаПринял (код сотрудника)Дата распределенияРаспределил (код сотрудника)Дата сдачи Далее еще вопросы: - заказ выполняет только один сотрудник? - что есть "наименование заказа"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 15:43 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulглавное - предметная область:Руководство и наличие не менее 4х сущностей Вроде по сущностям уже перевыполнили! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 15:44 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
krvsa, Заказ выполняют несколько сотрудников, но может и один. Наименование заказа - просто поле для массовки. Напр: исследование образца такого-то, разработка того-то. Связывать его ни с чем не нужно (ну кроме ID заказа, естественно) :) А с перевыполнением по сущностям.. главное, чтобы их количество не достигло десятка и более, а то сам потом запутаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2010, 20:42 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Переделал БД: Описание предметной области: Заказчик направляет заказы в научный центр. Руководитель научного центра принимает заказы и распределяет его по сотрудникам. Сотрудники выполняют заказ. Руководитель выдаёт премии различным отделам. Начальник отдела распределяют премию по сотрудникам отдела. Сотрудники получают премии. У одного заказчика может быть несколько заказов. Руководитель один, принимает и распределяет все заказы по сотрудникам. Заказ может выполнять один или несколько сотрудников, но один сотрудник не может выполнять более одного заказа (менее может) Руководитель выдаёт премии всем отделам: один отдел - одна премия. Ну или ноль. Затем начальник отдела(у каждого отдела он один) распределяет премии по сотрудникам. Одному сотруднику не более одной премии. Получилась вот такая ER-диаграмма: И вот такая структурная схема: Такое имеет право на жизнь или я опять везде накосячил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 05:55 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Написал простые запросы к одной таблице: SELECT ФИО FROM Сотрудники WHERE ID отдела = “3” SELECT * FROM Заказ WHERE Дата приёма=15.11.09 AND ID заказчика IS DISTINCT FROM '5'; Как синтаксис запросов? Всё верно? Нужны ещё 2 составных запроса, т.е с выборкой из нескольких таблиц.. Как можно реализовать такие запросы с помощью, например, конструкций JOIN..ON и UNION? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 07:02 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulЗаказ выполняют несколько сотрудников Значит нужна еще одна таблица ЗаказКодДатаПринял (код сотрудника)Дата распределенияРаспределил (код сотрудника)Дата сдачи ИсполнительКодДата началаДата окончанияКод заказаКод сотрудника okulНаименование заказа - просто поле для массовки. Напр: исследование образца такого-то, разработка того-то. Я ктому, что возможен справочник (еще одна таблица) по заказам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 09:37 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulили я опять везде накосячил? Увы... - В "Сотрудники" недопустимо поле "ИД исполняемого заказа" - В "Отдел" недопустимо поле "ИД премии" - В "Премия" недопустимо поле "Кому назначена (ИД сотрудника)". Премия назначается отделу, не сотруднику. Так ты писал ранее... - В "Должности" поле "Оклад" применимо только сильно упрощеной схеме... А пео запросам, желательно отталкиваться от т.с. насущных проблем... Например могут быть востребованы следующие запросы: - Какие заказы сейчас в работе - Какие заказы просрочены по выполнению - Отчет по работе сотрудников - Рейтинг по премиям - Штатное расписание сотрудников ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 09:49 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
krvsa, Как тогда назначается исполнитель? Из ID сотрудника в сотрудниках к ID сотрудника в исполнителе? Поле ID премии можно просто убрать из отдела.. Кому назначена (ИД сотрудника) - просто опечатка. Правильно - ИД отдела(туда и идёт связь) Усложнять схему не нужно - должна получиться как бы упрощённая часть базы данных. т.е оклад можно оставить как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 10:48 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Увы, с запросами тоже туго Как можно реализовать хоть что-то из предложенного? Какой синтаксис, функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 11:15 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulКак тогда назначается исполнитель? Так я же показал таблички... "Струдники" связываются с "Исполнитель" как 1:М... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 13:18 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
okulУвы, с запросами тоже туго Это уже в другой раздел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 13:19 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Уф.. вроде всё сдал. завтра вечером будет вердикт, и скажут, что нужно исправлять в остальных расчётах krvsa, Большое спасибо за помощь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 21:55 |
|
||
|
Оцените ER-диаграмму и стр. схему БД
|
|||
|---|---|---|---|
|
#18+
Заходи еще... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2010, 22:35 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37010735&tid=1542405]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 538ms |

| 0 / 0 |
