Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости

Коллекции и массивы

Коллекции и массивыДолгое время существовавшие в любом языке программирования Коллекции и Массивы Наконец-то проложили себе дорогу и в СУБД. Эти инструменты значительно упрощают процесс программирования, устраняя потребность в создании дополнительных таблиц. Как массивы, так и коллекции содержат элементы данных. Основное различие между этими типами заключается в том, что массивы, как правило, хранят элементы одного и того же типа данных, в то время как коллекции могут содержать элементы разных типов.

Представьте себе, что вы решили, несмотря на теорию проектирования баз данных (см. приложение В), хранить данные об образовании сотрудника в той же таблице, что и остальную информацию о нем. Если сотрудники, как правило, имеют три диплома, можно объявить столбец EDUCATIONAL CREDENTIALS как VARRAY (5) OF VARCHAR(25) (использован синтаксис Oracle 9i). Теперь для хранения информации о каждом сотруднике можно использовать пять потенциальных записей. Чтобы адаптироваться к ситуации, когда сотрудник имеет более пяти дипломов, можно создать вложенную таблицу (т. е. столбец табличного типа, который может содержать неограниченный объем данных — функция Oracle). Как Oracle, так и IBM DB2 9.5 поддерживают массивы и коллекции, в отличие от Microsoft. В стандарте SQL99 было введено понятие Абстрактного типа данных (ADT), которое, по сути, не отличается от объявления класса. Спецификация ADT состоит из двух частей: спецификации атрибута и спецификации метода. Описание работы ADT полностью содержится в объявлении типа. Абстрактный тип данных позволяет программистам баз данных создавать специфичные для приложения типы данных со встроенными методами, предназначенными для манипуляций с данными этого типа. К сожалению, реализацией этого стандарта никто не заинтересовался — все три крупнейшие производителя СУБД оставили его без внимания.