Содержание
- 2. 1. Данные. Компьютер должен обрабатывать различные типы простейших элементов данных и структур данных. 2. Элементарные операции.
- 3. Программируемая реляционная система “Thе Third Manifecto ” by H.Darwen and C.Date "…A database shall be a
- 4. Создание relvar R (a1:Di, … an:Dj) KEY(…ai...) FKEY (…) ON (…) Некоторые relvar (виртуальные) могут вычисляться
- 5. ПРС позволяет определить, сохранить и выполнить процедуры - алгоритмические (операторы if, while и т.д.) последовательности присваиваний
- 6. Объекты и классы Объект характеризуется инкапсулированными состоянием (сложное значение) и поведением Объектная переменная есть совокупность именованных
- 7. Объекты и классы Объект характеризуется инкапсулированными состоянием (сложное значение) и поведением Объектная переменная есть совокупность именованных
- 8. Объекты и классы Состояние объекта описывается множеством значений, не более сложных, чем значение отношения Вырожденные формы
- 9. Класс D - множество объектов заданной структуры. Спецификация класса отделена от реализации. Спецификация D ( scCi,
- 10. Класс D - множество объектов заданной структуры. Спецификация класса отделена от реализации. Спецификация D ( scCi,
- 11. Объекты и классы Объектный идентификатор OID – связанное с объектом уникальное значение из домена dOID. OID
- 12. Трансляция Цель: Система, состоящая из множества персистентных объектов разных классов D, определенных на расширяемом множестве доменов
- 13. Структура и ключи Структура объектов класса и ключи класса описываются в команде спецификации класса. Dn( //имя
- 14. Структура и ключи Значения всех простых компонентов scCi всех объектов класса Т представлены в виде единого
- 15. Структура и ключи Для каждого из сложных компонентов rCi класса T : значения из всех объектов
- 16. Структура и ключи При этом все ссылочные поля (т.е. простые ссылочные компоненты и ссылочные атрибуты сложных
- 17. Структура и ключи EXEC begin RSHIPMENTS (OID:dOID, DocN:String, Cntr:dOID) KEY(OID), KEY(DocN), REFERENCE Cntr ON RCONTRACTOR.OID; RSHIPMENTS.Items
- 18. Структура и ключи EXEC begin RSHIPMENTS (OID:dOID, DocN:String, Cntr:dOID) KEY(OID), KEY(DocN), REFERENCE Cntr ON RCONTRACTOR.OID; RSHIPMENTS.Items
- 19. Создание объектов Объект создается командой new D (конструирующее_выражение) EXEC begin - Генерируется новое уникальное значение OID
- 20. Доступ к данным Путь - обусловленная структурой классов и ссылками между ними последовательность имен, определенных в
- 21. Доступ к данным Путь - обусловленная структурой классов и ссылками между ними последовательность имен, определенных в
- 22. Доступ к данным Путь - обусловленная структурой классов и ссылками между ними последовательность имен, определенных в
- 23. Доступ к данным Путь - обусловленная структурой классов и ссылками между ними последовательность имен, определенных в
- 24. Доступ к данным Общий принцип: Любой нетерминальный путь может трактоваться как имя отношения («О-вид»), содержащего атрибуты,
- 25. Доступ к данным Использование О-видов. О-виды – отношения, представляющие данные об объектах используя имена и последователностей
- 26. Доступ к данным Использование О-видов. О-виды – отношения, представляющие данные об объектах используя имена и последователностей
- 27. Доступ к данным - Простая проекция - Соединение в классе - Соединение по ссылке в атрибуте
- 28. Доступ к данным Вычисление О-видов. Простая проекция. Сигнатура является подмножеством одного из отношений класса -> проекция
- 29. Доступ к данным Вычисление О-видов. Соединение в классе. Сигнатура содержит атрибуты разных отношений класса -> cоединение
- 30. Доступ к данным Вычисление О-видов. Соединение по ссылке в атрибуте. Атрибут сигнатуры содержит ссылку -> cоединение
- 31. Доступ к данным Вычисление О-видов. Соединение по ссылке в заголовке. Shipments.Cntr // пример выражения групповой ссылки
- 32. Доступ к данным Вычисление О-видов. Соединение по ссылке в заголовке. Заголовок сигнатуры содержит ссылку -> cоединение
- 33. Доступ к данным Вычисление О-видов. Отбор объектов. Выражение отбора объектов (в путях) nameD Результат: групповая ссылка
- 34. Доступ к данным Вычисление О-видов. Отбор объектов. Выражение отбора объектов для сложных компонентов имя_класса_или_ссылки Запятая “,”
- 35. Доступ к данным Вычисление О-видов. Отбор объектов. Выражения отбора объектов могут сочетаться и вкладываться Shipments OR
- 36. Доступ к данным Использование О-видов. О-виды – отношения, представляющие данные об объектах используя имена и последователностей
- 37. Для одного объекта (RD WHERE OID = this)[a] + (RD WHERE OID = this)[b] где this
- 38. Операцию доступа – за скобки(!) (RD WHERE OID = this)[a+b] Для одного объекта (RD WHERE OID
- 39. Трансляция процедур Утверждение о транслируемости: Любая процедура p над компонентами С класса D, может быть транслирована
- 40. Трансляция процедур Утверждение о транслируемости: Любая процедура p над компонентами С класса D, может быть транслирована
- 41. Трансляция процедур Трансляция RValue выражений f( C1, C2, …) -> Cn где f - суперпозиция примитивных
- 42. Для любого Ci существует такое отношение классовRi, что (Ri WHERE OID = theOID)[!OID] –> Сi где
- 43. Трансляция последовательности операторов процедура proc – алгоритмическая последовательность операторов - присваивания Сj := f(… Сi …)
- 44. Трансляция алгоритмов Операторы if… и while… групповая ссылка these может быть разделена по заданному условию Трансляция
- 45. Утверждение о транслируемости: Любая процедура p над компонентами С класса D, может быть транслирована в такую
- 46. служат для персистентного хранения данных . Для их реализации создаются реальные переменные отношения ПРС, схема которых
- 47. Связывание Структура класса-наследника объединяет множества наследуемых и собственных компонентов и методов. Реализации наследуемых компонентов и методов
- 48. Связывание Структура класса-наследника объединяет множества наследуемых и собственных компонентов и методов. Реализации наследуемых компонентов и методов
- 49. Трансляция Цель: Система, состоящая из множества персистентных объектов разных классов D, определенных на расширяемом множестве доменов
- 50. прототип («RxO System») SQL-сервер Прототип. SQL трансляция ОО-расширения http://theorm.narod.ru/OOtransRUS.pdf
- 51. Прототип. CREATE CLASS BANKS { Name STRING; BIC STRING; }KEY uniqBIC (BIC); //ключ класса - БИК
- 52. Прототип. CREATE CLASS SHIPMENTS //товарные операции { DocN STRING; //номер Cntr CONTRACTORS; //ссылка на контрагента DocDate
- 53. Компоненты могут быть реализованы 1) Как хранимые … AS STORED; 2) Как вычисляемые с помощью процедуры,
- 54. Прототип. NEW CONTRACTORS WITH SET .Name := "X3", .Bank := (NEW BANKS WITH SET .BIC :=
- 55. Прототип. Изменение данных. Для изменения данных используются традиционные SQL операции, использующие в качестве аргуменов пути и
- 56. Прототип. Запросы. Для запросов к данным используются традиционное SELECT выражение, использующие для обозначения источников данных пути
- 57. Прототип. CREATE CLASS VALUEOPS //фин.документ { VDocN STRING; //номер VDate DATETIME; //дата ExpVal FLOAT; //ожидаемая сумма
- 58. EXEC SHIPMENTS[.DocDate SELECT #s.DocN, #s.PostDate, #s.Txt, #s.Cntr.Name, #s.Items.Art, #s.Items.Qty, #g.PricePL FROM SHIPMENTS #s JOIN GOODS #g
- 59. EXEC SHIPMENTS[.DocDate SELECT #s.DocN, #s.PostDate, #s.Txt, #s.Cntr.Name, #s.Items.Art, #s.Items.Qty, #g.PricePL FROM SHIPMENTS #s JOIN GOODS #g
- 60. Использование Предложенный подход не противоречит и не препятствует использованию «обычных» реляционных структур. При этом он позволяет:
- 61. Использование Предложенный подход не противоречит и не препятствует использованию «обычных» реляционных структур. При этом он позволяет:
- 62. Использование. Эволюционное развитие существующих реляционных СУБД. Добавляются функции инструмента создания объектных моделей предметной области. среды персистентного
- 63. Использованная литература: Григорьев Е.А. Объектно-ориентированная трансляция для программируемых реляционных систем. http://theorm.narod.ru/OOtransRUS.pdf (текущая версия) Григорьев Е.А. RxO
- 65. Скачать презентацию