|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Здравствуйте Есть такая схема https://prnt.sc/sp9wfd dbo.Bus там находятся автобусы == Икарус == Маршрутка dbo.Driver Имена водителей IntercityBus автобусы дальнего следования TwoSectionBuses автобусы курсирующие в городе Weekend Это таблица где написаны праздничные дни месяца нерабочие Нарисовать схему БД и написать запрос на языке T-SQL, выводящий расписание для междугородных автобусов на выходные дни текущего месяца. К чему привязать таблицу Weekend или вообще оставить без связи ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 11:59 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii, ни одна из таблиц по смыслу не связана с таблицей Weekend. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:10 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Владислав Колосов, Именно не связанна ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:12 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Владислав Колосов,Получается оставить без связи и ссылаться на нее в запросах о входных днях ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 12:14 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Почему не объединить IntercityBus и TwoSectionBus в одну таблицу с полем-дискриминатором? На одном автобусе у тебя может ездить куча водителей, но разве не может один водитель ездить на разных автобусах? Смысл таблицы Bus какой вообще? Это какой-то конкретный автобус, или номер маршрута, или что? Мне кажется, что, просто, твоя схема, на самом деле, это говносхема :( ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 14:04 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii, замените Weekend на Календарь ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 14:21 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
fkthat, Таблица Bus там одно поле в котором написаны марки автобусов например Икарус номер такой то == Маршрутка номер такая то ну точно так же как и Таблица Driver только в место автобусов там имена водителей . Вопрос почему я не соединил эти 2 таблицы. У нас 3 разновидности направлений == Междугородные рейсы = пригородные и городские . Если создавать все в 1 таблице это вполне можно но тогда нужно добавить поле чтобы их различать а именно междугородный это рейс или пригородный. Чтобы не дублировать кучу одинаковых полей я решил разбить это на 3 таблицы по рейсам. https://prnt.sc/spgnam UrbanBas - городские маршруты IntercityBus - междугородные маршруты ShuttleBus - пригородные маршруты Спасибо всем за советы . Исправил название таблицы + КАЛЕНДАРЬ + и поставил связи многие ко многим между таблицами Водителя и Автобусов но Главный вопрос так и остался не выясненным что делать с таблицей календарь я думаю что ее так и оставить без связей. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 17:10 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
И еще вопрос В таблице Calendar должны быть все выходные дни с субботами и воскресениями или туда заносятся только простые праздники ? Я о том когда буду писать запрос как определять выходные субботу и воскресение через таблицу календарь или через функцию ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:00 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii, удобно сохранить в таблице и выходные, и праздничные дни. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 18:35 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii И еще вопрос В таблице Calendar должны быть все выходные дни с субботами и воскресениями или туда заносятся только простые праздники ? Я о том когда буду писать запрос как определять выходные субботу и воскресение через таблицу календарь или через функцию ? В интернете можно найти пример такой таблицы, с скриптом для её заполнения (потом, конечно, нужно вручную отметить праздники в соответствии с распоряжениями властей в конкретной стране). Тогда всё будет быстро для сервера, и удобно для программиста, без зубодробительных условий в запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 19:30 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
alexeyvg,Не дадите ссылку на такой пример я искал но что то не нашел == наверно не правильно задавал запрос в браузере ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 19:41 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii alexeyvg,Не дадите ссылку на такой пример я искал но что то не нашел == наверно не правильно задавал запрос в браузере http://blog.bitimpulse.com/post/2013/02/12/Date-and-Time-Dimension-Template.aspx https://www.sql.ru/forum/1097504/vuha-dlya-kalendarya https://www.sql.ru/forum/1071602/sozdanie-kalendarya https://www.sql.ru/forum/1203116/sproektirovat-kalendar-rabochih-dney ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 20:45 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
alexeyvg, ОО !! Большое спасибо . Теперь есть чем заняться ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 21:07 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii Главный вопрос так и остался не выясненным что делать с таблицей календарь я думаю что ее так и оставить без связей. Весь вопрос, что вы будете делать с данными, которые есть в "календаре" :) Если судить по представленной структуре баз, то он вам вообще не нужен. А так.. Обычно Календарь имеет связи с теми полями других таблиц, где хранятся даты, в случае необходимости учета выходных/праздничных/нерабочих и т.д. дней ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 21:13 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
godsql, . Требуется автоматизировать процесс назначения автобусов автопарка на маршруты. В автопарке есть расписание по дням какой автобус на какой маршрут назначен. Определённые автобусы могут быть назначены только на определённые маршруты. Например, междугородные автобусы назначаются только на междугородные маршруты, двухсекционные автобусы на маршруты по большим улицам и т.п. Нарисовать схему БД и написать запрос на языке T-SQL, выводящий расписание для междугородных автобусов на выходные дни текущего месяца. Вот у меня такое задание == хочется сделать красиво и правильно Если структура та что у меня не подходит то изменить ее не поздно . Главное понять свою ошибку . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 22:00 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Я хотел занести в таблицу == КАЛЕНДАРЬ == выходные все а потом через запрос сравнивая даты выходных дней из таблицы ++ КАЛЕНДАРЬ с датами рейсов у других таблиц выводить таким способом все рейсы в выходные дни или рейсы по направлениям. Но посоветовавшись я понял что мой метод наверно будет работать не столь быстро так как есть какие то более прогрессивные методы которые будут работать быстрее. Хотелось бы понять их алгоритм. И разобраться как это написать. . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 05:09 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii Определённые автобусы могут быть назначены только на определённые маршруты это бизнеслогика, она к структуре имеет вторичное отношение. Вы можете заложить ограничения и правила в структуру связей таблиц, но это не основной механизм управления бизнеслогикой. iivvvii Требуется автоматизировать процесс iivvvii написать запрос на языке T-SQL, выводящий расписание Выводящий или составляющий? Выводящий в каком виде? Таблички или будет интерфейс? Определите для себя как вы видите конечный результат. Это поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 08:11 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii godsql, . Требуется автоматизировать процесс назначения автобусов автопарка на маршруты. В автопарке есть расписание по дням какой автобус на какой маршрут назначен. Определённые автобусы могут быть назначены только на определённые маршруты. Например, междугородные автобусы назначаются только на междугородные маршруты, двухсекционные автобусы на маршруты по большим улицам и т.п. Нарисовать схему БД и написать запрос на языке T-SQL, выводящий расписание для междугородных автобусов на выходные дни текущего месяца. Все равно непонятно. Городить какую-то структуру ради запроса "выводящий расписание для междугородных автобусов на выходные дни текущего месяца"? В общем, рекомендую пробовать пройти стандартным путем разработки: 1. Определить задачи приложения 2. Определить работу бизинеслогики. 3. Разложить бизнеслогику на элементарные составляющие 4. Определить необходимое количество данных 5. Спроектировать таблицы и связи ну и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 10:55 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii Требуется автоматизировать процесс iivvvii написать запрос на языке T-SQL, выводящий расписание Выводящий или составляющий? Выводящий в каком виде? Таблички или будет интерфейс? Определите для себя как вы видите конечный результат. Это поможет.[/quot] Выводящий или составляющий = да какая разница лижбы понять как правильно это делать а кроме того подхода что я писал выше у меня нет других идей. Думаю сделать в виде таблицы. Конечный результат По заданию вывести в запросе в табличном виде все рейсы междугородние на выходные дни . ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 13:56 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Я программирую в основном на C# .NET = А сложные вопросы типа этого иногда меня ставят в тупик ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 14:00 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Приведите примеры данных, которые могут оказаться в Ваших таблицах, выложите скрины. Не все однозначно понятно по вашим атрибутам. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 18:15 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Fox Malder, https://prnt.sc/sq78vf https://prnt.sc/sq798t https://prnt.sc/sq79ky https://prnt.sc/sq79xj https://prnt.sc/sq7awb https://prnt.sc/sq7bqr https://prnt.sc/sq7cgw Возможно лучше обьединить 3 таблицы вместе маршрутов с полем которое будит их идентифицировать И вообще Не пойму зачем в таблицу Календарь заносить все дни не достаточно ли там одних выходных дней дат ? Или я чего то не понимаю https://prnt.sc/spgnam По заданию нужно найти выходные: Требуется автоматизировать процесс назначения автобусов автопарка на маршруты. В автопарке есть расписание по дням какой автобус на какой маршрут назначен. Определённые автобусы могут быть назначены только на определённые маршруты. Например, междугородные автобусы назначаются только на междугородные маршруты, двухсекционные автобусы на маршруты по большим улицам и т.п. Нарисовать схему БД и написать запрос на языке T-SQL, выводящий расписание для междугородных автобусов на выходные дни текущего месяца. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 19:56 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii, 1) Скорее всего имеется ввиду таблица не просто календаря, а производственного календаря. Официальную версию можно найти здесь : https://data.gov.ru/opendata/7708660670-proizvcalendar , скачать можно в формате csv, и после этого закачать себе в БД. Он седержит перечень выходных и праздничных дней. 2) Таблицы IntercityBus и остальные, это не Bus, это сущность маршрута. Значит их нужно свети в одну таблицу. Чтобы отделять один тип от другого добавьте колонку type, и сделайте для этой колонки таблицу - справочник тивов маршрута 1 - международный, 2 - междугородний, 3 - еще какой-то и т.д. Ведь иначе, если типы маршуртов буду расширятся, то с Вашей схемой устанете плодить таблички. А в приведенном варианте нужно добавить только одну строку с типом. 3) Связывать с календарем можно по полям Dute в таблице маршрута, и dat в поле календаря. 3а) Если в календарь закачаетее только данные из источника, значит у Вас там будут только выходные и праздничные. Занчит если даты dute и dat сопадают это нужная Вам выборка. 3б) Если в календаре будуе держать все дни, то, объединяя все дни, и данные из csv введите поле, которе будет флагом, указывающим какой это день рабочий или выходный. Сделайте как поняли, покажите структуру и данные, и продожим. Если что-то непонятно, пишите, отвечу. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 20:59 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
iivvvii, Смотрите, у вас вырисовывается следующие сущности, имхо: 1. Водители 2. Маршруты (внутри/междугородний/.., время и т.д.) 3. Транспортные средства ( тип, размер и т.д.) 4. Календарь (в принципе, можно заносить только праздничные/выходные, если у вас только 2 вида назначений, но обычно просто делают полный календарь) 5. Работа (Выезд?) : связь Маршрут -> ТС + Водитель -> дата;время 6. Ограничения, опционально ( например, автобусов на маршрут) 7. Работа водителей, опционально ( можно вытаскивать из т.Выезд, но выгоднее вести отдельный учет) 8. Доступность ТС для назначения на маршрут, опционально (скажем: Дата;ИД ТС;Состояние) 9. Назначение Водителей на ТС, опц. (ИД Вод; ИД ТС; ДатаНачала;ДатаОконч) Т.о. описанная задача будет сводится к : Запросить ТС, где ТС соответствует типу Маршрута и доступны, Водители которых доступны, не работают (из Работы) и соответствуют ограничению на нужные Календарные даты. При этом нужно учитывать, что ТС может быть больше актуальных Маршрутов (по типам), так и Маршрутов м.б. больше доступных соответствующих ТС. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2020, 22:09 |
|
MS SQL SERVER компановка таблиц
|
|||
---|---|---|---|
#18+
Fox Malder, https://prnt.sc/sqkf91 Схема https://prnt.sc/sqkgkx RoutessType https://prnt.sc/sqkhkr Routess https://prnt.sc/sqkhyq Driver https://prnt.sc/sqkjme Calendar https://prnt.sc/sqkjbd BusDriver https://prnt.sc/sqkixu Bus Скачал файл производственного календаря закачал его в менеджмент студио mssql https://prnt.sc/sqkkuk https://prnt.sc/sqkl4a Теперь осталось разобраться как с таблицей этой работать искал в интернете не нашел инструкций. Как я понял мне нужно из этой таблицы скачать выходные дни и праздники в таблицу Calendar Каким образом я не знаю так как то она слишком интересно сделана и непонятно что лежит в колонках с 14 по 18 В этой таблице в одной ячейке записаны даты всего месяца через запятую. Хотел бы сделать и как по заданию и с сохренинием выходных дней И с сохранением всех дней в таблицу . 2 вариата Для практики. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2020, 13:37 |
|
|
start [/forum/topic.php?fid=46&fpage=57&tid=1685991]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
188ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
98ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 616ms |
0 / 0 |