- •Недостатки файловых систем по сравнению с системами баз данных
- •Понятие системы и информационной системы. Классификация информационных систем
- •Понятие системы баз данных и ее упрощенная схема
- •Понятия интегрированности и разделяемости данных, независимости от данных и целостности данных применительно к системам баз данных
- •Жизненный цикл базы данных. Этапы концептуального, логического и физического проектирования базы данных
- •Понятия модели и модели данных. Логические модели данных
- •Иерархическая модель данных, ее достоинства и недостатки
- •Сетевая модель данных, ее достоинства и недостатки
- •Основные понятия реляционной алгебры
- •Определение сущности в реляционной алгебре. Свойства сущности
- •Понятия возможного, первичного и альтернативного ключей
- •Операции реляционной алгебры. Базовые реляционные операции
- •Теоретико-множественные;
- •Специальные.
- •Теоретико-множественные реляционные операции. Свойства реляционной операции декартова произведения
- •Специальные реляционные операции
- •Реляционные операции селекции и проекции
- •Реляционная операция соединения. Ее разновидности
- •Реляционная операция естественного соединения и ее свойства
- •Реляционная операция деления
- •Примитивные и не примитивные реляционные операции Оператор соединения
- •Оператор пересечения
- •Оператор деления
- •Типы связей между сущностями
- •Связь м:м
- •Связь между сущностями типа «многие ко многим». Ее преобразование при переходе к физической модели
- •Нормализация данных. Первая нормальная форма
- •Нормализация данных. Вторая нормальная форма
- •2 Нормальная форма
- •Нормализация данных. Третья нормальная форма и нормальная форма Кодда-Бойса
- •Нормализация данных. Четвертая и пятая нормальные формы
- •5Ая нормальная форма
- •Целостность данных
- •Основные и дополнительные правила ссылочной целостности
- •Язык sql: основные команды манипулирования данными
- •Язык sql: удаление записей из таблицы
- •Язык sql: использование операторов in, between, like и ключевого слова null в условиях отбора данных
- •Язык sql: обновление записей в таблице
- •Язык sql: выборка данных из таблиц. Использование агрегатных функций и вычисляемых полей
- •Язык sql: группировка строк набора данных
- •Язык sql: соединение таблиц (внутреннее и внешнее)
- •Язык sql: использование подзапросов
- •Язык sql: операторы exists, any, all в командах с подзапросом
- •Язык sql: основные команды определения данных
- •Язык sql: создание и использование представлений (просмотров) и индексов
- •Назначение и функции субд
- •Управление словарем данных и обеспечение безопасности данных в субд
- •Обеспечение целостности данных в субд
- •Управление многопользовательским доступом к данным в субд
- •Управление резервным копированием и восстановлением данных в субд
- •Механизм тиражирования (репликации) данных в субд
- •Типы баз данных
- •Иерархическая база данных, структура иерархических баз данных
- •Сетевая база данных, структура сетевых баз данных
- •Реляционные базы данных, структура реляционных баз данных особенности реляционных баз данных
- •Распределенные базы данных. Двенадцать правил Дейта для распределенных баз данных
- •Системы «клиент/сервер»
- •Системы поддержки принятия решений
- •Классификации
- •Структура
- •Преимущества
- •Хранилища данных. Их отличия от операционных баз данных
- •Подготовка данных применительно к хранилищам данных
- •Магазины (витрины) данных. Банки оперативных данных
- •Многомерные базы данных. Разработка (извлечение) данных
- •Технологии Big Data
- •ERwin: сильные и слабые связи между сущностями. Операции прямого и обратного проектирования
- •Операции прямого и обратного проектирования
- •Sql Server: курсоры и триггеры, их виды, процесс использования
Язык sql: использование подзапросов
Язык SQL позволяет вкладывать запросы на выборку друг в друга. Обычно внутр. Запрос называемый подзапросом генерирует набор данных с помощью которого выполняется оценка истинности предиката внешнего запроса
SELECT *
FROM Студент
WHERE N_Группы IN(
SELECT N_группы
FROM Группа
WHERE факультет = ‘ИЭ’).
SELECT C.*
FROM Группа Г
INNER JOIN Студент С ON Г.N_группы = С.N_группы
WHERE Г факультет = ‘ИЭ’
SELECT *
FROM Экзамен
WHERE N_Зачетки IN(
SELECT N_зачетки
FROM Студент
WHERE N_группы = 372301).
ORDER BY предмет, N_зачетки
SELECT Э.экзамен, С.фамилия, Э.оценка
FROM студент C,
INNER JOIN Экзамен Э ON С.N_зачетки = Э.N_зачетки
WHERE Э оценка > (SELECT AVG (оценка) FROM Экзамен)
ORDER BY Э.предмет, С.фамилия
SELECT C.N.-группа, COUNT(*)
FROM студент C
INNER JOIN экзамен Э ON C.N-зачётки=Э.N.зачётки
WHERE Э.предмет= ‘теория систем’
AND Э.оценка>(SELECT AVG(ОЦЕНКА)
FROM экзамен
WHERE предмет=’теория систем’)
GROUP BY C.N. группы
HAVING COUNT(*)>=20
Язык sql: операторы exists, any, all в командах с подзапросом
Оператор EXIST
Использует подзапрос в качестве аргумента и принимают значение ‘истина’ только в том случае, если подзапрос возвращает набор данных, содержащий хотя бы 1 строку.
Например:
SELECT*
FROM студент С
WHERE EXISTS(
SELECT*
FROM Экзамен Э
WHERE э.N.- зачётки= С.N.- зачётки AND ценка<=3.
Оператор ANY (SOME) перебирает все значения выдаваемые как истину, если хотя бы 1 из этих значений обеспечивает истинность предиката внешнего запроса
SELECT *
FROM Группа Г
WHERE 1992=ANY(SELECT год_рождения
FROM студент С
WHERE C.N.-группы=Г.N.-группы)
Оператор ALL
Перебирает все значение, выдаваемые подзапросом и оценивает результат как истина, если для каждого из этих значений обеспечивает истинность предиката внешнего запроса.
SELECT*
FROM Группа Г
WHERE 1992<=ALL (SELECT год-рождения
FROM студент С
WHERE C.N.-группы=Г.N.-группы)
Язык sql: основные команды определения данных
Язык определения данных используется для создания и изменения структуры базы данных и ее составных частей - таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его командами являются:
CREATE DATABASE (Эта команда создает новую базу данных)
CREATE DATABASE db_name;
USE (Для того чтобы начать работу с таблицами, необходимо сообщить MySQL с какой базой данных вы намерены работать. Это осуществляется при помощи команды USE)
USE db_name;
CREATE TABLE( создает новую таблицу в выбранной базе данных)
CREATE TABLE table_name [(create_definition, ...)]
DESCRIBE( показывает структуру созданных таблиц)
DESCRIBE tаble_namе
ALTER TABLE( позволяет изменить структуру таблицы. Эта команда позволяет добавлять и удалять столбцы, создавать и уничтожать индексы, переименовывать столбцы и саму таблицу)
ALTER TABLE table_name alter_spec
DROP TABLE( для удаления одной или нескольких таблиц)
DROP TABLE table_name [ ,table_name,...]
DROP DATABASE( удаляет базу данных со всеми таблицами входящими в её состав)
DROP DATABASE database_namе
INSERT INTO…VALUES(вставляет новые записи в существующую таблицу)
INSERT INTO table_name VALUES (values,…)
DELETE(удаляет из таблицы table_name записи, удовлетворяющие заданным в definition условиям, и возвращает число удаленных записей.)
DELETE FROM table_name [WHERE definition]
SELECT( предназначена для извлечения строк данных из одной или нескольких таблиц)
SELECT column,...
[FROM table WHERE definition]
[ORDER BY col_name [ASC | DESC], ...]
[LIMIT [offset], rows
UPDATE (обновляет столбцы таблицы table в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Ключевое слово LIMIT позволяет ограничить число обновляемых строк.
UPDATE table
SET col_name1=expr1 [, col_name2=expr2 ...
[WHERE definition]
SHOW( получения списка баз данных и таблиц в выбранной базе данных)