Руководство по созданию эффективных запросов



Download 17,08 Mb.
Pdf ko'rish
bet184/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   180   181   182   183   184   185   186   187   ...   210
Bog'liq
OptimizZaprvPostgreSQL

Рис. 13.2 

Как работает NORM
На этом рисунке модель A – модель приложения, модель D – модель базы 
данных, а модель T – 
транспортная
модель
. Наличие транспортной моде-


242

Как избежать подводных камней объектно-реляционного отображения
ли – уникальная особенность подхода NORM, которая делает отображение 
сим метричным
. Мы не пытаемся построить модель базы данных на основе 
модели приложения, как не настаиваем и на том, чтобы объекты базы дан-
ных создавались первыми. Вместо этого мы призываем заключить 
контракт
между уровнем приложения и базой данных, в том же смысле, в котором 
REST является контрактом для веб-служб. Контракт, или транспортная мо-
дель, представляет собой объект JSON. Контракт позволяет упростить долго-
временное хранение объектов путем их сериализации в объекты JSON, с ко-
торыми умеет работать база данных.
Таким образом, для сохранения объекта любой структуры и любой слож-
ности требуется только одно обращение к базе данных.
Аналогично, при извлечении из базы данных приложение может десериа-
лизовать полученный объект в свою модель, и для этого требуется только 
один вызов. Приложение может также передавать параметры, определенные 
как часть контракта, чтобы сообщить базе данных, что ему нужны дополни-
тельные части модели, как в запросах веб-служб OData.
Разработчикам приложений нравится упрощенная реализация уровня 
доступа к данным на стороне приложения. NORM использует контракт для 
определения входных и выходных данных каждого вызова базы данных. 
Это позволяет разработчикам приложений писать код, соответствующий 
контракту, и легко имитировать любые зависимости при тестировании, по-
скольку вызовы базы данных и полученный результат должны соответство-
вать контракту. Таким образом, после заключения контракта разработчики 
баз данных и приложений могут выполнять свои части работы одновремен-
но и независимо друг от друга. Более того, разные группы разработчиков 
приложений могут использовать один и тот же контракт для разных про-
ектов.
Что касается приложений, то все современные объектно-ориентирован-
ные языки имеют библиотеки для сериализации и десериализации объектов. 
При каждом новом взаимодействии с базой данных для реализации можно 
повторно использовать один и тот же шаблон.
Это позволяет разработчикам приложений тратить больше времени на 
проектирование структуры JSON, чтобы обеспечить ее соответствие текущим 
и будущим потребностям бизнеса. Повторное использование одного и того 
же шаблона взаимодействий также сокращает время реализации, уменьшает 
вероятность ошибок и позволяет минимальными изменениями кода повли-
ять на всю реализацию доступа к базе данных.

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   180   181   182   183   184   185   186   187   ...   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish