Типовой сценарий использования ORM (ОРП)
На архитектурных картинках обычно рисуют красивые схемы по разделению слоев представления, бизнес логики и данных. Голубая мечта начинающего разработчика - использовать одну среду для разработки всех слоев и забыть про необходимость знаний реляционных СУБД, сведя их назначение к интеллектуальной файловой системе. Слово SQL (сиквел) вызывает негативные ассоциации, а уж про триггеры или процедурные расширения оного и говорить не приходится. И тут приходят добрые дяди, с книжками Фаулера и других полубогов под мышкой, заявляющие новичкам примерно следующее: "Парни, реляционные СУБД - пережиток эпохи 30-летней давности. Сейчас все строится на ООП. И есть чудесная штука - отображение с реляций на объекты (object relation mapping). Начните использовать ее и забудьте про жестокое наследие прошлого!"
Парни принимают предложение. Дальше эволюция разработки системы примерно следующая.
Разработка на основе моделей (Model Driven Development) с примерами использования PowerDesigner
В этой статье несколько оторвемся от вопросов проектирования конкретных структур в базах данных (см. "Проектирование баз данных: иерархические структуры. Деревья в SQL", "Проектирование баз данных: хронологические данные") и попытаемся воспарить на более абстрактный уровень модели предметной области, чтобы оттуда взглянуть на остро стоящие по сей день вопросы внесения изменений в процессе разработки.
Введение
Обзор средств объектно-реляционной проекции (ORM) для платформы .NET
Что такое ОРП (Object Relational Mapping - ORM), зачем и с чем его едят, обзор имеющихся на рынке продуктов для .NET.