Файл: Экзаменационные вопросы по мдк. 04. 01. Технология разработки и защиты баз данных.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.10.2023
Просмотров: 76
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ЭКЗАМЕНАЦИОННЫЕ ВОПРОСЫ
по МДК.04.01. Технология разработки и защиты баз данных
-
Выборка данных (оператор SELECT)
Для выборки данных из БД в MySQL применяется команда SELECT. В упрощенном виде она имеет следующий синтаксис:
SELECT список_столбцов FROM имя_таблицы
-
Агрегирование и групповые операции
Агрегатные функции вычисляют некоторые скалярные значения в наборе строк. В MySQL есть следующие агрегатные функции:
-
AVG: вычисляет среднее значение -
SUM: вычисляет сумму значений -
MIN: вычисляет наименьшее значение -
MAX: вычисляет наибольшее значение -
COUNT: вычисляет количество строк в запросе
Все агрегатные функции принимают в качестве параметра выражение, которое представляет критерий для определения значений. Зачастую, в качестве выражения выступает название столбца, над значениями которого надо проводить вычисления.
Комбинирование функций
Объединим применение нескольких функций:
SELECT COUNT(*) AS ProdCount,
SUM(ProductCount) AS TotalCount,
MIN(Price) AS MinPrice,
MAX(Price) AS MaxPrice,
AVG(Price) AS AvgPrice
FROM Products
Команда GROUP BY позволяет группировать результаты при выборке из базы данных.
Пример. Выведем суммарный размер заработной платы для каждой возрастной группы сотрудников.
SELECT age, SUM(salary) as sum FROM workers GROUP BY age
-
Вложенные подзапросы
Подзапрос – команда SELECT, встроенная в другую команду SQL. Можно располагать подзарос в:
-
В предложении SELECT FROM WHERE или HAVING другой команды SELECT; -
В другом подзапросе; -
В командах INSERT, UPDATE, DELETE.
Пример. Отобразить список издателей биографий
SELECT pub_id
FROM publishers
WHERE pub_id IN (SELECT pub_id FROM titles WHERE type = “biography”);
-
Формирование связанных запросов (HAVING, EXISTS) 4
Команда Having позволяет фильтровать результат группировки сделанной помощью команды GROUP BY
GROUP BY поле HAVING условие
А теперь с помощью условия having оставим только те строки, в которых суммарная зарплата больше или равна 1000:
SELECT age, SUM(salary) as sum FROM workers GROUP BY age HAVINg sum >= 1000
Оператор EXISTS проверяет, возвращает ли подзапрос какое-либо значение, оператор используется для индикации того, что как минимум одна строка в таблице удовлетворяет условию.
Например, найдем все товары из таблицы Products, на которые есть заказы в таблице Orders:
SELECT * FROM Products
WHERE EXISTS(Select * FROM orders WHERE orders.ProductID = Products.ID)
-
Основные понятия удаленных баз данных. 5
Системы управления удаленными базами данных – это СУБД, обеспечивающие возможность одновременного доступа информации различным пользователям.
Архитектура БД – организация взаимодействия аппаратных средств.
Модели данных – схемы, характеризующие базы данных с разных сторон с целью определить оптимальное построение информационной системы.
Ядро базы данных – внутренняя структура СУБД, обеспечивающая доступ ко всем компонентам базы данных.
Пользователь БД – программа или человек обращающийся к базе данных.
Запрос – процесс обращения пользователя к БД с целью ввести, получить или изменить информации.
Транзакция – последовательность операций модификации данных в БД, переводящая её из одного непротиворечивого состояние в другое непротиворечивое состояние.
Удалённый запрос – запрос к базам данных, находящихся на ресурсах локальной сети предприятия или сети Интернет.
-
Архитектура файл – сервер 6
В этом случае БД располагается на сетевом сервере, а приложение клиента на пользовательском ПК. Количество пользователей не более 10. Каждый пользователь перекидывает на свой ПК копию БД, которая периодически обновляется с сервера.
Имеется дополнительная трудность по блокированию записи, которая используется другим пользователем. Поэтому в некоторые моменты пользователь может выдать недостоверные сведения в БД
Достоинства:
1) возможность работать с БД нескольких пользователей.
Недостатки:
1) перегрузка сети;
2) сложно обеспечить секретность данных;
3) необходимость систематического обновления на всех ПК пользователей;
4) блокировка данных
-
Архитектура клиент-сервер
В основе лежит распределенная модель вычисления. В самом общем случае под клиентом и сервером понимается два взаимодействующих процесса:
Сервер – логический процесс, который обеспечивает некоторый сервис по запросу от клиента. Обычно сервер не только выполняет запрос, но и управляет очередностью запросов, буфером обмена, а также извещает клиентов о выполнении запроса.
Клиент – процесс, который запрашивает обслуживание Сервера.
При данном взаимодействии инициатором диалога является Клиент.
Например, сервером может выделять СУБД (back-end), а к клиентом – приложение, созданное в среде разработки, которой используют данные с сервера (front-end)/
Достоинства:
1) резко уменьшается сетевой трафик;
2) единые правила для всех пользователей (высокая степень защиты);
3) практически все расчёты выполняются на сервере, что увеличивает быстродействие.
-
Типовые клиенты доступа к базе данных на основе различных технологий ADO 10
Технология ADO представляет иерархическую модель объектов для доступа к различным OLE DB- провайдерам данных. Объектная модель ADO включает объекты, обеспечивающие соединение с провайдером данных, создание SQL-запросов к данным и т.д.
Модель объекта не содержит таблиц, среды. Здесь основными объектами являются:
- Объект набор данных
- Объект Соединение, создающий связь с провайдером данных;
- объект Команда – выполнение процедуры.
Особенностью технологии ADO является возможность ее использования в Интернет-приложениях для доступа к различным источникам данных.Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов.
Основу интерфейса взаимодействия с базами данных в ADO.NET представляет следующий круг объектов:
-
Connection - происходит установка подключения к источнику данных. -
Command - позволяет выполнять операции данными из БД. -
DataReader - считывает полученные в результате запроса данные. -
DataSet - предназначен для хранения данных из БД и позволяет работать с ними независимо от БД. -
DataAdapter - является посредником между DataSet и источником данных.
Главным образом, через эти объекты и будет идти работа с базой данных.
-
Типы данных Mysql. Создание баз данных, таблиц
Целые числа:
TINYINT - 1 байт
SMALLINT - 2 байта
MEDIUMINT - 3 байта
INT - 4 байта
BIGINT - 8 байт
BOOL - 1 байт (хранит в себе либо 1, либо 0. Используется в качестве логического значения)
Вещественные числа:
FLOAT
DOUBLE
DECIMAL
Дата и время:
DATETIME - ‘0000-00-00 00:00:00’
DATE - ‘0000-00-00’
TIME - ’00:00:00′
Строковые:
CHAR(size) - строка фиксированной длины. Длина по умолчанию – 1, максимальная длина 255 б. Строка дописывается до указанной длины пробелами.
VARCHAR(size) - строка переменной длины.Максимальная длина 255 б. Хранятся только значащие символы.
Для создания базы данных используется команда CREATE DATABASE. Она имеет следующий синтаксис:
1 | CREATE DATABASE [IF NOT EXISTS] имя_базы_даных; |
Создание таблиц:
CREATE TABLE table_name
(
column_name_1 column_type_1,
column_name_2 column_type_2,
...,
column_name_N column_type_N,
);
Пример
CREATE TABLE titels
(
title_id CHAR(3) PRIMARY KEY,
title_name VARCHAR (40) NOT NULL,
tуpe VARCHAR(15) NOT NULL,
pub_id CHAR(3) FOREIGN KEY(pub_id),
REFERENCES publishers(pub_id)
)
-
Создание индексов 12
Индексы Используются для логической сортировки данных с целью повышения скорости поиска. Данные первичного ключа всегда отсортированы, поэтому выборка по ключу выполнятся быстро.
Создание индекса:
Create index имя индекса on имя таблицы (столбец)
Удаление индекса:
Drop index имя индекса on имя таблицы
-
Вставка, удаление и обновление данных 13
Для добавления данных в БД в MySQL используется команда INSERT, которая имеет следующий формальный синтаксис:
INSERT [INTO] имя_таблицы [(список_столбцов)] values (значение1, значение 2, ….. значение N)
После выражение INSERT INTO в скобках можно узнать список столбцов через запятую, в которые надо добавлять данные, и в конце после слова VALUES перечисляют добавляемых для столбцов значения.
Команда DELETE удаляет данные из БД. Она имеет следующий формальный синтаксис:
DELETE FROM имя_таблицы
[WHERE условия_удаления]
Например, удалим строки, у которых производитель – Huawei:
DELETE FROM Products
WHERE Manufacturer = ‘Huawei’;
Команда UPDATE обновляет значения в таблице для определенного столбца
UPDATE имя_таблицы
SET столбец1 = значение1, столбец2 = значение2, ….. столбецN = значение
[WHERE условие_обновления]
-
Строковые функции MySQL 14
Для работы со строка в MySQL определен ряд встроенных функций:
CONCAT: объединяет строки. В качестве параметра принимает от 2-х и более строк, которые надо соединить:
SELECT CONCAT('Tom', ' ', 'Smith') -- Tom Smith
При этом в функцию можно передавать не только непосредственно строки, но и числа, даты - они будут преобразовываться в строки и также объединяться.
CONCAT_WS: также объединяет строки, но в качестве первого параметра принимает разделитель, который будет соединять строки:
SELECT CONCAT_WS(' ', 'Tom', 'Smith', 'Age:', 34) -- Tom Smith Age: 34
LENGTH: возвращает количество символов в строке. В качестве параметра в функцию передается строка, для которой надо найти длину:
SELECT LENGTH('Tom Smith') -- 9
LTRIM: удаляет начальные пробелы из строки. В качестве параметра принимает строку:
SELECT LTRIM(' Apple')
RTRIM: удаляет конечные пробелы из строки. В качестве параметра принимает строку:
SELECT RTRIM(' Apple ')
TRIM: удаляет начальные и конечные пробелы из строки. В качестве параметра принимает строку:
SELECT TRIM(' Tom Smith ')
REPLACE(search, find, replace): заменяет в строке find подстроку search на подстроку replace. Первый параметр функции - строка, второй - подстрока, которую надо заменить, а третий - подстрока, на которую надо заменить:
INSERT(str, start, length, insert): вставляет в строку str, заменяя length символов с позиции start подстрокой insert. Первый параметр функции - строка, второй - позиция, с которой надо заменить, третий - сколько символов с позиции start надо заменить вставляемой подстрокой, четвертый параметр - вставляемая подстрока:
REVERSE: переворачивает строку наоборот:
UPPER
-
Функции работы с временем в MySQL 15
MySQL имеет ряд встроенных функций для работы с датами и временем.
Получение даты и времени
Функции NOW(), SYSDATE(), CURRENT_TIMESTAMP() возвращают текущую локальную дату и время на основе системных часов в виде объекта datetime. Все три функции возвращают одинаковый результат.
Функции CURDATE и CURRENT_DATE возвращают текущую локальную дату в виде объекта date.
Парсинг даты и времени
-
DAYOFMONTH(date) возвращает день месяца в виде числового значения -
DAYOFWEEK(date) возвращает день недели в виде числового значения -
DAYOFYEAR(date) возвращает номер дня в году -
MONTH(date) возвращает месяц даты -
YEAR(date) возвращает год -
QUARTER(date) возвращает номер квартала года
-
Тип таблиц MySQL: MyISAM 16
ISAM таблица хранится в 3 файлах.
.frm (Структура таблицы)
.MYD (данные таблицы)
.MYI (индексы таблицы)
Особенности:
1) Хранятся в кроссплатформенном формате
2) Максимальное количество индексов - 64 по 16 столбцов
3) для каждого текстового столбца может быть задана своя кодировка
4) допускается индексирование текстовых столбцов переменной длины
5) таблицы имеют специальный флаг, сигнализирующий о правильном закрытии таблицы. В случае аварийного закрытия останутся незакрытые флаги