Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Задачи, недоступные обеим моделямСодержание книги
Поиск на нашем сайте Пример реальных потребностей моделирования, с которыми не справляется ни реляционный подход, ни нынешний объектный. Пусть мы собираем информацию о лицах в течение длительного периода времени. База проектировалась 10 лет назад, и в ней имелся атрибут личности «партийность». Для него был определен вполне достаточный логический тип. Через несколько лет вдруг выяснилось, что логического типа уже недостаточно, и для «партийности» требуется указывать значение из списка. Еще через несколько лет графа «партийность» в организации, ведущей базу данных, оказалась упразднена. Таким образом, для данных об одном и том же лице, относящихся к одному периоду времени, должен использоваться булев атрибут «партийности», для данных, относящихся к другому периоду, – символьный атрибут (внешний ключ?), а для данных, относящихся к третьему периоду, атрибут должен отсутствовать. Другими примерами структурных изменений во времени могут служить упразднение атрибута «национальность» или добавление атрибута «государственный пенсионный страховой номер». Сегодняшние подходы к моделированию данных (что реляционный, что объектный) сориентированы в первую очередь на статическое моделирование прикладной области и мало рассчитаны на динамику (историю). В лучшем случае можно долго и тщательно разрабатывать схему данных, а уж потом фиксировать ее и реализовывать в ИС, но никогда не эксплуатируется тезис о том, что «структура данных может изменяться (а не только пополняться)».
16. СУБД ORACLE (технологии и возможности ORACLE 8i, ORACLE 9i, ORACLE 10g) Начиная с версии 8 в СУБД ORACLE, появилась возможность хранения в таблицах неатомарных значений, а именно объектов в смысле объектного подхода. Существует два способа хранения объектов: в одном или нескольких полях реляционной таблицы или в специальной объектной таблице. Oracle8 Направления развития типов и структур данных: - расширение набора встроенных типов данных; - расширение спектра стандартных структур данных; - предоставление пользователям возможности определять собственные типы и структуры данных. Средства для работы с большими объектами В Oracle8 размер большого объекта может достигать 4 ГБ, а сами объекты полноценно участвуют в транзакциях. Большие объекты представлены как бинарные (BLOB) и символьные (CLOB для текстов типа CHAR и NCLOB — для NCHAR) и могут храниться внешним по отношению к СУБД образом, в файлах операционной системы. Этот вид хранения обслуживается типом данных BFILE и представлены в столбцах реляционных таблиц LOB-локаторами, содержащими ссылку на реальное место хранения значений. Операции с большими объектами выполняются средствами пакета DBMS_LOB. Идентификаторы реляционных строк Каждая строка реляционной таблицы в СУБД Oracle8 имеет уникальный идентификатор. Этот идентификатор имеет тип ROWID. С каждой реляционной таблицей связан столбец типа ROWID и с именем ROWID, хранящий адреса строк. Столбец ROWID, доступный только на чтение, может использоваться наравне с другими столбцами таблицы в операторе SELECT и конструкции WHERE. Для работы с типом ROWID служит пакет DBMS_ROWID. Записи Записи трактуются в языке PL/SQL Oracle8 как совокупность разнотипных (быть может, структурных) компонентов, их можно хранить в столбцах реляционных таблиц, передавать в качестве параметров и т.п. Коллекции Коллекции в Oracle8 представляют собой одномерные массивы с подвижными верхними границами и подразделяются на два вида: · вложенные таблицы (таблицы могут являться атрибутами реляционных таблиц); · массивы переменного размера. Вложенная таблица - обычная реляционная таблица с одним столбцом. Число элементов во вложенной таблице практически не ограничено; существующие элементы могут удаляться, так что таблица не обязана являться непрерывным массивом.
Вложенная таблица как одномерный массив.
Массивы переменного размера — более привычная сущность. При их описании задается максимальный размер. К коллекциям применимы следующие методы: · EXISTS (проверяет, существует ли элемент коллекции с заданным номером); · COUNT (выдает текущее число элементов коллекции); · LIMIT (выдает NULL для вложенных таблиц и максимальный размер для массивов); · FIRST/LAST (выдают номер первого/последнего элемента коллекции); · PRIOR/NEXT (выдают номер предыдущего/следующего элемента коллекции или NULL, если таковой отсутствует); · EXTEND (добавляет к коллекции заданное число элементов); · TRIM (удаляет из конца коллекции заданное число элементов); · DELETE (удаляет заданные элементы вложенной таблицы). Вызов этих методов оформлен по-объектному: за именем коллекции через точку следует имя метода, затем— аргументы в скобках. Объектные типы данных Объектный тип данных — это тип, определяемый пользователем, и задающий как структуру (атрибуты), так и поведение (методы) объектов. Разделение интерфейса и реализации относится к числу общих мест объектного подхода. Описание объектного типа состоит из двух частей. В интерфейсной декларируются атрибуты объектов и заголовки методов (процедур и функций). В теле типа приводится реализация методов.
|
||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 202; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.005 с.) |