Ямд язык манипулирования данными позволяет

Языки манипулирования данными

Язык манипулирования данными содержит набор операторов манипулирования данными, т. е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

Множество операций над данными можно классифицировать следующим образом:

1. операции селекции;

2. действия над данными: ƒ

· включение — ввод экземпляра записи в БД с установкой его связей;

· удаление — исключение экземпляра записи из БД с установкой новых связей;

· модификация — изменение содержимого экземпляра записи и коррекция связей при необходимости.

Языки манипулирования данными делятся на два типа. Это разделение обусловлено коренным различием в подходах к работе с данными, а следовательно, различием в базовых конструкциях в работе с данными.

Первый тип — это процедурный ЯМД.

Второй тип — это декларативный (непроцедурный) ЯМД.

К процедурным языкам манипулирования данными относятся и языки, поддерживающие операции реляционной алгебры, которую основоположник теории реляционных баз данных Э. Ф. Кодд ввел для управления реляционной базой данных. Реляционная алгебра — это процедурный язык обработки реляционных таблиц, где в качестве операндов выступают таблицы в целом.

Декларативные языки предоставляют пользователю средства, позволяющие указать лишь то, какие данные требуются. Решение вопроса о том, как их следует извлекать, берет на себя процессор данного языка, работающий с целыми наборами записей.

Реляционные СУБД обычно включают поддержку непроцедурных языков манипулирования данными — чаще всего это бывает язык структурированных запросов SQL или язык запросов по образцу QBE.

В настоящее время нормой является поддержка декларативного языка SQL, в основе которого лежит реляционное исчисление, также введенное Э Коддом. Этот язык стал стандартом для языков реляционных баз данных, что позволяет использовать один и тот же синтаксис и структуру команд при переходе от одной СУБД к другой

Следует отметить, что язык SQL имеет сразу два компонента: язык DDL (ЯОД) для описания структуры базы данных, и язык DML (ЯМД) для выборки и обновления данных.

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

Часть непроцедурного языка ЯМД, которая отвечает за извлечение данных, называется языком запросов Язык запросов можно определить как высокоуровневый узкоспециализированный язык, предназначенный для удовлетворения различных требований по выборке информации из базы данных.

Дата добавления: 2016-07-05 ; просмотров: 5088 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник

Языки манипулирования данными

Язык определения данных

Язык определения данных — описательный язык, с помощью которого описывается предметная область: именуются объекты, определяются их свойства и связи между объектами. Он используется главным образом для определения логической структуры БД.

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

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

Язык манипулирования данными содержит набор операторов манипулирования данными, т. е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

Множество операций над данными можно классифицировать следующим образом:.

1. операции селекции;

2. действия над данными:

§ включение — ввод экземпляра записи в БД с установкой его связей;

§ удаление — исключение экземпляра записи из БД с установкой новых связей;

§ модификация — изменение содержимого экземпляра записи и коррекция связей при необходимости.

Языки манипулирования данными делятся на два типа. Это разделение обусловлено коренным различием в подходах к работе с данными, а следовательно, различием в базовых конструкциях в работе с данными.

Первый тип — это процедурный ЯМД.

Второй тип — это декларативный (непроцедурный) ЯМД.

К процедурным языкам манипулирования данными относятся и языки, поддерживающие операции реляционной алгебры, которую основоположник теории реляционных баз данных Э. Ф. Кодд ввел для управления реляционной базой данных. Реляционная алгебра — это процедурный язык обработки реляционных таблиц, где в качестве операндов выступают таблицы в целом.

Декларативные языки предоставляют пользователю средства, позволяющие указать лишь то, какие данные требуются. Решение вопроса о том, как их следует извлекать, берет на себя процессор данного языка, работающий с целыми наборами записей.

Реляционные СУБД обычно включают поддержку непроцедурных языков манипулирования данными — чаще всего это бывает язык структурированных запросов SQL или язык запросов по образцу QBE.

В настоящее время нормой является поддержка декларативного языка SQL, в основе которого лежит реляционное исчисление, также введенное Э Коддом. Этот язык стал стандартом для языков реляционных баз данных, что позволяет использовать один и тот же синтаксис и структуру команд при переходе от одной СУБД к другой

Следует отметить, что язык SQL имеет сразу два компонента: язык DDL (ЯОД) для описания структуры базы данных, и язык DML (ЯМД) для выборки и обновления данных.

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

Читайте также:  Школа второй иностранный язык

Часть непроцедурного языка ЯМД, которая отвечает за извлечение данных, называется языком запросов Язык запросов можно определить как высокоуровневый узкоспециализированный язык, предназначенный для удовлетворения различных требований по выборке информации из базы данных.

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Языковые средства СУБД: ЯОД и ЯМД

Современная СУБД содержит в своем составе программные средства создания баз данных, средства работы с данными и дополнительные сервисные средства (рис. 7.2).

Рис. 7.2. Состав СУБД

Для работы с базами данных используются специальные языки. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков.

Чаще всего выделялись два языка: ЯОД(Язык Описания Данных или Язык Определения Схемы БД) и ЯМД (Язык Манипулирования Данными). ЯОД служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. ЯМД содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

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

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

Сервисные средства позволяют при проектировании и использовании БД привлечь другие системы. Например, воспользоваться текстом из редактора Word или таблицей из табличного процессора Excel, или обратиться к сетевому серверу.

В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных.

Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language – Структурированный Язык Запросов).

Язык SQL сочетает средства ЯОД и ЯМД, т.е. позволяет определять схему реляционной БД и манипулировать данными. Для «диалекта» SQL, разработанного компанией Microsoft, рассмотрим примеры, поясняющие основные операторы (инструкции) языка [26].

Пример 1. Создать таблицу «Сотрудник» с полями: Табельный номер, ФИО, Оклад, Дата приема на работу, используя инструкцию CREATE TABLE.

Это инструкция ЯОД формата:

CREATE TABLE ИмяТабл (Поле1 тип [(длина поля)], Поле2 тип [(длина поля)]…);

Для создания таблицы «Сотрудник»:

CREATE TABLE Сотрудник (ТабНомер TEXT (6), ФИО TEXT (15), Оклад INTEGER, Дата DATETIME);

Пример 2. Выбрать из таблицы «Сотрудник» сотрудника с табельным номером, равным 1251, используя инструкцию SELECT.

Это инструкция ЯМД формата:

SELECT

В примере выбираются все поля таблицы, что обозначается знаком *, а условие отбора заключается в скобки:

При этом именование объектов БД (для реляционной БД наименование таблиц и полей) поддерживается на языковом уровне таким образом, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и полей.

Язык SQL содержит специальные средства определения ограничений целостности БД. Ограничения целостности так же хранятся в специальных таблицах-каталогах. Обеспечение контроля целостности БД производится на языковом уровне, т.е. при компиляции операторов модификации БД (вставке, удалении, обновлении записи) компилятор SQL на основании имеющихся в БД ограничений целостности генерирует соответствующий программный код.

Специальные операторы языка SQL позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами (результатом любого запроса к реляционной БД является таблица) с поименованными столбцами.

Наконец, авторизация доступа к объектам БД производится также на основе специального набора операторов SQL. Для выполнения операторов SQL разного вида пользователь должен обладать различными полномочиями. Пользователь, создавший таблицу БД, обладает полным набором полномочий для работы с этой таблицей. Полномочия пользователей описываются в специальных таблицах-каталогах, и контроль полномочий поддерживается на языковом уровне.

Диапазон в запросах, помимо значения ALL (по умолчанию) может принимать:

для отдельной таблицы – DISTINCT – указывает на исключения из результирующего запроса, содержащего не все поля, повторяющиеся записи;

DISTINCTROW – используется, как правило, для связанных таблиц в запросах, содержащих не все поля таблиц, опускает целиком повторяющиеся записи;

TOP n – используется, как правило, при наличии сортировки:
ORDER BY… – выводит n-первых отсортированных записей:

ORDER BY… WHERE

Если не использовать ORDER BY, то система возвратит n-произвольных записей.

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Языки манипулирования реляционными данными

В манипуляционной составляющей реляционной модели данных определяются два базовых механизма манипулирования реляционными данными – основанная на теории множеств реляционная алгебра и базирующееся на математической логике (точнее, на исчислении предикатов первого порядка) реляционное исчисление. В свою очередь, обычно выделяются два вида реляционного исчисления – исчисление кортежей и исчисление доменов.

Все эти механизмы обладают одним важным свойством: они замкнуты относительно понятия отношения. Это означает, что выражения реляционной алгебры и формулы реляционного исчисления определяются над отношениями реляционных БД и результатом их «вычисления» также являются отношения (конечно, здесь имеются в виду значения-отношения). В результате любое выражение или формула могут интерпретироваться как отношения, что позволяет использовать их в других выражениях или формулах.

Читайте также:  Удгу институт иностранного языка

Конкретный язык манипулирования реляционными БД называется реляционнополным, если любой запрос, формулируемый с помощью одного выражения реляционной алгебры или одной формулы реляционного исчисления, может быть сформулирован с помощью одного оператора этого языка.

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

Поскольку механизмы реляционной алгебры и реляционного исчисления эквивалентны, в конкретной ситуации для проверки степени реляционности некоторого языка БД можно пользоваться любым из этих механизмов.

Крайне редко алгебра или исчисление принимается в качестве полной основы какого-либо языка БД. Обычно (например, в случае языка SQL) язык основывается на некоторой смеси алгебраических и логических конструкций. Тем не менее, знание алгебраических и логических основ языков баз данных часто применяется на практике.

Data Manipulation Language (DML) (язык управления (манипулирования) данными) – это семейство командных языков, используемых в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.

Языки DML разделяются в основном на два типа: Procedural DMLs – описывают действия над данными; Declarative DMLs – описывают сами данные.

На текущий момент наиболее популярным языком DML является SQL, используемый для получения и манипулирования данными в РСУБД. Другие формы DML использованы в IMS/DL1, базах данных CODASYL (таких как IDMS), и других.

Функции языков DML определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL это глаголы – «insert» («вставить»), «update» («обновить»), и «delete» («удалить»). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

Языки DML могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные «расширения» языка.

Основные категории команд языка SQL предназначены для выполнения различных функций, включая построение объектов базы данных и манипулирование ими, начальную загрузку данных в таблицы, обновление и удаление существующей информации, выполнение запросов к базе данных, управление доступом к ней и ее общее администрирование:

— DDL – язык определения данных;

— DML – язык манипулирования данными;

— DQL – язык запросов;

— DCL – язык управления данными;

— команды администрирования данных;

— команды управления транзакциями.

Язык определения данных (Data Definition Language, DDL) позволяет создавать и изменять структуру объектов базы данных, например, создавать и удалять таблицы. Основными командами языка DDL являются следующие: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.

Язык манипулирования данными (Data Manipulation Language, DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE.

Язык запросов DQL наиболее известен пользователям реляционной базы данных, несмотря на то, что он включает всего одну команду SELECT. Эта команда вместе со своими многочисленными опциями и предложениями используется для формирования запросов к реляционной базе данных.

Язык управления данными (Data Control Language, DCL) позволяет управлять доступом к информации, находящейся внутри базы данных. Как правило, команды языка используются для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользователями. Команды управления данными следующие: GRANT, REVOKE.

С помощью команд администрирования данных пользователь осуществляет контроль выполняемых действий и анализирует операции базы данных; они также могут оказаться полезными при анализе производительности системы. Не следует путать администрирование данных с администрированием базы данных, которое представляет собой общее управление базой данных и подразумевает использование команд всех уровней.

Существуют следующие команды, позволяющие управлять транзакциями базы данных: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

Независимость данных

Свойство логической независимости данных позволяет сконструировать несколько различных логических взглядов (представлений) на одни и те же данные для разных групп пользователей, не изменяя их физического представления. При этом логическое представление данных может сильно отличаться от физической структуры их хранения и может синтезироваться динамически на основе хранимых объектов БД в процессе обработки запросов.

Под физической независимостью данных подразумевается способность СУБД предоставлять некоторую свободу модификации способов организации базы данных в среде хранения, не вызывая необходимости внесения изменений в логическое представление данных. Это позволяет оптимизировать среду хранения данных с целью повышения эффективности системы, не затрагивая созданных прикладных программ, работающих с БД.

Источник

Языки манипулирования данными

Язык манипулирования данными (или язык запросов к базе данных) представлен системой команд манипулирования данными. В нем могут быть, например, следующие команды:

Методика проектирования БД

Проектирование БД целесообразно выполнять небольшой группой от трех до девяти специалистов. Руководит работой администратор БД. Разработка проекта, выполняемая несколькими специалистами, позволяет в силу разнообразия их опыта всесторонне обсудить их проект системы. Однако окончательные решения принимает администратор БД.

Концептуальное проектирование оперирует информацией, независимой от любой фактической реализации (т. е. от любой конкретной системы технического или программного обеспечения). Цель концептуального проектирования именно в том и состоит, чтобы представить информацию в доступной пользователю форме, не зависящей от спецификаций системы, но реализуемой несколькими системами.

Читайте также:  Что такое понятие эзопов язык

Существует три подхода к концептуальному проектированию: объектное представление; моделирование сущностей; семантическое моделирование данных.

Этап концептуального проектирования связан с анализом и синтезом разнообразных информационных требований пользователей в первоначальный проект баз данных. Результатом этого этапа является высокоуровневое представление информационных требований, например, такое как диаграмма «сущность-связь». Существует несколько подходов к построению диаграмм типа «сущность-связь». Общим для всех подходов является набор из четырех основных проектных решений или шагов: определение сущностей, определение атрибутов сущностей, идентификация ключевых атрибутов сущностей, определение связей между сущностями.

Проектирование физической реализации

Третьим и самым нижним уровнем представления базы данных является физический уровень. Физическая организация данных оказывает основное влияние на эксплуатационные характеристики проектируемой базы, так как именно на этом уровне осуществляется ее привязка к физической памяти.

Проектирование формата хранимой записи

Учитывая, что структура логической записи была выбрана ранее, этот процесс состоит в форматировании хранимой записи с учетом характеристик типов элементов данных, распределения их значений и специфики их использования в различных приложениях. На этом шаге принимаются решения относительно избыточности данных и их сжатия на основании анализа явно хранимых значений данных.

Кластеризация хранимых данных

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

Проектирование метода доступа

Метод доступа обеспечивает возможность запоминания и выборки данных, хранимых на физических устройствах (обычно вторичной памяти). Можно выделить два важных компонента метода доступа: структура памяти и механизм поиска. Структура памяти определяет ограничения на возможные пути доступа с использованием индексов и хранимых записей, а механизмы поиска определяют пути доступа, которые следует выбрать для конкретного приложения.

Проектирование метода доступа состоит в выборе структуры первичного и вторичного путей доступа. Первичные пути доступа используются при первоначальной загрузке и размещении записей, что обычно влечет за собой поиск по первичным ключам. Вторичные пути доступа включают в себя межфайловые связи и альтернативные точки входа для доступа к хранимым записям с помощью индексов вторичных ключей. Использование вторичных ключей может значительно сократить время доступа, но при этом возрастают накладные расходы на память и поддержание индексов.

Вопросы целостности и безопасности данных

Как и на этапе проектирования реализации, на данном шаге должны быть проанализированы в комплексе требования целостности, безопасности и эффективности функционирования базы данных.

Физическая независимость данных, если она достигнута, устраняет необходимость модификации прикладных программ. Для организации доступа к базе данных должны использоваться стандартные средства СУБД, а оптимизацию запросов или транзакций обновления следует выполнять на уровне системного программного обеспечения. Поэтому проектирование прикладных программ следует заканчивать на этапе логического проектирования базы данных.

Логическое проектирование

Точную границу между концептуальным и физическим проектированием баз дан­ных провести достаточно трудно. Тем не менее принято считать, что на этапе кон­цеп­ту­аль­но­го проектирования данные рассматриваются без учета специфики используемой СУБД, а осо­бенности физического хранения базы данных в памяти ЭВМ включаются в описание ее струк­туры на этапе физического проектирования.

Этап между концептуальным и физическим проектированием, в результате вы­пол­не­ния которого получается СУБД – ориентированная схема базы данных, будем называть про­ектированием реализации (или этап логического проектирования). Изменения, которые вно­сятся в структуру базы данных на этом этапе, определяются стремлением удов­лет­во­рить требованиям конкретной СУБД и наиболее общим ограничениям, спе­ци­фи­ци­ро­ван­ных в требованиях пользователей.

Основной задачей проектирования реализации является разработка СУБД – ори­ен­ти­рованной схемы, которая удовлетворяет всему диапазону требований пользователей, на­чи­ная с требований целостности и непротиворечивости проектируемой базы данных, и, кон­чая показателями эффективности функционирования при ее расширении и усложнении. Так как одновременно с проектированием базы данных проводится работа по составлению прик­ладных программ, то между разработчиками этих подсистем должно быть налажено пос­тоянное взаимодействие. При этом проводится анализ программных спецификаций вы­со­кого уровня и разрабатывается руководство по проектированию программ с учетом пред­ло­женной структуры базы данных.

Задача логического проектирования реляционной базы данных состоит в обос­но­ван­ном принятии решений о том, из каких отношений должна состоять БД и какие атрибуты долж­ны быть у этих отношений.

Физическое проектирование

Третьим и самым нижним уровнем представления базы данных является фи­зи­чес­кий уровень. Физическая организация данных оказывает основное влияние на эк­сплу­ата­ци­он­ные характеристики проектируемой базы, так как именно на этом уровне осуществляется ее привязка к физической памяти. На этапе физического проектирования улучшение эк­с­плу­атационных характеристик достаточно легко измерить. Рассмотрим процесс физического проектирования по этапам: проектирование формата хранимой записи; кластеризация хранимых данных; проектирование метода доступа; вопросы целостности и безопасности данных; проектирование программ. Очень важен при физическом проектировании выбор критерия оценки про­из­во­ди­тель­ности. От этого зависит не только выбор конкретного решения, но и методы, которые при этом будут использоваться. Основная проблема, которую должен рассматривать проектировщик физической ба­зы данных, состоит в том, как минимизировать настоящие и будущие эксплуатационные зат­раты на вычислительные ресурсы и удовлетворение потребностей пользователей (таких, как своевременность представления информации, достоверность данных).

Модели хранения данных

Иерархическая и сетевая модели хранения данных стали применяться в системах управления базами данных в начале 70-х годов. В начале 80-х годов была предложена реляционная модель данных. Эти три модели различаются в основном способами представления взаимосвязей между объектами.

Источник

Ответы на самые частые вопросы пользователей рунета
Добавить комментарий

Adblock
detector