Файл: Конспект лекций по учебной дисциплине по дисциплине мдк. 02. 02. Технология разработки и защиты баз данных.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 26.04.2024

Просмотров: 222

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Содержание

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

ТЕМАТИЧЕСКИЙ ПЛАН

ПОЯСНЕНИЯ К НАПИСАНИЮ КОНСПЕКТА

Раздел 1 Основы теории баз данных.

Тема: Понятие базы данных, системы управления баз данных.

Тема: Классификация баз данных. Архитектура баз данных.

Тема: Администратор базы данных и его функции. Пользователи баз данных.

Раздел 2 Модели данных.

Тема: Понятие о моделировании данных

Тема: Иерархическая модель данных. Сетевая модель данных.

Раздел 3 Реляционная модель данных.

Тема: Основные понятия реляционной модели данных.

Тема: Инфологическая модель данных.

Проектирование инфологической модели данных

Тема: ER моделирование базы данных.

Раздел 4. Основы реляционной алгебры.

Тема: Реляционная алгебра. Операции: объединение, пересечение, разность, декартово произведение

Тема: Выборка, проекция, соединение, деление

Тема: Применение реляционной алгебры.

Раздел 5. Этапы проектирования базы данных.

Тема: Этапы проектирования базы данных.

Тема: Концептуальное моделирование предметной области.

Тема: Метод нормальных форм

Тема: Нормальные формы

Тема: ER моделирование предметной области.

Тема: Методы создания основных объектов

Тема: Создание таблиц в СУБД Access

Тема: Разработка схемы базы данных

Тема: Создание однотабличных запросов в СУБД Access.

Тема: Создание многотабличных запросов в СУБД Access.

Раздел 6. Язык запросов SQL.

Тема: Основные понятия и компоненты языка SQL.

Тема: Выражения, условия и операторы языка SQL.

Тема: Средства управления таблицами.

Тема: Средства управления данными.

Раздел 7. Оформление и работа с базой данных.

Тема: Типы и виды форм. Методы и средства создания.

Тема: Создание отчётов. Создание печатных форм отчётов

Тема: Макросы. Основные макрокоманды

1 Определение макроса

1 Определение макроса

Раздел 8. Распределенные, параллельные базы данных.

Тема: Основные условия и требования к распределённой обработке данных

1 Терминология распределенных баз данных

3 Принципы функционирования распределенной БД

1 Терминология распределенных баз данных

3 Принципы функционирования распределенной БД

Тема: Базовые архитектуры распределенных баз данных

Тема: Архитектура сервера баз данных

ПЛАН

2 Архитектура «активный сервер баз данных»

3. Архитектура сервера приложений

2 Архитектура «активный сервер баз данных»

3. Архитектура сервера приложений

Тема: Доступ к базам данных в архитектуре «клиент-сервер»

Тема: Вычисление распределенных запросов.

Тема: Транзакции и целостность базы данных.

Тема: Триггеры и хранимые процедуры.

Раздел 9. Защита базы данных.

Тема: Безопасность данных. Управление правами доступа.

Тема: Обязательные методы защиты базы данных.

3 Поддержка мер обеспечения безопасности в языке SQL

3 Поддержка мер обеспечения безопасности в языке SQL

Директивы GRANT и REVOKE

Раздел 10. Базы данных в Интернете.

Тема: Основы XML.

1 Определение XML

1 Определение XML

Тема: Доступ к данным с помощью ADO.NET.

Раздел 10. Базы данных в Интернете.

Тема: Основы XML.


ПЛАН

1 Определение XML

2 Недостатки HTML

3 Достоинства XML

4 Применения XML



ЛИТЕРАТУРА: [1], стр. 307 – 308

1 Определение XML


XML (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный W3C универсальный язык разметки, предназначенный для описания структурированных данных, обмена информацией между программами и создания специализированных языков разметки (XML-словарей). Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет.

Годом рождения XML можно считать 1996 год, в конце которого появился черновой вариант спецификации языка, или 1998 года, когда эта спецификация была утверждена.

Язык XML, сочетает в себе простоту HTML, логику SGML и удовлетворяет требованиям Интернета.

  • Правильно построенный (Well-formed). Правильно построенный документ соответствует всем общим правилам синтаксиса XML, применимым к любому XML-документу. И если, например, начальный тег не имеет соответствующего ему конечного тега, то это неправильно построенный документ XML. Документ, который неправильно построен, не может считаться документом XML; XML-процессор (парсер) не должен обрабатывать его обычным образом и обязан классифицировать ситуацию как фатальная ошибка.

  • Действительный (Valid). Действительный документ дополнительно соответствует некоторым семантическим правилам. Это более строгая дополнительная проверка корректности документа на соответствие заранее определённым, но уже внешним правилам, в целях минимизации количества ошибок, например, структуры и состава данного, конкретного документа или семейства документов. Эти правила могут быть разработаны как самим пользователем, так и сторонними разработчиками, например, разработчиками словарей или стандартов обмена данными. Обычно такие правила хранятся в специальных файлах — схемах, где самым подробным образом описана структура документа, все допустимые названия элементов, атрибутов и многое другое. И если документ, например, содержит не определённое заранее в схемах название элемента, то XML-документ считается недействительным; проверяющий XML-процессор (валидатор) при проверке на соответствие правилам и схемам обязан (по выбору пользователя) сообщить об ошибке.

2 Недостатки HTML


HTML не выражает смысла документов.

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

HTML громоздок и негибок.

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

Концепция Веб-обозревателя слишком ограничена.

С появлением Java-аплетов, сценарных языков и элементов ActiveX Веб-обозреватели перестали быть простыми "отображателями" HTML-документов; сегодня скорее они выглядят как программы, запускающие конкретные приложения. Тем не менее, сама концепция обозревателя накладывает излишние ограничения на пользователя; во многих случаях нам нужны Веб-ориентированные приложения, т. е. программы, способные читать специализированную информацию с Веб-узлов и выдавать нам ее в привычном виде, например, в виде электронных таблиц.

Поиск документов возвращает слишком много ссылок.

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

Невозможно найти взаимосвязанные ресурсы.

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

3 Достоинства XML


XML — это попытка решить перечисленные проблемы путем создания простого языка разметки, описывающего произвольные структурированные данные. Точнее говоря, это метаязык, на котором пишутся специализированные языки, описывающие данные определенной структуры. Такие языки называются XML-словарями. В отличие от HTML, XML не содержит никаких указаний на то, как описанные в XML-документе данные должны отображаться. Способ отображения данных для различных устройств задается языком описания стилей XSL, который играет для XML примерно ту же роль, что CSS дл HTML. Другое принципиальное его отличие от HTML состоит в том, что XML может содержать любые теги, которые сочтут нужным использовать создатели XML-словаря.

Приведем список лишь нескольких специализированных языков на базе XML, которые сегодня находятся в разных стадиях разработки рабочими группами W3C:

  • MathML — язык математических формул;

  • SMIL — язык интеграции и синхронизации мультимедийных средств;

  • SVG — язык двумерной векторной графики;

  • RDF — язык метаописаний ресурсов;

  • XHTML — переформулировка HTML в терминах XML.

Процесс обработки XML-документа состоит в следующем. Его текст анализируется специальной программой, которая называется XML-процессором. XML-процессор ничего не знает о семантике данных в документе; он только производит синтаксический разбор (parsing) текста документа и проверяет его правильность с точки зрени правил XML. Если документ правильно оформлен (well-formed), то результаты разбора текста передаются XML-процессором прикладной программе, которая выполняет их содержательную обработку; если же документ оформлен неверно, т.е. содержит синтаксические ошибки, то XML-процессор должен сообщить о них пользователю.

4 Применения XML


Возникает вопрос: а какой смысл в использовании "пустого языка", лишенного собственного содержания? Дело в том, что, несмотря на внешнюю простоту, XML обладает достаточно изощренными механизмами контроля правильности данных, позволяет производить проверку иерархических отношений внутри документа, и, самое главное, устанавливает единый стандарт для документов, хранящих данные, какова бы ни была природа этих данных.

Перечисленные выше возможности позволяют рассматривать XML как платформо-независимый стандарт хранения и представления информации, который в сочетании с другими современными технологиями (в частности, с технологиями Java) способен стать основой для создания любых машинно-независимых приложений, в т. ч. для обмена данными между сервером и клиентом. Кроме того, активно разрабатываемые сегодня языки запросов на базе XML могут составить серьезную конкуренцию языку SQL.
Контрольные вопросы

  1. Что такое язык XML и каковы его основные достоинства?

  2. Что такое Document Type Definition (DTD) и каково его предназначение?

  3. Что собой представляют документы XML Schema Definition (XSD) и каково их предназначение?

ЛЕКЦИЯ 40

Тема: Доступ к данным с помощью ADO.NET.


ПЛАН

1Что такое ADO.NET

2 Для чего разработана ADO.NET

3 Объектная модель ADO.NET

4 Провайдер данных
ЛИТЕРАТУРА: [1], стр. 262 – 263


1
Что такое ADO.NET

Коротко на этот вопрос можно ответить так: это основная технология доступа к данным (строго говоря, не только реляционным, хотя в своем цикле я рассматриваю только реляционные базы данных) для платформы .NET. Более конкретно – это набор объектов, при помощи которых программист может осуществить подключение к серверу баз данных, выборку данных и/или их модификацию.

MSDN определяет аббревиатуру ADO.NET как «ActiveX Data Objects for the .NET Framework». Внимательный читатель сразу же заметит подвох. Что, собственно, делает в среде .NET, которая, как известно, объявила о своей автономии от COM, технология, базирующаяся на ActiveX?

Ответить односложно на этот каверзный вопрос не так-то просто. Во-первых, на самом деле ADO.NET – это вовсе не элемент ActiveX, а обычная управляемая сборка .NET! Видимо, аббревиатура ADO настолько прочно ассоциируется с доступом к базам данных, что оформилась в отдельное самостоятельное слово, не подлежащее делению на части. Другой причины для объединения столь противоречивых понятий, как ActiveX и .NET, в столь мирном соседстве нет.

Во-вторых, при всей своей «управляемости», из ADO.NET местами все же выглядывают уши COM. И тот, кто намеревается игнорировать этот факт, впоследствии жестоко поплатится при попытке установить соединение с источником данных через брандмауэр.

Повальная мода на XML, обуявшая весь свет за последнее время, не обошла стороной и ADO.NET. Так что источниками данных могут быть не только серверы баз данных, но и файлы XML.
2 Для чего разработана ADO.NET
ADO была разработана для архитектуры «клиент-сервер». Эта архитектура в течение ряда лет была достаточно прогрессивной, если учесть, что пришла она на смену архитектуре «файл-сервер». Потом все нарастающая сложность систем обработки данных потребовала качественного изменения архитектуры: кроме двух уровней – клиент и сервер баз данных – появляются дополнительные уровни – серверы, реализующие бизнес-логику приложений. До сих пор, правда, ни одна из разработанных для этой цели архитектур (в частности, DCOM и CORBA) не добились впечатляющих успехов в этом направлении, и на сегодняшний момент мне известно, пожалуй, больше вирусов, использующих их слабости, чем реально работающих продуктов на их основе. .NET в целом и ADO.NET в частности – очередная попытка навести порядок в сегменте многоуровневых приложений и сделать их разработку относительно простым и приятным занятием.


Поскольку ADO.NET ориентирована на разработку многоуровневых приложений корпоративного масштаба, это отложило неизбежный отпечаток на способы взаимодействия клиента с сервером. Если основной сценарий работы клиента в ADO начинается с создания соединения, которое потом удерживается открытым весь сеанс, то ADO.NET гораздо самостоятельнее в этом отношении. Вполне допустимым является сценарий, когда клиент устанавливает соединение, получает необходимые данные, закрывает соединение, длительное время обрабатывает данные, после чего вновь устанавливает соединение для передачи измененных данных обратно на сервер.
3 Объектная модель ADO.NET
MSDN изображает объектную модель ADO.NET следующим образом:



Как видно из данной диаграммы, основу ADO.NET составляют два основных компонента (разумеется, в данном случае речь не идет о компонентах COM): DataSet и Провайдер Данных.
4 Провайдер данных

Провайдер Данных, как это ясно следует из его названия, отвечает за связь приложения с источником данных и манипуляции данными. Основные объекты, входящие в его состав, - это Connection, Command, DataAdapter иDataReader.

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

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

DataAdapter служит связующим звеном между DataSet и источником данных. Он использует Command для выполнения команд SQL как для заполнения DataSet данными, так и для обратной передачи измененных клиентом данных к источнику. Для выполнения этих функций объект имеет 4 метода: SelectCommand, InsertCommand, UpdateCommand и Deletecommand.

DataReader представляет однонаправленный поток данных от источника только на чтение. Если приложение клиента не модифицирует данные и не требуется произвольная выборка данных, а достаточно их однократного просмотра, то использование DataReader вместо DataSet позволит сохранить ресурсы RAM и CPU, а также поднять быстродействие приложения.

DataSet

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

DataSet может сохранять свое текущее содержимое в файлах XML, а схему в виде XML Schema definition language (XSD).
Контрольные вопросы

  1. Что означает выражение "Web является системой, не сохраняющей информацию

  2. о своем состоянии"? Какое влияние оказывает такая система на разработку приложений баз данных?

  3. Для чего нужны интерфейсы Web-сервера? Приведите примеры.

  4. Что такое служба ODBC и каковы ее функции?

  5. Что такое сервер Web-приложений и каковы его функции с точки зрения БД?

  6. Что такое сценарии и каковы их функции (дайте пояснение в терминах разработки приложений баз данных)?

  7. Опишите основные службы (сервисы), предоставляемые сервером Web-приложений ColdFusion.

  8. Найдите в Интернете серверы Web-приложений, отличные от ColdFusion, и подготовьте о них краткое сообщение в вашей группе.

  9. Кратко опишите назначение следующих тегов ColdFusion: , , , , и .

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

  11. Опишите проблемы разработки Web-страниц, относящиеся к связям предок/ родитель в БД.

ЛЕКЦИЯ 41