Главная » Все файлы » Просмотр файлов из архивов » Документы » ответы к зачёту по Базам Данных (2009)

ответы к зачёту по Базам Данных (2009), страница 10

2019-05-10СтудИзба

Описание файла

Документ из архива "ответы к зачёту по Базам Данных (2009)", который расположен в категории "". Всё это находится в предмете "базы данных" из 5 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "ответы к зачёту по Базам Данных (2009)"

Текст 10 страницы из документа "ответы к зачёту по Базам Данных (2009)"

Стереотип – механизм расширения семантики UML, позволяющий создать новые элементы UML на основе существующих, с учетом особенности решения задачи.

В стандарте предусмотрен набор стереотипов.

Класс

Стереотип

<<enumeration>>

Sex

М

Ж









//Определение

перечисляемого типа











  1. Диаграммы классов языка UML. Категории связей и их отображение на диаграмме. Примеры.

Связью-обобщением называется связь между общей сущностью (суперкласс/родителем) и более специализированным типом этой сущности (подкласс/потомок).

Полиморфизмом по включению – объекты потомка могут использоваться везде, где могут использоваться объекты предка. Потомок наследует все атрибуты и операции предка.

У класса есть скрытое свойство isAbstract – может ли класс иметь объекты.

Множественное наследование – подкласс определяется на основе нескольких суперклассов.



Ассоциацией называется структурная связь между объектами одного класса и объектами другого или того же самого класса (изображается линией).

В ассоциации могут связываться два класса, и тогда она называется бинарной. Допускается создание ассоциаций, связывающих n классов – n-арные ассоциации.



С ассоциацией связаны 5 важных понятий: имя, роль, кратность, агрегация и навигация.

У связи может быть имя, треугольник указывает направление чтения имени связи; у каждого класса может быть роль в ассоциации;

кратность (задается числом, интервалом, списком значений и интервалов, * - бесконечность) показывает, сколько объектов класса может/должно участвовать в экземпляре ассоциации.

А грегация в UML используется для отображения связи «часть-целое» (класс-целое имеет более высокий концептуальный уровень).

И ногда связь «части» и «целого» настолько сильна, что «часть» может быть частью только 1 «целого», и уничтожение «целого» приводит к уничтожению всех его «частей». Такие агрегации– композитные.

Н авигация может осуществляться в обоих направлениях. Для некоторых ассоциаций желательно ограничить навигацию (стрелка).

С точки зрения библиотеки разумно произвести навигацию от объекта-библиотеки к связанным с ним объектам-книгам. Однако вряд ли потребуется по данному экземпляру книги узнать, в какой библиотеке она находится









  1. Язык OCL. Инварианты OCL. Основные типы данных и выражения.

В UML 2 способа определения ограничений: на естественном языке и на языке OCL. Более точный и лаконичный способ формулировки ограничений обеспечивает язык OCL (Object Constraints Language).

Из языка UML в OCL заимствованы, в первую очередь, следующие концепции:

  • класс, атрибут, операция;

  • объект (экземпляр класса);

  • ассоциация;

  • тип данных (включая набор типов Boolean, Integer, Real и String);

  • значение (экземпляр типа данных).

В OCL предопределены структурные типы, которые являются разновидностями типов коллекций (collection):

  • математическое множество (set), неупорядоченная коллекция, нет одинаковых элементов;

  • мультимножество (bag), неупорядоченная коллекция, которая может содержать элементы-дубликаты;

  • последовательность (sequence), упорядоченная коллекция, которая может содержать элементы-дубликаты.

  • упорядоченное множнество (ordered set), упорядоченная коллекция, нет одинаковых элементов;

OCL может применяться для определения ограничений, описывающих пред- и постусловия операций классов, и ограничений, представляющих собой инварианты классов.

Инвариант класса – это логическое выражение, вычисление которого должно давать true при создании любого объекта данного класса и сохранять истинное значение в течение всего времени существования этого объекта.

Синтаксис определения инварианта:

context <class_name> inv:

<OCL-выражение>

Пример (существует человек, обладающий контрольным пакетом акций)

Context Компания inv:

Self.акционер =>Exists

(a:человек|a.количествоакций >= self.количествоакций div 2 +1)



Операции над объектами

<объект>.<имя_атрибута> (значение атрибута)

<объект>.<имя_роли> (переход по соединению, под именем имеется ввиду имя роли объекта на другом конце связи)

<объект>.<имя_операции>(фактический параметр, т.е. можно вызвать операцию)

Операции над коллекциями

<коллекция> <имя операции> (<список фактических параметров>)

Select(iterat/логическое выражение)

Результат – новая коллекция (из старых элементов, удовлетворяющих логическому выражению)

collect(iterat/выражение)

Результат – новая коллекция (элементы вычисляются по выражению)

exists(iterat/логическое выражение)

True, если выполнено хоты бы для 1 элемента

forAll(iterat/логическое выражение)

True, если выполнено для всех элементов

Size()

Число элементов

union, intersect, symmetricDifference

At(index)

Count(element)

Includes/excludes(element)



Тип

Операции

Boolean

And or xor implies if_then_else

Integer

+-*/ div mod min max сравнение

Real

+-*/ abs float round min max сравнение

String

Concat size substring toUpper toLower



















  1. Получение реляционной схемы из диаграммы классов. Основные проблемы и рекомендации.

Рекомендации:

  • не увлекайтесь определением операций в классах

  • старайтесь избегать множественное наследие и осторожно использовать одиночное

  • реализ. в СУБД с точно заданными кратностями возможно, но предпочтит. доп. триггеров и ограничений (уменьшает эффективность)

  • агрег. ассоциации не естественны, компоретные (ПОПРАВЬТЕ, НЕ РАЗОБРАЛ) влияют только на способ поддержки ссылочной целостности

  • однонаправленные связи естественны только для объектно-ориентированных СУБД. Для реляционных БД поддержка вызывает дополнительные накладные расходы, значит, снижается эффективность.

  • не злоупотребляйте ограничениями (снижается эффективность)



  1. Язык баз данных SQL. Основные отличия SQL-ориентированной модели от реляционной модели. Стандарт SQL:2003 – основные тома. Структура языка SQL (три различных схемы).



В стандартах SQL определяется собственная модель данных, она похожа на реляционную, но значительно отличается. Итак, 2 важных отличия:

  • В SQL данные – это набор таблиц, каждая таблица содержит мультимножество строк, соответствующих заголовку таблицы. В реляционной модели “фундаментальная абстрактная «родовая» структура данных отношение, представляет собой множество кортежей.” (прим.Валеры. Я сам не понял смысла, извините)

  • В SQL для таблицы поддерживается порядок столбцов, соответствующий порядку их определения. В реляционной модели атрибуты отношения не упорядочены.

Другими словами, таблица – это вовсе не отношение, хотя во многом они похожи.



Отмечается, что из этого следует, что:

  • в SQL отсутствует обязательное предписание об ограничении целостности сущности.

  • В базе данных могут существовать таблицы, для которых не определен первичный ключ.

С другой стороны, если для таблицы определен первичный ключ, то для нее ограничение целостности сущности поддерживается так же как и в реляционной модели данных.

Ссылочная целостность в модели данных SQL поддерживается в обязательном порядке, но в трех разных вариантах, лишь один из которых полностью соответствует реляционной модели. Это связано с интенсивным использованием в SQL неопределенных значений.

Стандарт SQL:2003 – основные тома:

  • 9075-1, SQL/Framework;

  • 9075-2, SQL/Foundation;

  • 9075-3, SQL/CLI;

  • 9075-4, SQL/PSM;

  • 9075-9, SQL/MED;

  • 9075-10, SQL/OLB;

  • 9075-11, SQL/Schemata;

  • 9075-13, SQL/JRT;

  • 9075-14, SQL/XML.

Структура языка SQL

1. Классификация, ориентированная на производителей СУБД (изнутри). Здесь каждая компания может выбрать уровни, которые они реализуют для своей БД. Язык разбивается на базовый (entry), промежуточный (intermediate) и полный (full) уровни.

2. Классификация, ориентированная на программиста приложений БД(снаружи):

Прямой – например,интерактивная консоль(вы пишете SELECT * FROM… , и вам сразу выдают результат)

встраиваемый – например, реализация библиотек для языков программирования, что бы можно было в этих программах использовать SQL,

динамический – здесь сам SQL запрос может динамически формироваться по ходу программы(в предыдущем сама “строка SQL запросы” была как бы “постоянна”).



3. Не нашел. В лекциях Маши нету.(прим.Валеры. Подтверждаю, тоже не нашел)

  1. Основные типы данных языка SQL (без учета объектных расширений). Преобразования типов данных

Все данные, хранящиеся в таблицах, типизированы. Каждому столбцу определяемой таблицы приписывается свой собственный тип. СУБД должна следить за соответствием типов (допустимыми значениями).

Типы данных

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
426
Средний доход
с одного платного файла
Обучение Подробнее