КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Базами данных
Функциональные возможности моделей данных становятся доступными пользователям СУБД благодаря ее языковым средствам. В данном случае речь идет о пользователях СУБД, к числу которых можно отнести: персонал администрирования данными, разработчиков прикладных программ на основе СУБД и конечных пользователей системы. Пользователи каждой их этих категорий могут иметь специально предназначенные для них интерфейсы на том или ином уровне архитектуры системы. Реализация языковых средств интерфейсов может быть осуществлена различными способами: для высококвалифицированных пользователей языковые средства представляются в их явной синтаксической форме; в других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый код языка приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. В этом случае используется (для реляционных СУБД), например, табличный язык Query-By-Example (QBE), разработанный М.Злуфом. Языковые средства используются для выполнения двух основных функций: для описания представления базы данных на управляемых уровнях архитектуры системы; для инициирования выполнения операций манипулирования данными. Первая из этих функций обеспечивается языком описания данных (ЯОД, Shema Definision Language), Его часто называют языком определения данных. Описание данных средствами ЯОД называют схемой базы данных. Оно включает описание логической структуры данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. Помимо указанных функций, ЯОД некоторых СУБД обеспечивает возможности задания ограничения доступа к данным или полномочий пользователей. Кроме того, многие системы не имеют своих самостоятельных языков для спецификации многоуровневых отображений данных. В таких случаях определение способов отображения также описывается средствами ЯОД одного из смежных архитектурных уровней. Они при этом включаются в схему базы данных. Стоит заметить, что при проектировании архитектуры системы часто не уделяют внимания обеспечению естественного разделения функций архитектурных уровней. В результате в значительной мере утрачивается возможность достижения той степени независимости данных, которая потенциально способна обеспечить «чисто» реализованная многоуровневая архитектура. Наиболее часто встречающийся дефекты архитектуры заключаются в том, что спецификации некоторых характеристик организации хранимых данных, законное место которых в схеме внутреннего представления, попадают в схему концептуального уровня. ЯОД не всегда синтаксически оформляется в виде самостоятельного языка. Он может быть составной частью языка данных, сочетающего возможности определения данных и манипулирования ими. Язык манипулирования данными (ЯМД, Shema Manipulation Language) позволяет запрашивать предусмотренные в системе операции над данными из базы данных, т.е. содержит набор операторов манипулирования данными, позволяющий заносить данные, удалять, модифицировать или выбирать их. Аналогично ЯОД, ЯМД не обязательно выступает в качестве синтаксически самостоятельного языка СУБД. В настоящее время имеются многочисленные примеры языков СУБД, объединяющих возможности описания данных и манипулирования данными в единых синтаксических рамках. Более того, в современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базой данных, начиная от'ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Наиболее популярным и стандартным для реляционных СУБД является язык SQL (Structured Query Language), разработанный фирмой IBM и реализованный в реляционной СУБД System R, а впоследствии и в коммерческой системе DB2. Другим примером языков этого класса могут служить: язык Quel системы Ingres, созданный Калифорнийским университетом, языковые средства большинства СУБД для персональных ЭВМ, например язык dBase семейства СУБД фирмы Asthon-Tate и многочисленных совместимых с ним систем, язык СУБД: R:Base фирмы Microrim. Некоторые СУБД располагают такими языками, которые не только реализуют функции определения и манипулирования данными, но и обладают управляющими структурами и другими средствами, свойственными традиционным языкам программирования. Благодаря этому они могут использоваться как функционально полное средство для создания прикладных программ и для .формулировки запросов пользователей к БД. Такие языки называют автономными (язык запросов). В качестве примера приведем ранее упоминавшийся язык dBase, построенный в стиле структурного программирования. Хотя автономные языки современных СУБД и обладают развитыми функциональными возможностями, существует много приложений, для реализации которых этих возможностей оказывается недостаточно. Наиболее распространены случаи, когда поддерживаемая модель данных оказывается слишком бедна средствами моделирования семантики ПО. Как уже отмечалось, конечные пользователи информационной системы разделяются на две категории — прямые и косвенные. Те, кто относится к группе прямых пользователей, в отличие от косвенных, самостоятельно без посредников общается с ЭВМ. Они способны разрабатывать новые приложения. В настоящее время акцент разработки приложений все более переносится с профессиональных программистов на конечных пользователей. Эта тенденция имеет очевидные достоинства: приложения разрабатываются быстрее; реализуются именно те алгоритмы, которые необходимы пользователю в момент разработки приложений; снижается себестоимость программной реализации системы и упрощается весь процесс ее разработки. Все это становится возможным, если в состав СУБД входят языки конечных пользователей, которые относят к классу автономных непроцедурных языков высокого уровня. Сегодня почти для всех промышленных систем такие языковые средства разработаны. Языки конечных пользователей позволяют осуществлять выборку данных, формировать отчеты, разрабатывать новые приложения и запрашивать выполнение уже разработанных. В некоторых языках такого типа обеспечены также возможности обновления БД и реализация достаточно сложных обработок данных. Изучение простейших возможностей языков конечных пользователей не требует больших затрат времени. Такой уровень подготовки (обычно 1—3 дня) позволит пользователю разрабатывать несложные приложения. Использование всего арсенала языков, необходимого для создания сложных процедур обработки данных, требует профессиональной подготовки. Процедурный язык, при помощи которого осуществляется управление базой данных, называют языком управления данными.
|