Изучаем sql


SELECT open_branch_id, COUNT(*)



Pdf көрінісі
бет201/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   197   198   199   200   201   202   203   204   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT open_branch_id, COUNT(*)
> FROM account
> GROUP BY open_branch_id;
+++
| open_branch_id | COUNT(*) |
+++
| 1 | 8 |
| 2 | 7 |
| 3 | 3 |
| 4 | 6 |
+++
4 rows in set (0.00 sec)


Транзакции
До сих пор все примеры в данной книге были примерами одиночных
SQLвыражений. В этой главе рассматриваются требования и среда, не
обходимые для совместного выполнения нескольких SQLвыражений.
Многопользовательские базы данных
Системы управления базами данных разрешают обращаться к данным
и изменять их не только одному пользователю, но и нескольким одно
временно. Если каждый пользователь выполняет запросы, как это
происходит с хранилищем данных в течение обычных рабочих часов,
для сервера БД это не создает больших проблем. Однако если некото
рые пользователи добавляют и/или изменяют данные, серверу прихо
дится сохранять довольно много промежуточных результатов.
К примеру, создается отчет, представляющий доступный остаток всех
текущих счетов, открытых в отделении. Однако одновременно с вы
полнением отчета происходит следующее:

Служащий отделения обрабатывает вклад для одного из клиентов.

Клиент заканчивает снимать деньги на банкомате в операционном
зале.

Банковское приложение, выполняющееся в конце каждого месяца,
начисляет процент по счетам.
Следовательно, пока создается отчет, несколько пользователей изме
няют данные. Так, какие цифры должны появиться в отчете? Ответ от
части зависит от того, как сервер реализовывает 
блокировку 
(
locking
) –
механизм управления одновременным использованием ресурсов дан
ных. Большинство серверов БД применяют одну из двух стратегий
блокировки:


Многопользовательские базы данных


Достарыңызбен бөлісу:
1   ...   197   198   199   200   201   202   203   204   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет