- •Раздел 1.
- •Основы построения баз данных
- •Самостоятельная работа №1 (6 часов)
- •Тема: Этапы развития баз данных. Языковые средства банка данных. Роль субд.
- •Основные этапы развития баз данных
- •Первый этап — базы данных на больших эвм
- •Второй этап - эпоха персональных компьютеров
- •Третий этап - распределенные базы данных
- •Четвертый этап - перспективы развития систем управления базами данных
- •Языковые средства банка данных
- •Пользователи банков данных
- •Контрольные вопросы
- •Самостоятельная работа №2 (8 часов)
- •Общий обзор средств для работы с базами данных
- •Как связаны друг с другом компоненты для работы с базами данных
- •Назначение bde Administrator
- •Создание псевдонима бд
- •Параметры баз данных типа standard
- •Установки параметров драйвера paradox
- •Установки параметров драйвера interbase
- •Контрольные вопросы
- •Самостоятельная работа №3 (8 часов)
- •Архитектура базы данных. Физическая и логическая независимость
- •Классификация субд
- •Способы разработки и выполнения приложений
- •Контрольные вопросы
- •Самостоятельная работа №4 (8 часов)
- •Классификация моделей данных
- •Основные особенности систем, основанных на инвертированных списках
- •Файловые структуры, используемые для хранения данных в бд
- •Этапы доступа к бд
- •Компоненты модели данных
- •Контрольные вопросы
- •Самостоятельная работа №5 (8 часов)
- •Методы хранения данных и доступа к ним
- •Последовательный метод
- •Прямой метод
- •Индексные методы
- •Индексно-последовательный метод
- •Индексно-произвольный метод
- •Инвертированные списки
- •Контрольные вопросы
- •Раздел 2. Проектирование и использование баз данных самостоятельная работа №6 (8 часов)
- •Этапы проектирования баз данных
- •Внешний уровень — подготовительный этап инфологического проектирования
- •Составные части инфологической модели
- •Требования и подходы к инфологическому проектированию
- •Контрольные вопросы
- •Самостоятельная работа №7 (8 часов)
- •1. Отсутствие кортежей-дубликатов
- •2. Отсутствие упорядоченности кортежей
- •3. Отсутствие упорядоченности атрибутов
- •4. Атомарность значений атрибутов
- •Нормализация - за и против
- •Контрольные вопросы
- •Самостоятельная работа №8 (8 часов)
- •Ссылочная целостность и каскадные воздействия
- •Контрольные вопросы
- •Раздел 3 Структурированный язык запросов sql самостоятельная работа №9 (12 часов)
- •Роль sql
- •Манипулирование реляционными данными
- •Контрольные вопросы
- •Самостоятельная работа №10 (12 часов)
- •Выбор данных с помощью команды select.
- •Объединение таблиц. Использование агрегатных функций
- •Реализация вложенных запросов
- •Модификация данных. Операторы insert, delete, update
- •Контрольные вопросы
- •Список рекомендуемой литературы
Роль sql
Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. Нельзя пойти в компьютерный магазин и "купить SQL". SQL — это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней. На рис. 6 изображена структурная схема типичной СУБД, компоненты которой соединяются в единое целое с помощью SQL (своего рода "клея").
Ядро базы данных является сердцевиной СУБД; оно отвечает за физическое структурирование и запись данных на диск, а также за физическое чтение данных с диска. Кроме того, оно принимает SQL-запросы от других компонентов СУБД (таких как генератор форм, генератор отчетов или модуль формирования интерактивных запросов), от пользовательских приложений и даже от других вычислительных систем. Как видно из рисунка, SQL выполняет много различных функций:
SQL — интерактивный язык запросов. Пользователи вводят команды SQL в интерактивные программы, предназначенные для чтения данных и отображения их на экране. Это удобный способ выполнения специальных запросов.
SQL — язык программирования баз данных. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных (таких как генераторы отчетов и инструменты ввода данных).
Рис. 6 - Компоненты типичной СУБД
SQL — язык администрирования баз данных. Администратор базы данных, находящейся на мини-компьютере или на большой ЭВМ, использует SQL для определения структуры базы данных и управления доступом к данным.
SQL — язык создания приложений клиент/сервер, и программах для персональных компьютеров SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранятся совместно используемые данные. В большинстве новых приложений используется архитектура клиент/сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстродействие как персональных компьютеров, так и серверов баз данных.
SQL — язык распределенных баз данных. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством использования SQL связывается с другими системами, посылая им запросы на доступ к данным.
SQL — язык шлюзов базы данных. В вычислительных сетях с различными СУБД SQL часто используется в шлюзовой программе, которая позволяет СУБД одного типа связываться с СУБД другого типа.
Манипулирование реляционными данными
Предложив реляционную модель данных, Э.Ф.Кодд создал и инструмент для удобной работы с отношениями – реляционную алгебру. Каждая операция этой алгебры использует одну или несколько таблиц (отношений) в качестве ее операндов и продуцирует в результате новую таблицу, т.е. позволяет "разрезать" или "склеивать" таблицы (рис. 7).
Рис. 7 - Некоторые операции реляционной алгебры
Созданы языки манипулирования данными, позволяющие реализовать все операции реляционной алгебры и практически любые их сочетания. Среди них наиболее распространены SQL (Structured Query Language – структурированный язык запросов) и QBE (Quere-By-Example – запросы по образцу). Оба относятся к языкам очень высокого уровня, с помощью которых пользователь указывает, какие данные необходимо получить, не уточняя процедуру их получения.
С помощью единственного запроса на любом из этих языков можно соединить несколько таблиц во временную таблицу и вырезать из нее требуемые строки и столбцы (селекция и проекция).
