Модель базы данных "1С:Предприятия", с которой работает разработчик прикладного решения, имеет ряд особенностей, отличающих ее от классических моделей СУБД (например, основанных на реляционных таблицах), с которыми имеют дело разработчики в универсальных системах.
Разработчик прикладных решений работает непосредственно с платформой "1С:Предприятие", при этом он может:
-
описывать структуры данных в конфигураторе;
-
манипулировать данными с помощью объектов встроенного языка;
-
составлять запросы к данным.
Соответствующий программный слой ядра платформы "1С:Предприятия" обеспечивает операции исполнения запросов, описания структур данных и манипулирования данными, транслируя их в соответствующие команды MS SQL Server для клиент-серверного варианта или в команды собственного механизм управления базой данных для файлового варианта.
Объектный и табличный способы доступа к данным
Штатной возможностью "1С:Предприятия" является поддержка двух способов доступа к данным – объектного (для чтения и записи) и табличного (для чтения). Разработчик прикладного решения может манипулировать объектами, хранящимися в базе данных и ссылками на эти объекты, а также обращаться к данным, используя табличную парадигму.
-
В объектной модели разработчик оперирует объектами встроенного языка. В этой модели обращения к объекту, например, документу, происходят как к единому целому – он полностью загружается в память, вместе с вложенными таблицами, к которым можно обращаться средствами встроенного языка как к коллекциям записей и т.д. При манипулировании данными в объектной модели "1С:Предприятие" обеспечивает сохранение целостности объектов, кэширование объектов, вызов соответствующих обработчиков событий и т.д.
-
В табличной модели все множество объектов того или иного класса представляется как совокупность связанных между собой таблиц, к которым можно обращаться при помощи запросов – как к отдельной таблице, так и к нескольким таблицам во взаимосвязи.
Единая со средой разработки система типов данных
Это важное отличие предметно-ориентированной платформы "1С:Предприятие" от универсальных инструментальных средств. При создании бизнес-приложений с использованием универсальных сред разработки, как правило, используются отдельно поставляемые СУБД. Соответственно, разработчику приходится постоянно заботиться о преобразованиях между типами данных, поддерживаемыми той или иной СУБД, и типами, поддерживаемыми языком программирования. В "1С:Предприятии" реализована сквозная система типов — разработчик одинаковым образом определяет поля базы данных и переменные встроенного языка и одинаковым образом работает с ними.
Поддержка полей с составными типами
Очень существенная возможность модели данных, которая поддерживается "1С:Предприятием", состоит в том, что для поля базы данных может быть определено несколько типов данных, которые в нем хранятся. При этом значение в каждый момент времени будет храниться одно, но оно может быть разных типов – как ссылочных, так и "примитивных" – число, строка, дата и т.п. Такая возможность очень важна для экономических задач – например, в расходной накладной в качестве покупателя может быть указано либо юридическое лицо из справочника организаций, либо физическое лицо из справочника частных лиц. Соответственно, при проектировании базы данных разработчик может определить поле, которое будет хранить значение любого из этих типов.
Поддержка табличных частей объектов
Эта штатная возможность "1С:Предприятия" позволяет эффективно и легко поддерживать весьма распространенный в экономических задачах способ организации данных и описывать документы и справочники с табличными частями, например, с товарным составом расходной накладной.
Механизм динамической выборки
В системе реализован эффективный механизм динамической выборки, обеспечивающий просмотр больших списков, которые нельзя считать в память целиком, при минимальном количестве обращений к базе данных. Это необходимо, например, при организации интерактивной работы пользователя с большими справочниками или списками документов. При этом не используются устаревшие способы формирования жестко связанной выборки типа динамических курсоров баз данных — встроенный в "1С:Предприятие" механизм значительно гибче и позволяет разработчику реализовывать динамические выборки с возможностями поиска, настройки отбора и сортировки, как задаваемыми интерактивно, так и во встроенном языке.
|