Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД вопросы 16-29.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
169.14 Кб
Скачать

19. Архитектуры приложений. Основные различия между архитектурами приложений.

Основная архитектура приложения может принимать различные формы. Основные различия между архитектурами приложений состоят в количестве систем, участвующих в работе приложения. Эта классификация производится по количеству звеньев (tiers).

Система SQL Server может быть реализована либо как:

  • клиент-серверная,

  • автономная "настольная" система.

Клиент-серверная система SQL Server может иметь:

  • двухзвенную установку (two-tiersetup),

  • трехзвенную установку (three-tiersetup).

Независимо от варианта установки, ПО и БД SQL Server размещаются на центральном компьютере, который называется сервер базы данных (database server).

Пользователи работают на отдельных компьютерах, которые называются клиенты (clients).

Доступ пользователей к серверу базы данных производится в:

  • двухзвенных системах при помощи приложений с их компьютеров-клиентов;

  • в трехзвенных системах при помощи приложений, выполняющихся на специально предназначенном для этой цели компьютере, который называется сервер приложений (application server).

Двухзвенная архитектура:

В двухзвенных приложениях службы представления и БД размещаются на разных системах (компьютерах).

При помощи двухзвенных приложений каждый пользователь может иметь одно или несколько соединений с БД SQL Server.

Трехзвенная архитектура:

В трехзвенных приложениях уровень БД, уровень приложения и уровень служб представления выделены в три разные компоненты.

В типичных трехзвенных приложениях используется промежуточный уровень для обслуживания многочисленных соединений от уровня служб представления, благодаря чему уменьшается количество соединений с SQL Server. Кроме того, этот промежуточный уровень может выполнять значительный объем работы, связанной с реализацией специфики целевых задач (логики предметной области), освобождая БД для решения тех задач, которые она выполняет лучше всего, – для доставки требуемых данных.

Однозвенная архитектура

Однозвенная (one-tier, single-tier) архитектура – это система, в которой все службы БД, приложения и представления (пользовательский интерфейс) размещены на одной системе. Системы такого типа не производят обработку вне тех компьютеров, на которых они исполняются.

Примером однозвенной архитектуры может служить БД Microsoft Аccess с локальными службами представления.

Пример однозвенной архитектуры с SQL Server найти гораздо труднее.

20. Общие понятия и определения целостности. Принципы поддержки целостности в СУБД. Преимущества и недостатки средств обеспечения целостности данных. Примеры использования объекта «ограничения целостности» в базе данных.

Одним из основополагающих понятий в технологии БД является понятие целостности.

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

Поддержка целостности в реляционной модели данных в ее классическом понимании включает в себя 3 аспекта:

  • поддержка структурной целостности

  • поддержка языковой целостности

  • поддержка ссылочной целостности (Declarative Referential Integrity, DRI)

Поддержка структурной целостности:

трактуется как то, что реляционная СУБД должна допускать работу только с однородными структурами данных типа "реляционное отношение". При этом понятие "реляционного отношения" должно удовлетворять всем ограничениям, накладываемым на него в классической теории реляционной БД.

Поддержка языковой целостности:

Состоит в том, что реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL. Не должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту.

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

Поддержка ссылочной целостности:

Означает обеспечение одного из заданных принципов взаимосвязи между экземплярами кортежей взаимосвязанных отношений:

  • кортежи подчиненного отношения уничтожаются при удалении кортежа основного отношения, связанного с ними.

  • кортежи основного отношения модифицируются при удалении кортежа основного отношения, связанного с ними, при этом на месте ключа родительского отношения ставится неопределенное Null значение.

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

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

Преимущества и недостатки:

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

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

Примеры правил:

вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 25; возраст родителей не может быть меньше возраста их биологического ребёнка и т.д.

Главное средство обеспечение доменной целостности в SQL Server - это ограничение CHECK. Оно может быть определено при создании таблицы или добавлено позднее при помощи команды ALTER TABLE, например:

ALTER TABLE dbo.Employees

ADDCONSTRAINT CK_birthdate CHECK (BirthDate> '01-01-1900' AND BirthDate<getdate())