- •Понятия «данные», «информация», «база данных», «субд», «банк данных». Классификация субд
- •Функции субд.
- •Архитектура субд: централизованная архитектура, архитектура «файл-сервер»
- •Архитектура субд: архитектура «клиент-сервер», трехзвенная архитектура
- •Уровни представления баз данных
- •Модели данных субд: иерархическая модель
- •Модели данных субд: сетевая модель
- •Модели данных субд: реляционная модель
- •Реляционная модель данных
- •Модели данных субд: постреляционная модель
- •Модели данных. Инфологические модели: семантическая сеть, графовые модели, модель «сущность-связь».
- •«Сущность-связь»
- •Инфологическая модель «Сущность-связь»: сущность, связь, типы связей, атрибут, уникальный идентификатор, полная и неполная идентификация, возможный ключ сущности.
- •Методология проектирования idef1x: зависимые и независимые сущности, степень связи, типы связи, внешние ключи, правила построения диаграмм
- •Реляционная модель данных: классы отношений, типы связей между отношениями
- •Манипулирование реляционными данными: базовые теоретико-множественные операции реляционной алгебры (объединение, разность, пересечение, произведение).
- •Манипулирование реляционными данными: специальные операции реляционной алгебры (селекция, проекция, соединение, деление)
- •Реляционная модель данных: аномалии обновления, нормализация, первая нормальная форма
- •Реляционная модель данных: функциональные зависимости, вторая нормальная форма
- •Реляционная модель данных: третья нормальная форма, алгоритм нормализации
- •Реляционная модель данных: сравнение нормализованных и ненормализованных моделей
- •Целостность реляционных данных: Null-значения, потенциальные ключи, простой ключ, составной ключ, первичный ключ, альтернативный ключ
- •Целостность реляционных данных: целостность сущностей, внешний ключ, целостность внешних ключей
- •Целостность реляционных данных: операции, которые могут нарушить ссылочную целостность
- •Целостность реляционных данных: стратегии поддержания ссылочной целостности.
- •Основы языка sql: синтаксис операторов определения объектов базы данных (create table, alter table, drop table) create table - создать таблицу
- •Определение первичных и альтернативных ключей с помощью оператора alter
- •Операторы drop
- •Основы языка sql: синтаксис операторов манипулирования данными (select, order by, встроенные функции, group by)
- •Сортировка результатов
- •Встроенные функции sql
- •Основы языка sql: чтение данных из нескольких таблиц с применением вложенных запросов
- •Основы языка sql: чтение данных из нескольких таблиц с помощью операции соединения
- •Основы языка sql: средства модификации данных языка sql
- •Представления. Применение представлений. Обновление представлений.
- •Обновление представлений
- •Триггеры. Типы триггеров. Применение.
- •Применения триггеров
- •Хранимые процедуры. Преимущества использования хранимых процедур
- •Преимущества хранимых процедур
- •Большая безопасность и меньший сетевой трафик.
- •Sql можно оптимизировать
- •Совместное использование кода:
- •Физическая организация бд: структура памяти эвм, представление экземпляра логической записи в памяти эвм
- •Структура памяти эвм
- •Представление экземпляра логической записи
- •Физическая организация бд: организация обмена между оперативной и внешней памятью
- •Физическая организация бд: размещение физических записей в виде списковой структуры (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Физическая организация бд: использование индексов (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Физическая организация бд: использование сбалансированного дерева (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Физическая организация бд: использование хеширования (реализация операций поиска, чтения, редактирования, удаления и добавления логических записей)
- •Параллельная обработка данных: необходимость в атомарных транзакциях
- •Параллельная обработка данных: проблема потерянного обновления, проблема несогласованного чтения
- •Блокировка ресурсов. Неявные и явные блокировки. Глубина детализации блокировки. Монопольная и коллективная блокировки
- •Блокировка ресурсов: сериализуемые транзакции
- •Блокировка ресурсов: взаимная блокировка
- •Блокировка ресурсов: оптимистическая и пессимистическая блокировки
- •Блокировка ресурсов: объявление характеристик блокировки
- •Свойства транзакций: атомарность, долговечность, согласованность
- •Свойства транзакций: изолированность транзакции, уровни изоляции
- •Курсор. Типы курсоров
- •Управление параллельной обработкой в ms sql Server
- •Xml как язык разметки. Общие черты и различия html и xml. Разделение между структурой документа, его содержимым и материализацией
- •Описание содержимого xml-документа с помощью dtd.
- •Описание содержимого xml-документа с помощью xml-схемы.
- •Материализация хмl-документов с помощью xslt.
- •Плоские и структурированные xml-схемы. Глобальные элементы
- •Создание хмl-документов на основе информации из базы данных
- •Select...For xml для нескольких таблиц
- •Понятие и архитектура системы поддержки принятия решений
- •Понятие хранилища данных
- •Физические и виртуальные хранилища данных
- •Проблематика построения хранилищ данных
- •Витрины данных
- •Понятие olap. Категории данных в хд. Информационные потоки в хд
- •Категории данных в хд
- •Информационные потоки в хд
- •Структура olap-куба. Иерархия измерений olap-кубов
- •Иерархия измерений olap-кубов
- •Операции, выполняемые над гиперкубом
- •Архитектура olap-систем
- •Слой извлечения, преобразования и загрузки данных
- •Слой хранения данных
- •Слой анализа данных
- •Клиентские и серверные olap-средства
- •Клиентские olap-средства
- •Серверные olap-средства
- •Технические аспекты многомерного хранения данных: molap, holap
- •Технические аспекты многомерного хранения данных: rolap, схема «звезда», схема «снежинка»
- •Основные характеристики системы Notes. Инфраструктура Lotus Domino. Типы клиентов. Основные характеристики системы No
- •Основные характеристики системы Notes [1]:
- •Инфраструктура Lotus Domino
- •Клиенты
- •Структура баз данных Lotus Domino. Типы документов Структура баз данных Lotus Domino
- •Типы документов
- •Механизм репликации в Lotus Domino.
- •Что происходит во время репликации
- •Некоторые соображения по поводу репликации
Операторы drop
В языке SQL имеется множество других операторов и конструкций для определения данных. Одним из самых полезных среди них является оператор DROP TABLE. Но он одновременно является и одним из самых опасных, поскольку удаляет таблицу из базы данных вместе со всеми содержащимися в ней данными.
Если вам нужно удалить из базы данных таблицу под названием КЛИЕНТ и все содержащиеся в ней данные, используйте следующий оператор: DROP TABLE КЛИЕНТ.
Оператор DROP TABLE не выполняется, если таблица содержит или может содержать значения, необходимые для соблюдения ограничений ссылочной целостности. Например, столбец ИдПроекта таблицы ПРОЕКТ может содержать значения, необходимые для соблюдения ограничения внешнего ключа ПроектВК. Попытка передать СУБД на выполнение оператор DROP TABLE ПРОЕКТ окончится неудачей, и система выдаст сообщение об ошибке.
Если вы хотите удалить таблицу ПРОЕКТ, нужно сначала удалить либо ограничение внешнего ключа ПроектВК, либо всю таблицу НАЗНАЧЕНИЕ. Удалить ограничение можно при помощи следующего оператора: ALTER TABLE НАЗНАЧЕНИЕ DROP CONSTRAINT ПроектВК:
Если вы предпочитаете удалить всю таблицу, это можно сделать так: DROP TABLE НАЗНАЧЕНИЕ;
Выполнив любое из этих действий, вы сможете беспрепятственно удалить таблицу ПРОЕКТ.
-
Основы языка sql: синтаксис операторов манипулирования данными (select, order by, встроенные функции, group by)
SELECT
Базовый формат SQL-оператора SELECT таков: SELECT (имена столбцов или *), FROM (имена таблиц, разделенные запятыми, если таблиц больше, чем одна), WHERE (условия). С помощью оператора SELECT можно запрашивать определенные столбцы, определенные строки или то и другое вместе.
Чтение заданных столбцов из одиночной таблицы. Следующий оператор запросит (прочтет) три из четырех столбцов таблицы ПРОЕКТ:
Листинг 4
SELECT Название, Отдел, МаксТрудозатраты
FROM ПРОЕКТ;
Если нужно, чтобы СУБД нашла и удалила одинаковые строки, при запросе необходимо использовать ключевое слово DISTINCT:
Листинг 5
SELECT DISTINCT Отдел
FROM ПРОЕКТ;
Чтение заданных строк из одиночной таблицы. Приведенные выше SQL-операторы выбирали определенные столбцы всех строк таблицы. Можно сделать и наоборот — выбрать все столбцы определенных строк. Например, следующий оператор запрашивает все столбцы из тех строк таблицы ПРОЕКТ, которые содержат сведения о проектах финансового отдела:
Листинг 6
SELECT ИдПроекта, Название, Отдел., МаксТрудозатраты
FROM ПРОЕКТ
WHERE Отдел = 'Финансы';
В условиях, задаваемых в предложении WHERE, значения столбцов, имеющих типы данных Char и VarChar, необходимо заключать в одинарные кавычки (апострофы). Для столбцов типов Integer и Numeric этого не требуется. Объединять несколько условий можно с помощью ключевого слова AND.
Листинг 7
SELECT *
FROM ПРОЕКТ
WHERE Отдел = 'Финансы' AND МаксТрудозатраты > 100;
Множества значений задаются с использованием ключевых слов IN (соответствие любому значению из списка) и NOT IN (несоответствие ни одному значению из списка).
Листинг 8
SELECT Имя. Телефон, Отдел
FROM СОТРУДНИК
WHERE Отдел IN ('Бухгалтерия', 'Финансы', 'Маркетинг');
Диапазоны, специальные символы и пустые значения в предложениях WHERE. В предложениях WHERE могут также указываться диапазоны и шаблоны поиска. Для задания диапазонов используется ключевое слово BETWEEN. Например:
Листинг 9
SELECT Имя. Отдел
FROM СОТРУДНИК
WHERE ТабельныйНомер BETWEEN 200 AND 500;
Шаблоны поиска можно задавать при помощи специальных символов _ (произвольный одиночный символ) и % (произвольная последовательность символов) в сочетании с ключевым словом LIKE. Для поиска пустых значений используются ключевые слова IS NULL.
Листинг 10
SELECT *
FROM ПРОЕКТ
WHERE Имя LIKE 'KB_ Анализ портфеля';
Подчеркивание означает, что на данном месте может стоять любой символ. Результатом этого оператора является следующая таблица:
1000 КВЗ Анализ портфеля Финансы 75
1500 КВ4 Анализ портфеля Финансы 110
Чтобы найти всех сотрудников, чей номер телефона начинается с '285', можно четыре последние цифры номера представить символами подчеркивания:
Листинг 11
SELECT *
FROM СОТРУДНИК
WHERE Телефон LIKE '285-____':
Символ процента (%) представляет последовательность из одного или нескольких произвольных символов. Запрос, возвращающий строки сотрудников с номерами телефонов, начинающимися с '285', можно записать по-другому:
Листинг 12
SELECT *
FROM СОТРУДНИК
WHERE Телефон LIKE '2851%';
Для поиска пустых значений в предложении WHERE служит ключевое слово. Следующий запрос выдает имена и названия отделов всех сотрудников, для которых не указан номер телефона:
Финансы
Маркетинг
Маркетинг
Инф. системы
Инф. системы
Бухгалтерия
Бухгалтерия
SELECT Имя, Отдел
FROM СОТРУДНИК
WHERE Телефон IS NULL;