
- •История развития субд.
- •Информационные системы. Основные функции и области применения.
- •Банк данных и его компоненты.
- •Классификация моделей представления данных
- •Сетевая модель данных. Достоинства и недостатки
- •Иерархическая модель данных. Достоинства и недостатки
- •Классификация программ субд
- •Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины
- •Первичный и внешний ключи. Индексы
- •Реляционная алгебра. Основные операции
- •Реляционное исчисление
- •Проектирование реляционных баз данных с использованием нормализации
- •Целостность баз данных. Каскадное удаление и изменение данных.
- •Структуры внешней памяти. Хранение отношений. Индексы. Методы организации индексов. Служебная информация
- •Журнализация изменений бд
- •Сериализация транзакций. Синхронизационные захваты. Метод временных меток
- •Синхронизационные захваты
- •Транзакция. Уровни изолированности пользователей
- •Функции и основные возможности языка sql.
- •Отличие sql от процедурных языков программирования.
- •Интерактивный и встроенный sql
- •Типы данных sql
- •4.1. Тип данных «строка символов»
- •Varchar[(длина)]
- •4.2 Числовые типы данных
- •4.3 Дата и время
- •4.4 Неопределенные или пропущенные данные (null)
- •Простейшие select-запросы. Синтаксис
- •Операторы in, between, like, is null
- •Агрегирование и групповые функции. Упорядочение выходных полей
- •Команды манипулирования данными. Использование подзапросов в insert
- •Использование подзапросов, основанных на таблицах внешних запросов
- •Использование подзапросов с delete
- •Использование подзапросов с update
- •Основные особенности архитектуры клиент-сервер
- •Организация данных в InterBase.
- •InterBase и область его применения
- •Описание данных на основе sql Организация данных в InterBase. Типы данных.
- •Домены. Создание доменов. Изменение доменов. Удаление доменов.
- •Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удаление индекса.
- •4.1 Создание индексов
- •4.3. Восстановление индекса
- •4.4 Удаление индекса
- •Исключения. Создание исключения. Изменение исключения. Удаление исключения
- •Триггеры и их назначение. Команды создания, удаления и модификации триггеров и хранимых процедур.
- •Работа с blob и функции, определенные пользователем
- •Объявление внешней функции
Использование подзапросов, основанных на таблицах внешних запросов
Пример. Пусть таблице SSTUD хранятся сведения о студентах, обучающихся в том же городе, в котором они живут. Заполнить эту таблицу данными из таблицы STUDENT.
INSERT INTO SSTUD
SELECT *
FROM STUDENT A
WHERE CITY IN
(SELECT CITY
FROM UNIVERSITY B
WHERE A.UNIV_ID=B.UNIV_ID); (33.14)
Пример. Выбрать список студентов, имеющих максимальный балл на каждый день сдачи экзаменов и переписать их в другую таблицу EXAM
INSERT INTO EXAM
SELECT *
FROM EXAM_MARKS A
WHERE MARK =
(SELECT MAX (MARK)
FROM EXAM_MARKS B
WHERE A.EXAM_DATE = B.EXAM_DATE);
Использование подзапросов с delete
Пример. Удалить все данные о студентах, которые учатся в Воронеж
DELETE
FROM STUDENT
WHERE UNIV_ID IN
(SELECT UNIV_ID
FROM UNIVERSITY
WHERE CITY = ‘ВОРОНЕЖ’); (33.16)
В предикате предложения FROM (подзапроса) нельзя ссылаться на таблицу, из которой осуществляется удаление. Однако можно ссылаться на текущую строку из таблицы, являющуюся кандидатом на удаление, то есть на строку, которая в настоящее время проверяется в основном предикате.
Пример. Удалить данные о студентах, которые учатся в университетах, имеющих рейтинг 401
DELETE
FROM STUDENT
WHERE EXISTS
(SELECT *
FROM UNIVERSITY
WHERE RATTING = 401
AND STUDENT.UNIV_ID = UNIVERSITY.UNIV_ID); (33.17)
Второй способ решения этой задачи.
DELETE
FROM STUDENT
WHERE 401 IN
(SELECT RATTING
FROM UNIVERSITY
WHERE STUDENT.UNIV_ID = UNIVERSITY.UNIV_ID); (33.18)
Использование подзапросов с update
С помощью команды UPDATE можно применять подзапросы в любой форме, приемлемой для команды DELETE.
Пример. Увеличить стипендии на 20% студентам, которые имеют оценки только 4 и 5.
UPDATE STUDENT A
SET STIPEND = STIPEND+STIPEND*20/100
WHERE 4<=
(SELECT MIN (MARK)
FROM EXAM_MARKS B
WHERE B.STUDENT_ID = A.STUDENT_ID);
Основные особенности архитектуры клиент-сервер
В основе широкого распространения локальных сетей и компьютеров лежит известная идея разделения ресурсов. Развитие этой идеи приводит к функциональному выделению компонентов в сети: рабочих станций и серверов локальной сети. Рабочая станция предназначена для непосредственной работы пользователя или категории пользователя и обладает ресурсами соответствующим локальным потребностям данного пользователя.
Сервер локальной сети предоставляет ресурсы рабочим станциям или/и другим серверам.
Чтобы прикладная программа выполнялась на рабочей станции, необходимо наличие интерфейса поддерживающий взаимодействие клиен-сервер.
Основные принципы системной архитектуры клиент-сервер.
Система разбивается на 2 части, которые могут выполняться в различных углах сети: клиентскую и серверную часть
Прикладная программа или конечный пользователь взаимодействуют с клиентской частью системы, которая в простейшем случае обеспечивает просто надсетевой интерфейс.
Интерфейс серверной части определён и фиксирован. Поэтому возможно создание новых клиентских частей существующей системы.
В развитых системах сетевое обращение к серверной части может и не понадобиться, если система может предугадывать потребности пользователя, и а клиентской части содержаться данные, способные удовлетворить его следующий запрос
Термин Сервер БД обычно используют для обозначения всей СУБД, основанной на архитектуре клиент-сервер, включая и серверную и клиентские части.
Серверы БД представляют собой простое и дешевое приближение к распределенной БД, поскольку общая БД доступна для всех пользователей локальной сети.