Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Архитектуры приложений. Основные различия между архитектурами приложений.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Основная архитектура приложения может принимать различные формы. Основные различия между архитектурами приложений состоят в количестве систем, участвующих в работе приложения. Эта классификация производится по количеству звеньев (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()) Понятие подзапроса. Примеры формирования связанных и вложенных подзапросов. Подзапрос – это инструмент создания временной таблицы, содержимое которой извлекается и обрабатывается внешним оператором. Текст подзапроса должен быть заключен в скобки. Запросы, отделенные круглыми скобками и входящие в состав конструкций HAVING, WHERE, FROM, SELECT и WITH внешнего запроса SELECT или каких-либо других перечисленных запросов, заключающих в себе эти конструкции, называются вложенными запросами (подзапросами). Вложенные подзапросы могут быть простыми и связанными. Если результат вложенного запроса не зависит от результата внешнего, то такой вложенный запрос называется простым. Вложенные подзапросы: Предположим, та фамилия студента («Петров»), но неизвестно значение поля STUDENT_ID для него. Чтобы извлечь данные обо всех оценках этого студента, можно записать следующий запрос: SELECT * FROM EXAM_MARKS WHERE STUDENT_ID = (SELECT STUDENT_ID FROM STUDENTSURNAME='Петров' ); Как работает запрос SQL со связанным подзапросом? 1) Выбирается строка из таблицы, имя которой указано во внешнем запросе. 2) Выполняется подзапрос и полученное значение применяется для анализа этой строки в условии предложения WHERE внешнего запроса. 3) По результату оценки этого условия принимается решение о включении или не включении строки в состав выходных данных. 4) Процедура повторяется для следующей строки таблицы внешнего запроса. В некоторых случаях для гарантии получения единственного значения в результате выполнения подзапроса используется DISTINCT. Широко применяется в подзапросах оператор IN, задающий список значений, с которыми сравниваются другие значения для определения истинности задаваемого этим оператором предиката. Подзапросы можно применять внутри предложения HAVING. Пусть требуется определить количество предметов обучения с оценкой, превышающей среднее значение оценки студента с идентификатором 301: SELECT COUNT (DISTINCT SUBJ_ID ), MARK FROM EXAM_MARKS GROUP BY MARK HAVING MARK > (SELECT AVG( MARK ) FROM EXAM_MARKS WHERE STUDENT_ID = 301 ); Связанныеподзапросы: Если результат вложенного запроса зависит от результата внешнего, то такой вложенный запрос называется связанным вложенным запросом. Иными словами, вложенный запрос является связанным, если в конструкциях WHERE, HAVING указан столбе, фигурирующий во внешнем запросе. Такая связь имеет название внешней ссылки. В связанных вложенных запросах названия столбцов записываются полностью. Если во внешней конструкции запроса и вложенной используется общая таблица, то столбцам присваиваются псевдонимы. При использовании подзапросов во внутреннем запросе можно ссылаться на таблицу, имя которой указано в предложении FROM внешнего запроса. В этом случае такой связанный подзапрос выполняется по одному разу для каждой строки таблицы основного запроса. Пример: выбрать сведения обо всех предметах обучения, по которым проводился экзамен 20 января 2006 г. SELECT * FROM SUBJECT SU WHERE '20/01/2006' IN (SELECT EXAM_DATE FROM EXAM_MARKS EX WHERE SU.SUBJ_ID=EX.SUBJ_ID );
|
||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 723; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.007 с.) |