П. Г. Демидова А. В. Зафиевский А. А. Короткин А. Н. Лататуев Базы данных Учебное пособие
Download 1.32 Mb. Pdf ko'rish
|
Базы данных
- Bu sahifa navigatsiya:
- Практическое задание
- 6. Транзакции 6.1. Понятие транзакции
Контрольные вопросы
1. Назовите основные концепции ER-модели и укажите способ их представления на диаграммах. 2. Укажите ограничения, которые могут быть наложены на сущности – участницы некоторой связи. 3. Опишите проблемы, которые могут возникнуть при создании ER-модели. 4. Как можно реализовать связь 1:М в базе данных, состоя- щей из двух таблиц? Приведите пример. 5. Предположим, что у вас есть ER-модель, представленная на рисунке ниже. 123 В течение некоторого времени водитель может водить несколько различных грузовиков и каждым грузовиком может управлять несколько водителей. Как можно конвертировать эту модель в ER-модель, на которой будут присутствовать только связи 1:М? Практическое задание Рассмотрим проект базы данных банка, содержащей инфор- мацию о клиентах (назовем это множество сущностей Customers) и состоянии их счетов (Accounts). Данные о клиенте включают его имя (name), адрес (address), номер телефона (phone) и код полиса пенсионного страхования (kod_polis). Счет описывается атрибутами номера (number), типа (например, «накопительный», «чековый» и т. п.) (type) и остатка (balance). Необходимо также отразить в базе данных факт принадлежности счета определен- ному клиенту. Начертите ER-диаграмму, соответствующую такой базе данных. Приведите ER-диаграмму к схеме реляционной БД. 6. Транзакции 6.1. Понятие транзакции Основным предназначением баз данных является предостав- ление пользователям совокупности накопленных данных для ре- шения прикладных задач. В реляционных базах данных для реше- ния этих задач используются последовательно выполняющиеся команды языка SQL. Если бы в каждый момент времени с базой данных работал только один пользователь, то, закончив выполне- ние одной задачи, он переходил бы к следующей задаче или пере- давал возможность работы с базой другому пользователю. Оче- видно, однако, что, поскольку любая база данных предназначена для коллективного использования, такой режим работы является крайне неэффективным и СУБД должна предусматривать воз- можность параллельного выполнения нескольких задач с исполь- зованием одной и той же базы данных. При этом, естественно, возникает возможность того, что пользователи будут мешать друг другу, внося в данные изменения, не предсказуемые для других пользователей. Кроме того, даже если с базой данных работает только один пользователь, всегда существует еще один виртуальный «пользователь», называемый окружающей средой, 124 который может вносить непредсказуемые изменения в базу дан- ных за счет отказов оборудования, ошибок в программном обес- печении и т. п. Все это привело к необходимости выделения сово- купности команд SQL, обеспечивающих решение одной задачи, в группу, называемую транзакцией, которая должна быть выпол- нена целиком. Если же в ходе выполнения транзакции возникли ошибки или необходимость отказа от выполнения транзакции, то данные, относящиеся к этой транзакции, должны быть возвраще- ны в состояние, которое они имели на момент начала транзакции. Это соответствует тому, что при использовании базы данных пользователя интересует выполнение его задач в целом, а не от- дельных команд SQL, которые реализуют выполнение этих задач. Надо иметь в виду, что в ходе работы транзакции с необхо- димыми ей данными у других транзакций также могла возник- нуть необходимость просматривать или изменять те же самые данные, и СУБД должна корректно разрешать возникающие в такой ситуации проблемы. Язык SQL содержит несколько команд, обеспечивающих под- держку транзакций, основными из которых являются COMMIT, фиксирующая успешное завершение транзакции, и ROLLBACK, обеспечивающая возврат данных к состоянию на момент начала транзакции. Кроме того, системы управления базами данных содер- жат средства, позволяющие с той или иной степенью эффектив- ности управлять взаимодействием транзакций с одними и теми же данными. Download 1.32 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling