Теория и практика построения баз данных (1088289), страница 158
Текст из файла (страница 158)
ЛТД-объекты имеют идентификаторы, называемые 0?Э. В 5Я?З таблицы имеют идентификаторы строк и могут иметь подтипы. Определено трн типа таблиц: 5ЕТ, МОСП5ЕТ и С?5Т. В табл. 18.4 приведен список расширений 50?, предложенных в 5Я?.3. Пятью ключевыми идеями стандарта ОВМС-93 являются представление об объекте как о фундаментальной структуре данных, наличие у объектов пожизненных уникальных идентификаторов, организация объектов в иерархии типов и подтипов, представление состояния объекта с помощью состояния его данных и связей, а также определение поведения объекта с помощью его действий. Семантические объекты, как онн определены в главе 4, реализуют стандарт 0?)МО для атрибутов данных, но пе для поведения объекта.
Вопросы ! группы 1. Объясните, чем объектцо-ориентированное программирование отличается от традиционного программирования. 2. Почему реляционные базы данных более популярны, чем объектные7 3. Дайте определение объекта ООП. 4. Дайте определения терминов инкапсулированный, атрибут и мепюд. 5. Обьяснцте разницу между интерфейсом и реализацией.
6. Что такое наследование? 7. Что такое полиморфизм? 8. Дайте определения терминов абьектпый класс, библиотека обьектпык клтассов и экэемтьтяр обьекта. 9. Объясните, в чем состоят функции конструкторов и деструкторов объектов. 10. Укажите, в чем разница между временным и постоянным объектом. 11. Объясшгге различие в записи КЛИЕНТ!Найти и КЛИЕНТ. Индекс. 12. Какова функция ключевого слова НОТН1йб в листинге 18.1? 13. Какова функция ключевого слова МЕ л листинге 18.1? 14.
Что такое обратный вызов и для чего он используется? 15. Что означает термин настройка по адресам? 16. Кратко охарактеризуйте задачи, стоящие перед программистом при использовании для постоянного хранения объектов традиционной систелпя обработки файлов. 17. Кратко охарактеризуйте задачи, стояшие перед программистом при использовании для постоянного хранения объектов реляционной СУБД. 18 Укажите преим) щества и недостатки использования ООСУБД д ся посто янного хранения объектов. 19.
Н а тшите операторы Огас!е, определяющие объектный тип Рлате (имя человека) с тремя атрибутами: Пгэтйагле, М1441ейате и Саз1йагле (имя, отчество и фамилия). Сохраните этот тип как столбцовый объект в таблице РЕВ50й (человек). 20. Н пиш а иге оператор Огас1е, создаюшпи массив переменной длины, который 1 может содержать максимум 100 объектов типа Рлзгле. Напишите операторы, создающие таблицу данных о клубе под названием ССОВ1, имеющую столбцы с суррогатным ключом, названием клуба (С?цййзгле) и массив переменной длины с именами людей, 21.
Н апишите операторы Огас?е, создающие таблицу ССОВ2, аналогичную ССОВ1, но хранящую список имен людей во вложенной таблице, а не в массиве с переменной длиной. Назовите вложенную таблицу Рлагле ТаЫе. 22. Объясните, в чем разница между таблицами ССОВ1 и ССОВ2. 23. Напишите операторы Огас1е, создающие таблицу с Рлзте как строчным объектом. 24. 0" бъясните назначение КБГ-атрибутов на рнс. 18.19. Чем эти атрибуты отличаются от внешних ключей? 25. Объясните назначение следуюших двух операторов: ЕОй 1 тл 1 .5ЕСР,Стлеттевз СООМТ СООР ОТ? йЕР.5ЕСЕСТ ОВОЕСТ1С1ле?1евз(т).1севйег, ттевРсг) 26.
Что такое 5Я?З? 27. Что такое абстрактный тип данных (АТД)? 2Я. 8. Объясните разшщу между ЛТД-объектом и АТД-значением. 29. Что такое 01?7? Для чего он используется? Зп. О. Объясните, что должна делать СУБД при выполнении следующего 50?.- оператора над абстрактным типом данных, изображенным в листинге 18.5: 5ЕСЕСТ НазваниеОтдела, Менеджер Телефон, Администратор Телефон РВОМ Отдел 31. Что произойдет, когда СУБД выполнит следующий 501-оператор над абстрактным типом данных, показанным в листинге 18.5: ОРОАТЕ Отдел 5ЕТ Менеджер Иия = "Джон Джекоб Астор" 32.
Напишите 5Я?.-оператор, который нужно вьтполнттть над абстрактным типом данных в листинге 18.5 для назначения на должность менедже еджера другого сотрудника. тге Глава 18. Объектно-ориентированные базы данных Вопросы и группы 47. Рассмотрите требования и реляционную структуру базы данных галереи Ч1еи РЫ9е в главе 10. Рассмотрите использование типов Огас!е, а также столбцовых объектов, массивов переменной длины, вложенных таблиц и строчных объектов в контексте потребностей галереи.
Какие изменения вы бы внесли в реляционную структуру? Могли бы вы порекомендовать заменить таблицы ТРАН5АСТ10Н илп 1лОРК массивами переменной длины илн вложенными таблицами? Если да, то как это сделать? Если нет, то почему? Покажите, как бы вы использовали РсЕР-атрибуты Огас1е для устранения необходимости в таблице пересечения.
Стоит ли, по вашему мнению, идти этим путем? 48. Рассмотрите типы Огас1е, а также столбцовые объекты, массивы пере менной длины, вложенные таблицы и строчные объекты в контексте семантической объектной модели. Какие элехсессты этой модели соответствуют типам? Массивам с переменной длиной? Вложенным таблицам? Покажите, как вы использовали бы объектно-реляционные возможности Огас1е для моделирования каждого з типов семантических объектов, описанных в главе 7. 33.
34. 35. 36. 37, 38. 39. 40. 41. 42. 43. 44, 45. 46. Что такое идентификатор строки в 5О13? Объясните, чем различаются 5ЕТ, МТ)1Т!5ЕТ и 1!5Т в 5О13. Объясните разницу между подтаблицей, надтаблпцей и таблицей. Что такое ОВМС-93? Перечислите пять ключевых идей ОВМС-93. В чем заключается различие между типом и классом в ОВМС-93? Чем отличаются свойство и атрибут в ОВМС-93? Что такое экстент? Что такое свойства класса в ОВМС-93? Какие значения могут иметь свойства в стандарте ОВМС? Какие значения могут иметь атрибуты в стандарте ОВМС? Какие значения могут иметь свойства связей в стандарте ОВМ(? В чем важность постоянного хранения методов? Какая проблема может возникнуть, если такое хранение нс обеспечивается? Объясните, в чем семантические обьекты соответствуют стандарту ОВМС, а в чем нет. Приложение А Структуры данных Все операционные системы предоставляют услуги цо управлению данными.
По для удовлетворения специфических нужд СУБД этих услуг, вообще говоря, недостаточно. Поэтому для повышения производительности СУБД строят н поддерживают специальные структуры данных, о которых и пойдет речь в этом приложении. Вначале мы обсудим плоские файлы и некоторые проблемы, возникающие при необходимости обрабатывать такие файлы в различном порядке. Затем мы обратимся к трем специализированным структурам данных: последовательным спискам, связным спискам и индексам (или инвертированным спискам).
Далее мы продемонстрируем, как с помощью различных структур данных можно представить каждусо из трех специализированных структур, описанных в главе 6 (деревья, простые сети и сложные сети). В конце мы рассмотрим представление и обработку множественных ключей. Хотя для работы с большинством СУБД пе требуется исчерпывающего знания структур данных, приведенные здесь основы являются необходимыми для администраторов баз данных н системных программистов, работающих с СУБД. Знакомство со структурами данных помогает также прн оценке и сравнении между собой различных СУБД.
Плоские фаилы Плоский файл (Вас Яе) — это файл, не содержащий повторяющихся групп. Принцип доступа к плоскому файлу может быть любым — последовательным, последовательным с индексацией или прямым. Плоские файлы используются на п оя на протяжении многих лет в коммерческих системах обработки данных. Обычно они обрабатываются в некотором заранее определенном порядке — например, по возрастанию значения ключевого поля.
Обработка плоских файлов в различном порядке Иногда пользователям нужно обрабатывать плоские файлы такими способами, которые не имеют простой реализации при данной структуре файла. Рассмотрим, например, файл ЗАНЯТИЯ на рис, А.1, а. Чтобы составить расписание занятий Плоские файлы 731 Файл ЗАНЯТИЯ НомерСтудента НомерП едмета Свмест Номер- Номер- Студента Предмета Семестр Номер- Номер- Студента Предмета Семестр Данные для примера Данные для примера 730 Приложение А.
Структуры данных студеььтов, требуется упорядочить данные по полю НомерСтудента, а чтобы составить список группы — по полю НомерГруппы. Разумеется, прн физическом хранении записи могут быть упорядочены только по одному из полей — НомерСтудента или НомерГруппы, но не по обоим полям одновременно.
Традиционное решение проблемы обработки записей в различном порядке состоит в том, чтобы отсортировать записи по номерам студентов, составить распььсация занятий, затем отсортировать записи по номерам групп и составить списки групп. а б Рис. А.т. Хранение записей: а — в плоском файле; б — в файле, не являющемся плоским В некоторых приложениях, например в системах пакетной обработки, это решение оказывается эффективным, несмотря на свою неукльожесть.