Нарушает ли СУБД ООП - PullRequest
       53

Нарушает ли СУБД ООП

0 голосов
/ 04 января 2019

Я хочу спроектировать ООП с существующей базой данных. У меня есть заголовок, детали, связывающие таблицы, хранимый процесс, который извлекает и вычисляет из множества таблиц, а также агрегирует и т. Д., Запутался, как преобразовать все беспорядок в ООП?

1 Ответ

0 голосов
/ 04 января 2019

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

Этот метод Object-Relational Mapping (ORM) .Существует стандартный набор шаблонов и методов, которые используются в ORM, которые могут легко преобразовать данные RDB в ООП и наоборот, но конкретные методы выходят за рамки этого поста.Кроме того, Шаблоны корпоративной архитектуры имеют очень важный список методов для преодоления разрыва между реляционными данными и ООП, включая:

На практике эти методы настолько распространены, что многие языкиили популярные фреймворки уже кодифицировали эти шаблоны, избавляя от необходимости вручную реализовывать их в проекте.Например, в Java есть Java Database Connectivity (JDBC) и Spring JDBC .Конкретная структура и инструменты будут зависеть от языка, но большинство современных языков имеют инструменты отображения базы данных (особенно реляционной базы данных), которые устраняют необходимость в написании утомительных процедур для извлечения и хранения данных.Если вам интересно, есть список (хотя и не полный) ORM по языкам на Список программного обеспечения объектно-реляционного отображения .


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

...