
- •Определение бд и БнД. Состав и структура БнД. Назначение основных компонентов БнД.
- •Понятие хорошо и слабо структурированных данных. Основные характеристики документальных и фактографических бд.
- •Понятие ключа и индекса. Прямая и инвертированная формы индекса. Примеры.
- •Характерные свойства и отличия линейных и нелинейных структур данных. Примеры.
- •Типология простых запросов. Примеры.
- •Сходство и отличие процессов обработки данных средствами файловой системы и субд.
- •Логические модели данных.
- •Реляционная модель данных
- •Операции реляционной алгебры. Определение операций соединения и пересечения через пять базовых операций.
- •Основные этапы эволюции систем обработки данных. Основные отличия в концепциях обработки данных разных этапов.
- •Назначение и особенности этапов проектирования бд.
- •Системный анализ предметной области. Методика сбора фактов. Методика интеграции представлений.
- •Концептуальные модели данных. Модель «сущность-связь». Сущности, атрибуты, связи. Сущность-связи и мощности связей. Примеры.
- •Номер брони*
- •Номер билета*
- •15. Получение реляционной схемы из er-диаграммы. Примеры.
- •16. Функциональная зависимость. Детерминант функциональной зависимости. Полная и частичная функциональная зависимость. Примеры.
- •17. Понятие функциональной, транзитивной и многозначной зависимости. Примеры.
- •18. Нормализация отношений. Первая, вторая, третья нормальные формы. Примеры.
- •19. Нормализация отношений. Нормальная форма Бойса-Кодда. Примеры.
- •20. Нормализация отношений. Четвертая и пятая нормальные формы. Примеры.
- •21. Нормализация отношений. Процедура нормализации. Примеры применения процедуры нормализации к универсальному отношению.
- •22. Языки определения данных и манипулирования данными. Назначение. Функциональные возможности (на примере sql).
- •23. Sql. Основные понятия и компоненты.
- •24. Sql. Ограничения целостности. Примеры.
- •25. Sql. Команда изменения структуры таблицы. Примеры.
- •1. Добавление столбца.
- •2. Модификация столбца.
- •3. Удаление столбца.
- •4. Добавление ограничений на уровне таблицы.
- •2. Изменение данных – команда update
- •Удаление данных – команда delete
- •27. Sql. Команда создания таблицы. Примеры.
- •28. Sql. Извлечение данных (команда select). Примеры.
- •29. Sql. Типы соединений таблиц в команде select.
- •30. Sql. Команда select с группировкой данных. Групповые операции. Примеры.
- •31. Представление операций реляционной алгебры с помощью sql.
- •32. Целостность бд. Понятие транзакции. Модели транзакций.
- •33. Виды конфликтов при параллельном выполнении транзакций. Сериализация транзакций. Захват и освобождение объекта.
- •34. Технологии обработки данных. Функции «типового» приложения обработки данных.
- •35. Архитектуры распределенной обработки данных.
- •36. Архитектуры обслуживания клиентских запросов. Достоинства и недостатки.
- •37. Хранилища данных. Основные отличия olap и oltp-систем.
- •38. Трехуровневая архитектура схем баз данных в субд.
- •39. Физические модели баз данных. Типы индексов.
- •40. Интеграция xml-документов и реляционных бд на примере Transact-sql.
2. Изменение данных – команда update
Для внесения изменений в данные таблиц служит команда UPDATE, позволяющая выполнить как простое обновление данных в столбце, так и сложные операции модификации данных во множестве строк таблицы.
UPDATE <имя_таблицы>
SET {<имя_столбца> = { <выражение> | DEFAULT | NULL }} [,…,n]
{ [FROM {<имя_исходной_таблицы> } [,…,n] ]
[WHERE <условие_отбора> ]}
Имя таблицы – имя таблицы, в которой необходимо произвести изменение данных.
SET – с этого ключевого слова начинается блок, в котором определяется список изменяемых столбцов.
<имя столбца> = {<выражение> | DEFAULT | NULL } - для каждого изменяемого столбца нужно задать значение, которое он примет после выполнения изменения
UPDATE Учебный_план
SET Количечство_часов = Количество часов + 2
WHERE (Отчетность = ’экзамен’) AND (Семестр = 1)
SELECT *
FROM Учебный_план
WHERE (Отчетность = ‘экзамен’) AND (Семестр = 1)
Удаление данных – команда delete
Удаление данных выполняется построчно. За одну операцию можно выполнить удаление как одной строки, так и нескольких тысяч строк.
DELETE <Имя_таблицы>
[WHERE <Условие_отбора>]
SELECT Учебный_план
WHERE (Отчетность = ‘э’) AND (Семестр = 1)
27. Sql. Команда создания таблицы. Примеры.
Создание таблицы выполняется при помощи команды CREATE TABLE.
CREATE TABLE имя_таблицы
({<определение_столбца> | <определение_ограничения_таблицы>} [,…,{<определение_столбца> | <определение_ограничения_таблицы>}] )
CREATE TABLE Студенты
(ID_Студент INTEGER NOT NULL,
Фамилия CHAR(30) NOT NULL,
Имя CHAR(15) NOT NULL,
Отчество CHAR(20) NOT NULL,
Номер_группы INTEGER NOT NULL,
Адрес CHAR(30),
Телефон CHAR(8),
PRIMARY KEY (ID_Студент) );
28. Sql. Извлечение данных (команда select). Примеры.
Основным инструментом выборки данных в языке SQL является команда SELECT. С помощью этой команды можно получить доступ к данным, представленным как совокупность таблиц практически любой сложности.
Чаще всего используется упрощенный вариант команды SELECT, имеющий следующий синтаксис:
SELECT <Список_выбора>
[INTO <Новая_таблица>]
FROM <Исходная_таблица>
[WHERE <Условие_отбора>]
[GROUP BY <Ключи_группировки>]
[HAVING <Условие_отбора>]
[ORDER BY <Ключи_сортировки> [ASC | DESC]]
Инструкция SELECT разбивается на отдельные разделы, каждый из которых имеет свое назначение. Обязательными являются только разделы SELECT и FROM, а остальные разделы могут быть опущены. Основное назначение радела SELECT – задание набора столбцов, возвращаемых после выполнения запроса, т.е. внешнего вида результата.
Пример из лабы 2:
Распределение реализованного блюда по кафе заданного типа.
SELET [Кафе].[Наименование], Sum([Реализует блюдо].[Количество порций]) AS «Всего порций»
FROM [Реализует] INNER JOIN [Кафе] ON [Кафе].[ID]=[Реализует].[ID]
WHERE (([Кафе].[Профиль]= «Детское кафе») AND ([Блюдо].[Название блюда]= «Мороженное»)
GROUP BY [Название кафе]
ORDER BY «Всего порций» DESC
29. Sql. Типы соединений таблиц в команде select.
Ключевое слово INNER - этот тип связи используется по умолчанию. Указание сочетания INNER JOIN равносильно указанию только слова JOIN. В результат запроса включаются пары строк, удовлетворяющие критерию связывания в обеих таблицах. Порядок таблиц неважен. Строки из левой и правой таблиц, для которых не имеется пары в связанной таблице, в результат не включаются.
Таблица Person Таблица City
-
Name
City_ID
Андрей
1
Леонид
2
Сергей
1
Григорий
4
ID |
Name |
1 |
Москва |
2 |
СПБ |
3 |
Казань |
Person Inner Join City on Person.Ciy_ID=City.ID
Person.Name |
P.City_ID |
City.ID |
City.Name |
Андрей |
1 |
1 |
Москва |
Леонид |
2 |
2 |
СПБ |
Сергей |
1 |
1 |
Москва |
Ключевое слово OUTER – присоединение таблиц с необязательным присутствием записи в таблице. Ключевое слово LEFT [OUTER] (RIGHT [OUTER]) - в результат будут включены все строки левой (правой) таблицы, независимо от того, есть для них соответствующая строка в правой (левой) таблице или нет. В случае отсутствия строки в правой (левой) таблице для столбцов правой (левой) таблицы, включенных в результат выборки, устанавливается значение NULL.
Пример Left
SELECT * FROM
Person.City_ID = City.ID
Person.Name |
P.City_ID |
City.ID |
City.Name |
Андрей |
1 |
1 |
Москва |
Леонид |
2 |
2 |
СПБ |
Сергей |
1 |
1 |
Москва |
Григорий |
4 |
NULL |
NULL |
NULL |
NULL |
3 |
казань |
Ключевое слово FULL [OUTER] - в результат будут включены все строки как правой, так и левой таблицы. Применение ключевого слова FULL [OUTER] можно рассматривать как одновременное применение ключевых слов LEFT [OUTER] и RIGHT[OUTER].
SELECT * FROM Person.FULL OUTER JOIN CITY ON Person.City_ID = City.ID
Ключевое
слово CROSS
– декартово произведение