• Как повлияет отключение контроллера домена на пк юзеров в локалке?

    akelsey
    @akelsey
    1. Есть такое понятие время кэша, если пользователь уже входил на компьютер под своим именем и контроллер был доступен, то кратковременное выключение КД он не заметит. Новый же войти не сможет.
    2. Да интернет ему не нужен
    3. Нет, для этого требуется отдельный продукт, как правило прокси сервер.
    Ответ написан
    3 комментария
  • Какова производительность MS SQL Express 2012?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    Ваш база данных (~500МБ) поместиться в ОЗУ целиком на любом компьютере. Ваши пользователи нагрузят SQL-сервер минимально. В преддверии выхода SQL 2019 не стоит использовать 2012. Многие дополнения работают начиная с версии 2016.
    о каких дополнениях идёт речь?
    Сравнение версий Microsoft SQL Server.
    Ответ написан
    5 комментариев
  • При каких случаях необходимо прописывать транзакции в базе данных?

    @rPman
    Транзакция - это возможность объединить несколько ваших запросов в один, в пределах которых возможен откат состояния базы до ее начала, причем исключительно в пределах записываемых данных.

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

    Или только если у вас есть многопользовательский доступ к данным, точне. у вас возможен одновременный доступ к базе из разных сессий. Т.е. можно пожертвовать целостностью структуры базы на случай сбоя (например учитывать такую возможность при чтении данных) за счет заметного ускорения ее работы, если у вас только один пользователь и одно подключение к БД в любой момент времени.

    Еще есть момент, если вы изменили базу в пределах транзакции и до ее завершения делаете запрос, включающий эти данные - то если такой запрос сделать вне транзакции (соседняя сессия например) то ваших измененных данных он не увидит, а внутри транзакции - увидит.

    Не всегда имеет смысл городить транзакции (они дорогие с точки зрения затрат ресурсов БД), иногда достаточно блокировок, т.е. перед началом записи вы блокируете доступ ко всей таблице (это можно делать в не транзакционной базе) или даже к отдельным полям, и другие сессии, при попытке прочитать/изменить их будут приостановлены до разблокировки.

    Сама связность данных конечно подразумевает что нужен контроль целостности но оно не обязательно, вы можете заложить в коде возможность неполного заполнения данных об объекте и следить за порядком изменения этих данных. Например вы сначала добавляете запись в таблицу 'родители', с количеством детей 0, затем добавляете в таблицу 'дети' запись об их детях, т.е. вместо одной транзакции у вас независимые две, в любой момент структура верна но между записями информация о детях родителей неверная (родители есть а детей нет), это очень короткий момент и он точно не актуален если у вас всего один пользователь, пока он меняет информацию, никто другой не будет читать эти неверные данные.
    Ответ написан
    1 комментарий
  • При каких случаях необходимо прописывать транзакции в базе данных?

    mad_maximus
    @mad_maximus
    1. Если идет вставка в 2 или более таблиц одновременно.
    2. Если идет выборка и потом вставка в зависимости от условий.
    3. При любых операциях, сложнее одного селекта, одного инсерта или одного апдейта.
    Ответ написан
    1 комментарий
  • При каких случаях необходимо прописывать транзакции в базе данных?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Всегда нужно использовать транзакции
    Ответ написан
    1 комментарий
  • Добавление записей в доп. таблицу, имеющей связь с основной таблицей?

    @Free_ze
    Пишу комментарии в комментарии, а не в ответы
    var newPerson = new People {
       //Id = model.Id,
       Name = model.Name,
       Treatment = new Treatment {
            //...
       },
    };
    
    dbCcontext.People.Add(newPerson);
    dbCcontext.SaveChanges();
    Ответ написан
    5 комментариев
  • Добавление записи в главную таблицу базы данных SQL?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Вторая таблица Обращения, состоит из следующих столбцов: id_обращения,
    Добавьте столбец id_человек
    Главная таблица- (Люди),где столбцы: ФИО, Дата рождения, id_Обращения.
    Удалите столбец id_Обращения

    А как потом реализовать добавление?
    На форме ввода "Обращение" ComboBox для выбора id_chelovek и поля ввода для других столбцов.
    Ответ написан
    3 комментария