Ответы к экзамену по БД, страница 11

PDF-файл Ответы к экзамену по БД, страница 11 Базы данных (5507): Ответы (шпаргалки) - 7 семестрОтветы к экзамену по БД: Базы данных - PDF, страница 11 (5507) - СтудИзба2015-08-16СтудИзба

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

PDF-файл из архива "Ответы к экзамену по БД", который расположен в категории "". Всё это находится в предмете "базы данных" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "базы данных" в общих файлах.

Просмотр PDF-файла онлайн

Текст 11 страницы из PDF

После своего завершения она сохраняется в системе, которуюничто не может вернуть в исходное (до начала транзакции) состояние, т.е. происходитфиксация транзакции, означающая, что ее действие постоянно даже при сбое системы. Приэтом подразумевается некая форма хранения информации в постоянной памяти какчасть транзакции.Указанные выше правила выполняет сервер. Программист лишь выбирает нужный уровеньизоляции, заботится о соблюдении логической целостности данных и бизнес-правил. На неговозлагаются обязанности по созданию эффективных и логически верных алгоритмов обработкиданных. Он решает, какие команды должны выполняться как одна транзакция, а какие могут бытьразбиты на несколько последовательно выполняемых транзакций.

Следует по возможностииспользовать небольшие транзакции, т.е. включающие как можно меньше команд и изменяющиеминимум данных. Соблюдение этого требования позволит наиболее эффективным образомобеспечить одновременную работу с данными множества пользователей.SQL Server работает в следующих режимах транзакций:- Автоматическое принятие транзакцийКаждая отдельная инструкция является транзакцией.- Явные транзакцииКаждая транзакция явно начинается с инструкции BEGIN TRANSACTION и явнозаканчивается инструкцией COMMIT или ROLLBACK.- Неявные транзакцииНовая транзакция неявно начинается, когда предыдущая транзакция завершена, но каждаятранзакция явно завершается инструкцией COMMIT или ROLLBACK.- Транзакции контекста пакетаБудучи применимой только к множественным активным результирующим наборам(MARS), явная или неявная транзакция Transact-SQL, которая запускается в сеансе MARS,становится транзакцией контекста пакета.

SQL Server автоматически выполняет откаттранзакции контекста пакета, если эта транзакция не принята при завершении пакета илине выполнен ее откат.27. Блокировки при реализации транзакций. Свойство устойчивости транзакций. Т-SQL.Блокировкой называется временное ограничение на выполнение некоторых операций обработкиданных. Блокировка может быть наложена как на отдельную строку таблицы, так и на всю базуданных. Управлением блокировками на сервере занимается менеджер блокировок,контролирующий их применение и разрешение конфликтов. Транзакции и блокировки тесносвязаны друг с другом. Транзакции накладывают блокировки на данные, чтобы обеспечитьвыполнение требований ACID.

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

Различают два вида блокировки:••блокировка записи – транзакция блокирует строки в таблицах таким образом, что запросдругой транзакции к этим строкам будет отменен;блокировка чтения – транзакция блокирует строки так, что запрос со стороныдругой транзакции на блокировку записи этих строк будет отвергнут, ана блокировку чтения – принят.В СУБД используют протокол доступа к данным, позволяющий избежать проблемы параллелизма.Его суть заключается в следующем:••••транзакция, результатом действия которой на строку данных в таблице является ееизвлечение, обязана наложить блокировку чтения на эту строку;транзакция, предназначенная для модификации строки данных, накладывает нанее блокировку записи;если запрашиваемая блокировка на строку отвергается из-за уже имеющейся блокировки,то транзакция переводится в режим ожидания до тех пор, пока блокировка не будет снята;блокировка записи сохраняется вплоть до конца выполнения транзакции.Если в системе управления базами данных не реализованы механизмы блокирования, то приодновременном чтении и изменении одних и тех же данных несколькими пользователями могутвозникнуть следующие проблемы одновременного доступа:••••проблема последнего изменения возникает, когда несколько пользователей изменяют однуи ту же строку, основываясь на ее начальном значении; тогда часть данных будет потеряна,т.к.

каждая последующая транзакция перезапишет изменения, сделанные предыдущей.Выход из этой ситуации заключается в последовательном внесении изменений;проблема "грязного" чтения возможна в том случае, если пользователь выполняетсложные операции обработки данных, требующие множественного изменения данныхперед тем, как они обретут логически верное состояние. Если во время изменения данныхдругой пользователь будет считывать их, то может оказаться, что он получит логическиневерную информацию.

Для исключения подобных проблем необходимо производитьсчитывание данных после окончания всех изменений;проблема неповторяемого чтения является следствием неоднократногосчитывания транзакцией одних и тех же данных. Во время выполненияпервой транзакции другая может внести в данные изменения, поэтому при повторномчтении первая транзакция получит уже иной набор данных, что приводит к нарушению ихцелостности или логической несогласованности;проблема чтения фантомов появляется после того, как одна транзакция выбирает данныеиз таблицы, а другая вставляет или удаляет строки до завершения первой. Выбранные изтаблицы значения будут некорректны.Для решения перечисленных проблем в специально разработанном стандарте определенычетыре уровня блокирования. Уровень изоляции транзакции определяет, могут ли другие(конкурирующие) транзакции вносить изменения в данные, измененные текущей транзакцией, атакже может ли текущая транзакция видеть изменения, произведенныеконкурирующими транзакциями, и наоборот.

Каждый последующий уровень поддерживаеттребования предыдущего и налагает дополнительные ограничения:••••уровень 0 – запрещение "загрязнения" данных. Этот уровень требует, чтобы изменятьданные могла только одна транзакция; если другойтранзакции необходимо изменить те жеданные, она должна ожидать завершения первой транзакции;уровень 1 – запрещение "грязного" чтения.

Если транзакция начала изменение данных, тоникакая другая транзакция не сможет прочитать их до завершения первой;уровень 2 – запрещение неповторяемого чтения. Если транзакция считывает данные, тоникакая другая транзакция не сможет их изменить. Таким образом, при повторном чтенииони будут находиться в первоначальном состоянии;уровень 3 – запрещение фантомов. Если транзакция обращается к данным, то никакаядругая транзакция не сможет добавить новые или удалить имеющие строки, которые могутбыть считаны при выполнении транзакции.

Реализация этого уровняблокирования выполняется путем использования блокировок диапазона ключей.Подобная блокировка накладывается не на конкретные строки таблицы, а на строки,удовлетворяющие определенному логическому условию.Блокировки, используемые уровнями изоляции, подразделяются на:•разделяемые блокировки (S-locks), которые могут одновременно устанавливатьсянесколькими пользователями;•исключительные блокировки (X-locks), которые устанавливаются только однимпользователем, получающим эксклюзивный доступ к данным.Существуют следующие логические и физические уровни блокировок:• блокировка на уровне таблицы (table-level locking);• блокировка на уровне строк (row-level locking) ;• блокировка на уровне элемента таблицы (item-level locking);• блокировка на уровне БД (dbspace-level locking) ;• блокировка на уровне табличного пространства (tablespace-level locking);блокировка на уровне страницы или блока (page-level locking).SET TRANSACTION ISOLATION LEVEL (SQL Server 2008 R2)Управляет поведением блокировки и версиями строк инструкций Transact-SQL, выданных приподключении к SQL Server.СинтаксисSET TRANSACTION ISOLATION LEVEL{ READ UNCOMMITTED| READ COMMITTED| REPEATABLE READ| SNAPSHOT| SERIALIZABLE}[;]READ UNCOMMITTED:Указывает, что инструкции могут считывать строки, которые были изменены другимитранзакциями, но еще не были зафиксированы.READ COMMITTED:Указывает, что инструкции не могут считывать данные, которые были изменены другимитранзакциями, но еще не были зафиксированы.

Это предотвращает чтение«грязных»данных. Данные могут быть изменены другими транзакциями между отдельнымиинструкциями в текущей транзакции, результатом чего будет неповторяемое чтение илинедействительные данные. Этот параметр в SQL Server установлен по умолчанию.REPEATABLE READ:Указывает на то, что инструкции не могут считывать данные, которые были изменены, ноеще не зафиксированы другими транзакциями, а также на то, что другие транзакции немогут изменять данные, читаемые текущей транзакцией, до ее завершения.SNAPSHOT:Указывает на то, что данные, считанные любой инструкцией транзакции, будутсогласованы на уровне транзакции с версией данных, существовавших в ее начале.Транзакция распознает только те изменения, которые были зафиксированы до ее начала.Инструкции, выполняемые текущей транзакцией, не видят изменений данных,произведенных другими транзакциями после запуска текущей транзакции.

Таким образомдостигается эффект получения инструкциями в транзакции моментального снимказафиксированных данных на момент запуска транзакции.SERIALIZABLE:Указывает следующее.• Инструкции не могут считывать данные, которые были изменены другимитранзакциями, но еще не были зафиксированы.• Другие транзакции не могут изменять данные, считываемые текущей транзакцией, доее завершения.• Другие транзакции не могут вставлять новые строки со значениями ключа, которыевходят в диапазон ключей, считываемых инструкциями текущей транзакции, до еезавершения.28. База данных и ее объекты.

Структура языка SQL: операторы определения объектов БД.Данные SQL Server 2000 организованы с помощью нескольких различных объектов, которыедоступны пользователям при подключении к базе данных.ОбъектОписаниеТаблицаДвухмерный объект, состоящий из строк и столбцов, который используется дляхранения данных в реляционной базе данных. В каждой таблице хранитсяинформация об одном из типов объектов, моделируемых базой данных. Например, вбазе данных образовательного учреждения одна таблица может содержать сведения опреподавателях, вторая — о студентах, а третья — о расписанииТип данных Атрибут, задающий тип информации, которая может храниться в столбце, параметреили переменной. SQL Server поддерживает несколько системных типов данных; вдополнение к ним разрешается создавать пользовательские типы данныхПредставление Объект БД, на который в SQL-операторах можно ссылаться так же, как на таблицу.Представления определяются с помощью SQL-операторов и являются аналогамиобъектов, содержащих результирующие наборы, получаемые при выполнении этихоператоровХранимаяОткомпилированный набор операторов Тransact-SQL.

процедура хранимый подопределенным именем и обрабатываемый как единое целое. SQL Server предоставляетхранимые процедуры для управления SQL Server и вывода сведений о БД ипользователях. Они называются системными хранимыми процедурамиФункцияФрагмент кода, действующий как единая логическая сущность. Функцию можновызвать по имени, при этом разрешается задать ряд необязательных входныхпараметров. Она возвращает сведения о состоянии и необязательные выходныезначения. Функции поддерживаются многими языками программирования, в томчисле С, Visual Basic и Transact-SQL. В TransactSQL имеется ряд встроенных функций,которые изменить невозможно, а также поддерживаются функции, которые создают икорректируют пользователиИндексОбъект реляционной БД, обеспечивающий быстрый доступ к строкам таблицы наоснове значений ключа, а так же уникальность строк в таблице. SQL Serverподдерживает как кластерные, так и некластерные индексы.

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

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