- •5) Язык sql. Оператор Select и приложение, с помощью которого указывают, какие строки указанной таблицы должны быть выбраны. Пояснить на конкретной предметной области.
- •Insert добавляет новые данные
- •6) Существующие архитектуры систем бд. Пояснить каждую архитектуру. Двух и трехуровневые архитектуры. Понятие толстого и тонкого клиента.
- •7) Понятие ключей (первичный, внешний, составной), пояснить каждый вид ключа, примеры.
- •Объединение
- •Наиболее распространённые sql-сервера: Microsoft sql Server, Sybase sql Server.
1) Правила связывания таблиц, пояснить на конкретной предметной области.
Таблицы связываются по ключам. Ключи (Первичный, внешний/Primary key, foreign key) используются в зависимости от типа связи.
При необходимости связи «Один ко многим» (1-М/1-∞) связывается Primary key главной таблицы, и Foreign Key подчинённой таблицы.
При необходимости связи «один к одному» (1-1) связываются Primary Key обоих таблиц.
При необходимости связи «Многие ко многим» используется промежуточная таблица. Такая связь осуществляется с помощью связи «Один ко многим» от обоих таблиц к промежуточной. Пример:
2) Элементы (помимо таблиц), которые содержат удаленная база данных.
Метаданные – это информация о данных. Они необходимы для хранения данных о базе данных, таких как: триггеры, хранимые процедуры, индексы и другое.
3) Система базы данных: назначение, состав. Система управления базами данных (СУБД), примеры СУБД.
Системы управления базами данных позволяют объединять большие объемы информации и обрабатывать их, сортировать, делать выборки по определённым критериям и т.п. Основные функции СУБД – это: – определение данных; – обработка данных; – управление данными.
Примеры СУБД:
InterBase
Paradox
Microsoft Access
MySQL
4) Транзакция и переход от одного целостного состояния БД к другому. Основная схема работы транзакций (Пример). Две команды при работе с транзакцией.
Транзакция – последовательность операций, которые должны быть выполнены полностью, или полностью отменены (возвращены к исходному значению).
Переход от одного целостного состояния БД к другому происходит при изменении данных в БД (Добавление/редактирование/удаление).
Допустим, нам необходимо внести запись в таблицу. Для этого мы должны внести изменения:
Dm.ibsadd.params.parambyname(‘parFam’):=edit1.text;
Отправить запрос
Dm.ibsadd.ExecSQL;
Если транзакция не может быть выполнена, необходимо её откатить:
Dm.IBTransaction.rollbackRetaining;
Или подтвердить транзакцию:
Dm.IBTransaction.CommitRetaining;
5) Язык sql. Оператор Select и приложение, с помощью которого указывают, какие строки указанной таблицы должны быть выбраны. Пояснить на конкретной предметной области.
Язык SQL (Structured Query Language — «язык структурированных запросов») — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в базах данных.
В языке SQL есть операторы. Они делятся на следующие четыре:
операторы определения данных (Data Definition Language, DDL)
CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.)
ALTER изменяет объект
DROP удаляет объект
операторы манипуляции данными (Data Manipulation Language, DML)
SELECT считывает данные, удовлетворяющие заданным условиям
Insert добавляет новые данные
UPDATE изменяет существующие данные
DELETE удаляет данные
операторы определения доступа к данным (Data Control Language, DCL)
GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом
REVOKE отзывает ранее выданные разрешения
DENY задает запрет, имеющий приоритет над разрешением
операторы управления транзакциями (Transaction Control Language, TCL)
COMMIT применяет транзакцию.
ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.
SAVEPOINT делит транзакцию на более мелкие участки.
SELECT — оператор DML языка SQL, возвращающий набор данных (выборку) из базы данных, удовлетворяющих заданному условию.
Пример:
SELECT * FROM TABLE – выборка всех записей из таблицы TABLE.
SELECT S1 FROM TABLE – выборка всех записей столба S1 из таблицы TABLE.
SELECT * FROM TABLE WHERE S1 = 1 – выборка всех записей, где в столбце C1 будет имеется значение 1.
SELECT * FROM TABLE ORDER BY S1 DESC – выборка всех записей, отсортированных в обратном порядке по столбцу S1.
Есть три вида сортировки: по убиванию (DESC), по возрастанию (ASC) и не применять (ASC на Primary Key)
6) Существующие архитектуры систем бд. Пояснить каждую архитектуру. Двух и трехуровневые архитектуры. Понятие толстого и тонкого клиента.
Архитектура клиент-сервер. Толстый и тонкий клиент. Двухуровневая архитектура
Сервером (server) называется компьютер, предоставляющий доступ к своим ресурсам для других компьютеров, называемых клиентами (client). Клиент может быть одного из двух типов: толстый клиент (thick client) или тонкий клиент (thin client). Толстый клиент характеризуется тем, что он содержит средства доступа к базе данных, средства обработки и отображения информации. Каждое клиентское приложение копирует себе все необходимые данные, выполняет их обработку и отсылает результат обратно на сервер. Функции тонкого клиента сводятся в основном к выводу результатов обработки данных, осуществляемой на сервере. Клиент лишь отсылает серверу список задач, которые необходимо выполнить, а в ответ принимает обработанные данные. Все правила и логика обработки данных хранятся на сервере и лишь вызываются клиентом. Такой подход позволяет облегчить изменения алгоритмов обработки данных, так как при этом не нужно модифицировать клиентское программное обеспечение, а достаточно изменить только хранимую процедуру на сервере.
В общем случае, клиент и сервер могут располагаться на одном компьютере. Использование системы управления базами данных, построенной по архитектуре "клиент-сервер", дает следующие преимущества:
1. Централизованное хранение данных. Вам не потребуется заботиться об обновлении данных на компьютерах клиентов. Вы работаете с информацией централизованно, изменяя и обновляя ее только в одном месте - на сервере баз данных.
2. Уменьшение сетевого трафика. Раньше информация хранилась на файловых серверах. Клиентам приходилось выкачивать всю базу данных, производить с ней требуемые действия и потом сохранять обновленную копию на сервере. В результате сеть была перегружена бесконечными пересылками. Теперь же клиент запрашивает и получает только ту информацию, которая ему необходима. Это позволяет эффективно работать с базами данных больших объемов.
3. Более удобное администрирование баз данных. Выполнение задач по управлению упрощается, поскольку вся информация располагается в единственном месте.
Необходимо ясно представлять, что клиент и сервер - термины, означающие не только роль компьютера в сети. Приложения также могут играть роли клиентов и серверов. Клиентское приложение инициирует запрос, а серверное приложение обрабатывает его и возвращает результат работы клиенту. Для осуществления этого взаимодействия необходим механизм, позволяющий организовать доступ клиента к серверу. Этот механизм реализуется через специальные интерфейсы программирования (Application Programming Interface, API) доступа к базам данных.
Трехуровневая архитектура.
Трехуровневая архитектура состоит из:
Клиент — это интерфейсный (обычно графический) компонент, который представляет первый уровень, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой (по требованиям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.
Сервер приложений располагается на втором уровне. На втором уровне сосредоточена бо́льшая часть бизнес-логики. Вне его остаются фрагменты, экспортируемые на терминалы (см.выше), а также погруженные в третий уровень хранимые процедуры и триггеры.
Сервер базы данных обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная или объектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных.