- •1 . Архитектуры обработки данных. 1
- •Архитектура файл/сервер.
- •Архитектура клиент/сервер.
- •Многозвенная архитектура.
- •Способы организации данных.
- •Сетевая модель данных
- •Реляционная модель данных.
- •ЯзыкSqLкак язык работы с реляционными базами.
- •Данные и взаимосвязи.
- •Объекты.
- •Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц?
- •Нормализация данных.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма.
- •Типы данных.
- •Числовые целые типы данных.
- •Числовые типы данных с плавающей точкой.
- •Символьные типы данных.
- •. Типы данных date, time и datetime.
- •Специальные типы данных.
- •Структура запроса, основные ключевые слова и операторы
- •Список основных операторовSql
- •Список основных ключевых словSql
- •ОператорSelect
- •ПредложениеSelect
- •ПредложениеFrom
- •Повторяющиеся строки (ключевое слово distinct).
- •ПредложениеWhere
- •Условия поиска.
- •Составные условия поиска (and, or и not)
- •Проверка на принадлежность диапазону значений (between)
- •Проверка на членство в множестве (in)
- •Проверка на равенство значению null (is null)
- •Проверка на соответствие шаблону (like)
- •Подстановочные знаки
- •Сортировка результатов запроса (предложениеOrder by)
- •Агрегатные функции
- •Вычисление суммы столбца (sum)
- •Вычисление экстремумов (min и max)
- •Вычисление среднего значения (avg)
- •Вычисление количества значений в столбце (count)
- •Запросы с группировкой (предложениеGroup by)
- •Условия поиска групп having
- •Работа с несколькими таблицами
- •Вложенные запросы
- •Исходная база данных
- •Вложение запросов.
- •Оператор exists
- •Объединение множества запросов в один
- •Когда можно выполнить объединение запросов ?
- •Использование union с order by.
- •Команды модификации данных
- •Ввод значений (insert)
- •Вставка пустых указателей (null)
- •Именование названий столбцов для вставки
- •Вставка результатов запроса
- •Удаление строк из таблиц (delete)
- •Изменение значений поля (update)
- •Использование подзапросов для команд модификации данных
- •Использование подзапросов в insert
- •Использование подзапросов с delete
- •Модификация структуры данных
- •Команда сreate table
- •Команда alter table.
- •Команда drop table
1 . Архитектуры обработки данных. 1
2 Способы организации данных. 3
3 Язык SQL как язык работы с реляционными базами. 5
4 Данные и взаимосвязи. 6
5 SQL (Structured System Language) 12
. Архитектуры обработки данных.
Проблемой многопользовательского доступа являлось обеспечение согласованной работы многих клиентов с одними данными, т. е. обеспечение целостности базы данных. При совместной работе нескольких пользователей с данными, может быть нарушена целостность данных, т.е. при обращении нескольких пользователей к одним и тем же данным содержание записи становится неопределенным. Для решения проблемы сохранения целостности существуют следующие архитектуры.
Архитектура хост/терминал.
Рис.1. Архитектура хост/терминал.
На рис.1 показана традиционная архитектура баз данных. При подобной архитектуре и СУБД, и физические данные размещаются на центральном компьютере (хост компьютере)вместе с приложением, принимающим входную информацию с пользовательского терминала (устройство ввода-вывода) и отображающим данные на экране пользователя. Для каждого терминала запускается своя копия приложения(процесс) которая обращается с базой данных. Приложение и СУБД работают на одном компьютере, и поскольку система обслуживает много различных пользователей, каждый из них ощущает снижение быстродействия по мере увеличения нагрузки на систему.
Преимущества: дешевые терминалы, невысокая загрузка сети (трафик), эффективнее решается проблема целостности.
Недостатки: мощность ограничена хостом, если в качестве терминала используются персональные компьютеры,то их ресурсы не используются.
Данная архитектура применима для больших и очень больших корпоративных сетей, построенных, как правило, на базе ОС Unix
Архитектура файл/сервер.
Рис.2.Архитектура файл/сервер.
Появление персональных компьютеров и локальных вычислительных сетей привело к разработке архитектуры файл/сервер. При такой архитектуре приложение, выполняемое на персональном компьютере, может получить “прозрачный” доступ к файл-серверу, на котором хранятся совместно используемые файлы. Когда приложению, работающему на ПК, требуется данные из совместно используемого файла, сетевое программное обеспечение автоматически считывает требуемый блок данных с сервера. В этой архитектуре мы имеем дело с файловым сервером. В данной архитектуре вопросами целостности должно заниматься каждое приложение.
Преимущества: простота. Малая стоимость.
Недостатки:низкая надежность и малое количество клиентов,вопросы целостности возлагаются на клиентские приложения.
Данная архитектура применяется в простых коробчатых вариантах программного обеспечения (Например, 1:C).
В настоящее время на рынке наиболее популярными СУБД, которые применяют данную архитектуру, являются такие продукты, как FoxPro,DBase,Paradox,Access.
Архитектура клиент/сервер.
Рис.3. Архитектура клиент/сервер.
При такой архитектуре персональные компьютеры объединены в локальную сеть, в которой имеется сервер содержащий общие базы данных. В этой архитектуре мы имеем дело с сервером баз данных. Функции СУБД разделены на две части. Пользователь формирует запрос к БД. При помощи клиентской части СУБД запрос передается к серверу БД (ядро СУБД). Сервер БД выполняет запрос и при необходимости возвращает результат запроса клиенту. Пользовательские запросы объединяются в транзакции. Транзакция - логически связанная последовательность трансляции данных (запросов). Средством написания запросов является языкSQL, который является стандартным языком, обеспечивающим взаимодействие между клиентскими приложениями. Синтаксис и правила выполнения запросовSQL стандартизированы. В настоящее время этим занимается американский национальный институт стандартизацииANSI.Помимо стандартных возможностей каждый производитель СУБД может расширять свою версиюSQL дополнительными возможностями, которые впоследствии могут стать частью стандарта.
Преимущества: использование ресурса, как клиента, так и сервера.
Недостатки: при очень большой загрузке (при высоком трафике) падает производительность.
Данная архитектура применяется в масштабе предприятия.
В настоящее время на рынке имеются огромное количество СУБД, применяющих данную архитектуру. Перечислим наиболее популярные: ORACLE, Sy Base, MS SQL, InterBase.