1. SQL / Говнокод #11904

    −153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    create table ISU.Н_ЛЮДИ
    (
      ИД             NUMBER(9) not null,
      ФАМИЛИЯ        VARCHAR2(25) not null,
      ИМЯ            VARCHAR2(15) not null,
      ОТЧЕСТВО       VARCHAR2(20),
      ПИН            VARCHAR2(20),
      ИНН            VARCHAR2(20),
      ДАТА_РОЖДЕНИЯ  DATE not null,
      ПОЛ            CHAR(1) not null,
      МЕСТО_РОЖДЕНИЯ VARCHAR2(200),
      ИНОСТРАН       VARCHAR2(3) not null,
      ФИО            VARCHAR2(80),
      ДАТА_СМЕРТИ    DATE default '09.09.9999' not null,
      КТО_СОЗДАЛ     VARCHAR2(40) default USER not null,
      КОГДА_СОЗДАЛ   DATE default SYSDATE not null,
      КТО_ИЗМЕНИЛ    VARCHAR2(40) not null,
      КОГДА_ИЗМЕНИЛ  DATE default SYSDATE not null
    )

    Мопед не мой.
    PL/SQL, крупная организация.
    Oracle, зачем ты разрешил кириллицу в именах полей?

    Запостил: Miketsukami, 10 Октября 2012

    Комментарии (36) RSS

    • Дата смерти not null? Ну да, мы все умрем.
      Ответить
      • Ну да, а учитывая, что это код из универской системы начисления стипендий, можно сделать вывод о принадлежности кафедры философии к сему творению.
        Ответить
      • Может это таблица для морга? Хотя тогда дефолт не к месту.

        P.S. Н_ЛЮДИ - нелюди?
        Ответить
        • >Может это таблица для морга
          Вот cмотрю я на Н_ЛЮДИ и думаю.
          Ответить
        • >крупная организация.
          С этим словосочетанием у меня морг почему-то не ассоциируется. И непонятно, зачем нужен ИНН покойника.
          Ответить
          • > И непонятно, зачем нужен ИНН покойника.
            Заплати налоги, и спи спокойно.
            update ISU.Н_ЛЮДИ set КТО_ИЗМЕНИЛ='жена', КОГДА_ИЗМЕНИЛ='вчера' where ИД=100500
            Ответить
    • > КТО_СОЗДАЛ
      Иудейский б-г, в 4004-м году до нашей эры.
      > Oracle, зачем ты разрешил кириллицу в именах полей?
      Вопрос в самом деле загадочный. Но кириллица немного лучше, чем FAMILIYA или BIRF_DATE (вполне реальный случай). Единственный вменяемый недостаток - операторы-то не-кириллические, постоянно переключать раскладку. Так что придётся идти до конца путём 1-эс. Поехали, "ВЫБРАТЬ Таблица.ИД КАК ИД"...
      Ответить
      • В 3760 г. до Р.Х. Обо всём доложу вашему раввину.

        Есть же иврит английский.
        Ответить
        • Технически, это могло быть где-то 6 сентября 5509 года до н.э., если уж следовать византийской традиции.
          Ответить
    • create table ОПА.КАКИЕ_ЛЮДИ
      (
        КИСА_КУКУ NUMBER(9) not null,
        КАК_ЗАВУТ VARCHAR2(80) not null,
        КТО_ПАЖИЗНИ_ВОБЩЕ VARCHAR2(80) not null,
        С_КАКОВА_РАЁНА VARCHAR2(20) not null,
        ЗНАЕТ_КАБАНА NUMBER(3) not null,
        МЭЛОЧ NUMBER(10,4),
        СЭМКИ NUMBER(10),
      )
      Ответить
      • > ЗНАЕТ_КАБАНА NUMBER(3) not null
        многовато для булина
        Ответить
        • 3 значение это и есть Кабан
          Ответить
        • да/нет буквами
          Ответить
        • Процесс познания Истинной Сущности Кабана (tm) включает в себя много ступеней. По окончании выдается диплом магистра, подписанный лично Кабаном.
          Ответить
      • > ЗНАЕТ_КАБАНА
        Прочитал, как "ЗНАЕТ КАНБАН"
        Знание различных методологий эджайла стало обязательным для пацанчиков на районе.
        Ответить
    • "Друзья, таблица исторически для обучения студентов, ей лет 20-ть, ну решили ее использовать в рабочей системе, что такого :) Она еще до oracle на Rbase была по русски. ...кодеры, помните такой?"

      Комментарий тоже не мой :)
      Ответить
      • Нужно уметь вовремя расставаться со своим кодом. Особенно легаси-кодом.
        Потому что тогда было проще начать заново, чем сейчас. Сейчас разработчики этой штуки вроде бы и хотят изменить её, но понимают, что проще писать тонны документации и подставлять костыли, чем подготавливать гигабайтные дампы и форматировать их.
        Ответить
    • Зачем писать о том, в чем ничего не понимаешь?
      1.Где здесь автор увидел PL/SQL непонятно.
      2.Не вижу никаких проблем в использовании кириллицы в именах столбцов, которые автор называет полями.
      Искренне желаю автору, попасть на поддержку систему, терминов предметной области которой он не знает даже на русском.

      Вероятно, стоит попросить Людмилу Павловну о дополнительных занятиях, с базами данных у вас Артём явные проблемы.
      Ответить
      • >попасть на поддержку систему, терминов предметной области которой он не знает даже на русском.
        вы утверждаете, что это является аргументом в пользу кириллических имен?
        Ответить
      • Зря Вы так.

        PL/SQL - это оракловское расширение SQL. Вот уж не знаю, во всех ли диалектах SQL разрешены кириллические имена идентификаторов, потому указал конкретный диалект. Спецификации не читал.

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

        > Искренне желаю автору, попасть на поддержку систему, терминов предметной области которой он не знает даже на русском.
        Ну вот я, например, уже разобрался в электронном документообороте. Там я кириллические XML и парсил. Не самое приятное занятие.

        > Вероятно, стоит попросить Людмилу Павловну о дополнительных занятиях,
        Мы, кстати, уже обсуждали с ней этот легаси. Она-то прекрасно осознаёт, что от этого легаси хорошо бы отказаться, но система настолько громадно, что не знаешь, с какой стороны подступиться.
        За время работы этой системы в ИТ кардинально поменялись многие концепции.

        > с базами данных у вас Артём явные проблемы
        Сказанного выше достаточно, чтобы это опровергнуть.
        Ответить
    • >> PL/SQL - это оракловское расширение SQL. Вот уж не знаю, во всех ли диалектах SQL разрешены кириллические имена идентификаторов, потому указал конкретный диалект. Спецификации не читал.
      PL/SQL это процедурное расширение SQL и к DDL оно не имеет никакого отношения.

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

      >За время работы этой системы в ИТ кардинально поменялись многие концепции.
      Это не имеет никакого отношения к рассматриваемому вопросу.

      >Сказанного выше достаточно, чтобы это опровергнуть.
      Сказанное выше это лишний раз подтверждает.

      >вы утверждаете, что это является аргументом в пользу кириллических имен?
      Я утверждаю, что плюсов их использования во многих случаях гораздо больше, чем минусов.
      В данном же конкретном случае, автор считает возможным критиковать используемые подходы, ни капли не представляя, что это за система, как она разрабатывается и функционирует, при этом постоянно демонстрируя полное не понимание вопроса, о котором говорит.
      Ответить
      • > плюсов их использования во многих случаях гораздо больше
        Если человек на родном-то писать не может, пофиг, что он не сможет писать на английском, хинди или китайском. Плюс, русский язык мало подходит на самом деле для такой области. Все национальные решения - от бедности или скудоумия (на выбор).
        Ответить
      • Relation в Entity-Relation и Relation в Set Theory - это разные понятия, применяемые на разных стадиях создания БД.

        Не очень понимаю, чем вызвана такая злость. Меня просто удивила кириллица в именах идентификаторов не в 1С и позабавила дата смерти, а Вы так реагировать стали.
        Ответить
      • >Я утверждаю, что плюсов их использования во многих случаях гораздо больше, чем минусов.
        Какие же плюсы получает разработчик, который не понимает термины предметной области даже на русском (согласно вашему пожеланию для автора поста)?

        Я считаю, что для нетривиальных понятий нужно иметь словарь предметной области, включенный в документацию к коду приложения.

        >В данном же конкретном случае, автор считает возможным критиковать используемые подходы, ни капли не представляя, что это за система, как она разрабатывается и функционирует
        Добро пожаловать но говнокод!
        Ответить
      • Я желаю автору идеи использования кириллицы в именах объектов БД и коде следующего:
        1. Быть уволенным(ой) за то, что он(а) не смог(ла) быстро разобраться, например, в японских иероглифах в чужом коде (и комментариях к нему)
        2. Медленной и мучительной смерти
        Ответить
    • Несмело подняв голову, я встретился взглядом с бездонными светлыми изумрудными глазами. Я не мог ошибиться - это был взгляд, полный нежности, с небольшой усмешкой, но явно нежности.
      Ответить

    Добавить комментарий