Субд работающие с удаленными базами данных по способу работы с файлами делятся на два типа
Также СУБД можно разделить по способу доступа к базам данных на файл-серверные, клиент-серверные и встраиваемые.
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость или невозможность централизованного управления; затруднённость или невозможность обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД; в системах с низкой интенсивностью обработки данных и низкими пиковыми нагрузками на БД.
На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком. Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно.
Стандарты. Для современных СУБД архитектура “клиент-сервер” стала фактически стандартом. Если предполагается , что проектируемая информация будет иметь архитектуру “клиент-сервер” , то это означает , что прикладные программы , реализованные в её рамках , будут иметь распределённый характер , т.е. часть функций приложений будет реализована в программе-клиенте , другая - в программе-сервере.
Принципы. Основной принцип технологии “клиент-сервер” заключается в разделении функций стандартного интерактивного приложения на четыре группы :
· функции ввода и отображения данных;
· прикладные функции , характерные для предметной области ;
· фундаментальные функции хранения и управления ресурсами(базами данных);
Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.
Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы. Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.
В простейшем случае база данных и СУБД находятся на одном компьютере. Такая информационная система называется локальной, с ней работает один пользователь. В современных браузерах (Google Chrome, Safari, Mozilla Firefox) есть встроенные средства, позволяющие создавать и использовать локальные ИС.
Преимущество локальных ИС — автономность, т. е. независимость от работы локальных и глобальных сетей. Их недостатки проявляются тогда, когда с БД должны работать несколько пользователей:
• базу данных нужно обновлять на каждом компьютере;
• невозможно «стыковать» изменения, вносимые пользователями.
В локальных ИС разработчики иногда применяют свои собственные форматы хранения данных, однако в этом случае теряется переносимость — возможность использования базы данных в других информационных системах.
Как правило, в современных информационных системах используют удалённые базы данных, расположенные на серверах (специально выделенных компьютерах) локальной или глобальной сети. В этом случае несколько пользователей могут одновременно работать с базой и вносить в неё изменения.
СУБД, работающие с удалёнными базами данных, можно разделить на два типа по способу работы с файлами:
• файл-серверные СУБД;
• клиент-серверные СУБД.
Файл-серверные СУБД (например, Microsoft Access) работают на компьютерах пользователей (они называются рабочими станциями) (рис. 3.2). Это значит, что сервер только хранит файлы, но не участвует в обработке данных. Когда пользователь вносит изменения в базу, СУБД с его рабочей станции блокирует файлы на сервере, чтобы их не могли изменить другие пользователи.
Рис. 3.2
При большом количестве пользователей проявляются недостатки файл-серверных ИС:
• обработку данных выполняют СУБД на рабочих станциях, поэтому компьютеры пользователей должны быть достаточно мощными;
• при поиске данных вся БД копируется по сети на компьютер пользователя, это создает значительную лишнюю нагрузку на сеть;
• слабая защита от неправомерного доступа к данным (защита устанавливается на рабочих станциях, а не в едином центре);
• ненадёжность при большом количестве пользователей, особенно если они вносят изменения в базу данных.
Чтобы избавиться от этих недостатков, нужно переместить СУБД на сервер.
Клиент-серверная СУБД (рис. 3.3) расположена на том же компьютере, где находится база данных. Она полностью берёт на себя всю работу с данными, т. е. читать и изменять данные в базе можно только с помощью этой СУБД.
Рис. 3.3
На компьютере пользователя работает прикладная программа- клиент, которая по сети обращается к СУБД для выполнения операций с данными.
В современных клиент-серверных СУБД для управления данными чаще всего используют язык SQL (англ. Structured Query Language — язык структурных запросов). Он содержит все команды, необходимые работы с данными, включая получение нужной информации, создание и изменение базы данных.
• ожидать запросы клиентов по сети;
• при поступлении запроса поставить его в очередь на выполнение;
• выполнить запрос;
• передать результаты клиенту.
Отметим, что серверная и клиентская части могут быть установлены на одном компьютере.
Достоинства клиент-серверных СУБД:
• основная обработка данных выполняется на сервере, поэтому рабочие станции могут быть маломощными;
• проще модернизация (достаточно увеличить мощность сервера);
• надёжная защита данных (устанавливается на сервере);
• снижается нагрузка на сеть, так как передаются только нужные данные (запросы и результаты выполнения запросов);
• надёжная работа при большом количестве пользователей (запросы ставятся в очередь).
Их недостатки — повышенные требования к мощности сервера и высокая стоимость коммерческих СУБД (Microsoft SQL Server и Oracle).
Многие современные информационные системы (например, поисковые системы в Интернете) работают с огромными объёмами данных, которые невозможно разместить на одном компьютере. Поэтому появились распределённые базы данных, расположенные на множестве компьютеров, и соответствующие СУБД для управления ими. Пользователь работает с распределённой базой данных точно так же, как и с обычной (нераспределённой). Главная проблема в этой области — обеспечение целостности и непротиворечивости данных, особенно при разрыве связи между компьютерами.
Следующая страница Транзакции
Cкачать материалы урока
В простейшем случае база данных и СУБД находятся на одном компьютере. Такая информационная система называется локальной, с ней работает один пользователь. В современных браузерах (Google Chrome, Safari, Mozilla Firefox) есть встроенные средства, позволяющие создавать и использовать локальные ИС.
Преимущество локальных ИС — автономность, т. е. независимость от работы локальных и глобальных сетей. Их недостатки проявляются тогда, когда с БД должны работать несколько пользователей:
• базу данных нужно обновлять на каждом компьютере;
• невозможно «стыковать» изменения, вносимые пользователями.
В локальных ИС разработчики иногда применяют свои собственные форматы хранения данных, однако в этом случае теряется переносимость — возможность использования базы данных в других информационных системах.
Как правило, в современных информационных системах используют удалённые базы данных, расположенные на серверах (специально выделенных компьютерах) локальной или глобальной сети. В этом случае несколько пользователей могут одновременно работать с базой и вносить в неё изменения.
СУБД, работающие с удалёнными базами данных, можно разделить на два типа по способу работы с файлами:
• файл-серверные СУБД;
• клиент-серверные СУБД.
Файл-серверные СУБД (например, Microsoft Access) работают на компьютерах пользователей (они называются рабочими станциями) (рис. 3.2). Это значит, что сервер только хранит файлы, но не участвует в обработке данных. Когда пользователь вносит изменения в базу, СУБД с его рабочей станции блокирует файлы на сервере, чтобы их не могли изменить другие пользователи.
Рис. 3.2
При большом количестве пользователей проявляются недостатки файл-серверных ИС:
• обработку данных выполняют СУБД на рабочих станциях, поэтому компьютеры пользователей должны быть достаточно мощными;
• при поиске данных вся БД копируется по сети на компьютер пользователя, это создает значительную лишнюю нагрузку на сеть;
• слабая защита от неправомерного доступа к данным (защита устанавливается на рабочих станциях, а не в едином центре);
• ненадёжность при большом количестве пользователей, особенно если они вносят изменения в базу данных.
Чтобы избавиться от этих недостатков, нужно переместить СУБД на сервер.
Клиент-серверная СУБД (рис. 3.3) расположена на том же компьютере, где находится база данных. Она полностью берёт на себя всю работу с данными, т. е. читать и изменять данные в базе можно только с помощью этой СУБД.
Рис. 3.3
На компьютере пользователя работает прикладная программа- клиент, которая по сети обращается к СУБД для выполнения операций с данными.
В современных клиент-серверных СУБД для управления данными чаще всего используют язык SQL (англ. Structured Query Language — язык структурных запросов). Он содержит все команды, необходимые работы с данными, включая получение нужной информации, создание и изменение базы данных.
• ожидать запросы клиентов по сети;
• при поступлении запроса поставить его в очередь на выполнение;
• выполнить запрос;
• передать результаты клиенту.
Отметим, что серверная и клиентская части могут быть установлены на одном компьютере.
Достоинства клиент-серверных СУБД:
• основная обработка данных выполняется на сервере, поэтому рабочие станции могут быть маломощными;
• проще модернизация (достаточно увеличить мощность сервера);
• надёжная защита данных (устанавливается на сервере);
• снижается нагрузка на сеть, так как передаются только нужные данные (запросы и результаты выполнения запросов);
• надёжная работа при большом количестве пользователей (запросы ставятся в очередь).
Их недостатки — повышенные требования к мощности сервера и высокая стоимость коммерческих СУБД (Microsoft SQL Server и Oracle).
Многие современные информационные системы (например, поисковые системы в Интернете) работают с огромными объёмами данных, которые невозможно разместить на одном компьютере. Поэтому появились распределённые базы данных, расположенные на множестве компьютеров, и соответствующие СУБД для управления ими. Пользователь работает с распределённой базой данных точно так же, как и с обычной (нераспределённой). Главная проблема в этой области — обеспечение целостности и непротиворечивости данных, особенно при разрыве связи между компьютерами.
Следующая страница Транзакции
Cкачать материалы урока
Источник 1
Типы баз данных по способу доступа
По способу доступа различают:
Клиент-серверные БД. Доступ к данным осуществляется путем запроса к серверу БД, который и осуществляет непосредственные операции с данными. Главное достоинство данного способа — возможность работы с одной БД любого количества пользователей, минимизация передаваемого по сети трафика. Недостаток — требуется отдельный сервер для полноценного функционирования данной модели
Встраиваемые БД. Работа с данными осуществляется путем подключения к программе библиотек реализующих работу с БД и передачи требуемых вызовов данным библиотекам. Сама БД, обычно, располагается на том же компьютере, что и клиентская программа. Главное достоинство — скорость работы (при относительно небольших объемах данных) и компактность системы. Недостатки — невозможно масштабирование, катастрофическое падение производительности на крупных выборках.
Файл-серверные БД. Устаревший тип БД. Имеет смысл применять только в случае наследования большого количества существующего кода. По сути - некая смесь двух вышеприведенных способов. Данные хранятся на файловом сервере, доступ к ним осуществляют клиенты БД установленные на каждом локальном компьютере. Достоинств в данный момент нет. Недостатки — большой сетевой трафик, частые взаимные блокировки со стороны различных клиентов.
Источник 2
По способу доступа к данным БД разделяются на БД с локальным доступом и БД с удаленным (сетевым) доступом.
Система централизованных БД с сетевым доступом предполагает различные архитектуры подобных систем
файл – сервер
клиент – сервер
1. Архитектура файл – сервер.
Выделяется одна из машин сети в качестве центральной (сервер файлов) . Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы централизованных БД. Совместно используемая централизованная БД хранится на одной из машин. Файлы БД в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка.
2. Архитектура клиент – сервер.
В этой концепции помимо хранения централизованной БД центральная машина (сервер БД) должна обеспечивать выполнение основного объема обработки данных. Запросы на данные, выдаваемые клиентом (рабочей станцией) порождают поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры «клиент – сервер» является использование языка запросов SQL.
Обсуждали тут уже, юзай mwfix
Персонал, обеспечивающий работу банка данных, это администратор банка данных, а также инженеры и техники, обеспечивающие работу аппаратного обеспечения банка данных.
Таким образом, система управления базами данных является необходимой составной частью банка данных.
2. Структура и функции системы управления базами данных
СУБД обычно содержит следующие компоненты:
· ядро, которое отвечает за управление данными во внешней и оперативной памяти,
· процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода,
· подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
· сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
В связи с этим можно сформулировать основные функции СУБД:
Определение данных.
СУБД должна предоставлять средства определения данных в виде исходной формы (схемы данных) и преобразования этих определений в соответствующую объектную форму. То есть СУБД преобразовывает данные в форму, необходимую для хранения их в базе данных.
Манипулирование данными.
СУБД должна быть способна обрабатывать запросы пользователя на выборку, изменение или удаление данных, уже существующих в базе, или на добавление в нее новых данных. То есть, СУБД обеспечивает интерфейс между пользователями и базами данных.
Управление хранением данных и доступом к ним.
СУБД осуществляет программную поддержку хранения данных в запоминающем устройстве ЭВМ и управляет всеми действиями, производимыми с данными.
Защита и поддержка целостности данных
СУБД должна контролировать пользовательские запросы и определять, кому доступны операции изменения данных, а кому доступны только операции получения данных. Также она следит за целостностью данных, хранящихся в БД. СУБД осуществляет журнализацию изменений, резервное копирование и восстановление базы данных после сбоев.
Таким образом, основная функция системы управления базами данных – осуществление интерфейса пользователя и базы данных. Большинство современных крупных банков данных рассчитаны на работу нескольких пользователей, поэтому СУБД осуществляет разделение времени между пользователями при одновременном их доступе к базе данных, а также разделение полномочий между разными типами пользователей. Например, бухгалтер на предприятии может только получать информацию из банка данных, а главный экономист может вносить изменения в банк данных.
СУБД выполняет эти функции с помощью определенного информационно-логического языка, или языка запросов. В большинстве СУБД для этого используется язык SQL.
СУБД реляционного типа освобождает пользователя от необходимости знать форматы хранения данных, методы доступа и методы управления памятью. Изменение физической структуры базы данных не влияет на работоспособность прикладных программ, работающих с нею.
По степени универсальности различают два класса СУБД:
• системы общего назначения;
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели компьютеров в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных. Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
Классификация СУБД по способу доступа к базе данных
По способу доступа к БД системы управления ими подразделяются на три типа:
В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. Ядро СУБД располагается на каждом клиентском компьютере. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера, а недостатком — высокая загрузка локальной сети.
На данный момент файл-серверные СУБД считаются устаревшими. Они могут применяться для обучения работе с базами данных (чаще всего для этого используется MS Access) или для хранения информации в небольших информационных системах.
Примеры: Microsoft Access, Paradox, dBase.
Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера (см. Клиент-сервер). Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и по надобности его можно заменить другим. Недостаток клиент-серверных СУБД в самом факте существования сервера (что плохо для локальных программ — в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером.
Клиент-серверные СУБД предоставляют больше возможностей для профессиональной работы с данными, поэтому они чаще всего используются в крупных предприятиях и организациях. Они больше всего подходят к крупным информационным системам с одним или несколькими серверами, обладающими большой производительностью. Даже в случае большого количества пользователей, работающих с ними, они не очень сильно загружают сеть.
Примеры: Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, Oracle, PostgreSQL, MySQL, ЛИНТЕР.
Встраиваемая СУБД — библиотека, которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в локальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы).
Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, один из вариантов MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.
Таким образом, для использования в крупных организациях, в том числе на промышленных предприятиях, больше подходят клиент-серверные СУБД. Мы рассмотрим особенности таких распространенных СУБД, как Oracle и MS SQL Server.
4. Язык SQL в системах управления базами данных
SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL в его чистом (базовом) виде является информационно-логическим языком, а не языком программирования. Вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений, с учётом которых язык уже вполне может рассматриваться в качестве языка программирования.
SQL основывается на реляционной алгебре.
Язык SQL делится на четыре части:
· операторы определения данных (англ. Data Definition Language, DDL)
· операторы манипуляции данными (англ. Data Manipulation Language, DML)
· операторы определения доступа к данным (англ. Data Control Language, DCL)
· операторы управления транзакциями (англ. Transaction Control Language, TCL)
Data Definition Language (DDL) (язык описания данных) - это язык, используемый в компьютерных программах для описания структуры баз данных.
Функции языков DDL определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "create" ("создать"), "alter" ("изменить"), "drop" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.
Языки DDL могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные "расширения" языка.
Data Manipulation Language (DML) (язык управления [манипулирования] данными) - это язык, используемый в компьютерных программах или пользователями баз данных для получения, вставки, удаления или изменения данных в базах данных.
Языки DML изначально использовались только компьютерными программами, но с появлением SQL стали также использоваться и людьми.
Функции языков DML определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL эти глаголы - "insert" ("вставить"), "update" ("обновить"), и "delete" ("удалить"). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.
Языки DML могут существенно различаться у различных производителей СУБД. Существует стандарт SQL, установленный ANSI, но производители СУБД часто предлагают свои собственные "расширения" языка.
Языки DML разделяются в основном на два типа:
· Procedural DMLs - описывают действия над данными.
· Declarative DMLs - описывают сами данные.
Операторы управления транзакциями (англ. Transaction Control Language, TCL) компьютерный язык и часть SQL, используемый для обработки транзакций.
Транзакция — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Различают обычные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют на много более сложной логики (например, two-phase commit — двухфазный протокол подтверждения успеха). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.
Примеры TCL команд:
· COMMIT применяет транзакцию.
· ROLLBACK "откатывает" все изменения сделанные транзакцией.
· SAVEPOINT делит транзакцию на более мелкие участки.
Язык SQL имеет слудующие особенности:
Преимущества:
Независимость от конкретной СУБД. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально закладывались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle, так и с Microsoft SQL Server и IBM DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.
Наличие стандартов.Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах, например, Core-часть стандарта SQL:2003 представляет собой более 1300 страниц текста.
Декларативность. С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Однако не стоит думать, что это полностью универсальный принцип — программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.
Недостатки:
Несоответствие реляционной модели данных. Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности они указывают на следующие проблемы SQL:
· Неопределённые значения (nulls)
· Явное указание порядка колонок слева направо
· Колонки без имени и дублирующиеся имена колонок
· Отсутствие поддержки свойства «=»
В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем Манифесте они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.
Читайте также: