Файл: Конспект лекций по учебной дисциплине по дисциплине мдк. 02. 02. Технология разработки и защиты баз данных.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.04.2024
Просмотров: 191
Скачиваний: 2
СОДЕРЖАНИЕ
ПОЯСНЕНИЯ К НАПИСАНИЮ КОНСПЕКТА
Раздел 1 Основы теории баз данных.
Тема: Понятие базы данных, системы управления баз данных.
Тема: Классификация баз данных. Архитектура баз данных.
Тема: Администратор базы данных и его функции. Пользователи баз данных.
Тема: Понятие о моделировании данных
Тема: Иерархическая модель данных. Сетевая модель данных.
Раздел 3 Реляционная модель данных.
Тема: Основные понятия реляционной модели данных.
Тема: Инфологическая модель данных.
Проектирование инфологической модели данных
Тема: ER моделирование базы данных.
Раздел 4. Основы реляционной алгебры.
Тема: Реляционная алгебра. Операции: объединение, пересечение, разность, декартово произведение
Тема: Выборка, проекция, соединение, деление
Тема: Применение реляционной алгебры.
Раздел 5. Этапы проектирования базы данных.
Тема: Этапы проектирования базы данных.
Тема: Концептуальное моделирование предметной области.
Тема: ER моделирование предметной области.
Тема: Методы создания основных объектов
Тема: Создание таблиц в СУБД Access
Тема: Разработка схемы базы данных
Тема: Создание однотабличных запросов в СУБД Access.
Тема: Создание многотабличных запросов в СУБД Access.
Тема: Основные понятия и компоненты языка SQL.
Тема: Выражения, условия и операторы языка SQL.
Тема: Средства управления таблицами.
Тема: Средства управления данными.
Раздел 7. Оформление и работа с базой данных.
Тема: Типы и виды форм. Методы и средства создания.
Тема: Создание отчётов. Создание печатных форм отчётов
Тема: Макросы. Основные макрокоманды
Раздел 8. Распределенные, параллельные базы данных.
Тема: Основные условия и требования к распределённой обработке данных
1 Терминология распределенных баз данных
3 Принципы функционирования распределенной БД
1 Терминология распределенных баз данных
3 Принципы функционирования распределенной БД
Тема: Базовые архитектуры распределенных баз данных
Тема: Архитектура сервера баз данных
2 Архитектура «активный сервер баз данных»
3. Архитектура сервера приложений
2 Архитектура «активный сервер баз данных»
3. Архитектура сервера приложений
Тема: Доступ к базам данных в архитектуре «клиент-сервер»
Тема: Вычисление распределенных запросов.
Тема: Транзакции и целостность базы данных.
Тема: Триггеры и хранимые процедуры.
Тема: Безопасность данных. Управление правами доступа.
Тема: Обязательные методы защиты базы данных.
3 Поддержка мер обеспечения безопасности в языке SQL
3 Поддержка мер обеспечения безопасности в языке SQL
• PRIMARY KEY — поле, для которого задано это ограничение, должно выступать в роли первичного ключа; ' Значение поля по умолчанию указывается при помощи ключевого слова DEFAULT.
Ограничения на таблицу применяются к группам, состоящим из нескольких полей. Они задаются при помощи ключевого слова CHECK.
Формирование запросов на языке SQL предполагает ввод команд с клавиатуры в строгом соответствии с их форматами. Для записи форматов команд (иногда усеченных) будем использовать следующие соглашения:
< > (угловые скобки). То, что в них указано, определяет пользователь;
[ ] (квадратные скобки). Выделяют те части команды, которые могут отсутствовать;
{},... Заключенная в фигурные скобки часть команды может быть повторена несколько раз, причем повторы разделяются запятыми;
| (вертикальная черта). Означает альтернативный выбор.
Контрольные вопросы
-
Для каких целей создавался язык SQL? -
Каковы основные этапы формирования стандарта SQL? -
Является ли SQL языком программирования? -
Как можно ускорить выполнение операции в SQL? -
Почему SQL считается реляционно-полным? -
Из каких разделов состоит язык SQL? -
Как выполнить объединение таблиц? -
Какие действия выполняет оператор DELETE без фразы WHERE? -
Какими способами можно заполнить созданную таблицу данными? -
Как организовать перерасчет значений каких-либо столбцов таблицы? -
Напишите оператор создания таблицы Товары с указанием значений по умолчанию и условий проверки данных в некоторых полях? -
Как задать составной первичный ключ при создании таблицы? -
Для чего нужны представления? -
Как определяются модифицируемые представления?
ЛЕКЦИЯ 24
Тема: Выражения, условия и операторы языка SQL.
ПЛАН
1 Синтаксис языка SQL
2 Инструкции и предложения SQL
ЛИТЕРАТУРА: [2], стр. 84 – 90
1 Синтаксис языка SQL
Операторы SQL могут быть встроены в базовый язык и дают возможность получать доступ к БД из прикладных программ.
Для организации запросов с помощью SQL используют определённый синтаксис. Разделители SQL:
1) запятая используется для разделения элементов списка, имён полей в запросе;
2) квадратные скобки – для задания имён полей, которые содержат пробелы;
3) точка – для разделения имени таблицы от имени поля, если в запрос включены поля нескольких таблиц;
4) строки в SQL заключаются в одинарные кавычки (‘Пушкин’);
5) каждая команда в SQL заканчивается точкой с запятой.
Например: Книги. Название, Книги. [Год издания], Издательства. Название;
Язык SQL состоит из ключевых слов и языковых конструкций, к которым относят: инструкции, предложения, операторы и функции.
2 Инструкции и предложения SQL
Инструкции – команды, которые позволяют выполнить некоторые операции.
Инструкции SQL подразделяются на 2 категории:
1) Инструкции Языка Определения Данных (DDL) – формируют запросы для создания, изменения, удаления объектов БД, изменения структуры схемы БД.
2) Инструкции Языка Манипулирования Данных (DML) – формируют запросы, управляющие информацией (удаление, изменение, добавление, отображение данных).
Наиболее часто используемыми инструкциями являются инструкции Языка Манипулирования Данных (DML):
1) SELECT – используются для создания запроса на выборку
2) INSERT - для добавления данных
3) UPDATE – на изменение данных
4) DELETE – на удаление данных
Предложения – команды, изменяющие условия отбора, используемые для определения данных, которые необходимо отобрать или обработать.
Рассмотрим некоторые предложения:
1) FROM
2) WHERE
3) GROUP BY
4) HAVING
5) ORDER BY
В SQL используются следующие операторы: арифметические, присваивания и сравнения, логические, идентификации.
В таблице приведен список арифметические, присваивания и сравнения, логические операторов.
Знаки арифметических операций | Знаки операций сравнения | Логические операции |
+ сложение | > больше | And логическое И |
- вычитание | < меньше | Or логическое ИЛИ |
* умножение | = равенство (присвоение) | Not логическое отрицание НЕ |
/ деление | >= больше или равно | Xor исключающее ИЛИ |
^ возведение в степень | <= меньше или равно | |
\ целочисленное деление | <> не равно | |
Также могут быть использованы следующие операторы, которые упрощают создание выражений для выборки записей в запросах;
Is - при использовании вместе с Null определяет, является ли значение Null или Not Null, например. Is Null означает значение поля пусто.
BETWEEN AND - позволяет задать диапазон значений. Например, условие >= 10 and <=20 можно записать так BETWEEN 10 and 20
IN - позволяет задать используемый для сравнения список значений. Например, выражение ''хлеб"' ог '"вода" ог "земля" можно записать так IN("хлеб","вода","земля").
LIKE - используется для организации поиска по шаблону.
Символ | Шаблон обозначает | Условие | Access найдёт… |
* | Произвольное количество алфавитно-цифровых символов в произвольном месте | LIKE “*Мар*” | Ул. 8 Марта, 45-23; ул. Маршака, 180а-1; Мартин |
? | Любой одиночный алфавитно-цифровой символ в произвольном месте значения | LIKE“м?р”, “Т??я” | МУР, мир, мор, мер, Толя, Таня, Тоня, То1я, Тося, Тася |
# | Любая одиночная цифра в произвольном месте значения | LIKE “23#45”, LIKE“52-5#-4#” | 23545, 23145, 23745, 23945 52-55-45? 52-59-41 |
[ ] | Любой из перечисленных в скобках символ | LIKE “З[оаи]лин” | Зозулин, Зазулин, Зизулин. НО не найдёт Зезулин, Зузулин. |
! | Любой один символ, кроме, указанных в скобках | LIKE “ко[!рс]а” | Коза, кола, кома. НО не найдёт кора, коса. |
- | Любого одиночного символа из указанного интервала | LIKE “ко[к-м]а” | Кола, кома |
Контрольные вопросы
-
Каковы основные функции оператора SELECT? -
Что означает символ «*» в операторе SELECT? -
Как организуется вывод данных с группированием по какому-либо полю (столбцу) таблицы? -
Как подсчитать число строк таблицы? -
Как задаются имена столбцов, если в запросе используются несколько таблиц? -
Какие виды подзапросов вы знаете и каковы ограничения при их использовании? -
Создание производных столбцов -
Арифметические операции -
Определение последовательности вычисления
ЛЕКЦИЯ 25
Тема: Средства управления таблицами.
ПЛАН
1 Инструкция CREATE TABLE
2 Инструкция CREATE INDEX
3 Инструкция INSERT
4 Инструкция DELETE
5 Инструкция ALTER TABLE
ЛИТЕРАТУРА: [1], стр. 181 – 191
1 Инструкция CREATE TABLE
CREATE TABLE таблица (поля, индексы)
Поля - список полей с характеристиками.
Индексы - необязательный список составных индексов.
Инструкция CREATE TABLE создает таблицу. Каждое поле в списке поля может иметь до трех элементов, разделенных пробелами: “Поле тип индекс”.
Поле - имя поля.
Тип - тип поля. Если поле текстовое, то в круглых скобках указывается размер в байтах.
Индекс - предложение CONSTRAINT для создания простого индекса. Указывается только в случае, если по данному полюнужно создать индекс. Формат:
CONSTRAINT имя вариант
Имя - имя индекса.
Вариант - необязательный параметр. Может принимать одно из следующих значений:
PRIMARY KEY - поле ключевое;
UNIQUE - уникальный индекс ( в этом поле не допускаются повторения);
REFERENCES - внешняя таблица (внешнее поле) – поле во внешней таблице.
CONSTRAINT для создания составного индекса имеет аналогичный формат, но вместо поля используется список полей. Если в таблице определен составной уникальный индекс, то комбинация значений включенных в него записей должна быть уникальной для каждой записи таблицы, хотя отдельные поля могут иметь совпадающие значения. Нельзя использовать зарезервированные слова PRIMARY KEY , если в таблице уже определен ключ.
Пример
CREATE TABLE [Расписание экзаменов](
[Предмет] INTEGER CONSTRAINT КлПоле PRIMARY KEY,
[Название предмета] TEXT,
[Преподаватель] INTEGER,
Группа TEXT(10),
Дата DATATIME);
2 Инструкция CREATE INDEX
Инструкция CREATE INDEX создает новый индекс для существующей таблицы.
CREATE [UNIQUE] индекс ON таблица (список_полей)
[WITH вариант]
В квадратных скобках указаны необязательные элементы синтаксиса.
Список_полей - список полей, составляющих индекс.
Индекс - имя создаваемого индекса.
Вариант - дополнительная характеристика индекса – один из вариантов:PRIMARY[(индексированные поля)],DISALLOWNULL, IGNORENULL. Последние два варианта запрещают использование пустых значений в индексированных полях.
Инструкция
DROP INDEX индекс ON таблица;
удаляет индекс из таблицы.
Пример
CREATE INDEX Предметы
ON [Расписание экзаменов]([Название предмета], [Группа]);
ПримерDROP INDEX Предметы;
3 Инструкция INSERT
Инструкция INSERT вставляет одну или несколько новых строк
…;в таблицу или запрос. Вариант
INSERT INTO таблица SELECT
вставляет в таблицу
строки, отобранные инструкцией SELECT. После имени таблицы можно указать в круглых скобках список столбцов, в которые помещаются новые значения. Запрос INSERT выполняется только в том случае, когда вставляемые данные удовлетворяют установленным ограничениям на значения столбцов, условию на значения для таблиц и на целостность данных.
В следующем примере используется таблица “Новые преподаватели”, в которой содержатся сведения о преподавателях, проходящих месячный испытательный срок.
INSERT INTO Преподаватели
SELECT Преподаватель, ФИО, Должность, Степень, Звание
FROM [Новые преподаватели]
WHERE Дата
Если требуется добавить только одну запись, можно использовать другой вариант инструкции INSERT.
INSERT INTO таблица VALUES(список_значений)
или
INSERT INTO таблица (список_полей) VALUES (список_значений)
Если список полей опущен, предложение VALUES должно содержать значения для каждого поля таблицы.
Пример
INSERT INTO Преподаватели (Преподаватель, ФИО,Должность)
VALUES (7, ”Журавлев”, ”Ассистент”);
4 Инструкция DELETE
DELETE таблица.* FROM таблицы WHERE условие;
Инструкция DELETE позволяет удалять записи из таблиц, перечисленных в предложении FROM. Удаляются записи, удовлетворяющие условию WHERE.
Если в предложении FROM указана одна таблица, то ее можно обозначить звездочкой. Таблицу можно удалить с помощью инструкции
DROP таблица;
Удаление данных из отдельных полей можно осуществить с помощью инструкции UPDATE, в которой следует указать SET поле=Null.
Пример
DELETE * FROM Преподаватели WHERE Преподаватель=3;
Отменяются все экзамены преподавателя с шифром 3.
5 Инструкция ALTER TABLE
Инструкция ALTER TABLE позволяет добавлять и удалять поля и индексы таблицы в соответствии с форматом
ALTER TABLE таблица вариант;
Вариант принимает в каждом случае одно из значений:
ADD COLUMN поле тип [CONSTRAINT индекс];
ADD CONSTRAINT составной_индекс;
DROP COLUMN поле;
DROP CONSTRAINT индекс.
ADD COLUMN добавляет в таблицу новый столбец, который становится последним столбцом таблицы. Необязательное слово COLUMN является поясняющим. Оно не связано с какими-либо операциями и может быть опущено. Если поле текстовое, после слова TEXT можно указать в круглых скобках длину поля в символах.
Пример
ALTER TABLE Преподаватели
ADD COLUMN Комментарий TEXT(50);
Вариант ADD CONSTRAINT позволяет создать в таблице составной индекс. Варианты DROP удаляют из таблиц поля или индексы.
Контрольные вопросы
-
Использование объединений. -
Создание объединений с помощью синтаксиса JO IN и W H E R E -
Создание произвольного естественного объединения с использованием предложения N A T U R A L JO IN -
Создание внутреннего объединения с помощью команды IN N E R J O IN -
Создание внешних объединений с помощью команды O U T E R JO IN -
Порядок создания таблиц -
Основные принципы работы с ограничениями -
Создание новой таблицы с помощью команды CREATE TABLE -
Запрет значения null с помощью ограничения N O T N U L L -
Присвоение значения по умолчанию с помощью ограничения D E F A U L T -
Задание первичного ключа с помощью ограничения P R IM A R Y K E Y -
Задание внешнего ключа с помощью ограничения FO REIG N K E Y -
Присвоение уникальных значений с помощью ограничения U N IQ U E -
Проверка значений столбца с помощью ограничения C H E C K -
Создание временной таблицы с помощью команды C REATE T EM PO R A R Y T A B L E -
Изменение таблицы с помощью команды ALTER T A B L E -
Удаление таблицы с помощью команды D R O P T A B L E