- •Лекция 1. Основные понятия бд
- •Основные понятия бд.
- •Назначение бд
- •Этапы развития бд
- •Средства и методы анализа предметной области.
- •Модель процесса
- •Модель потока данных
- •Функции, структура и архитектура субд.
- •Архитектура субд.
- •Структура современной субд.
- •Языки субд.
- •Модели данных.
- •Иерархическая модель данных
- •Сетевая модель данных
- •Проблемы проектирования рбд
- •Инфологическое моделирование бд
- •Этапы инфологического моделирования
- •Лекция 3. Основные понятия реляционной модели бд
- •Основные понятия
- •Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Лекция 4. Методы проектирование реляционной модели данных
- •Аномалии реляционной модели бд
- •Получение реляционной схемы из er-схемы
- •Нормальные формы отношения
- •Ограниченность реляционной модели при проектировании баз данных
- •Лекция 5. Физический уровень представления
- •Основные понятия
- •Файлы прямого доступа
- •Организация стратегии свободного замещения
- •Методы управления физической моделью бд
- •Особенности методов доступа
- •Лекция 6. Основы языка sql
- •Структура и типы данных sql
- •Состав sql
- •Типы данных в sql
- •Команды sql
- •Оператор create table
- •Оператор insert
- •Оператор alter table
- •Оператор update
- •Оператор delete
- •Оператор select
- •Оператор create index
- •Оператор drop
- •Лекция 7. Хранимые процедуры и триггеры
- •Хранимая процедура
- •Триггеры
- •Программирование триггера
- •Особенности применения триггера
- •Лекция 8. Транзакции.
- •Проблемы параллелизма
- •Понятие транзакции
- •Управление транзакциями
- •Управление транзакциями в среде ms sql Server
- •Определение транзакций
- •Описание явных транзакций
- •Вложенные транзакции
- •Уровни изоляции sql Server
- •Блокировки
- •Назначение блокировок
- •Уровни блокировок
- •Тупиковые блокировки
Лекция 6. Основы языка sql
Стандарты языков SQL. Интерактивный, встроенный, динамический SQL. Особенности использования SQL в многопользовательской среде: SQL как средство общения в распределенной среде. Операторы SQL. История развития SQL.
В начале 70-х годов после создания реляционной модели Кодда привел к появлению структурированного языка запросов к реляционной БД – SQL.
Первые разработки в области теории реляционных БД были проведены компанией IBM, но первой на рынок вышла компания ORACLE. Язык SQL стал обязательным для реляционных СУБД. Американский институт стандартов ANSI разработал стандарты для SQL (1986, 1989, 1992, 1999) , последний из которых принят в 2003 г. В настоящее время существует большое количество реализаций языка, которые имеют специфические отличия, подчиняясь тем не менее единому стандарту SQL2003:
IBM DB2 Universal DataBase, версия 8 для Linux, Unix, Windows;
My SQL, версия 4;
Оracle DataBase 10g;
Microsoft SQL Server 2000 и др.
Структура и типы данных sql
SQL является полным языком ( в отличии от теоретических языков реляционной алгебры Кодда), включающем ЯОД и ЯМД, а также операторы управления БД.
Существует несколько способов реализации языка: интерактивный, встроенный, динамический. Интерактивная реализация предполагает возможность непосредственного задания операторов при работе с СУБД, которые сразу выполняются и выдают результат.
Встроенная реализация предполагает возможность статического использования операторов SQL в программы на ЯВУ: C, COBOL,PL/1, Paascal и др. В тексте программ на этих языках имеются операторы обращения к SQL, которые жестко включаются в выполнимый модуль после компиляции. Фундаментальным принципом технологии встроенного SQL является то, что любое SQL-выражение, которое может быть использовано интерактивно, можно применять и для встроенной реализации. Выполняемый SQL-оператор является полноправным оператором языка, в который встроен SQL, и может встречаться в любом месте программы. Они могут включать ссылки на переменные базового языка. При этом необходимо помнить о соответствии типов переменных программы и типов элементов БД.
При динамическом использовании языка предполагается динамическое построение вызовов SQL-функций из прикладных программ и интерпретацией этих функций. Используется тогда, когда в приложении заранее неизвестен вид SQL-вызова и он строится в диалоге с пользователем.
Постоянное развитие стандарта SQL способствовало появлению среди разных производителей и платформ многочисленных диалектов SQL. Они развиваются благодаря тому, что пользователям конкретной СУБД требуются новые возможности. Не предусмотренных стандартом ANSI. (например, средства условной обработки IF ... THEN для обработки ошибок). К таким диалектам можно отнести PL/SQL (Oracle), Transact-SQL (Microsoft SQL), PL/pgSQL(PostgreSQL), SQLPL (DB2).
Наиболее популярные серверные СУБД:
DB2 – СУБД от IBM, работает на различных аппаратных платформах от ПК до больших ЭВМ , под управлением многих ОС (в том числе Linux, Unix, Windows), распространена в больших корпоративных БД.
MySQL – популярная СУБД с открытым кодом, работает под управлением многих ОС, в том числе и Linux.
Oracle – ведущая СУБД в коммерческом секторе, реализована на многих аппаратных платформах и ОС
SQL Server – работает только под управлением Windows
