 
        
        - •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) доступа к базам данных.
Трехуровневая архитектура.
Трехуровневая архитектура состоит из:
- Клиент — это интерфейсный (обычно графический) компонент, который представляет первый уровень, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой (по требованиям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал. 
- Сервер приложений располагается на втором уровне. На втором уровне сосредоточена бо́льшая часть бизнес-логики. Вне его остаются фрагменты, экспортируемые на терминалы (см.выше), а также погруженные в третий уровень хранимые процедуры и триггеры. 
- Сервер базы данных обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная или объектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных. 
