На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Chow, Bas, MIF
Страницы: (4) 1 [2] 3 4  все  ( Перейти к последнему сообщению )  
> Правильная связь таблиц
    #SI#
    Да надоели уже студенты вусмерть... и все, как один, в пеной у рта - у меня реальная задача, я не халявщик... ага. А то, что ни одна приличная фирма не станет монтировать систему датчиков без аппаратуры управления и контроля, и плюс обязательно управляющий софт, в котором есть всё вышеописанное на профессиональном уровне, как-то забывается. Про то, что подобные системы вообще-то начинаются с серьёзного ТЗ на проектирование и, соответственно, проекта с миллионом согласований, что они создаются на годы и документируются по самое не могу, ибо за малый косяк можно на несколько лет загреметь в места не столь отдалённые - не, не слышали...

    При этом сами или вообще ничего не делают, или несут такую пургу, что сразу видно, чем занимались весь семестр вместо посещения лекций.
      Цитата Kitty @
      В таблице организаций - только названия организаций. Наверно оно должно быть уникальным?

      Не обязательно. Я бы выбрал фискальный код организации, они точно разные.
      Цитата Kitty @
      В таблице помещений - только названия помещений/или может уникальный номер помещения (ну и к примеру этаж где это помещение).

      Туалеты, подсобные помещения,коридоры на всех этажах уникальные - не уверен. Я думаю что их там несколько.
      Хотя Вы можете и установить такую уникальность для себя (номер коридора и сколько сантиметров от правого угла здания с севера).
      Цитата Kitty @
      В таблице датчиков - уникальный серийный номер датчика, в каком он помещении.

      В таблице датчиков все что касается датчиков (серийный номер, год выпуска,гарантия, фирма изготовитель,уникальный ключ(ваш внутренний id))

      И таблицы где все эти связи вместе датчики с помещениями, помещения с фирмами.

      Фирма переехала в другое помещение, вы только привязываете помещение с фирмой, а датчики сами с фирмой свяжутся (ели они там есть)
      Сообщение отредактировано: Bas -
        ExpandedWrap disabled
          Да надоели уже студенты вусмерть... и все, как один, в пеной у рта - у меня реальная задача, я не халявщик... ага.


        Да не студентка я! #SI#, подтвердит, он меня давно знает. :)
        На форуме не была пару лет.
        Давно с базами дела не имела. Мне при наличии правильной структуры БД довольна просто написать к ней интерфейс на С++ Builder. А вот "родить" структуру БД трудно, мучительно трудно. :yes:
        Bas, спасибо.

        Буду пробовать применить все рекомендации из этой темы.
        Сообщение отредактировано: Kitty -
          Kitty в любом случае я рекомендовал бы пойти по следующему пути.
          есть три сущности
          Организации
          -ID организации
          -поля описывающие организацию
          Помещения
          -ID помещения
          -поля описывающие помещение

          Приборы (датчики)
          -ID прибора
          -поля описывающие прибор

          есть связи
          Арендует помещение
          -ID организации
          -ID помещения
          -Дата с
          -Дата по

          Установлен в помещении
          -ID помещения
          -ID прибора
          -Дата с
          -Дата по

          Плюсы - удалять ничего не надо. Надо проставить дату окончания владения/аренды. Удалять такую информацию в корне не верно. В "промышленных" учётных системах это договор, который нельзя удалять ни за какие коврижки. Он должен быть в архиве.
          Автоматом сохраняется история по помещению/датчику. Даже если препод не сказал сразу что она нужна - всегда может спросить "а как ты докрутишь ее".

          Что в такой структуре значит "прекратил аренду" - нет связи "Арендует помещение" на дату между организацией и любым помещением. То есть пользователь в интерфейсе к ПО (никак не администратор бд) должен указать что дата окончания аренды - Х

          Та же самая логика с датчиками (приборами) Установка их никак не связана с "арендой". В реальной жизни установка или замена осушествляется на основании договоров. Следовательно удалять что куда было установлено/перемещено никак нельзя.

          Еще раз повторю просьбу - нарисуйте ER диаграмму.
          Потом ,как нарисуете, примените к сущностям алгоритмы нормализации ;)


          Добавлено
          Цитата Bas @
          Не обязательно. Я бы выбрал фискальный код организации, они точно разные.

          Для одной организации может быть больше одного кода за период времени. Только "сурогатный ключ"

          Цитата Kitty @
          Да не студентка я!
          А подход к задаче как у студента двоешника ;)
          Сообщение отредактировано: Павел Калугин -
            Цитата Kitty @
            Да не студентка я! #SI#, подтвердит, он меня давно знает. :)
            Подтверждаю! :yes:
            Скрытый текст
            Леночка! :rose:


            Добавлено
            Цитата Павел Калугин @
            А подход к задаче как у студента двоешника
            Паша! Слазий в оракловый раздел. Почитай мои темы с начала прошлого года. Скажешь то же самое. А мне, всего-навсего, подсунули древнюю оракловую базу с оболочкой на 97-м Акцессе без единой строчки документации.
              Цитата Павел Калугин @
              Для одной организации может быть больше одного кода за период времени.

              Зависит от законодательства. У нас ,сейчас, не может быть у одной организации два INN или IDNP.
              Цитата Павел Калугин @
              Только "сурогатный ключ"

              Уже обсуждали,Сурогатный или естественный ключ, Продолжение
              Однозначная идентификация записей в, таблице, но не PK.
                Цитата Bas @
                У нас ,сейчас, не может быть у одной организации два INN или IDNP.

                У вас - это в какой стране?
                У нас в одном здании сидит несколько организаций, имеющих один ИНН. Все - самостоятельные филиалы без формирования отдельного лицевого счёта (все расчёты идут через свой РКЦ), посему ИНН ровно тот же, что и у головной организации. Кстати, владелец здания тоже имеет тот же ИНН... и, что забавно, сам в этом здании не сидит. И у эксплуатирующей организации, тоже в этом здании не сидящей, тот же ИНН. Вот какие мы забавные...
                А вот КПП у всех разные.
                  Цитата Bas @
                  Зависит от законодательства. У нас ,сейчас, не может быть у одной организации два INN или IDNP.

                  Одновременно не может. А при перерегистрации или реорганизации еще как может... ;) А дальше от бизнеслогики зависит после перерегистрации это абсолютно новая организация или таже но с новым ИНН
                  Ну и про "филиалы" под одним ИНН Akina верно пишет

                  #SI#, ну так убеди Леночку не с шашкой наперевес create table махать сразу, а на бамаське порисовать структурки. Благо задача копеешная и тетрадного листка хватит варианта на 3-4. ;)
                    Цитата Akina @
                    У вас - это в какой стране?

                    Молдова.
                    Цитата Павел Калугин @
                    Ну и про "филиалы" под одним ИНН Akina верно пишет

                    Филиалы имеют ИНН как и у головного, но названия разные и имеют код местности (присвоенный налоговой, у головного это 000).
                    Расчеты ведут через РЦ головного офиса.
                    Ключ может быть Наименование+ИНН , ИНН+код местности.

                    Добавлено
                    Kitty,в одном помещении могут находиться много фирм? Арендуют по два квадратных метра, чтобы стол поставить.
                    Сообщение отредактировано: Bas -
                      Цитата Павел Калугин @
                      #SI#, ну так убеди Леночку не с шашкой наперевес create table махать сразу, а на бамаське порисовать структурки

                      Она ж честно написала:
                      Цитата Kitty @
                      "родить" структуру БД трудно, мучительно трудно

                      Господа, судя по вашим вопросам, задачка таки совсем непростая...
                        Цитата Bas @
                        Ключ может быть Наименование+ИНН , ИНН+код местности.

                        Если в законодательном акте однозначно обусловлена уникальность некоей комбинации - да. Иначе - нет, синтетический ключ и, если прёт, требование уникальности.

                        Цитата #SI# @
                        судя по вашим вопросам, задачка таки совсем непростая...

                        Если делать через опу - конечно, непростая! А если по науке - то там нехрен делать вообще! Но мы ж птицы гордые, теорий изучать не желаем и анализ проводить не будем, а поскольку высасывание структуры из пальца не сработало - мы создадим тему, подначим пару знающих, и нам всё сделают без всяких там наук и теорий...
                          #SI# задача тривиальная. Решается в два притопа три прихлопа. Собственно львиная доля решения уже изложена выше.
                          Параллельно опять поднят спор про естественные и суррогатные ключи ;)
                            Цитата
                            Kitty,в одном помещении могут находиться много фирм?


                            Одна.

                            Цитата
                            то там нехрен делать вообще!


                            Поэтому надеялась на помощь. Знала, что для гуру это 5-ть минут.

                            Цитата
                            мы создадим тему, подначим пару знающих, и нам всё сделают без всяких там наук и теорий...


                            Да, тему создавала для знающих людей. Нарушила правила, удалите Вы эту тему и всех делов.
                            Сообщение отредактировано: Kitty -
                              Скрытый текст
                              Бабы! Заткни уши!!! ............................................. © к/ф Председатель

                              Ещё раз повторяю - сам попал в такую же ситуацию полтора года назад. Разница с этим разделом в том, что ораклоиды на форуме - люди спокойные и вежливые.
                              ---
                              А ещё иногда элементарно не хватает времени...
                              Сообщение отредактировано: #SI# -
                                2 #SI#
                                И много там у ораклистов нерадивых студентов? да полтора в год от силы, включая тех, кто решил на работе до кучи его освоить, ибо под рукой есть, грех не воспользоваться. И ещё полтора - начинающие. Кстати, даже среди таких - большинство не скажет "не нужна мне теория, мне сделать и забыть".

                                Плюс ещё одно. Я понимаю, когда в теме сходу заявляется "СУБД - Оракл, без вариантов" - это означает, что Оракл уже имеется физически, и всё по-взрослому. Но когда аналогично озвучивается постгресс/файрбёрд/мускул/мсде, сомнения у меня просто-таки чешутся... как человек, который в базах данных ну вообще ни ухо ни рыло, сделал такой уверенный выбор? да элементарно - в 99% случаев это выбор преподавателя (и зачастую потому, что с другими диалектами у того явные проблемы).
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (4) 1 [2] 3 4  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0963 ]   [ 16 queries used ]   [ Generated: 26.04.24, 03:44 GMT ]