- •Глава 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. Объектно-ориентированные базы данных.
1.3 Модели данных и этапы проектирования баз данных.
Процесс проектирования БД представляет собой последовательность переходов от неформального словесного описания информационной структуры предметной области к формализованному описанию объектов предметной области в терминах некоторой модели. В общем случае можно выделить следующие этапы проектирования:
Системный анализ и словесное описание информационных объектов предметной области и связей между ними. Как результат формулируется техническое задание на разработку базы данных.
Проектирование инфологической модели предметной области в терминах некоторой семантической модели.
Выбор конкретной СУБД и даталогическое или логическое проектирование БД. Декомпозиция отношений.
Физическое проектирование БД, то есть выбор эффективного размещения БД на внешних носителях и способа доступа к ней.
Способ описания данных и способ манипулирования данными определяют модель данных, поддерживаемую конкретной СУБД. Модель данных – это некоторая абстракция, которая, будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие не только данные, но и взаимосвязи между ними.
Предметная область – часть реального мира, отражаемая в БД.
Инфологическая (внешняя) модель данных– обобщённое, не привязанное к какой-либо ЭВМ или СУБД описание предметной области. Иногда говорят о нескольких внешних моделях данных, по-разному представляющих одну концептуальную модель. Отражает в удобной для разработчиков форме информационно-логический уровень абстрагирования, связанный с фиксацией и описанием объектов предметной области, их свойств и взаимодействий.
Концептуальная модель данных – способ логического упорядочения данных (модели данных иерархическая, сетевая, реляционная, объектно-ориентированная).
Даталогическая (внутренняя) модель данных– описание данных на языке конкретной СУБД.
Физическая модель данных – описание расположения хранимых данных и методов доступа к ним (логическая структура файлов, работа с аппаратными средствами хранения данных)

Документальныемодели данных соответствуют представлению о слабоструктурированной информации, ориентированной в основном на свободные форматы документов, например текстов на естественном языке или с гипертекстовой разметкой.Тезаурусныемодели основаны на принципе организации словарей, содержат определенные языковые конструкции и принципы их взаимодействия в заданной грамматике. Эти модели эффективно используются в системах-переводчиках, особенно многоязыковых.Дескрипторные модели – самые простые из документальных моделей, они широко использовались на ранних стадиях использования документальных баз данных. В этих моделях каждому документу назначался дескриптор, который описывал документ по некоторым ключевым характеристикам.
1.4 Инфологическое моделирование. Er-диаграммы.
Цель инфологического моделирования (ИМ) – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Инфологическое моделирование прежде всего связано с попыткой представления семаники предметной области в модели БД.
Основным инструментом разработки инфологических моделей (прежде всего для реляционных баз данных) в настоящий момент являются диаграммы «сущность-связь» (Entity-Relationship). Предложен этот способ моделирования в 1976 г. Питером Пин-Шэн Ченом. В настоящее время используются различные нотации этой модели. Мы будем рассматриватьER-диаграммы в нотации Баркера.
Конструктивные элементы инфологического моделирования:
Сущность (Entity) – объект либо совокупность объектов, имеющих существенное значение для рассматриваемой предметной области, информация о которых подлежит хранению. Сущность имеет имя, уникальное в пределах моделируемой системы. С помощью сущности описывается класс однотипных объектов, т.е. предполагается, что в системе существует множествоэкземпляровданной сущности. Экземпляры сущности должны иметь некоторые уникальные признаки, позволяющие отличать их друг от друга.
Сущность на диаграммах изображается в виде прямоугольника с наименованием.
Атрибут сущности – этот некоторая характеристика экземпляра сущности, определяющая свойства данного представителя класса. При этом набор атрибутов должен быть таким, чтобы можно было различать конкретные экземпляры сущности. Например, атрибутами сущности «книги» могут являться «название», «количество страниц», «издательство», «цвет обложки».
Атрибуты записываются внутри прямоугольника-сущности, по одному на строку.
Ключ сущности – неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. Неизбыточность заключается в том, что удаление любого атрибута из ключа должно приводить к нарушению его уникальности. Либо так: ключевым называют набор атрибутов, однозначно идентифицирующий конкретный экземпляр сущности.
Атрибуты, входящие в ключ на диаграмме, выделяются подчёркиванием.
Между сущностями могут быть установлены связи (relationship) – бинарные ассоциации, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ею же самой (рекурсивная связь). Связи всегда именуются.
Связи делятся на три типа по множественности:
- один-к-одному (1:1) – экземпляр одной сущности связан только с одним экземпляром другой сущности;
- один-ко-многим (1:М) – один экземпляр сущности может быть связан с несколькими экземплярами другой сущности;
- многие-ко-многим (М:М) – один экземпляр первой сущности связан с несколькими экземплярами второй сущности, и наоборот, один экземпляр второй сущности связан с несколькими экземплярами первой сущности. Пример – верхняя связь на рисунке: студенты слушают лекции многих преподавателей, и преподаватели читают лекции многим студентам. Следует отметить, что тип «многие ко многим» является временным типом связи, допустимым на ранних этапах разработки инфологической модели. В дальнейшем она заменяется на две связи (1:М) путём создания промежуточной сущности. В нашем случае это может быть сущность «расписание лекций».
Другой пример – сущность «авторы» и сущность «книги». Некоторые книги написаны несколькими авторами, а некоторые авторы написали более одной книги. Для разрешения связи (М:М) необходима дополнительная сущность «титульная страница», содержащая в числе прочих атрибуты «название книги» и «фамилия автора».
Связи также делятся на два типа по модальности: «обязательная» и «возможная». Связь является обязательной, если в ней должен участвовать каждый экземпляр сущности; возможной – если не каждый экземпляр сущности должен участвовать в связи. При этом связь может быть обязательной со стороны одной сущности и возможной со стороны другой. Пример – нижняя связь на рисунке: студент, пишущий диплом, всегда имеет научного руководителя, а преподаватель может иметь одного или несколько дипломников, или вовсе их не иметь.
Графически связь изображается линией, соединяющей две сущности. Над линией помещается имя связи или два имени у каждого конца связи. Конец линии со стороны «многие» отмечается её растраиванием. В случае возможной связи линия пунктирная, в случае обязательной – сплошная.

В результате построения модели предметной области в виде набора сущностей и связей получается связный граф. В полученном графе не должно быть циклических связей – они выявляют некорректность модели.
В ER-диаграмме допускается принцип категоризации сущностей. Это значит, что может вводиться подтип сущности, то есть сущность может быть представлена в виде нескольких подтипов, каждый из которых имеет некоторое подмножество атрибутов и отношений, наследуемых из основной сущности.
В терминах ИМ:
База данных – даталогическое представление информационной модели предметной области, а СУБД – система, с помощью которой реализуется централизованное управление данными, хранимыми в базе, доступ к ним и поддержание их в состоянии, соответствующем состоянию предметной области.
