- •Глава 1. Теоретические основы баз данных.
- •Информационные системы.
- •Терминология субд.
- •1.3 Модели данных и этапы проектирования баз данных.
- •1.4 Инфологическое моделирование. Er-диаграммы.
- •1.5 Модели доступа к данным.
- •1.6 Теория модели реляционных баз данных.
- •1.7 Ключи и поддержка целостности.
- •1.8 Нормализация отношений в базе данных.
- •5Nf (pj/nf).
- •Глава 2. Язык sql.
- •1. История развития и стандарты.
- •2. НаборыкомандSql.
- •3. Оператор select.
- •4. Операторы определения данных (основные сведения).
- •5. Операторы манипулирования данными.
- •Insert – добавление информации к таблице
- •Глава3.Субдms sql ServerиязыкTransact-sql.
- •Введение в sql Server.
- •Типы данных, управляющие конструкции языка и функции Transact-sql.
- •Объекты баз данных и работа с ними.
- •Физическая модель данных ms sql Server.
- •Система безопасности и администрирование sql Server.
- •Перспективы ms sql Server.
- •Коллекция субд.
- •1. Субд dBase. Хранение данных в формате dbf.
- •2. Microsoft Visual FoxPro. Обзор.
- •3. Microsoft Access. Oбзор.
- •1. Возможности. Ядро
- •Диалоговые средства конструирования объектов, программы-Мастера, технология Drag and Drop, технология IntelliSence
- •Поддержка языка xml
- •Поддержка расширенных свойств с помощью Microsoft sql Server 2000
- •Прочие возможности
- •2. Объекты Microsoft Access.
- •3. Средства программирования.
- •4. Спецификации Microsoft Access.
- •5. Типы данных, которые могут иметь поля в Microsoft Access
- •10. Мастер подстановок
- •ПрограммированиевVba (Visual Basic for Application)
- •Типы переменных:
- •Массивы
- •Доступность
- •Обработка ошибок
- •If Err Then
- •Ветвления и циклы
- •Параметры процедур и функций.
- •Простейшие программы на vba
- •Задание свойств форм, отчетов и элементов управления в Visual Basic
- •Чтобы задать свойство формы или отчета
- •Чтобы задать свойство элемента управления
- •Чтобы задать свойство раздела формы или отчета
- •`Общение с jet через объекты данных Access.
- •ИспользованиеобъектаTableDef
- •ИспользованиеобъектаRecordset
- •Примеры использования методов dao
- •Программирование в формах.
- •Субд MySql
- •Методы организации удалённого доступа к данным.
- •2. Интеллектуальный анализ данных (data mining)
- •3. Постреляционные базы данных.
- •4. Отказ от нормализации отношений.
- •5. Объектно-реляционные базы данных.
- •6. Язык sql-3 и субд Oracle 8.
- •7. Объектно-ориентированные базы данных.
5Nf (pj/nf).
Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.
Определение: Отношение R (A, B, … Z) удовлетворяет зависимости соединения (А, B, … Z) в том и только в том случае, когда R восстанавливается без потерь путём соединения своих проекций на A, B, … Z (наборы атрибутов отношения R). Полной декомпозицией отношения называют такую совокупность произвольного числа его проекций, соединение которых полностью совпадает с содержимым исходного отношения.
Иными словами, отношение находится в пятой нормальной форме тогда и только тогда, когда в каждой его полной декомпозиции все проекции содержат возможный ключ.
Пример отношения, которое находится в 4NF, но НЕ находится в 5NF: почасовики.
Дано отношение: R( преподаватель, кафедра, дисциплина). Считается, что приглашённый преподаватель может работать на нескольких кафедрах и вести различные дисциплины. В этом случае ключом отношения является полный набор из трёх атрибутов. В отношении отсутствуют многозначные зависимости, и поэтому оно находится в 4NF. Однако в нём нет наборов атрибутов, которые составляют возможные ключи отношения, и потому это отношение не в PJ/NF. При этом провести полную декомпозицию на два отношения нельзя.
Возможна декомпозиция следующего вида:
R1 ( преподаватель, кафедра).
R2 (преподаватель, дисциплина ).
R3 (кафедра, дисциплина).
Отношение, не имеющее ни одной полной декомпозиции, также находится в пятой нормальной форме.
Глава 2. Язык sql.
1. История развития и стандарты.
SQL (Structured Query Language, Структурированный язык запросов) – стандартный язык запросов по работе с реляционными БД. Прототип языка – сначала QBE, затем SEQUEL (Structured English Query Language) – был разработан в начале 70-х годов в IBM Research и реализован в СУБД System R. В дальнейшем этот язык применялся во многих коммерческих СУБД и в силу своего широкого распространения постепенно стал стандартом «де-факто» для языков манипулирования данными в реляционных СУБД.
1989 – первый ANSI/ISO стандарт языка SQL (вторая редакция, первая была в 1987 г.). Подавляющее большинство доступных на рынке СУБД поддерживают этот стандарт полностью. Однако развитие технологий БД и необходимость создания переносимых приложений потребовали его доработки и расширения.
1992 – стандарт SQL92 или SQL2. В настоящее время все возможности стандарта ни одна СУБД не поддерживает, обычно предлагая свои собственные расширения языка.
1999 – стандарт SQL3. Если отличия между предыдущими стандартами во многом были количественными, то в SQL3 введены новые типы данных, при этом предполагается возможность задания сложных структурированных типов, которые соответствуют объектно-ориентированной идеологии программирования. Также введены стандарты на события и триггеры, которые ранее не затрагивались в стандартах. Попытка следовать стандарту SQL3 хорошо прослеживается в последней версии СУБД Oracle.
Стандарт языка баз данных – наиболее эффективный способ переноса как проекта БД, так и действующей СУБД на различные платформы. Как следствие этого – возможность более успешно конкурировать со своим программным продуктом на рынке СУБД.
SQL не является традиционным языком программирования: он не содержит операторы, позволяющие осуществлять действия на низком уровне, и ориентирован на работу со множествами. Обычно реализация SQL в какой-либо СУБД является подмножеством собственного языка системы, включающего в себя ещё и средства построчного доступа к таблицам, средства управления ходом выполнения программы и т.п. Например, в случае MS SQL Server языком системы является Transact-SQL, добавляющий к базовому SQL, помимо вышеперечисленного, дополнительные инструкции и ключевые слова почти для каждого оператора SQL.