Преобразование структуры и данных
Между этим понятием и свойством воспроизводимости действий существует связь. Если есть ФП-набор операторов Мi в Мj, то Мj > Мi обладает свойством полной определенности и является воспроизводимым. Обеспечение интерпретируемости предполагает, что реализация программы PROGi (или оператора oi) на ЯМД Мi эквивалентна реализации программы PROGj на ЯМД Мj, т. е. коммутативна диаграмма на рис. 11.5, с… Читать ещё >
Преобразование структуры и данных (реферат, курсовая, диплом, контрольная)
В общем случае преобразование данных модели М. в данные модели Mj возможно двумя путями:
- 1) «попарное» преобразование, обычно с помощью драйверов: здесь при наличии n локальных БД требуется n (n — I) драйверов; этот путь широко используется в приложении ODBC;
- 2) построение универсальной промежуточной виртуальной модели Мо с преобразованием по схеме
Мi > Мв > Мj,.
при этом в качестве Мо может выступать ER-диаграмма или реляционная модель [14, 15].
Для анализа сути преобразования данных рассмотрим процессы построения БД и работы с ней.
- 1. Первоначально на этапе концептуального проектирования задается некоторая схема S, проектируемой БД и на выбранном ЯОД создается структура БД. Эта структура определяется множеством V. БД, где элементы v. e V. есть типы данных; Id — множество идентификаторов (имен) полей. Тогда состояние В. = (Id > Vi).
- 2. Общая схема S, БД определяется набором Ms, состояний
Msi: Si > Вi.
Исходное состояние Вi обозначим Еi.
- 3. Каждому значению Vi ставится в соответствие значение поля данных, что будет подразумеваться при дальнейших рассуждениях.
- 4. При работе с БД используется выбранный ЯМД. Оператор о. этого языка осуществляет преобразование Еi > Вi или Вi > Вi'. Множество операторов о. — через Моi. Тогда
Моi: Вi > Вi' или Еi > Вi,.
где Е. — начальное состояние. Тогда модель данных (МД) Мi = .
Ее необходимо преобразовать в модель Мj, обладающую отмеченными ранее характеристиками.
Преобразование назовем правильным, если справедливы свойства:
- 1) полная определенность, т. е. любое состояние модели Мi представимо в модели Мj;
- 2) интерпретируемость: любой оператор ЯМД в Мi имеет интерпретацию в ЯМД? j;
- 3) воспроизводимость: любое изменение БД в Мi выполняется некоторым оператором изменения, воспроизводимого средствами Мj.
Рассмотрим эти свойства детальнее.
1. Введем операторы ?: Si > Sj; ?: Вi > Вj. Тогда должна быть коммутативна диаграмма на рис. 11.5, а, б или.
Рис. 11.5. Коммутативные диаграммы ЯОД и ЯМД Отметим, что Bi и Вj в конечном счете характеризуются множествами и . В простейшем случае k = m и говорят о подобных типах данных. Однако он встречается редко, о чем свидетельствует [14] пример СУБД Access и «подобных» реляционных СУБД (табл. 11.1−11.4). Здесь лучше говорить не о первичных типах данных, а о некоторых классах (табл. 11.3, 11.4) производных типов данных и построении отображения этих классов.
Таблица 11.1
Типы данных СУБД Access
Тип данных. | Характеристика. |
Текстовый. | 255 байт. |
Memo. | 64 кбайт. |
Числовой. | 1, 2, 4, 8 байт. |
Дата/Время. | 8 байт. |
Денежный. | 8 байт. |
Счетчик. | 4 байта. |
Логический. | 1 байт. |
Объект OLE. | До 1 Гбайт. |
Таблица П. 2.
Соотношение типов данных СУБД Paradox и Access.
Paradox. | Access. |
Alphanumeric. | Текстовый. |
Number. | Числовой с плавающей запятой, 8 байт. |
Short Number. | Числовой; целое. |
Currency. | Денежный. |
Date. | Дата/Время. |
Таблица 11.3
Соотношение типов данных СУБД BTrieve и Access.
BTrieve. | Access. |
String, (string, /.string. | Текстовый. |
Integer. | |
1 byte. | Числовой. Байт. |
2 byte. | Числовой; целое. |
4 byte. | Числовой; длинное целое. |
Float, bifloat. | |
4 byte. | Числовой с плавающей точкой. |
8 byte. | Числовой с плавающей точкой. |
Decimal, numeric. | Числовой с плавающей точкой. |
Money. | Денежный. |
Logical. | Да/Нет. |
Lvar. | Объект OLE. |
Иными словами, речь идет о непересекающихся множествах вида , при этом без потери информации. Тогда имеет место посредством оператора отображение , где , при этом отображение (преобразование типов) должно быть биективно.
Таблица 11.4
Соотношение типов данных языка SQL и СУБД Access.
SQL. | Access. |
Char. | Текстовый. |
Varchar. | Текстовый. |
Tinint. | Числовой. 4 байта. |
Smallint. | Числовой; целое. |
Integer. | Числовой; длинное целое. |
Real. | Числовой с плавающей точкой. |
Float. | Числовой с плавающей точкой. |
Double. | Числовой с плавающей точкой. |
Date. | Дата/Время. |
Time. | Дата/Время. |
Timestamp. | Да/Нет. |
Image. | Объект OLE. |
2. Обеспечение интерпретируемости предполагает, что реализация программы PROGi (или оператора oi) на ЯМД Мi эквивалентна реализации программы PROGj на ЯМД Мj, т. е. коммутативна диаграмма на рис. 11.5, с.
Тогда общая связь ЯОД и ЯМД различных моделей данных может быть представлена в виде схемы, показанной на рис. 11.5, д, где Pj — процедура.
- 3. Говорят, что функция? сохраняет операторы, если для любого oi I Моi процедура рi = ?(оi) такова, что
- а) исходные состояния bi I Вi и bj I Вj. связаны зависимостью
bi= ?(bj);
б) оператор о. переводит состояние bi в состояние bi', а оператор pj — состояние bj в bi' при этом bi' = ?(bi').
Оператор oi и композиция операторов рj, удовлетворяющая данному требованию, называются эквивалентными относительно отображения ?. Именно такое отображение? нас будет интересовать.
Рис. 11.6. Соотношение операторов и процедур моделей данных Функция? — верификационная: если исходные состояния еi и е., когда начинают функционировать программы, связаны соотношением еi = ?(ej), то действия, произведенные программой progi e PROGi, переводят систему Mi в состояние bi, а действия ?.progi e PROGj переводят БД Мj в состояние bj и bi = ?(bj),? — функция отображения программ.
Возможные соотношения операторов и процедур показаны на рис. 11.6.
Назовем набор операторов оi. в ЯМД Mi функционально полным (ФП), если для любого начального состояния bi' I В. произвольной БД со схемой Si можно задать последовательность операций progi, переводящую БД в произвольное заданное состояние bi I Вi, удовлетворяющее схеме Si.
Между этим понятием и свойством воспроизводимости действий существует связь. Если есть ФП-набор операторов Мi в Мj, то Мj > Мi обладает свойством полной определенности и является воспроизводимым.
Далее предполагаем, что свойства 1−3 и функциональная полнота имеют место.