- •Основные понятия и терминология бд.
- •2. Логическое и физическое описание данных.
- •4. Классификация субд. Трехуровневая архитектура бд.
- •5. Эволюция концепций бд. Основные характеристики первого и второго этапов.
- •11. Реляционная модель бд. Транзакции, триггеры и хранимые процедуры, ссылочная целостность на триггерах.
- •17. Физическая организация данных в субд:
- •18.Физическая организация данных в субд: индексирование. Организация индексов в виде б-деревьев и инвертированных списков.
- •19. Распределенные бд. Хранилища данных.
- •20. Sql. Состав операторов языка.
- •21. Структурированный язык запросов (sql). Оператор select и вычисления.
- •22. Структурированный язык запросов (sql). Вложенные и многотабличные запросы.
- •23.Структурированный язык запросов (sql). Операторы манипулирования данными.
- •24.Подходы разработки программного обеспечения под ос Windows. Достоинства и недостатки.
- •25.Платформа .Net Framework. Достоинства и недостатки.
- •26.Платформа .Net Framework. Архитектура: fcl, bcl, clr, cil, сборки.
- •27.Платформа .Net Framework. Классификация типов, базовые операции программирования: приведение типов, вызов методов, свойства.
- •28.Ado.Net. Архитектура. DataProvider и DataSet.
- •29.Ado.Net. Соединение с бд, строка подключения, Connection, Command. Основные свойства и методы.
- •30.Ado.Net. Выполнение команд и запросов к бд. Основные свойства и методы: CommandType, ExecuteNonQuery(), ExecuteScalar(), ExecuteReader().
- •31.Ado.Net. Параметризированные запросы. SqlParameter. Основные свойства и методы.
- •32.Ado.Net. Чтение данных и объект DataReader. Основные свойства и методы.
- •33. Ado.Net. Рассоединенный набор данных DataSet. Схема данных.
- •34. Ado.Net. Заполнение рассоединенного набора данных. Адаптер данных SqlDataAdapter. Основные свойства и методы.
- •35. Ado.Net. Класс DataColumn. Основные свойства и методы.
- •36. Ado.Net. Класс DataRow. Основные свойства и методы.
- •37. Ado.Net. Класс DataTable. Основные свойства и методы
- •38. Ado.Net. Задание схемы набора данных вручную (тип и имя отдельных столбцов таблицы, ограничения на столбцы и связи между таблицами).
- •39. Ado.Net. Навигация, поиск и фильтрация данных в DataSet. Основные свойства и методы. Типизированный набор данных.
- •41. Ado.Net. Синхронизация набора данных с бд. Основные свойства и методы. Класс CommandBuilder.
- •42. Схема взаимодействия между браузером и web-сервером. Понятие статических и динамических web-страниц. Особенности asp.Net.
- •43. Asp.Net. Компоненты web-приложения. Структура файла *.Aspx.
20. Sql. Состав операторов языка.
SQL – структурированный язык запросов. Применяется для общения пользователя с реляционной БД и состоит из трёх частей:
DDL – Data Definition Language – язык определения данных – предназначен для создания БД, таблиц, индексов и т. д. и редактирования её схемы.
DCL – Data Control Language – язык управления данными – содержит операторы для разграничения доступа пользователей к объектам БД.
DML – Data Manipulation Language – язык обработки данных – содержит операторы для внесения изменений в содержимое таблиц БД.
Предоставляет пользователю простой и понятный механизм доступа к данным не связанный с конструированием алгоритмов и их описанием на языке высокого уровня (ЯВУ).
На языке SQL пользователь объясняет СУБД, что нужно делать, а не как это делать, далее СУБД сама анализирует текст запроса и определяет, как его выполнять.
Язык SQL является промышленным стандартом, который в большей или меньшей степени поддерживает любая СУБД, «претендующая» на звание реляционной.
История возникновения и стандарты языка SQL. В начале 70-х Кодд предложил реляционную модель, в качестве новой модели БД. Для первого прототипа реляционной СУБД разрабатывались и опробовались различные языки запросов, один из которых получил название SEQUEL (Structured English Query Lanhuage). С момента создания язык претерпел массу изменений, но идеология осталась неизменной. На язык были наложены стандарты.
Стандартизация – важная часть технологических процессов конца ХХ века. Именно наличие разработанных и официально признанных стандартов позволило утвердиться многим современным технологиям.
Когда ведут речь о стандартах в разработке ПО обычно подразумевают организации:
ANSI – Американский национальный институт стандартов
ISO – Международная организация по стандартизации
Работа над официальным стандартом языка SQL началась в рамках комитета ANSI. Позже этот стандарт был утверждён и ISO.
Затем появились стандарты SQL-1999 и SQL 2003. Тем не менее, все эти стандарты не решили всех проблем связанных с наличием нескольких диалектов языка. Некоторые положения стандарта игнорируются разработчиками.
Несмотря на отличия, все коммерческие СУБД поддерживают некоторое ядро языка, описанное в стандарте одинаково. Отличий немного. Каждая СУБД по прежнему поддерживает свой диалект языка. В СУБД Microsoft SQL Server входит язык Transact-SQL разработанный на основе одного из стандартов SQL.
Типы данных в языке SQL:
char
char(n)
VARCHAR(n)
INT SMALLINT
FLOAT
SMALLFLOAT
DECIMAL(p)
DECIMAL(p,n)
MONEY(p,n)
DATE…
21. Структурированный язык запросов (sql). Оператор select и вычисления.
Выборка данных
SELECT [ALL | DISTINCT] <список_выбора>
FROM<имя_таблицы>,…
[WHERE <условие>]
[GROUP BY<имя_столбца>, …]
[HAVING <условие>]
[ORDER BY <имя_столбцы> [ASC | DESC],…]
Пример:
SELECT author FROM authors; // получение списка всех авторов
SELECT * FROM authors; // получить список всех полей таблицы authors
SELECT title FROM titles WHERE yearpub > 1996; // найдём все книги опубликованные после 1996
SELECT title FROM titles WHERE yearpub>=1995 AND yearpub<=1997 // ищем все публикации за интервал 1995-1997.
SELECT title FROM titles WHERE yearpub IN (1995,1996,1997); // проверка на вхождение в список.
использование «шаблона» для выборки данных
WHERE <имя_столбца> LIKE <образец> [ESCAPE <ключевой_символ>]
% - заменяет любое количество символов
_ - заменяет одиночный символ
Пример:
SELECT publisher, url FROM publishers WHERE publishers LIKE ‘%Wiley%’
SELECT title FROM titles WHERE title LIKE ‘SQL%’
Таблица mark_st связана с таблицей exam_st по полю id_ex.
Таблица mark_st связана с таблицей student по полю id_st.
Требуется распечатать список студентов с оценками, которые они получили на экзаменах.
SELECT student.surname, mark_st.id_ex, mark_st.mark
FROM student, mark_st
WHERE student.id_st = mark_st.id_st
В предложении WHERE указано условие соединения таблиц
Используя псевдонимы можно переписать предыдущий запрос следующим образом:
SELECT E.surname, M.id_ex, M.mark
FROM student E.mark_st M
WHERE E.id_st = M.id_st
В языке SQL определены так называемые агрегатные функции, которые совершают действия над совокупностью одинаковых полей в группе записей. Кроме этого SQL позволяет выполнять различные арифметические операции над столбцами результирующего отношения.
Агрегатные функции, которые могут использоваться в операторах SELECT:
AVG (<имя_поля>) – среднее по всем значениям диалогового поля.
COUNT (<имя_поля>) – или COUNT (*) – число записей
MAX (<имя_поля>) – максимальное из всех значений данного поля
MIN (<имя_поля>) – минимальное из всех значений данного поля
SUM (<имя_поля>) – сумма всех значений данного поля.
Каждая агрегирующая функция возвращает единственное значение.
В арифметических выражениях допускаются операции сложения, вычитания, умножения и деления, математические функции cos sin, строковые константы, операции сравнения.
Группировка данных. Группировка данных в операторе SELECT осуществляется с помощью ключевого слова GROUP BY, а также ключевого слова HAVING с помощью которого осуществляется разбиение записи на группы.
Оператор GROUP BY неразрывно связан с агрегирующими функциями. GROUP BY разделяет таблицу на группы, а агрегирующая функция вычисляет для каждой из них итоговое значение.
Определение количества книг для каждого издательства:
SELECT publishers.publisher, count(titles.title)
FROM titles, publishers
WHERE titles.pub_id=publishers.pub_id
GROUP BY publishers;