
- •16. Язык sql (Structured Query Language). Интерактивный и встроенный sql. Составные части sql. Типы данных sql. Основные типы команд sql
- •17. Основные отличия sql от процедурных языков программирования. Встроенные функции
- •18. Язык sql. Команды манипулирования данными
- •19. Архитектуры приложений. Основные различия между архитектурами приложений.
- •21. Понятие подзапроса. Примеры формирования связанных и вложенных подзапросов.
- •22. Понятие хранимой процедуры. Особенности и синтаксис построения хранимых процедур на языке TransactSql.
- •23. Определение пользовательской функции. Основное отличие пользовательских функций от хранимых процедур. Основное отличие скалярной пользовательской функции от табличной.
- •24.Понятие триггера. Особенности и синтаксис построения триггера на языке TransactSql.
- •25.Современные направления исследований и разработок в области баз данных. Системы управления базами данных следующего поколения.
- •26.Реализация системы защиты данных в субд.
- •27.Информационные приложения, основанные на использовании "складов данных" (DataWarehousing). Oltp и olap приложения. Описание типа хранилища данных под названием «снежинка», «звезда».
- •28.Объектно-реляционные субд. Подходы к построению объектно-реляционных субд (орсубд). К лассификация субд
- •29.Объектно-ориентированные субд. Особенности построения моделей суобд.
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())