
- •Ко Номер вопроса в списке, номер темы. Номер вопроса в теме.
- •1,1.1 Системы бд и их характеристики. Бд, банк бд, субд, ипс.
- •2,1.2 Субд (определение, функции)
- •3,1.3 Уровни классификации пользователей систем баз данных.
- •4,1.4 Определение данных в базах данных.
- •5,1.5 Языки запросов субд.
- •6,1.6 Манипулирование данными в субд.
- •7,1.7 Модификация баз данных.
- •Добавить новую запись в таблицу:
- •Модификация записей:
- •Удаление записей
- •8,1.8 Реструктуризация баз данных.
- •9,1.9 Понятие целостности баз данных.
- •11,1.11 Модели данных. Классификация моделей.
- •12,1.12 Объекты и отношения. Er-диаграммы, концептуальное проектирование.
- •13,1.13 Этапы проектирования баз данных.
- •14,1.14 Архитектура (общая схема) систем баз данных.
- •15,1.15 Сравнение реляционного, иерархического и сетевого подхода к форме моделей данных.
- •18. Сетевая модель баз данных
- •19,1.19 Логические структуры данных. (элемент, группа (кортеж), отношение, представление).
- •20,1.20 Организация физических записей. Способы выделения элементов в физической записи.
- •21,1.21 Последовательный файл, файл с указателем, индексирование по одному элементу.
- •22,1.22 Инвертированная организация файлов.
- •23,1.23 Списковые структуры (списки).
- •24,1.24 Хэш-адресация.
- •25,1.25 Иерархическая организация (структура хранения).
- •26,1.26 Бинарные деревья и их использование в субд.
- •28,2.1 Создание форм в субд Visual Foxpro
- •29,2.2 Создание меню в субд Visual Foxpro.
- •30,2.3 Создание отчетов в субд Visual Foxpro
- •7.3. Итоговые значения отчета
- •31,2.4 Создание этикеток (label) в субд Visual Foxpro
- •32,2.5 Создание форм "один-ко-многим" в субд Visual Foxpro. Установление отношения в форме.
- •33,2.6 Определение данных в системе Visual foxpro.
- •34,2.7 Объектно-ориентированное визуальное проектирование форм в субд Visual Foxpro
- •35,2.8 Характеристика субд Visual foxpro
- •36,2.9 Создание и ведение бд в Visual foxpro (основные команды).
- •37,2.10 Программирование в субд Visual foxpro.
- •38,2.11 Операторы доступа и поиска командного языка системы Visual foxpro.
- •39,2.12 Установление отношения в базе данных в субд Visual FoxPro.
- •45,3.3 Булевы операции над отношениями. Дополнение, активное дополнение, выбор, проекция, соединение.
- •46,3.4 Оператор деления. Постоянные отношения. Переименование атрибутов, эквисоединение. Деление
- •Постоянные отношения. Переименование атрибутов
- •Эквисоединение, естественное и -соединение
- •47,3.5 Расширение для сравнения на доменах. Расширение оператора выбора. Оператор о - соединения.
- •48,3.6 Оператор расщепления.
- •49,3.7 Оператор фактор.
- •50,3.8 Функциональные зависимости. Алгоритм проверки функциональной зависимости satisfies.
- •52,3.10 2-Ая нормальная форма. Примеры.
- •53,3.11 Транзитивная зависимость. 3-я нормальная форма. Примеры
- •54,3.12 Назначение языка баз данных sql. Основные принципы языка
- •55,3.13 Sql.: Управление таблицами: создание, удаление. Типы данных в таблицах.
- •56,3.14 Sql: Управление данными: добавление, удаление записей.
- •57,3.15 Sql: Команда select. Общая структура команды (блоки from, where и т.П.)
- •58,3.16 Sql: Команда select. Выборка из нескольких связанных таблиц.
- •59,3.17 Sql: Команда select. Вложенные запросы к таблицам.
- •60,3.18 Sql: Объединение таблиц (команда join). Общая структура команды.
- •61,3.19 Sql: Объединение таблиц (команда union). Общая структура команды. Отличие от команды join.
- •62,3.20 Sql: Представления (view). Создание, удаление, использование.
- •64,3.22 Аксиомы вывода. Аксиомы вывода
- •65,3.23 Нормализация.
- •66,2.31 Однородные и неоднородные системы распределенных бд. Архитектура распределенных систем бд.
- •67,2.32 Обработка запроса в распределенной системе бд.
- •68,2.33 Сетевая субд. Типы функциональных узлов в распределенной системе бд.
- •69,2.34 Справочники бд. Их распределение.
- •70,2.35 Стратегии распределения данных в распределенных бд.
- •71,2.36 Целостность распределенных бд.
- •72,2.37 Организация ввода и коррекции информации в распределенных бд. Журнализация изменений в бд.
- •73,2.38 Дифференцальные файлы.
- •74,2.39 Понятие транзакции.
- •75,2.40 Сериализация транзакций в распределенных субд. Двухфазная фиксация изменений. Многоверсионный вариант двухфазного протокола синхронизации
- •76,2.41 Сериализация транзакций в распределенных субд на основе временных меток. Временные метки
- •77,2.42 Уровни изоляции при чтении данных.
- •78,2.43 Многопользовательская система с файл-сервером(на примере субд foxpro).
- •79,2.44 Архитектура "клиент-сервер" для распределенных систем баз данных.
- •7.1.2.Модели взаимодействия клиент-сервер.
- •80,2.45 Безопасность распределенных бд.
- •81,2.29 Управление доступом, привилегии доступа.
- •82,2.30 Управление доступом, привилегии безопасности.
59,3.17 Sql: Команда select. Вложенные запросы к таблицам.
Наиболее полно преимущества ключевого слова IN проявляются во вложенных запросах, также называемых подзапросами. Предположим, нам нужно найти все издания, выпущенные компанией "Oracle Press". Наименования издательских компаний содержатся в таблице publishers, названия книг в таблице titles. Ключевое слово NOT IN позволяет объединить обе таблицы (без получения общего отношения) и извлечь при этом нужную информацию:
SELECT title FROM titles WHERE pub_id IN
(SELECT pub_id FROM publishers WHERE publisher='Oracle Press');
При выполнении этой команды СУБД вначале обрабатывает вложенный запрос по таблице publishers, а затем его результат передает на вход основного запроса по таблице titles.
60,3.18 Sql: Объединение таблиц (команда join). Общая структура команды.
В SQL предусмотрена возможность выполнения операции реляционной алгебры "ОБЪЕДИНЕНИЕ" (UNION) над отношениями, являющимися результатами оператора SELECT. Естественно, эти отношения должны быть определены по одной схеме.Пример: получить все Интеренет-ссылки, хранимые в базе данных publications. Эти ссылки хранятся в таблицах publishers и wwwsites. Для того, чтобы получить их в одной таблице, мы должны построить следующие запрос:
SELECT publisher,url FROM publishers
UNION
SELECT site,url FROM wwwsites;
61,3.19 Sql: Объединение таблиц (команда union). Общая структура команды. Отличие от команды join.
команда union используется для обьединения вывода двух или более запросов select. Особенности команды которые придется учитывать: Когда два (или более) запроса подвергаются объединению, их столбцы вывода должны быть совместимы для объединения. Это означает, что каждый запрос должен указывать одинаковое количество столбцов и в том же порядке и каждый должен иметь тип, совместимый с каждым. Также данная возможность появилать только в mysql версии 4.0 т.е. на более ранних версиях БД работать не будет. Вид команды таков:
select a1, a2, a3 from table1 union select b1, b2, b3 from table2;
Где a1 и b1, a2 и b2, a3 и b3 должны быть одинакового типа. Например:
select text11, text12, int11 from t1 union select text21, text22, int22 from t2;
62,3.20 Sql: Представления (view). Создание, удаление, использование.
Определение: Представление (view) - это таблица, содержимое которой берется из других таблиц посредством запроса. При этом новые копии данных не создаются
Когда содержимое базовых таблиц меняется, СУБД автоматически перевыполняет запросы, создающие view, что приводит к соответствующи изменениям в представлениях.
Представление определяется с помощью команды
CREATE VIEW <имя_представления> [<имя_столбца>,...]
AS <запрос>
При этом должны соблюдаться следующие ограничения:
представление должно базироваться на единcтвенном запросе (UNION не допустимо)
выходные данные запроса, формирующего представление, должны быть не упорядочены (ORDER BY не допустимо)
Создадим представление, хранящее информацию об авторах, их книгах и издателях этих книг:
CREATE VIEW books AS
SELECT authors.author,titles.title,titles.yearpub,publishers.publisher
FROM authors,titles,publishers,titleauthors
WHERE titleauthors.au_id=authors.au_id AND
titleauthors.title_id=titles.title_id AND
titles.pub_id=publishers.pub_id
Теперь любой пользователь, чьих прав на доступ к данному представлению достаточно, может осуществлять выборку данных из books. Например:
SELECT titles FROM books WHERE author LIKE '%Date'
SELECT author,count(title) FROM books GROUP BY author
Удаление представления производится с помощью оператора:
DROP VIEW <имя_представления>
63,3.21 SQL: Курсоры (CURSOR). Создание, удаление, использование.
Курсор — это вид переменной, которая связана с запросом. Значением этой переменной может быть каждая строка, которая выводится при запросе. Подобно главным переменным, курсоры должны быть обьявлены прежде, чем они будут использованы. Это делается командой DECLARE CURSOR, следующим образом:
EXEC SQL DECLARE CURSOR Londonsales FOR SELECT * FROM Salespeople WHERE city = 'London';
Запрос не выполнится немедленно; он — только определяется. в отличие от базовых таблиц или представлений, строки курсора упорядочены: имеются первая, вторая... ...и последняя строка курсора. Этот порядок может быть произвольным, с явным управлением с помощью предложения ORDER BY в запросе или же по умолчанию следовать какому-то упорядочению, определяемому инструментально-определяемой схемой.
Когда вы находите точку в вашей программе, в которой вы хотите выполнить запрос, вы открываете курсор с помощью следующей команды:
Имеется оператор CLOSE CURSOR соответствующий оператору OPEN CURSOR. Он, как вы поняли, освобождает курсор значений, поэтому запрос будет нужно выполнить повторно с оператором OPEN CURSOR, прежде чем перейти в выбору следующих значений.
Пока курсор закрыт, SQL не следит за тем, какие строки были выбраны. Если вы открываете курсор снова, запрос повторно выполняется с этой точки, и вы начинаете все сначала.