- •Содержание
- •Введение
- •1.1. Основные понятия
- •1.2. Компоненты БнД
- •1.3. Классификация БнД и бд
- •1.4. Этапы проектирования бд
- •2.1. Необходимость инфологического моделирования
- •1.5. Взаимосвязь этапов проектирования бд
- •Вопросы для самоконтроля
- •Раздел 2. Проектирование баз данных. Тема 2. Инфологическое моделирование (начало)
- •2.1.1. Виды ограничений целостности
- •2.1.2. Причины, приводящие к нарушению ограничений целостности
- •2.2. Описание объектов и их свойств
- •Тема 3. Инфологическое моделирование (окончание)
- •3.1. Описание связей между объектами.
- •3. 2. Описание сложных объектов
- •Вопросы для самоконтроля
- •Тема 4. Даталогическое проектирование
- •4.1. Общие сведения
- •4.2. Подход к даталогическому проектированию
- •4.3. Определение состава бд
- •4.4. Разновидности даталогических моделей
- •Вопросы для самоконтроля
- •Тема 5. Реляционная даталогическая модель базы данных
- •5.1. Основные понятия
- •5.2. Цели проектирования рбд
- •Возможность хранения всех необходимых данных в бд;
- •Исключение избыточности данных;
- •Сведение числа хранимых в бд отношений к минимуму;
- •5.2.1. Возможность хранения всех необходимых данных в бд
- •5.2.2. Исключение избыточности данных
- •5.2.3. Сведение числа хранимых в бд отношений к минимуму
- •5.2.4. Нормализация отношений
- •Вопросы для самоконтроля
- •Тема 6. Метод проектирования реляционной базы данных на основе илм
- •Вопросы для самоконтроля
- •Тема 7. Пример проектирования реляционной базы данных на основе илм
- •7.1. Описание объектов и связей между ними
- •7.2. Лингвистические отношения
- •7.3. Алгоритмические связи показателей
- •7.4. Описание информационных потребностей пользователей
- •7.5. Ограничения целостности
- •7.6. Определение состава бд
- •7.7. Определение отношений, включаемых в бд
- •7.8. Описание логической структуры бд на языке субд (схема бд)
- •7.9. Сравнение спроектированной рбд с однотабличной бд
- •Вопросы для самоконтроля
- •Раздел 3. Описание информационных потребностей пользователей базы данных. Тема 8. Информационные потребности пользователей базы данных.
- •8.1. Типы и языки запросов
- •8.2. Реляционная алгебра (алгебра отношений)
- •8.2.1. Проекция
- •8.2.2. Выборка
- •8.2.3. Соединение
- •8.2.8. Деление
- •8.3. Примеры запросов на реляционном языке
- •Вопросы для самоконтроля
- •Раздел 4. Использование языка sql для работы с базами данных. Тема 9. Структурированный язык запросов sql
- •9.1. Стандарт и разновидности языка sql
- •9.2. Краткое введение в sql
- •Тема 10. Основные элементы языка sql. Использование языка sql для выборки данных
- •10.1. Оператор select
- •Тема 11. Отбор строк из таблиц. Условия поиска строк
- •Вопросы для самоконтроля
- •Тема 12. Сортировка таблиц
- •Тема 13. Использование псевдонимов для обозначения таблиц базы данных. Самосоединение таблиц. Итоговые запросы и агрегатные функции
- •Вопросы для самоконтроля
- •Тема 14. Запросы с группировкой
- •Тема 15. Вложенные запросы
- •Вопросы для самоконтроля
- •Тема 16. Изменение данных в базе данных
- •16.1. Корректировка таблиц бд
- •16.2. Создание объектов бд
- •16.3. Создание представлений
- •Вопросы для самоконтроля
- •Рекомендуемая литература
Вопросы для самоконтроля
Дайте математическое определение и приведите пример выполнения операции проекции над отношением.
Дайте математическое определение и приведите пример выполнения операции выборки над отношением.
Дайте математическое определение и приведите пример выполнения операции соединения над отношениями.
Дайте математическое определение и приведите пример выполнения операции объединения над отношениями.
Дайте математическое определение и приведите пример выполнения операции пересечения над отношениями.
Дайте математическое определение и приведите пример выполнения операции вычитания над отношениями.
Дайте математическое определение и приведите пример выполнения операции умножения над отношениями.
Используя операции реляционной алгебры, для учебной базы данных, рассмотренной как пример в теоретических сведениях к самостоятельной работе №6, написать запросы, которые извлекают следующую информацию:
а) список фамилий, имен, отчеств и дат рождения для всех жителей квартиры с адресом 901-15;
б) список жителей, имеющих телефоны;
в) список названий источников дохода, имеющихся у жителей квартиры с адресом 901-15.
Раздел 4. Использование языка sql для работы с базами данных. Тема 9. Структурированный язык запросов sql
9.1. Стандарт и разновидности языка sql
Язык SQL (Structured Query Language) является языком запросов. Он реализован в таких СУБД, как ORACLE, INGRES, SQLBase (SQLWindows) и др. в упомянутых системах он является базовым языком, в других (например, FoxPro, dBase IV) он используется в качестве альтернативного языка.
Ввиду своего широкого использования язык SQL был официально объявлен международным стандартом.
Язык SQL близок к классу языков реляционного исчисления кортежей и применяется в основном в РСУБД.
SQL оперирует данными, представленными в виде таблицы. Различают базовые таблицы, определенные с помощью описания на языке SQL, и производные таблицы, получаемые из одной или нескольких других таблиц путем выполнения некоторого запроса.
Таблицы включаются в БД. БД обычно содержит несколько таблиц, а также индексы и другие информационные объекты. Одновременно можно работать только с одной БД.
SQL - язык высокого уровня. При его использовании не нужно заботиться об открытии и закрытии файлов, определять наиболее эффективный способ реализации запроса, активизировать индексы и т.п. Все это делается автоматически.
9.2. Краткое введение в sql
Язык SQL включает в себя небольшое число основных операторов. Наиболее часто используемым оператором языка SQL, выполняющим отбор информации из БД, является оператор SELECT, который в простейшем виде может задаваться так:
SELECT <список столбцов, включаемых в ответ> FROM <список таблиц> WHERE <условие>
Запрос может быть простым и вложенным, т.е. оператор SELECT может быть включен в состав другого оператора. этот включенный оператор называется подзапросом.
Ключевые слова SELECT (отобрать) и FROM (из) должны присутствовать в операторе обязательно, слово WHERE (где) вместе с условием могут быть опущены. В этом случае в ответ войдут все строки, имеющиеся в указанных таблицах.
Если в ответ должны войти все столбцы, имеющиеся в указанных таблицах, то вместо их перечисления в операторе SELECT можно поставить знак “*”. Например, запрос, выбирающий сведения обо всех Ивановых из таблицы PERSON, может быть представлен на языке SQL следующим образом:
SELECT * FROM person WHERE fio=‘ИВАНОВ’
Оператор SELECT оперирует множествами, и результатом обработки в общем случае является множество строк. поэтому к этим множествам могут быть применены операции реляционной алгебры: объединение (UNION), пересечение (INTERSECTION), разность (DIFFERENCE, MINUS). В разных реализациях языка SQL имеется свой набор таких операций.
Язык SQL позволяет запрашивать вычисляемые значения, задавать сортировку полученного ответа по определенному признаку, осуществлять группировку данных с целью получения промежуточных итогов или обобщающих величин (например: среднее, минимум, максимум).
SQL первоначально создавался как язык запросов, но фактически является комплексным языком “запросов-обновлений” и включает в себя два языка: язык описания данных (SQL -DDL) и язык манипулирования данными (SQL-DML).
Применение языка SQL для формирования запросов к БД является более мощным средством по сравнению с какими-либо универсальным языком программирования высокого уровня. Оператор языка SQL работает не с отдельной строкой, а с частью таблицы как с единым целым. Используя эту особенность, можно формировать достаточно сложные запросы к нескольким связанным таблицам с помощью небольшого по размеру оператора.
Язык SQL позволяет выполнять такие операции, как создание и уничтожение таблиц, индексов и т.д., ввод, удаление и изменение данных, а также обеспечивать защиту информации.
