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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Раздел 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
Источник: https://tut-files.ru/previewfile/135436