
- •2.) Требования, предъявляемые к бд.
- •3.) Модели данных. Инфологическая модель.
- •4.) Иерархическая модель.
- •7.) Реляционная модель. Достоинства и недостатки
- •11. Основы, принципы и аспекты проектирования.
- •12. Проектирование модели бд в терминах «сущность-связь»
- •13. Проектирование модели бд в терминах «сущность-связь»
- •Понятие нормализации данных. Функциональная зависимость
- •Первая, вторая и третья нормальные формы.
- •Нф Бойса-Кодда, четвертая и пятая нормальные формы.
- •Понятие субд. Классификация субд.
- •Типовая организация современной субд.
- •Основные функции субд.
- •Языки запросов, их основные возможности.
- •Основные объекты субд «Oracle».
- •5.3.1. Символьные типы
- •Перечень символьных типов
- •Создание запросов. Основные типы условий поиска.
- •2.4.4.1. Создание запроса на выборку с помощью Мастера
- •27. Агрегирование и группировка данных
- •28.Манипулирование данными отношений
- •Базовые средства манипулирования данными
- •29. Понятие подзапроса.
- •Использование встроенных процедур и функций. Функции работы с символами, строками и датами.
- •Initcap(строка)
- •31. Использование встроенных процедур и функций. Функции работы с числами. Функции преобразования типов данных.
- •32. Создание пользовательских процедур.
- •33. Создание пользовательских функций.
- •35. Работа с курсорами
- •36. Соединение таблиц и запросов при организации запросов
- •37. Целостность баз данных.
- •38. Работа с триггерами.
- •39. Понятие транзакции. Свойства транзакций.
- •40. Взаимовлияние транзакций
- •41. Блокировки и тупиковые ситуации
- •42. Индексирование. Виды индексов
- •43. Работа с индексами
- •44. Оптимизация запросов в реляционных субд
- •45. Методы оптимизации запросов
- •46. Методы доступа к базе данных. Технологии odbc, bde.
- •47. Методы доступа к базе данных. Технологии ado, ole db
- •48. Модели организации данных.
Основные функции субд.
К основным функциям СУБД относятся:
Ведение системного каталога, доступного конечным пользователям
Системный каталог, или словарь данных, является хранилищем информации, описывающей данные в базе данных (по сути, это "данные о данных", или метаданные). Обычно в системном каталоге хранятся следующие сведения:
• имена, типы и размеры элементов данных;
• имена связей;
• накладываемые на данные ограничения поддержки целостности;
• имена санкционированных пользователей, которым предоставлено праводоступа к данным;
• внешняя, концептуальная и внутренняя схемы и отображения между ними;
• статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.
Поддержка транзакций.. Транзакция представляет собой набор действий, выполняемых отдельным пользователем или прикладной программой с целью доступа или изменения содержимого базы данных
Поддержка параллельной работы. СУБД должна иметь механизм, который гарантирует корректное обновление базы данных при параллельном выполнении операций обновления многими пользователями
Восстановление базы данных после сбоев. СУБД должна предоставлять средства восстановления базы данных на случай какого-либо ее повреждения или разрушения
Для восстановления БД нужно располагать некоторой дополнительной информацией, т.е. ведение журнала изменений БД.
Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью, в которую поступают записи обо всех изменениях основной части БД.
Контроль доступа к данным. СУБД должна иметь механизм, гарантирующий возможность доступа к базе данных только санкционированных пользователей.
Поддержка обмена данными. СУБД в должны поддерживать работу в локальной сети, чтобы вместо нескольких разрозненных баз данных для каждого отдельного пользователя можно было бы установить одну централизованную базу данных и использовать ее как общий ресурс для всех существующих пользователей
Поддержка целостности данных. Целостность базы данных означает корректность и непротиворечивость хранимых данных
Поддержка независимости от данных. Независимость от данных обычно достигается за счет реализации механизма поддержки представлений или подсхем.
Языки запросов, их основные возможности.
Хранимые в базе данные можно обрабатывать (просматривать и редактировать) «вручную» — с помощью имеющихся в каждой СУБД средств просмотра и редактирования данных в таблицах. Для повышения эффективности множественной обработки данных (редактирования и выбора данных из таблиц) создаются и выполняются запросы.
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке или модификации хранимых данных.
Для подготовки запросов с помощью различных СУБД, как правило, используются два основных языка описания запросов:
язык QBE (Query By Example) — язык запросов по образцу;
SQL (Structured Query Language) — структурированный язык запросов.
Главное отличие между ними, по-видимому, заключается в способе формирования запросов: язык ОБЕ предполагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса.
Язык QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую на-глядность и не требует указания алгоритма выполнения операции — достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.
Структурированный язык запросов SQL основан на реляционном исчислении с пере-менными кортежами.
SQL предназначен для выполнения операций над таблицами (создание, удаление,
изменение структуры) и над данными таблиц (выборка, изменение, добавление и уда-ление), а также некоторых сопутствующих операций. SOL является непроцедурным
языком и не содержит имеющихся в обычных языках программирования операторов
управления, организации подпрограмм, ввода-вывода и т. п. В связи с этим SOL авто-номно не используется, а обычно погружен в в среду встроенного языка программиро-вания СУБД (например, языка FoxPro СУБД Visual FoxPfo) или даже процедурного языка типа C++ или Pascal.
В современных СУБД с интерактивным интерфейсом можно создавать запросы, не применяя SOL. Однако его применение в некоторых случаях позволяет расширить воз-можности использования СУБД.
К числу основных операторов усеченного подмножества SQL относятся следующие:
CREATE ТАВLЕ — создание таблицы;
DROP TABLE — удаление таблицы;
CREATE INDEX — создание индекса;
DROP INDEX — удаление индекса;
ALTER TABLE — изменение структуры таблицы;
SELECT, UPDATE, INSERT, DELETE — выборка, изменение, вставка и удаление записей.
К дополнительным операторам SQL относятся следующие:,
CREATE DATABASE, SHOW/ DATABASE, START DATABASE, STOP DATABASE, DROP DATABASE — создание, просмотр, активизация, закрытие, удаление БД;
CREATE VIEW, ,DROP VIEW — создание, удаление выборки (представления).
CREATE SYNONYM — создание синонима;
Рассмотрим подробнее важнейший из перечисленных операторов — оператор SELECT.
B упрощенном виде оператор имеет следующий формат:
SELECT [АLL|DISTINCT] <список данных>
FROM <список таблиц>
[WHERE <условие выборки>]
[GROUP BY <имя столбца> [,<имя столбца>]...]
[HAVING <условие поиска>]
[ORDER ВУ <спецификация сортировки>[,<спецификация сортировки>]...].
21. Назначение, возможности и основные термины языка SQL
SQL - простой язык программирования, который имеет немного команд и которой может научиться любой желающий. Расшифровывается как Structured Query Language - язык структурированных запросов, который был разработан для работы с БД, а именно, чтобы получать /добавлять /изменять данные, иметь возможность обрабатывать большие массивы информации и быстро получать структурированную и сгруппированную информацию. Есть много вариантов языка SQL, но у них всех основные команды почти одинаковы. Также существует и много СУБД, но основными из них являются: Microsoft Access, Microsoft SQL Server, MySQL, Oracle SQL, IBM DB2 SQL, PostgreSQL та Sybase Adaptive Server SQL. Чтобы работать с SQL кодом, нам понадобится одна из вышеперечисленных СУБД. Для обучения мы будем использовать СУБД Microsoft Access .SQL как и другие языки программирования имеет свои команды (операторы), с помощью которых отдаются инструкции для выборки данных. Чтобы рассмотреть как работают операторы SQL, мы будем использовать мнимую БД с информацией о реализованной продукции: