- •Казахский национальный технический университет имени к.И.Сатпаева
- •1 Учебная программа дисциплины – Syllabus
- •1. 1 Данные о преподавателях:
- •1.2 Данные о дисциплине:
- •Выписка из учебного плана
- •1.5 Цели и задачи дисциплины.
- •Перечень и виды заданий и график их выполнения:
- •Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •Распределение рейтинговых баллов по видам контроля
- •Оценка знаний студентов
- •1.9 Политика и процедура.
- •2 Содержание Активного раздаточного материала
- •2.2 Конспект лекционных занятий
- •Тема 1. Введение в субд.
- •Тема 2. Языковая среда реляционных субд.
- •Дополнительная литература: 9[22:28].
- •Тема 3. Работа с файлами в субд.
- •Тема 4. Стандартные функции в субд.
- •Функции для обработки файлов
- •Тема 5. Программирование в субд.
- •Тема 6. Язык реляционных баз данных sql.
- •Тема 7. Запросы sql.
- •Ниже приведен сокращенный вариант команды select с опцией into/to, используемый в Visual FoxPro:
- •Тема 8. Сложные запросы sql.
- •Дополнительная литература: 10[1025:1040].
- •Тема 9. Подзапросы в sql.
- •Дополнительная литература: 10[1028:1040].
- •Тема 10. Объектно-ориентированное программирование (ооп) в субд.
- •Дополнительная литература: 10[944:960].
- •Тема 11. Визуальное программирование в субд.
- •Дополнительная литература: 10[958:962].
- •Тема12. Инструментальные средства субд.
- •Тема 13. Архитектура клиент-сервер в технологии бд.
- •Дополнительная литература 9[159:164], 10[81:83,792:794].
- •Тема 14. Архитектура сбд.
- •Дополнительная литература: 9[28:36], 10[65:88].
- •Тема 15. Модели данных.
- •Дополнительная литература: 9[56:70],10[56:58].
- •2.3 Планы лабораторных занятий
- •Контрольные вопросы:
- •Контрольные вопросы:
- •Контрольные вопросы:
- •Дополнительная литература: 10[1028:1040]. Контрольные вопросы:
- •Дополнительная литература: 10[1028:1040]. Контрольные вопросы:
- •Контрольные вопросы:
- •Контрольные вопросы:
- •2.4 Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп)
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс)
- •2.6 Тематика письменных работ по курсу Тематика курсовых работ
- •Рекомендуемая литература
- •2.7 Тестовые задания для самоконтроля с указанием ключей правильных ответов
- •A) пять;
- •C) один;
- •Правильные ответы
- •Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
- •Учебно-методический комплекс дисциплины для студентов
- •Системы управления базами данных
Дополнительная литература 9[159:164], 10[81:83,792:794].
Контрольные вопросы:
1. По каким критериям возможна классификация СБД.
2. В чем отличие файл-серверной технологии обработки данных от клиент-серверной технологии.
3. В чем заключается основное преимущество клиент-серверной технологии обработки данных.
4. В чем отличие двухзвенной от трехзвенной модели клиент-серверной технологии.
5. Перечислите требования, предъявляемые к разрабатываемому приложению.
Тема 14. Архитектура сбд.
Существует большое разнообразие сложных типов данных, но исследования, проведенные на большом практическом материале, показали, что среди них можно выделить несколько наиболее общих. Обобщенные структуры называют также моделями данных, т.к. они отражают представление пользователя о данных реального мира.
Совокупность свойств, присущих данному типу структуры данных, задаёт схема структуры данных. Построение структур данных в каждой конкретной модели данных выполняется по определённым правилам. Схемы структур данных используются для описания типов групп и групповых отношений, т.е. описание структуры БД задаётся её схемой.
Для представления схемы данных используются чаще всего две формы представления данных: графовая форма, табличная форма.
При графовой форме представления схемы типы групп изображаются вершинами графа, а групповые отношения – соответствующими дугами.
Табличная форма представления схемы обычно представляет двумерную таблицу. С точки зрения понимания и интерпретации она более удобная для пользователя. В качестве аналогов таблиц и их элементов при машинной обработке могут выступать файлы, записи, поля.
База данных создается для определенной предметной области и является ее моделью, так как при решении конкретных задач реальная действительность воспроизводится с существенными ограничениями, зависящими от области деятельности, поставленных целей и мощности вычислительных средств.
При работе с БД разные люди и разные программы, запускаемые этими людьми, видят БД по-разному.
Конечный пользователь работает в каком-то приложении и скорее всего ничего не знает о внутренней структуре. Программа, которую использует этот пользователь и, соответственно, программист, написавший эту программу, видят и используют ту часть базы данных, которую им разрешено видеть.
Администратор, позволяющий тем или иным пользователям видеть те или иные данные, видит всю схему базы данных.
Группа программистов, разработавшая ядро СУБД, и предоставившая администратору возможность создавать схему базы данных, реализовала отображение базы данных на внешние устройства и в память.
Поэтому используются три вида представления моделей данных:
Концептуальное – охватывающее всю задачу с точки зрения администратора информационной системы, т.е. лица, ответственного в целом за работу с БД;
Внешнее – отражает представление о задаче с точки зрения конкретного пользователя, т.е. лица, решающего узкую задачу работы системы на конкретном рабочем месте (каждая информационная система будет иметь несколько внешних представлений модели данных – A, B, C и т.д.);
Внутреннее – отражает представление об информационной задаче разработчика (программиста) с учётом особенностей и возможностей конкретной СУБД и компьютеров, на которых будет реализовываться решаемая задача.
В соответствии с этим выделяют несколько уровней представления данных, которые в совокупности образуют архитектуру системы баз данных.
Стандартная архитектура системы баз данных (стандарт ANSI – American National Standart Institut, затем ISO – International Standart Organization) имеет три уровня архитектуры: внешний, концептуальный, внутренний. На каждом уровне используется своя модель (представление), состоящая из записей (каждая запись состоит из данных об одном экземпляре объекта).
1. Уровень внешних моделей – самый верхний уровень, где каждая модель имеет свое «видение» данных. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению.
2. Концептуальный уровень – здесь база данных представлена в наиболее общем виде, который объединяет данные, используемые всеми приложениями, работающими с данной базой данных. Фактически концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира), для которой создавалась база данных. Как любая модель, концептуальная модель отражает только существенные, с точки зрения обработки, особенности объектов реального мира.
3. Физический уровень – собственно данные, расположенные в файлах или в страничных структурах, расположенных на внешних носителях информации.
Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.
Выделение концептуального уровня позволило разработать аппарат централизованного управления базой данных.
Процесс прохождения пользовательского запроса:
1. Пользователь посылает СУБД запрос на получение данных из БД.
2. Анализ прав пользователя и внешней модели данных, соответствующей данному пользователю, подтверждает или запрещает доступ данного пользователя к запрошенным данным.
3. В случае запрета на доступ к данным СУБД сообщает пользователю об этом и прекращает дальнейший процесс обработки данных, в противном случае СУБД определяет часть концептуальной модели, которая затрагивается запросом пользователя.
4. СУБД получает информацию о запрошенной части концептуальной модели.
5. СУБД запрашивает информацию о местоположении данных на физическом уровне (файлы или физические адреса).
6. В СУБД возвращается информация о местоположении данных в терминах операционной системы.
7. СУБД просит операционную систему предоставить необходимые данные, используя средства операционной системы.
8. Операционная система осуществляет перекачку информации из устройств хранения и пересылает ее в системный буфер.
9. Операционная система оповещает СУБД об окончании пересылки.
10. СУБД выбирает из доставленной информации, находящейся в системном буфере, только то, что нужно пользователю, и пересылает эти данные в рабочую область пользователя.
Разумеется, механизм прохождения запроса в реальных СУБД гораздо сложнее, но и эта упрощенная схема показывает, насколько серьезными и сложными должны быть механизмы обработки запросов, поддерживаемые реальными СУБД.
Каждая конкретная СУБД поддерживает определенную модель данных. Основными компонентами модели данных являются структуры данных, операции над данными, ограничения целостности данных. Они тесно взаимосвязаны между собой и в различных конкретных моделях могут быть реализованы разными способами. Ниже рассматриваются общие принципы структуризации данных, правила построения структур, основные операции и понятие ограничения целостности, используемые при создании и ведении БД, независимо от типа модели данных.
Несмотря на большое разнообразие терминов, используемых для обозначения определённых типов структур данных, в настоящее время наиболее распространена терминология, предложенная КОДАСИЛ (CODASYL – the Conference on Data Systems Languages) – Ассоциацией по языкам систем обработки данных: элемент данных, группа (агрегат) данных, запись, набор, файл, база данных.
Элемент данных – наименьшая поименованная единица данных (аналог поля в файловых системах). Элемент данных – минимальная единица данных, к которой может непосредственно адресоваться СУБД и с помощью которой осуществляется построение всех остальных структур. Обычно элемент данных используется для обозначения свойства (атрибута) объекта. Значение элемента данных может быть любого типа: символьным, числовым, типа дата/время, логического типа и т.д. Например, объект – студент, свойство – дата рождения, значение элемента данных - 20.07.1982.
Группа (агрегат) данных – поименованная совокупность элементов данных и (или) других групп внутри записи, которую можно рассматривать как единое целое.
Запись – поименованная совокупность элементов или элементов и групп, которые не входят ни в какую другую группу. Обычно запись отображает данные о свойствах экземпляра объекта.
Набор – поименованная совокупность записей двух типов, образующих двухуровневую иерархическую структуру. Каждый тип набора представляет собой отношение между двумя или несколькими типами записей. Основное назначение набора – представление связей между записями.
Файл данных – упорядоченная совокупность записей. База данных – поименованная совокупность экземпляров записей различного типа, содержащая ссылки между записями, представленные экземплярами наборов. База данных может состоять из одного или нескольких файлов данных.
В БД используются групповые отношения, которые служат для задания связей между группами в базе данных. Можно сказать, что БД – поименованная совокупность экземпляров групп и групповых отношений. В групповом отношении один тип группы – владелец отношения, а другой – член отношения. Тип группового отношения задаётся между двумя типами групп. По характеру бинарных связей между экземплярами рассматриваемых групп различают групповые отношения вида: 1:1 (один-к-одному), 1:M (один-к-многим), M:1 (многие-к-одному), M:M (многие-к-многим).
Любая операция над данными включает в себя: селекцию (выделение искомых данных) и операцию над выделенными данными.
Селекция выполняется с использованием одного из следующих значений: с использованием логической позиции данного, с использованием значения данного, с использованием связей между данными.
Все операции над выделенными данными могут быть разделены на основные и вспомогательные.
К основным операциям относятся:
- идентификация данных и нахождение их позиции в БД;
- выборка (чтение) данных из БД;
- включение (запись) данных в БД;
- уничтожение (удаление) данных в БД;
- изменение, модификация данных в БД.
К вспомогательным операциям относятся установление и разрыв связей между структурами данных.
Существенным компонентом модели данных является ограничение целостности. Под ограничениями целостности понимаются логические ограничения, накладываемые на данные, с целью сохранения непротиворечивости данных и соответствия структурным спецификациям конкретных СУБД.
Ограничения целостности бывают:
- внутренние (представляются в модели данных правилами композиции структуры данных в конкретной схеме БД и описываются в структурных спецификациях);
- явные или внешние (ограничения задаются в явном виде администратором БД или программистом).
Ограничения целостности можно специфицировать для элементов данных, групп, записей, групповых отношений. В современных СУБД для задания явных ограничений целостности используются разнообразные правила проверки вводимых значений полей, записей, специальные триггеры вставки, удаления, модификации и другие средства.
Основная литература: 1[7:11].
