- •1Nf. Отношение находится в первой нормальной форме тогда и только тогда, когда значения всех его атрибутов атомарны.
- •3Nf. Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей.
- •2.2.История развития и стандарты языка sql. Наборы команд sql и примеры операторов. Типы данных, управляющие конструкции языка Transact-sql.
- •Операторы манипулирования данными -- операторы добавления, изменения и удаления записей.
- •Insert – добавление информации к таблице
- •2.6. Курсоры в Microsoft sql Server: примеры создания, использования и удаления.
- •2.8 Субд Oracle – сравнение с другими сетевыми реляционными субд, состав, архитектура, типы данных, язык, примеры запросов. Язык sql3 – способы работы с объектами в реляционных бд.
- •2.9 Субд MySql – сравнение с другими сетевыми реляционными субд, интерфейсы управления и администрирования, организация данных, типы данных, язык, примеры запросов.
- •3.1 Ретроспектива развития однопользовательских субд. Сравнительная характеристика современных однопользовательских субд.
- •Типы переменных:
- •Массивы
- •Объекты
- •Доступность
- •Обработка ошибок
- •Параметры процедур и функций.
- •Выбор xml-технологии
- •Хранение xml-данных в собственном формате
- •Технология xml-представлений
- •Комбинированная модель
- •Условные выражения xQuery
- •XQuery сравнения
- •5.1. Недостатки и ограничения реляционной модели. Постреляционные бд, примеры. Введение объектной модели в язык sql3. Примеры sql-запросов, содержащих объекты.
- •5.2. Идея ообд. Преимущества и недостатки объектно-ориентированных баз данных. Стандарт odmg: общие сведения.
- •Преимущества:
- •Недостатки:
Условные выражения xQuery
"If-Then-Else"
Посмотрите на следующий пример:
for $x in /bookstore/book
return if ($x/@category="CHILDREN")
then <child>{data($x/title)}</child>
else <adult>{data($x/title)}</adult>
Заметки о «если-то-иначе" синтаксис: скобки, если выражение не требуется. еще не требуется, но это может быть просто другом ().
В результате:
<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>XQuery Kick Start</adult>
XQuery сравнения
В XQuery существует два способа сравнения значений.
Основной: =, =, <, <=,>,> =
eq, ne, lt, le, gt, ge
Разница между этими двумя методами сравнения приведены ниже.
Следующее выражение возвращает истину, если д атрибуты имеют значение больше 10:
$bookstore//book/@q > 10
Следующее выражение возвращает истину, если есть только один атрибут q возвращает выражение, и его значение больше 10. Если более чем один q возвращается сообщение об ошибке:
$bookstore//book/@q gt 10
FLWOR - аббревиатура из первых букв операторов - выражение, которое является основной частью XQuery
Выражение FLWOR является одним из самых мощных и в то же время обычных выражений в XQery. Однако выражения FLWOR не определены в терминах таблиц, строк и столбцов; вместо этого они связывают с переменными значения в операторах for и let и используют эту связь для создания новых результатов. Комбинация связей переменных, созданных операторами for и let в выражении FLWOR, называется кортежем.
for - с некоторой степенью приближения можно трактовать for как оператор цикла. Связывает одну или более переменных с выражениями, создавая поток кортежей. В потоке каждый кортеж связывает данную переменную с одним из значений, получаемых в результате вычисления выражения
let - это оператор присваивания. Связывает переменные с полным результатом вычисления выражения, добавляя эти связи к кортежам, полученным оператором for, или создавая единственный кортеж (при отсутствии оператора for).
order by - сортирует поток кортежей
where - оставляет в потоке только те кортежи, которые удовлетворяют условию, являющемуся параметром данного оператора
return - создает результат выражения
FLWOR аббревиатура "For, Let, Where, Order by, Return".
"Действительно, Пусть, Где, Сортировка, Вернуть".
Ниже приведен пример, с которым вы уже знакомы:
/bookstore/book[price>30]/title
При помощи данного выражения будут выбраны все названия книг, которые по прайсу больше 30. Следующее выражение XQuery FLWOR равносильно предыдущей записи.
for $x in /bookstore/book
where $x/price>30
return $x/title
XML (EXtensible Markup Language) – расширяемый язык разметки, с помощью которого описываются те, или иные данные. Не является языком программирования, протоколом передачи данных, структурой БД. Этот язык позволяет обеспечить независимость приложений от данных.
XML – метаязык (язык для описания др. языков), который позволяет, проектировщикам создавать специализированные дескрипторы для реализации функциональных возможностей; не достижимых с помощью HTML.
Язык XML представляет собой подмножество языка SGML (стандартный обобщенный язык разметки); он предназначен специально для оформления документов Web.
Язык XML уже фактически стал стандартным средством обмена данными в индустрии программного.
Преимущества XML
1.Простота — относительно простой язык, его стандарт не превышает по объему 50 стр.
2.Открытый стандарт; независимость от платформы и программного обеспечения. Язык XML также основан на стандарте (ISO 10646), в нем предусмотрена поддержка набора символов Unicode, и поэтому он может служить для представления текста на всех алфавитах.
3.Способность к расширению. В отличие от HTML он позволяет пользователям опр. собственные дескрипторов соответствии с требованиями к конкретному приложению.
4.Возможность повторного использования. Расширяемость языка XML позволяет также создавать библиотеки дескрипторов XML и повторно использ. их во многих приложениях.
5.Разделение информационного наполнения и средств представления. Язык XML позволяет хранить содержимое документа и независимо от этого описывать способ его представления (в браузере).
6.Улучшенное распределение нагрузки. Язык XML позволяет доставлять данные в браузер (на клиентский компьютер) для проведения некоторых вычислений на месте; при этом сервер частично освобождается от вычислительной нагрузки и обеспечивается более равномерное распределение нагрузки.
7.Поддержка интеграции данных из нескольких источников. Язык XML позволяет упростить объединение данных из различных источников.
8.Способность описывать данные, которые относятся к приложениям многих разных типов. т.к. XML является расширяемым, он может также использоваться для описания данных, содержащихся в самых различных приложениях. К тому же, т.к. XML позволяет создать формат представления данных, в котором данные описывают сами себя, последующая передача и обработка данных может происходить без использования каких-либо встроенных дополнительных описаний данных.
9.Усовершенствованные механизмы поиска. При использовании XML поисковые машины могут применяться просто для интерпретации дескрипторов с описаниями.
Недостатки
1.Синтаксис избыточен – большой размер XML-документа; влияние на эффективность приложения (возрастает стоимость хранения, обработки и передачи данных).
2.Неоднозначность моделирования – нет общепринятой методологии для моделирования данных; в результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов.
3.XML не содержит встроенной в язык поддержки типов данных – нет строгой типизации.
В общем виде XML-документ имеет структуру произвольного дерева, которая описывается набором вложенных друг в друга тегов, каждый из которых имеет следующий синтаксический вид:
<ИмяУзла ИмяАтр1=”значение” ИмяАтр2=”значение” ...>
<!--вложенные теги и тексты--> </ИмяУзла>
Пример:
<?xml version=”1.0”?>
<books>
<book isbn=”1558604669">
<title>Principles of Multimedia Database Systems</title>
<authors><author>Subrahmanian</author></authors>
</book>
<book isbn=”1558603123”>
<title>Multimedia and Imaging Databases</title>
<authors>
<author>Khoshafian</author>
<author>Baker</author>
</authors>
</book>
</books>
SQL Server и XML: Способы хранить XML-данных в БД:
1.Преобразование схемы (схем) XML-документов в схему базы данных.
2. Использование опр. набора структур, позволяющего хранить любой XML-документ.
Поддержка XML начиная с версии 2000
– FOR XML - извлечение результатов запросов к базам данных в виде XML-потока;
– OPENXML - сохранение XML-документов в базе данных (предназначена для обратных действий – создания записи, на основе переданного ей XML-документа)
Версия 2005
– Тип данных xml
– Поддержка проверки данных на уровне XSD-схемы
– Поддержка Xquery
Версия 2008
FOR XML - это атрибут команды SELECT, указывающий на то, что результаты выполнения запроса должны быть представлены в виде XML-потока:
– Запрос:
SELECT ProductID, ProductName
FROM Products Product
FOR XML AUTO
– Результат - XML-документ:
<Product ProductID="1" ProductName="Widget"/>
<Product ProductID="2" ProductName="Sprocket"/>
XQuery
Язык запросов XML, разработан в W3C; первая версия - XQuery 1.0 в 2003г.
Надмножество XPath (язык для адресации определенных частей в XML-документах).
Совместим с другими XML-стандартами
Изначально был предназначен для извлечения информации и не включал средств для модификации существующих документов XML, XQuery аналог SQL для баз данных
XQuery поддерживается тремя главными производителями БД (IBM, Oracle, Microsoft).
Пример:
<html><head/><body>
{ for $act in doc("hamlet.xml")//ACT
let $speakers := distinct-values($act//SPEAKER)
return
<span>
<h1>{ $act/TITLE/text() }</h1>
<ul>
{ for $speaker in $speakers
return <li>{ $speaker }</li> }
</ul>
</span> }
</body> </html>