КнигоПровод.Ru | 24.11.2024 |
|
/ИТ-книги
|
Множественная модель данных в информационных системах Научное издание |
Гилула М. М. |
год издания — 1992, кол-во страниц — 208, ISBN — 5-02-006938-8, тираж — 5000, язык — русский, тип обложки — мягк., масса книги — 200 гр., издательство — Наука |
|
цена: 299.00 руб | | | | |
|
Сохранность книги — хорошая
Р е ц е н з е н т ы: д-р тех. наук В. Л. Арлазаров д-р тех. наук Д. А. Поспелов
Утверждено к печати Институтом программных систем РАН
Формат 60x90 1/16. Бумага книжно-журнальная. Печать офсетная |
ключевые слова — программн, данных, параллельн, распределённ, реляцион, кодд, проектирован, sql, db2, старсет, объектно-ориентирован, кобол, логик, предикат, субд, реляционно-множествен |
Монография посвящена новому направлению в области программного обеспечения информационных систем, связанному с использованием множественной модели данных: с одной стороны, как основы универсальных высокоуровневых языков программирования, а с другой — языков запросов к базам данных. Структура этой модели даёт широкие возможности для параллельной и распределённой обработки информации и обеспечивает высокую степень независимости программ и данных. Значительное внимание уделяется сравнению с наиболее распространённой в настоящее время реляционной моделью, которая подробно анализируется. Рассматриваются общие вопросы создания распределённых информационных систем и принципы их построения на базе множественной модели.
Книга написана доступным языком и рассчитана на широкий круг читателей, интересующихся информационными системами, базами данных и языками программирования. Представляет интерес для научных работников, инженеров, аспирантов, студентов и практических программистов.
Библиогр.: 28 назв.
Решение задач хранения, обработки и обеспечения доступа к большим объёмам информации является одной из наиболее традиционных и одновременно динамично развивающихся областей программирования. Здесь, как, возможно, ни в одной другой области, приходится сталкиваться со многими проблемами, актуальными для программирования в целом. Вместе с тем она обладает достаточно выраженной спецификой. Имея в виду классическую формулу Н. Вирта «программы = алгоритмы + структуры данных», не будет преувеличеним сказать, что для рассматриваемых систем второе слагаемое следует, по крайней мере, возвести в квадрат.
Данные, хранимые информационными системами, принадлежат как бы двум владельцам: самой системе (программе), работающей с данными, и пользователю, который их вводит и изменяет. При этом программа должна быть построена так, чтобы удовлетворительно функционировать в условиях изменяемого пользователем пространства данных. Чем шире допустимое пространство данных, тем большее количество приложений покрывает программа. Поскольку разработка информационных систем трудоёмка и дорогостояща, а число возможных приложений практически не ограничено, усилия исследователей направлены на повышение универсальности программного обеспечения и эффективности программирования.
При внимательном рассмотрении эти цели оказываются тесно связанными. Одновременно обе они могут быть в значительной мере достигнуты выбором подходящей модели данных: с одной стороны, достаточно представительной для естественного кодирования информации из широкого круга предметных областей, с другой — достаточно гибкой и универсальной для построения на её основе высокоуровневых языков программирования. Тогда, в частности, в глазах пользователя и программы (программиста) данные смогут выглядеть похожими. Другими словами, средства программирования станут более адекватными решаемым с их помощью задачам.
Исключительно важным шагом в указанном направлении стала разработка Э. Коддом реляционной модели. Прошедшие под знаком этой модели более чем два десятилетия позволили накопить значительный опыт её использования в теории и практике информационных систем. На наш взгляд, этот опыт можно кратко охарактеризовать примерно следующим образом. Реляционная модель позволила решить целый ряд проблем, которые без неё не могли быть даже ясно сформулированы. В первую очередь — проблем проектирования логических структур баз данных и разработки методологий проектирования. Существенным достижением стало создание первого стандартизованного реляционного языка баз данных SQL и ряда практических систем, таких, например, как DB2. Вместе с тем попытки построения на основе реляционной модели высокоуровневых и одновременно универсальных языков программирования не столь успешны. В частности, несмотря на активную деятельность по разработке реляционных языков баз данных, последние далеки от того, чтобы полностью заменить традиционные универсальные языки при программировании информационных систем. Кроме того, реализация взаимодействия языков баз данных с универсальными языками сопряжена, как правило, с немалыми трудностями.
Рассматриваемая в настоящей книге (трёхуровневая) множественная модель данных является ближайшим «родственником» реляционной модели. Однако она в большей мере удовлетворяет указанным целям. В частности, на её базе можно строить универсальные языки программирования высокого уровня. Один из таких языков — Старсет приводится в книге. Благодаря свойству аддитивности множественная модель расширяет возможности параллельной и распределённой обработки информации и, кроме того, обеспечивает в определённом смысле независимость программ и данных. Одновременно она даёт возможность построения класса «моделей информации», выполняющих в сущности те же функции, что и реляционная модель, но свободных от ряда её недостатков типа множественных и пустых значений.
Теоретическую основу языков запросов в этих моделях составляет логический язык теории множеств, подобно тому как реляционная модель базируется на языке исчисления предикатов. Важным преимуществом множественной модели является естественная связь соответствующих ей универсальных языков программирования и пользовательских языков манипулирования данными. Последние оказываются по существу подъязыками первых. В то же время все достижения реляционного подхода в области логического проектирования баз данных остаются полностью применимыми и сохраняют своё значение.
Уровень языков программирования во многом определяется уровнем используемых ими типов данных. При этом имеется два основных (не исключающих друг друга) способа повысить уровень языка. Первый, реализуемый в объектно-ориентированных языках — сохранить традиционные типы данных в качестве базисных, но предоставить возможность агрегирования их в более высокоуровневые и в большей степени соответствующие существу решаемых задач «пользовательские» типы данных. Второй — заменить традиционные базисные типы данных другими, более высокоуровневыми. Множественная модель данных создаёт реальную основу для второго подхода. Одновременно появляется возможность построения объектно-ориентированных языков, где в качестве базисных используются не менее универсальные, но гораздо более высокоуровневые типы данных, чем традиционные.
Идея применения множественных агрегатов данных в программировании возникла сравнительно давно. Однако насколько нам известно, структура конечного множества в чистом виде (как неупорядоченного набора элементов) до языка Старсет не поддерживалась ни одним из языков программирования. Подчеркнём также, что в нём нет иных типов данных, кроме единственного элементарного типа (слово) и агрегатов — множеств слов и классов (множеств множеств слов). Таким образом, этот язык можно считать экспериментальным с точки зрения использования множеств в чистом виде. Вместе с тем уже сегодня это — практический язык, на котором реализовано несколько коммерческих информационных систем.
Представляется, что связанная с множественной моделью данных концепция построения языковых и программных средств может, в частности, найти применение при разработке больших распределённых систем, имеющих дело с разнородной по составу и логической структуре информацией. Эти системы не получили пока сколько-нибудь широкого распространения, но их потенциальные возможности кажутся нам весьма значительными и заслуживающими самого серьёзного внимания. Поэтому мы считали необходимым затронуть ряд проблем, связанных с распределёнными системами как таковыми, посвятив им специальную главу. Насколько жизнеспособным окажется намеченный в ней подход к архитектуре такого рода систем, покажет время…
Введение
|
ОГЛАВЛЕНИЕВведение | 9 | | Глава 1. Анализ информационных систем | 12 | | 1.1. Информация и данные | 12 | 1.2. Цели, функции и структура ИС | 15 | 1.2.1. Цели и основные функции | 15 | 1.2.2. Структура | 17 | 1.3. Программное обеспечение ИС | 20 | 1.3.1. Мусорная корзина и универсальное ядро | 20 | 1.3.2. Концепция файловой системы. Язык Кобол | 23 | 1.3.3. Концепция базы данных | 27 | 1.3.4. Реляционные базы данных | 33 | 1.3.4.1. Реляционные данные | 33 | 1.3.4.2. Реляционные операторы | 36 | 1.3.4.3. Связи с математической логикой | 39 | 1.3.4.3.1. Реляционное исчисление | 39 | 1.3.4.3.2. Тезис Кодда | 43 | 1.3.4.3.3. Проблема безопасных формул | 45 | 1.3.4.4. Язык SQL | 48 | 1.3.4.4.1. Язык определения данных | 49 | 1.3.4.4.2. Язык манипулирования данными | 50 | 1.3.4.5. Проблемы реализации реляционного подхода | 54 | 1.3.4.5.1. Проблемы модели данных | J6 | 1.3.4.5.2. Проблемы средств программирования | 57 | 1.3.5. Технологии создания программного обеспечения | 58 | 1.3.5.1. Использование готовой СУБД | 59 | 1.3.5.2. СУБД и включающий язык | 62 | 1.3.5.3. Программирование на универсальном языке | 64 | | Глава 2. Множественная модель данных | 67 | | 2.1. Модели данных и модели информации | 67 | 2.2. Уточнение схемы коммуникационного процесса | 71 | 2.3. Общие требования к моделям данных | 73 | 2.4. Требование аддитивности | 75 | 2.5. Трёхуровневая множественная модель данных | 78 | 2.6. Машина данных. Независимость программ и данных | 81 | | Глава З. Средства манипулирования данными | 85 | | 3.1. Язык баз данных или язык программирования? | 85 | 3.2. Язык модели информации | 89 | 3.3. Язык модели данных | 92 | 3.4. Язык программирования с множественной моделью данных | 94 | 3.4.1. Типы данных | 94 | 3.4.2. Операции | 97 | 3.4.3. Средства управления вычислительным процессом | 98 | 3.5. Сравнение с объектно-ориентированными языками | 101 | | Глава 4. Язык программирования Старсет | 104 | | 4.1. Типы данных и данные | 104 | 4.1.1. Данные типа слово | 104 | 4.1.1.1. Числовая интерпретация слова | 105 | 4.1.1.2. Логическая интерпретация слова | 106 | 4.1.1.3. Константы типа слово | 106 | 4.1.2. Данные типа множество | 106 | 4.1.3. Данные типа класс | 107 | 4.1.3.1. Индексы | 107 | 4.2. Переменные и выражения | 108 | 4.2.1. Переменные | 108 | 4.2.2. Выражения | 108 | 4.2.2.1. Выражения типа слово | 109 | 4.2.2.2. Выражения типа множество | 111 | 4.2.2.3. Выражения типа класс | 112 | 4.2.2.4. Образцы для слов | 112 | 4.2.2.5. Образцы для множеств | 118 | 4.2.2.6. Встроенные функции | 122 | 4.2.2.7. Порядок вычисления значения выражения | 124 | 4.3. Программы и операторы | 125 | 4.3.1. Модель вычислителя | 125 | 4.3.2. Структура программы | 125 | 4.3.2.1. Процедуры | 126 | 4.3.2.2. Функции-процедуры | 127 | 4.3.3. Операторы | 127 | 4.3.4. Операторы ввода-вывода | 146 | 4.3.5. Соглашение о пробелах | 148 | 4.3.6. Соглашение об использовании прописных букв | 149 | 4.3.7. Об использовании связанных переменных | 149 | 4.4. Пример программы простейшей ИС | 149 | 4.5. Приложения | 152 | 4.5.1. Примитивные образцы и функции | 152 | 4.5.2. Перечень операторов языка | 153 | 4.5.3. Ключевые слова языка | 160 | | Глава 5. Распределённые информационные системы | 162 | | 5.1. Исходные представления и проблемы (по К. Дейту) | 162 | 5.1.1. Определение и цели создания | 162 | 5.1.2. Принципы | 163 | 5.1.3. Проблемы | 165 | 5.2. Конкретизация представлений | 170 | 5.2.1. Цели: интеграция данных и параллельный доступ | 170 | 5.2.2. Основной принцип и обновление данных | 171 | 5.2.3. Обработка запросов и управляющие установки | 175 | 5.2.4. Набросок системной архитектуры | 177 | 5.3. Распределённые системы на базе множественной модели | 178 | 5.3.1. Массовые системы | 178 | 5.3.2. Модели информации | 180 | 5.3.2.1. Препятствия к применению реляционной модели | 180 | 5.3.2.2. Слабая реляционная модель | 182 | 5.3.2.3. Реляционно-множественная модель | 185 | 5.3.2.4. Логический язык реляционно-множественной модели | 190 | 5.3.3. Параллелизм при обработке запросов | 199 | 5.3.3.1. Схема информации и системный каталог | 199 | 5.3.3.2. Механизм параллельной обработки запроса | 200 | 5.3.4. Программы как запросы. Старсет и Кобол | 203 | | Литература | 207 |
|
Книги на ту же тему- Проектирование банков данных, Кокорева Л. В., Малашинин И. И., 1984
- Теория измеримых множеств и мультимножеств, Петровский А. Б., 2018
- Структура данных и управление, Куцык Б. С., 1975
- Моделирование семантики в базах данных, Цаленко М. Ш., 1989
- Базы данных: модели, разработка, реализация, Карпова Т. С., 2001
- О некоторых вопросах современной математики и кибернетики. Сборник статей в помощь учителю математики, Смолянский М. Л., сост., 1965
- Задачи по теории множеств, математической логике и теории алгоритмов, Лавров И. А., Максимова Л. Л., 1975
- Эргодическая теория и информация, Биллингслей П., 1969
- Проектирование структур баз данных: В 2-х кн. (комплект из 2 книг), Тиори Т., Фрай Д., 1985
- Базы данных и UML. Проектирование, Мюллер Р. Д., 2002
- Oracle. Проектирование баз данных, Энсор Д., Стивенсон Й., 1999
- SQL: полное руководство, Грофф Д. Р., Вайнберг П. Н., 2000
- Изучаем SQL, Бьюли А., 2007
- MySQL. Сборник рецептов, Дюбуа П., 2004
- Руководство по MySQL, Тахагхогхи С., Вильямс Х. Е., 2007
- MySQL и mSQL. Базы данных для небольших предприятий и Интернета, Яргер Р. Д., Риз Д., Кинг Т., 2000
- Секреты Oracle SQL, Мишра С., Бьюли А., 2003
- Настройка SQL. Для профессионалов, Тоу Д., 2004
- SQL. Справочник. 2-е издание, Клайн К., Клайн Д., Хант Б., 2006
- Oracle PL/SQL для профессионалов, Фейерштейн С., Прибыл Б., 2003
- PostgreSQL. Для профессионалов (+ CD-ROM), Уорсли Д., Дрейк Д., 2003
- Мультипарадигменное проектирование для C++, Коплиен Д., 2005
- Объектно-ориентированное программирование в C++. — 4-е изд., Лафоре Р., 2003
- Искусство программирования на C. Фундаментальные алгоритмы, структуры данных и примеры приложений, Хэзфилд Р., Кирби Л., 2001
- Конструирование распределённых объектов. Методы и средства программирования интероперабельных объектов в архитектурах OMG/CORBA, Microsoft/COM и Java/RMI, Эммерих В., 2002
- Распределённые системы. Принципы и парадигмы, Таненбаум Э., ван Стеен М., 2003
- Операционные системы. Параллельные и распределённые системы, Бэкон Д., Харрис Т., 2004
- Проблемы вычислений в распределённой среде. Модели обработки и представления данных. Динамические системы: Труды ИСА РАН. Т. 14, Емельянов С. В., ред., 2005
- Разработка программного обеспечения, Константайн Л., Локвуд Л., 2004
- Технологии разработки программного обеспечения: Учебник, Орлов С. А., 2002
- Работа с файлами, Джадд Д. Р., 1975
|
|
|
© 1913—2013 КнигоПровод.Ru | http://knigoprovod.ru |
|