Проблемы использования файлов для хранения данных
Дисциплина «Базы данных» МТУСИ
| Номер | Лекции (тема) |
| 1-2 | Введение История развития баз данных. Основные понятия и определения. |
| Архитектура БД. Физическая и логическая независимость. Процесс прохождения пользовательского запроса. Классификация моделей данных. | |
| 3-4 | Теоретико-графовые модели данных. Иерархическая модель данных. Язык описания данных иерархической модели. Внешние модели. |
| Язык манипулирования данными в иерархических базах данных. Операторы поиска данных в т.ч. с возможностью модификации. Операторы модификации данных. | |
| 5-6 | Сетевая модель данных. Язык описания данных в сетевой модели. Язык манипулирования данными в сетевой модели. |
| 7 | Реляционная модель данных. Основные определения. |
| 8-9 | Операции над отношениями. Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Специальные операции реляционной алгебры |
| 10-11 | Язык SQL. История развития SQL. Структура(блоки) SQL Типы данных. Оператор выбора SELECT. Применение агрегатных функций и вложенных запросов в операторе выбора. Вложенные запросы. Внешние объединения. Операторы манипулирования данными. |
| Средства определения схемы базы данных. | |
| 12 | Системный анализ предметной области. Пример описания предметной области. |
| 13 | Инфологическое моделирование. Модель «сущность—связь». |
| 14 | Переход к реляционной модели данных |
| 15-16 | Проектирование реляционных БД на основе принципов нормализации. Даталогическое проектирование. |
| 17 | Принципы поддержки целостности в реляционной модели данных. Общие понятия и определения целостности. . |
| 18-20 | Командный SQL (PL/SQL) |
| 22 | Классы СУБД. Модели архитектур СУБД. |
Учебно-методическое и информационное обеспечение дисциплины
Обязательная литература
1. Карпова Т.С. Базы данных. Модели, разработка, реализация. СПб: Питер, 2008.
2. Кренке Д. Теория и практика построения баз данных. С.-Пб.: Питер, 2006, 800 с.
3. Советов Б.Я., Цехановский В.В., Чертовский В.Д. Базы данных. Теория и практика. М.: Высшая школа, 2005, 464 с.
4. Диго С.М. Базы данных. М.: Финансы, 2005, 590с.
5. Кузнецов С.Д. Основы баз данных. Курс лекций. М.: ИНТУИТ.РУ, 2005, 488 с.
6. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс. М.: Вильямс, 2003, 1088 с.
7. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. С.-Пб.: Корона-принт, 2004, 736 с.
Дополнительная литература
8. Мартин Дж. Организация баз данных в вычислительных системах. М.:1999.
9. Дунаев С. Б. Доступ к базам данных и техника работы в сети. Практические приемы современного программирования. М.: Диалог-МИФИ, 1999.
10. Арсеньев Б.П., Яковлев С.А. Интеграция распределенных баз данных. С-Пб.: Лань, 2001.
11. Полякова Л.Н. Основы SQL. Курс лекций. М.: ИНТУИТ.РУ, 2004, 368 с.
12. Харрингтон Джен Л. Проектирование реляционных баз данных. М.: Лори, 2006, 230 с.
13. Ролланд Ф.Д. Основные концепции баз данных. М.: Вильямс, 2002, 256 с.
Интернет-источники
14. Портал дистанционного обученияwww.intuit.ru: С.Кузнецов Введение в реляционные базы данных http://www.intuit.ru/studies/courses/74/74/info
15. IT-портал CITForum http://citforum.ru
16. Русскоязычный сайт поддержки MySQL http://www.mysql.ru
17. Официальный сайт СУБД: www.mysql.com
18. Сообщество российских программистов http://www.rsdn.ru
Лекция 1. Введение
История развития баз данных
В истории вычислительной техники можно проследить развитие двух основных областей ее использования.
1. Первая область — применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную.
Развитие этой области способствовало интенсификации методов численного решения сложных математических задач, появлению языков программирования, ориентированных на удобную запись численных алгоритмов, становлению обратной связи с разработчиками новых архитектур ЭВМ. Характерная особенность области - наличие сложныхалгоритмов обработки, которые применяются к простымпо структуре данным небольших объемов.
2. Вторая область - использование средств вычислительной техники в автоматизированных ИС.
ИС – это программно-аппаратный комплекс, обеспечивающий функциональность:
▬ надежное хранение данных в памяти компьютера;
▬ выполнение специфических для данного приложения преобразований информации и вычислений;
▬ предоставление пользователям удобного и легко осваиваемого интерфейса
Обычно такие системы имеют дело с большими объемами информации, имеющей достаточно сложную структуру. Классические примеры ИС: ИБС(банковские системы), АСУП(автоматизир.системы упр-я предприятиями), системы резервирования (авиац. или ж/д билетов, мест в гостиницах) и т. д.
Вторая область использования вычислительной техники возникла позже первой, т.к. возможности компьютеров по хранению информации были очень ограниченными. В первых компьютерах использовались два вида устройств внешней памяти — магнитные ленты и барабаны. Емкость магнитных лент была достаточно велика, но они обеспечивали только последовательный доступ к данным. Магнитные барабаны (они ближе всего к современным магнитным дискам с фиксированными головками) давали возможность произвольного доступа к данным, но имели ограниченный объем хранимой информации.
Эти ограничения не являлись слишком существенными для чисто численных расчетов. Однако в ИС совокупность взаимосвязанных информационных объектов фактически отражает сложную модель объектов реальной ПрО, что требует быстрой реакции системы на запросы пользователей.
Стали нужны быстрые(!) устройства хранения данных. Т.е. магнитные ленты и барабаны(сравнительно медленные УХД) -было недостаточным.
Именно требования нечисловых приложений вызвали появление съемных магнитных дисков с подвижными головками, что явилось революцией в истории выч.техники. Эти устройства внеш.памяти обладали существенно большей емкостью, чем магн.барабаны, обеспечивали удовл.скорость доступа к данным в режиме произвольной выборки, а возможность смены дискового пакета на устройстве позволяла иметь практически неограниченный архив данных.
С появлением магнитных дисков началась история систем управления данными во внешней памяти. До этого каждая прикладная программа, которой требовалось хранить данные во внешней памяти, сама определяла расположение каждой порции данных на магнитной ленте или барабане и выполняла обмены между оперативной памятью и устройствами внешней памяти с помощью программно-аппаратных средств низкого уровня (машинных команд или вызовов соответствующих программ операционной системы). Такой режим работы не позволяет или очень затрудняет поддержание на одном внешнем носителе нескольких архивов долговременно хранимой информации. Кроме того, каждой прикладной программе приходилось решать проблемы именования частей данных и структуризации данных во внешней памяти.
Файлы и файловые системы
Важный шаг в развитии ИС - переход к использованию централизованных систем управления файлами (СУФ). С точки зрения прикладной программы, файл — это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.
От СУФ зависят: правила именования файлов, способ доступа к данным, хранящимся в файле, и структура этих данных (и, возможно, от типа файла). СУФ берет на себя распределение внешней памяти, отображение имен файлов в соответствующие адреса во внешней памяти и обеспечение доступа к данным. Пользователи видят файл как линейную последовательность записей и могут выполнить над ним ряд стандартных операций:
▬ создать файл (требуемого типа и размера);
▬ открыть ранее созданный файл;
▬ прочитать из файла некоторую запись (текущую, следующую, предыдущую первую, последнюю);
▬ записать в файл на место текущей записи новую, добавить новую запись в конец файла.
Проблемы использования файлов для хранения данных
1) зависимость программ от данных
Структура записи файла была известна только программе, которая с ним работала, СУФ ее не знала ее. И поэтому для того, чтобы извлечь некоторую информацию из файла, необходимо было точно знать структур записи файла с точностью до бита. Каждая программа, работающая с файлом, должна была иметь у себя внутри структуру данных, соответствующую структуре этого файла. Поэтому при изменении структуры файла требовалось изменять структуру программы, а это требовало новой компиляции, то есть процесса перевода программы в исполняемые машинные коды. Такая ситуации характеризовалась как зависимость программ от данных.
Для ИС характерно наличие большого числа пользователей (программ со специфическими алгоритмами), обращающихся к информации в одних и тех же файлах. Изменение структуры файла, необходимое для одной программы, требовало исправления перекомпиляции и дополнительной отладки всех остальных программ, работающих с этим же файлом. Это было первым существенным недостатком файловых систем, который явился толчком к созданию новых систем хранения и управления информацией.
2) Децентрализованное администрирование режимов доступа к файлу
Поскольку файловые системы являются общим хранилищем файлов, принадлежащих, вообще говоря, разным пользователям, СУФ должны обеспечивать авторизацию доступа к файлам. В общем виде подход состоит в том, что по отношению к каждому зарегистрированному пользователю данной вычислительной системы для каждого существующего файла указываются действия, которые разрешены или запрещены данному пользователю. Администрирование режимов доступа к файлу выполняет создатель-владелец. Такой децентрализованный принцип управления создает трудности. Отсутствие централизованных методов управления доступом к информации послужило еще одной причиной разработки СУБД.
3) Низкая эффективность параллельной работы с одним файлом
Следующая причина - необходимость обеспечения эффективной параллельной работы многих пользователей с одними и теми же файлами. В общем СУФ обеспечивали режим многопользовательского доступа. Если ОС поддерживает многопользовательский режим, то реальна ситуация, когда несколько пользователей одновр. пытаются работать с одним файлом. Если все пользователи собираются только читать файл, ничего страшного не произойдет. Но если хотя бы один из них будет изменять файл, для корректной работы этих пользователей нужна синхронизация их действий по отношению к файлу.
Одновременная работа нескольких пользователей, связанная с модификацией данных в файле, либо вообще не реализовывалась, либо была очень замедлена.
Эти недостатки послужили тем толчком, который заставил разработчиков информационных систем предложить новый подход к управлению информацией. Этот подход был реализован в рамках новых программных систем, названных впоследствии Системами Управления Базами Данных (СУБД), а сами хранилища информации, которые работали под управлением данных систем, назывались базами данных (БД).
I этап — БД на больших ЭВМ
История развития СУБД насчитывает более 40 лет. В 1968 году была введена в эксплуатацию первая промышленная СУБД система IMS фирмы IBM. В 1975 году появился первый стандарт ассоциации по языкам систем обработки данных — Conference of Data System Languages (CODASYL), который определил ряд фундаментальных понятий в теории систем баз данных, которые и до сих пор являются основополагающими для сетевой модели данных.
В дальнейшее развитие теории баз данных большой вклад был сделан американским математиком Э. Ф. Коддом, который является создателем реляционной модели данных. В 1981 году Э. Ф. Кодд получил за создание реляц.модели и реляц.алгебры престижную премию Тьюринга Американской ассоциации по вычислительной технике.
Стремительное развитие выч.техники, изменение ее принципиальной роли в жизни общества, обрушившийся бум ПЭВМ и, наконец, появление мощных рабочих станций и сетей ЭВМ повлияло также и на развитие технологии баз данных. Можно выделить четыреэтапа в развитии обработки данных. Однако нет жестких временных ограничений в этих этапах: они плавно переходят один в другой и даже сосуществуют параллельно, но выделение этих этапов позволит более четко охарактеризовать отдельные стадии развития технологии БД, подчеркнуть особенности, специфичные для конкретного этапа.
Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation — DEC), разных моделях HP (фирмы Hewlett Packard).
Базы данных хранились во внешней памяти центральной ЭВМ, пользователями этих БД были задачи, запускаемые в основном в пакетном режиме. Интерактивный режим доступа обеспечивался с помощью консольных терминалов, которые не обладали собственными вычис.ресурсами (процессором, внешней памятью) и служили только устройствами ввода-вывода для центральной ЭВМ. Программы доступа к БД писались на различных языках и запускались как обычные числовые программы. Мощные ОС обеспечивали возможность условно параллельного выполнения всего множества задач. Эти системы можно было отнести к системам распределенного доступа, потому что БД была централизованной, хранилась на устройствах внешней памяти одной центральной ЭВМ, а доступ к ней поддерживался от многих пользователей(задач).
Особенности этапа:
▬ Все СУБД базируются на мощных мультипрограммных операционных системах (MVS, SVM, RTE, OSRV, RSX, UNIX), поэтому в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа.
▬ Функции управления распределением ресурсов в основном осуществляются операционной системой (ОС).
▬ Используются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным.
▬ Значительная роль отводится администрированию данных.
▬ Идет обоснование и формализация реляционной модели данных (создана первая система (System R), реализующая реляционную модель данных.
▬ Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, введено понятие транзакции.
▬ Результаты научных исследований открыто обсуждаются в печати, идет мощный поток общедоступных публикаций, касающихся всех аспектов теории и практики баз данных, и результаты теоретических исследований активно внедряются в коммерческие СУБД.
Появляются первые языки высокого уровня для работы с реляционной моделью данных, но стандартов еще нет.
Дата добавления: 2018-04-15; просмотров: 305; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
