Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите проработать логику базы 
:(
    Опции темы
zvyagaaa
  Дата 16.8.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Здравствуйте, гуру. Решил обратиться к вам за советом, т.к. в базах данных только-только начинаю делать первые шаги.
Есть следующая задача. Я ее нарисовал в визио.
user posted image
В общем, дело в следующем. Мне нужно в базе данных описать проключение кабелей в распределительной коробке. Для этого я создал базу данных, в ней таблицы Cable ( кабели) и Fibers (волокна) Схема логики такая.
 user posted image
Я сделал два поля в таблице Fibers  Fibers_Id_Connection_* в которое я думаю писать Fibers_Id того волокна, которое соединяется с текущим волокном. Например, в волокне №1 Кабеля №1 я должен в одном из  Fibers_Id_Connection_ прописать Волокно №2 Кабеля №4. Почему  Fibers_Id_Connection_ 2 шт? Потому что у кабеля 2 конца. 
Вопрос в чем? Во-первых, не совсем понятно мне как можно сделать триггер, который бы после апдейта текущей записи бы прописывал номер волокна в текущем волокне, и номер текущего волокна в соединяемом волокне так, чтобы не было зацикливания. Во-вторых, может быть кто-то уже сталкивался с подобными задачами и решил их более красиво? И в-третьих, ну совсем не понятно, как объяснить приложению какой конец №1 и какой конец №2 у одного волокна. :( В-общем, я уже запутался и вторую неделю не могу сдвинутся с места.
Заранее всем откликнувшимся спасибо.
ПС саму базу данных хочу делать в firebird, т.к. уже некоторый навык и литература по этой СУБД имеется.


Это сообщение отредактировал(а) zvyagaaa - 16.8.2009, 17:51
PM MAIL   Вверх
Akina
Дата 16.8.2009, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Для чего делается БД? в зависимости от её назначения структура будет различной...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
zvyagaaa
Дата 17.8.2009, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



для волоконно-оптических кабельных систем.
Хотя я не совсем понимаю, какая зависимость от сферы применения у базы. У базы в целом - да. У конкретной таблицы, с которой у меня затык - я думаю, что нет такой уж сильной зависимости. Картинку со смысловой конструкцией что надо отобразить в таблице - я привел. 
PM MAIL   Вверх
Gluttton
Дата 17.8.2009, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 10
Всего: 54



Цитата

Хотя я не совсем понимаю, какая зависимость от сферы применения у базы. У базы в целом - да. У конкретной таблицы, с которой у меня затык - я думаю, что нет такой уж сильной зависимости.

А вот и нет, точнее да smile - зависимость самая прямая.
Зачем нужна БД? Для того что бы описывать одну единственную распределительную коробку? Если да, то создание БД в этом случае - это из пушки по воробъям... А если с помощью одной БД необходимо описывать несколько распределительных коробок, то можно добавить в БД таблицу "Распределительная коробка".

Цитата

как объяснить приложению какой конец №1 и какой конец №2 у одного волокна

Как вариант, в таблице FIBER, можно хранить данные FIBER_START, FIBER_FINISH, а к какой коробке, какой конец будет подключаться, либо задавать "вручную" (в зависимости от логики) при создании каждого подключения, либо например начало всегда подлючать к коробоке с меньшим (большим) номером, либо если коробки имеют различный статус то в зависимости от него.


--------------------
Слава Україні!
PM MAIL   Вверх
Akina
Дата 17.8.2009, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Таблица локаций.
Таблица коробок, с указанием локации.
Таблица соединения коробок (таблица кабелей).
Таблица волокон, с указанием кабеля.
Таблица сварки волокон.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
zvyagaaa
Дата 17.8.2009, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Gluttton
Блин, ну таблицу коробок я может быть и сделаю, а вот что с соединениями-то надо? Про остальные таблицы я вопроса не задавал.
Akina Вот таблицу сварки волокон как лучше реализовать? В принципе, у меня все остальные таблицы уже есть. Кстати, я у вас почерпнул очень, ну очень, мудрое зерно в описании таблиц. Сначала мне показалось, что у меня то же самое, но на самом деле, у вас это как-то логичнее что ли.
PM MAIL   Вверх
Akina
Дата 17.8.2009, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 13
Всего: 454



Цитата(zvyagaaa @  17.8.2009,  09:47 Найти цитируемый пост)
таблицу сварки волокон как лучше реализовать? 

ИД точки сварки
ИД первого волокна
ИД второго волокна
Тип соединения

или 

ИД точки сварки
ИД волокна
Тип соединения

Зависит от того, какие типы запросов к БД будут более востребованы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.