WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 | 4 | 5 |   ...   | 9 |
Ю.Ю. ГРОМОВ, О.Г. ИВАНОВА, В.Н. ТОЧКА ИЗДАТЕЛЬСТВО ТГТУ УДК 681.518(075) ББК з973.26-018.3я73 Г874 Р е ц е н з е н т ы :

Доктор физико-математических наук, профессор, заслуженный деятель науки РФ В.Ф. Крапивин Доктор физико-математических наук, профессор Ф.А. Мкртчян Громов, Ю.Ю.

Г874 Управление данными : учебное пособие / Ю.Ю. Громов, О.Г. Иванова, В.Н. Точка. – Тамбов : Изд-во Тамб.

гос. техн. ун-та, 2009. – 80 с. – 100 экз. – ISBN 978-5-8265-0877-0.

Содержит необходимые сведения о роли информации в современном мире. Представлены основные понятия баз данных, приведена методология их проектирования и построения моделей данных.

Предназначено для студентов, обучающихся по направлению 230200 «Информационные системы» специальности 230201 «Информационные системы и технологии».

УДК 681.518(075) ББК з973.26-018.3я73 ISBN 978-5-8265-0877-0 © ГОУ ВПО «Тамбовский государственный технический университет» (ТГТУ), 2009 Министерство образования и науки Российской Федерации ГОУ ВПО «Тамбовский государственный технический университет» Ю.Ю. ГРОМОВ, О.Г. ИВАНОВА, В.Н. ТОЧКА УПРАВЛЕНИЕ ДАННЫМИ Допущено УМО вузов по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению 230200 «Информационные системы» специальности 230201 «Информационные системы и технологии» Тамбов Издательство ТГТУ 2009 Учебное издание ГРОМОВ Юрий Юрьевич, ИВАНОВА Ольга Геннадьевна, ТОЧКА Владимир Николаевич УПРАВЛЕНИЕ ДАННЫМИ Учебное пособие Редактор Е.С. К у з н е ц о в а Инженер по компьютерному макетированию М.А. Филатова Подписано в печать 11.12.2009.

Формат 60 84/16. 4,65 усл. печ. л. Тираж 100 экз. Заказ № 597.

Издательско-полиграфический центр Тамбовского государственного технического университета 392000, Тамбов, Советская, 106, к. 14 ВВЕДЕНИЕ Функционирование систем баз данных основано на реляционной модели данных.

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

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

1. АРХИТЕКТУРА СИСТЕМЫ БАЗ ДАННЫХ 1.1. УРОВНИ АРХИТЕКТУРЫ СИСТЕМ БАЗ ДАННЫХ Архитектура ANSI/SPARC включает три уровня: внутренний, концептуальный и внешний. В общих чертах они представляют собой следующее.

Внутренний уровень – это уровень, наиболее близкий к физическому хранению, т.е. связанный со способами сохранения информации на физических устройствах хранения.

Внешний уровень наиболее близок к пользователям, т.е. он связан со способами представления данных для отдельных пользователей.

Концептуальный уровень – это «промежуточный» уровень между двумя первыми.

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

Когда называют некоторое представление абстрактным, имеется в виду, что оно включает логические конструкции, ориентированные на пользователя, такие как логические записи или поля, и не включает машинно-ориентированные конструкции, такие как биты или байты.

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

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

Для прикладного программиста это либо один из распространённых языков программирования, такой как С, COBOL или PL/1, либо специальный язык рассматриваемой системы. Такие оригинальные языки называют языками четвёртого поколения на том основании, что машинный код, язык ассемблера и такие языки, как COBOL, можно считать языками трёх первых «поколений», а оригинальные языки модернизированы по сравнению с языками третьего поколения так же, как языки третьего поколения улучшены по сравнению с языком ассемблера.



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

Все эти языки включают подъязык данных, т.е. подмножество операторов всего языка, связанное только с объектами и операциями баз данных. Иначе говоря, подъязык данных встроен в базовый язык, который также обеспечивает различные не связанные с базами данных возможности, такие как локальные или временные переменные, вычислительные операции, логические операции типа if-then-else и т.д.

Система может поддерживать любое количество базовых языков и любое количество подъязыков данных. Однако существует один язык, который поддерживается практически всеми сегодняшними системами, – это язык SQL. Большинство систем позволяет использовать SQL и как отдельный язык запросов, и как встроенный в другие языки, такие как С и COBOL.

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

В принципе любой подъязык данных является на самом деле комбинацией по крайней мере двух подчинённых языков – языка определения данных (data definition language – DDL), который поддерживает определения или объявления объектов базы данных, и языка обработки данных (data manipulation language – DML), который поддерживает операции с такими объектами или их обработку. Например, рассмотрим пользователя языка PL/1. Подъязык данных для этого пользователя содержит такие возможности PL/1, которые используются для поддержки связи с СУБД.

Язык определения данных содержит такие описательные структуры PL/1, которые требуются для объявления объектов базы данных, – сам оператор DECLARE (DCL), определённые типы данных PL/1, возможные специальные дополнения для языка PL/1, чтобы поддерживать новые объекты, которые не обрабатываются существующим PL/1.

Язык обработки данных состоит из таких выполняемых операторов PL/1, которые передают информацию в и из базы данных; опять же, возможно, включая специальные новые операторы.

Отдельного пользователя интересует только некоторая часть всей базы данных; кроме того, пользовательское представление такой части будет вообще чем-то абстрактным по сравнению со способом физического хранения данных. В соответствии с терминологией ANSI/SPARC представление отдельного пользователя называется внешним представлением. Таким образом, внешнее представление – это содержимое базы данных, каким видит его определённый пользователь (т.е. для этого пользователя внешнее представление и есть база данных). Например, пользователь из отдела кадров может рассматривать базу данных как набор записей с информацией об отделах плюс набор записей с информацией о служащих и ничего не знать о записях с информацией о деталях и поставщиках, с которыми работают пользователи в отделе обеспечения.

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

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

Термин «логическая запись» на самом деле имеет тот же смысл, что и термин «внешняя запись».

Каждое внешнее представление определяется средствами внешней схемы, которая в основном состоит из определений каждого типа записей во внешнем представлении.

Внешняя схема написана с помощью языка определения данных из пользовательского подъязыка данных. Поэтому язык определения данных иногда называют внешним языком определения данных.

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





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

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

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

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

Концептуальное представление – это представление всего содержимого базы данных, а концептуальная схема – это определение такого представления. Однако концептуальная схема – это набор определений, больше напоминающих простые определения записей в программе на языке COBOL или каком-либо другом. Определения в концептуальной схеме могут включать определения многих дополнительных средств, таких как средства безопасности или правила для обеспечения целостности. Некоторые авторитетные специалисты предлагают в качестве конечной цели концептуальной схемы описание всего предприятия – не только самих его данных, но также и того, как эти данные используются: как они перемещаются внутри предприятия, для чего используются в каждом конкретном месте, какая ревизия или иной контроль применяется к ним в каждом отдельном случае и т.д. Ни одна сегодняшняя система реально не поддерживает такого концептуального уровня, который хотя бы немного приблизился к этой степени развитости; в большинстве существующих систем «концептуальная схема» в действительности представляет собой немного больше, чем простое объединение всех отдельных внешних схем с дополнительными средствами безопасности и правилами обеспечения целостности. Вероятно, со временем системы будут гораздо «интеллектуальнее» в поддержке концептуального уровня.

1.1.3. Внутренний уровень Третьим уровнем архитектуры является внутренний уровень. Внутреннее представление — это представление нижнего уровня всей базы данных; оно состоит из многих экземпляров каждого типа внутренней записи. Термин «внутренняя запись» принадлежит терминологии ANSI/SPARC и означает конструкцию, называемую хранимой записью. Внутреннее представление так же, как внешнее и концептуальное, не связано с физическим уровнем, так как в нём не рассматриваются физические записи, также называемые блоками или страницами, и не рассматриваются физические области устройства хранения, такие как цилиндры и дорожки. Блоки или страницы устройства ввода-вывода – это количество данных, передаваемых из вторичной памяти – памяти накопителя в главную – оперативную за одно обращение. Обычно страницы имеют размер 1, 2 или 4 Кбайт. Другими словами, внутреннее представление предполагает бесконечное линейное адресное пространство; подробности того, как адресное пространство отображено на физическом устройстве хранения, очень зависят от системы и умышленно не включены в общую архитектуру.

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

Вместо терминов «внутреннее представление» и «внутренняя схема» можно использовать более понятные термины «хранимая база данных» и «определение структуры хранения» соответственно.

В некоторых исключительных ситуациях прикладные программы, в частности те, которые называют утилитами, могут выполнять операции непосредственно на внутреннем, а не на внешнем уровне.

Pages:     || 2 | 3 | 4 | 5 |   ...   | 9 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.