Ответы пользователя по тегу Базы данных
  • Как создать представление с группировкой соседних строк?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Процедура? :)
    Ответ написан
  • Как хранить text в БД?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго.

    Конечно, первый вариант. Остальные можно рассматривать только если уж хочется ну идеальнейшей оптимизации, но.

    1. Эти поля у вас наверняка в запросах участвовать не будут, ни индексов, ни оптимизации им просто не нужно.
    2. На выборку данных из них, если она все же потребуется, например, для создания описания базы, нужны будут запросы похитрей. На их создание и на реализацию всего, кроме первого варианта - потребуется время, которое лучше пустить на разработку базы
    3. Все эти хитрые запросы не будут восприняты ни одной системой автоматической генерации описаний.
    4. Вряд ли описания настолько часто совпадают и их настоль много, что оптимизация их ускорит выборку.

    В общем, овчинка выделки не стоит, коллега.
    Ответ написан
    Комментировать
  • Как хранить оценки комментариев пользователями?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Я бы развел в два разных поля, если уж желается максимальной производительности. Тогда понять, сколько за, сколько против - простой суммой можно будет, да. Но если со всей прямотой - можно и в одном поле типа инт хранить оба типа, пренебрежимо мала будет разница. Хранить сумму не надо, ее дешевле посчитать. За: 1, против -1, нормально.
    А вот дальше - ну, как минимум пригодится айпишник, чтобы одному не давать голосовать несколько раз, да? Еще одно поле.
    Если есть необходимость хранить данные их соцсетей, а сейчас модно хранить вообще все про юзера, то еще поле под ссылку на соцсеть и второе - на тип этой сети. Итого:

    rid (Pkey), u_vote, u_ip, u_soc_net, u_soc_net_type.

    Индекс только на поле u_vote в рамках данной задачи. Если нужна будет выборка по соц.сетям - то индекс на тип соцсети.
    Ответ написан
    4 комментария
  • База данных Microsoft не может найти объект,почему?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Повредиться база акцесса может отчего угодно, увы. Бекапить надо.
    Помочь может следующее:
    1. Создаете новую базу акцесса.
    2. Правой кнопкой или в меню импорта - импортировать таблицы.
    3. Указываете путь к этой вашей поврежденной базе.

    Если сам акцессс что-то найдет - то покажет, что найдено.
    Ответ написан
    Комментировать
  • Какой подход к проектированию базы данных выбрать?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    То, что голова идет кругом - вернейший признак того, что нет бизнес-требований. В идеале, за такую базу не нужно браться вообще - это прямой путь к увольнению. "Вот нам надо было, а Павел сделал все не так, а нам надо было так!"

    Ну и попытка объять необъятное тут. Мега-учет в одно лицо? Не надейтесь справиться, никто это в одиночку не делает. Вот это все "количество сотрудников в комнате", "количество лифтов" - крайне сомнительно, что это вообще нужная информация.

    Мои рекомендации: сесть и спокойно подумать о чем-то другом. Пару дней. Понять реальные требования в их минимальном масштабе. Конкретизировать их. Не спешите думать о структуре.

    Нужен учет сотрудников в организации - это уже отдельная база данных. Нужен учет материальных средства - это еще одна отдельная база данных. И так далее.
    И заметьте - на рынке есть решения этих вопросов, но нет монополиста и есть масса самописных решений. Это о чем говорит? Еще раз о том, что универсального решения нет, но есть методы для _конкретных_ задач.
    Ответ написан
    1 комментарий
  • Как создаются внешние ключи при работе с моделью БД?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Само ничего не образуется. Смысл ключей в дополнительном контроле и как что контролировать - определяет разработчик.
    Мое мнение - ключи обязательно должны быть. Иной дурак отключает их, ссылаясь на то, что без них быстрей, но это ровно до первого раза, когда у него в таблицах образовывается прелестная смесь из левых и правых данных.

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

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    То, что у вас делает запрос, означает следующее:

    Для поля STAMP
    возьми значение из поля [NotifyManagerTimestamp]
    Поэтому и ошибка. Вам о ней и пишут: поле такое не найдено. Если вы хотите использовать переменную, то это вот так: @NotifyManagerTimestamp
    Ответ написан
    3 комментария
  • SQL, кто либо может помочь?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Если полная модель восстановления - то все можно. Надо как можно быстрей сделать бекап лога в восемь разных мест. Откуда уверенность, что ldf не поврежден? Он лежал на другом диске? Как повредился mdf?
    Размер базы какой, что именно нужно вытянуть, ее всю или ограничиться какими-то таблицами? Мало информации, стоит изложить поподробней.
    Ответ написан
    Комментировать
  • Как исправить ошибку с сервером OLE?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Она ведь не сама по себе появляется, правда? Т.е вы как минимум открываете форму
    Что показывает эта форма в дизайнтайме? Какие ссылки видны в references?
    Ответ написан
    Комментировать
  • Как создать форму с отображение информации в поле при изменении поля со списком?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Рыбу я не дам, дам удочку.
    Обновление одного - это событие. Alter Update
    Соответственно, в это событие следует написать присвоение/обновление данных для второго элемента.
    Данные селектом получить можете? Вот и присваивайте этот набор записей текстовому полю.
    Ответ написан
    Комментировать
  • По какой из этих книг лучше изучать БД?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Начинать крайне рекомендовал бы по Груберу, "понимание SQL"
    Простая, с хорошими примерами - но только надо брать бумажную, вычитанную, в сети гуляет версия с кучей опечаток.
    Ответ написан
    Комментировать
  • Архитектура базы данных как сделать лучше?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    хранить в полях значения через запятую и парсить их налету - суть устилание пола граблями. Добавьте таких строк пару миллионов и попробуйте сделать выборку. Даже объяснять ничего не надо будет, грабли сами прилетят и все растолкуют.
    Ответ написан
    Комментировать
  • Приведение таблицы с ценами к 3 нормальной форме?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Все поля интовые и флоат? Не надо ничего нормализовывать, у вас и так все хорошо. Индексы по нужным запросам и все.
    Ответ написан
  • Как организовать мониторинг изменения уровня прав пользователя в MSSQL Server?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Конечно, можно. Почитайте про триггеры DDL.
    Ответ написан
    Комментировать