Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
17.03.2022
Размер:
124.4 Кб
Скачать

Практическиезанятия СПО

#6.Многопользовательский доступ к данным, типовыепроблемы.

Д/з для закреплениятемы.

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

Справочно. Типовыеслучаи часто встречаются при пренебрежении нормальными формами во время проектирования структуры таблиц. Например, это поля- «счётчики», таблицы-аггрегаторы данных, таблицы«суперобъектов» (хранящих верхнийродительский классвиерархии наследования) и другие похожие варианты так наз. «бутылочных горлышек» при доступе кданным.

На основе любой реляционной клиент-серверной СУБД требуется показать пример «неправильно» спроектированной таблицы и 1-2SQL-операции обращения кней, которые при массовом выполнении приводили бы ксущественному увеличению блокировоки очередей. Затем предложить способ устранения этой проблемы (добавлением другой таблицы, перестройкой структуры полей, добавлением вспомогательных элементов - индексов, джобов и др.)

Вотчёте приложить тексты DDLи SQLконструкций, а также краткое словесное описание иллюстрируемой проблемы.

Вкачестве отладочного стенда можно использовать доступные online-средства («песочницы») для работы сБД,например sqlfiddle.com

Вспомогательные материалы

https://en.wikipedia.org/wiki/Concurrency_control – общие сведения о механизмах контроля конкурентного доступа кданным

https://habr.com/ru/post/121858/ – краткий обзорный материал о транзакциях, конкуренции и несколькоанти-примеров (ошибокпроектированиятаблиц)

https://www.ozon.ru/context/detail/id/7598812/ – книга «Программирование базданных SQL.

Типичные ошибки и их устранение». Б.Карвин, 2012

Инструменты для онлайн-экспериментов сСУБД (бесплатные):

http://sqlfiddle.com/ – онлайн-песочница для работы сБД

http://sqlfiddle.com/#!9/a6c585/1– пример работы сMySQL

https://www.db-fiddle.com/

https://extendsclass.com/postgresql-online.html#