Preview

Открытое образование

Расширенный поиск

Антипаттерны в проектировании баз данных

https://doi.org/10.21686/10.21686/1818-4243-2024-6-67-21

Аннотация

Цель работы является адаптация метода антипаттернов для повышения эффективности обучения студентов направлений «Прикладная информатика», «Информационные системы и технологии», «Программная инженерия» принципам и техникам проектирования реляционных баз данных в рамках соответствующих дисциплин и практик.

Обучение проектированию баз данных является важной составляющей формирования специалиста-разработчика программного обеспечения. Совокупность принимаемых при проектировании решений должна опираться на общепринятые правила, принципы и рекомендации, а также на имеющийся опыт создания и эксплуатации информационных систем, трудновоспроизводимый в условия аудитории вуза.

Материалы и методы. Повысить эффективность обучения студентов проектированию баз данных позволит подход, ориентированный на концепцию антипаттернов – неудачных распространенных проектных решений. Понятие антипаттерна получило широкое распространение вслед за широким использованием понятия паттерна, то есть распространенного типового решения, вписанного в контекст решаемой проблемы. Как понятие паттерна, так и понятие антипаттерна первоначально были ориентированы на объектно-ориентированное программное обеспечение, но в дальнейшем получили признание во всех областях информационных технологий.

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

Результаты исследования. На основании учебной, научной и технической литературы и периодики, а также на основе анализа имеющейся практики проектирования информационных систем составлен и описан каталог распространенных антипаттернов проектирования реляционных баз данных. Примеры антипаттернов: «Винегрет имен», «Таблицы-дубли», «Ложная абстракция», «Неатомарные реквизиты», «Столбцы-дубли», «Изменение данных в рабочем порядке (временные поля)», «Параллельные связи», «Божественная таблица», «Спекулятивное изменение метаданных» и др.

При этом часть паттернов позволила проиллюстрировать общие принципы проектирования реляционных баз данных, например, такой как «Никакое изощренное программирование не способно исправить фатальные недостатки архитектуры».

Показано, что имеющиеся неудачные решения зачастую обусловлены определенными предпосылками, например, необходимостью выполнить hot-fix, то есть «временное» решение, или преждевременной попыткой повысить производительность системы, либо желанием получить некоторый отчет одним запросом, избежав лишних соединений и т.д. Помимо технических аспектов показана актуальность корректной и единообразной системы наименований, отсутствие которой затрудняет сопровождение и развитие системы и ведет к лишним затратам.

Предложенный подход был апробирован при обучении студентов дисциплинам «Базы данных», «Проектирование баз данных», «Архитектура информационных систем». Прошедшие обучение студенты улучшили понимание принципов и практик проектирования структуры баз данных.

Заключение. Применение предложенного каталога антпаттернов в учебном процессе вуза позволяет ускорить обучение молодых специалистов приемам проектирования структуры реляционных баз данных, избежать распространенных ошибок при создании информационных систем, а также повысить общую культуру проектирования.

Об авторах

С. М. Щербаков
Ростовский государственный экономический университет
Россия

Сергей Михайлович Щербаков - заведующий кафедрой информационных систем и прикладной информатики, д.э.н., доцент



К. Х. Калугян
Ростовский государственный экономический университет
Россия

Каринэ Хачересовна Калугян - кафедра информационных систем и прикладной информатики, доцент, к.э.н., доцент



А. В. Абрамова
Ростовский государственный экономический университет
Россия

Анна Вадимовна Абрамова - кафедра информационных систем и прикладной информатики, ассистент



В. Ю. Гречкина
Ростовский государственный экономический университет
Россия

Вера Юрьевна Гречкина - кафедра информационных систем и прикладной информатики, доцент



Список литературы

1. Харрингтон Джен Л. Проектирование реляционных баз данных. М.: Лори, 2006. 230 с.

2. Титовская Н.В., Титовский С.Н. Методика обучения будущих IT-специалистов проектированию и разработке баз данных на основе интерактивного подхода // Вестник Красноярского государственного педагогического университета им. В.П. Астафьева. 2019. № 4(50). С. 75–87. DOI: 10.25146/1995-0861-2019-50-4-164.

3. Яхина З.Т., Осипова А.Л., Ризаев И.С. Методология проектирования баз данных в процессе обучения // Образовательные технологии и общество. 2012. № 15(1). С. 525–536.

4. Ahmad R., Chyi W. A., Sarlan A., Kasbon R. Guiding novice database developers in database schema creation // IEEE Conference on e-Learning, e-Management and e-Services. 2015. № (9). С. 708–715. DOI: 10.1109IC3e.2014.7081243.

5. Александер К. Язык шаблонов. Города. Здания. Строительство. Пер. с англ. М.: Студия Артемия Лебедева, 2014. 1096 с.

6. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Паттерны объектно-ориентированного проектирования. Пер. с англ. А. Слинкин. СПб.: Питер, 202. 448 с.

7. Аллен Э. Типичные ошибки проектирования. СПб.: Питер, 2003. 224 с.

8. Аручиди Н.А., Калугян К.Х., Щербаков С.М. Типичные ошибки (антипаттерны) учебно-методической деятельности в вузе // Международный научно-исследовательский журнал. 2021. № 2(104). С. 13–18. DOI: 10.23670/IRJ.2021.103.2.033.

9. Калугян К. Х., Щербаков С. М. Типичные ошибки представления результатов выпускных квалификационных работ по направлению «Прикладная информатика» // Информатика и образование. 2016. № 5(274). С. 20–28.

10. William J. Brown, Hays W. «Skip» McCormick, Scott W. Thomas. AntiPatterns in Project Management. Wiley, 2000.

11. Кучерова К.Н. Анализ масштабируемости баз данных и их приложений на этапе проектирования. Системный анализ в проектировании и управлении // Сборник научных трудов XXI Международной научно-практической конференции: в 2-х томах (Санкт-Петербург, 29–30 июня 2017 г.). СПб.: Санкт-Петербургский политехнический университет Петра Великого, 2017. С. 287–292.

12. Ржавин В.В., Обломов И.А., Фадеева К.Н. Использование шаблонов проектирования реляционных баз данных в практике высшей школы // Современные наукоемкие технологии. 2022. № 10-1. С. 84–88. DOI: 10.17513snt.39351.

13. Davidson L. Ten common database design mistakes. RedGate Hub, 2007.

14. Vitacolonna N. Conceptual Design Patterns for Relational Databases. 17th International Conference on Information and Software Technologies (IT 2011), 2011.

15. Karwin B. SQL Antipatterns: Avoiding the Pitfalls of Database. Pragmatic Bookshelf, 2010. 333 с.

16. Blaha M. Patterns of Data Modeling. CRC Press, 2010. 266 с.

17. Кириллов В., Громов Г. Введение в реляционные базы данных. СПб.: БХВ-Петербург, 2012. 464 с.

18. Kimball R., Ross M. The Data Warehouse Toolkit The Complete Guide to Dimensional Modeling. 2nd Edition, John Wiley & Sons, New York, 2002. 464 с.

19. Брукс Ф. Мифический человеко-месяц, или как создаются программные системы. СПб.: Питер, 2021. 368 с.

20. Blaha M. Referential Integrity Is Important For Databases. Modelsoft Consulting Corp, 2005.


Дополнительные файлы

Рецензия

Для цитирования:


Щербаков С.М., Калугян К.Х., Абрамова А.В., Гречкина В.Ю. Антипаттерны в проектировании баз данных. Открытое образование. 2024;28(6):67-77. https://doi.org/10.21686/10.21686/1818-4243-2024-6-67-21

For citation:


Shcherbakov S.M., Kalugyan K.K., Abramova A.V., Grechkina V.Y. Antipatterns in Database Design. Open Education. 2024;28(6):67-77. (In Russ.) https://doi.org/10.21686/10.21686/1818-4243-2024-6-67-21

Просмотров: 138


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1818-4243 (Print)
ISSN 2079-5939 (Online)