
- •3. Предметная область документальных информационных систем. Информационно-поисковый язык, система индексирования, технология обработки данных, поисковый аппарат.
- •4. Фактографические информационные системы. Понятие предметной области, информационный объект по. Понятие сущности, свойства сущности. Реализация сущности. Целостность данных.
- •5. Фактографические информационные системы. Концептуальное моделирование, концептуальные средства описания, модель «сущность-связь». Виды связей.
- •6. Программные средства реализации фактографических ис. Понятие модели данных, основные компоненты модели. Виды моделей данных.
- •7. Программные средства реализации фактографических ис. Общие понятия субд. Классификация субд. Функции субд.
- •8. Программные средства реализации фактографических ис. Архитектура субд, независимость данных, объекты моделирования, схемы субд.
- •9. Типы моделей данных. Сетевая и иерархическая модели данных. Представление данных, операции над данными, ограничение целостности.
- •10. Реляционная модель данных. Понятие отношения. Мощность и кардинальное число отношения. Домен отношения. Схемы отношений. Общие свойства отношений. Объектно-связанная модель.
- •11. Организация процессов обработки данных. Операции обработки кортежей. Операции обработки отношений.
- •12. Организация процессов обработки данных. Функциональная зависимость в отношениях. Нормализация отношений.
- •13. Проектирование информационной системы. Понятия и структура проекта ис. Требования к эффективности и надежности проектных решений.
- •17. Состав работ на предпроектной стадии, стадии технического и рабочего проектирования, стадии ввода в действие.
- •18. Стадии и этапы процесса проектирования ис. Разработка технического задания на проект, этапы.
- •19. Организация разработки ис. Эскизный проект. Технический проект.
- •20. Стадии и этапы процесса проектирования ис. Разработка рабочей документации. Ввод в действие и сопровождение ис.
- •21. Типовое проектирование ис. Понятие типового элемента, предпосылки типизации. Объекты типизации. Методы типового проектирования. Оценка эффективности использования типовых решений.
- •23. Методология быстрой разработки приложений (rad). Содержание rad-технологии прототипного создания приложений.
- •24. Автоматизированное проектирование ис с использованием case-технологии. Методологии моделирования бизнес-процессов. Функционально-ориентированное проектирование. Диаграммы sadt(методика idef0).
- •26. Автоматизированное проектирование ис с использованием case-технологии. Диаграммы потоков данных (dfd).
- •27. Особенности объектно-ориентированного проектирования. Язык uml. Система объектно-ориентированных моделей.
- •28. Современные технологии доступа к базам данных. Двухзвенная и трехзвенная архитектуры ис.
- •29. Проектирование фактографических бд. Методы проектирования; концептуальное, логическое и физическое проектирование.
- •30. Модель реляционной базы данных. Столбцы, домены и правила. Реляционные таблицы, ссылочная целостность. Реляционные представления. Хранимые процедуры. Триггеры.
30. Модель реляционной базы данных. Столбцы, домены и правила. Реляционные таблицы, ссылочная целостность. Реляционные представления. Хранимые процедуры. Триггеры.
Реляционная модель была предложена Коддом в статье "Реляционная модель данных для больших совместно используемых банков данных", опубликованной в 1970г.
Будучи математиком по образованию Э.Кодд предложил использовать для обработки данных аппарат теории множеств (объединение, пересечение, разность, декартово произведение). Он показал, что любое представление данных сводится к совокупности двумерных таблиц особого вида, известного в математике как отношение - relation, а также показал, что набор таблиц (или отношений) может быть использован для моделирования взаимосвязей между объектами реального мира и для хранения данных об этих объектах.
Кода предложил считать реляционной такую СУБД, которая не только поддерживает реляционную структуру данных, но и организует операции селекции, проекции и соединения отношений.
Реляционная модель - это способ рассмотрения данных, который связан с тремя аспектами данных:
Структурной частью (объекты данных)
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные п арные отношения;
Манипуляционной частью
В манипуляционной части модели утверждаются два фундаментальных механизма манипулирования реляционными БД - реляционная алгебра и реляционное исчисление. Первый механизм базируется в основном на классической теории множеств (с некоторыми уточнениями), а второй - на классическом логическом аппарате исчисления предикатов первого порядка;
Целостной частью.
В целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Это целостность сущностей и целостность внешних ключей.
Правила – используются для ограничения значений, хранимых в столбце таблицы или пользователем типа данных. Сущ-ют как самостоятельные объекты.
В реляционной модели данных с понятием тип данных тесно связано понятие домена, которое можно считать уточнением типа данных. Домен - это семантическое понятие. Домен можно рассматривать как подмножество значений некоторого типа данных имеющих определенный смысл. Домен характеризуется следующими свойствами:
-Домен имеет уникальное имя (в пределах базы данных).
-Домен определен на некотором простом типе данных или на другом домене.
Простые, или атомарные, типы данных не обладают внутренней структурой. Данные такого типа называют скалярами. К простым типам данных относятся следующие типы: логический, строковый, численный и т.д. Неатомарные значения — это значения, которые имеют в своем составе структурированные значения (связанные списки, вложенные отношения и т.д.), т.е. некоторые домены могут в качестве элементов содержать отношения. Эти отношения могут, в свою очередь, быть определены на непростых доменах и т.д. Например, одним из доменов, на которых определено отношение СЛУЖАЩИЙ, мог бы быть домен история зарплаты. Элемент домена история зарплаты - бинарное отношение, определенное на домене дата и домене зарплата (рис.31.);
Табельный ФИО История зарплаты
номер служащего
Дата зарплата
1212 Иванов И.И. 12.01.05 3000
1212 Иванов И.И. 12.02.05 3000
(Пример неатомарности домена)
-домен может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена.
-домен несет определенную смысловую нагрузку.
Например, домен D, имеющий смысл "возраст сотрудника" можно описать как следующее подмножество множества натуральных чисел:
D=(neN:n>18 and <60)
Основное значение доменов состоит в том, что домены ограничивают сравнения. Некорректно, с логической точки зрения, сравнивать значения из различных доменов, даже если они имеют одинаковый тип. В этом проявляется смысловое ограничение доменов. Синтаксически правильный запрос "выдать список всех деталей, у которых вес детали больше имеющегося количества" не соответствует смыслу понятий "количество" и "вес".
Ограничение целостности – это механизм, обеспечивающий авт. контроль соответствия данных установленным условием. Имеют приоритет над триггерами, правилами и значениями по умолч. К ограничению целостности относятся: ограничения на Нулл значения, проверочные ограничения, орг уникальности, ссылочные огр-я.
Ссылочная целостность.
Внешний ключ м. иметь или пустое значение или значение, совпадающее со значением первичного ключа в связанной таблице. (Каждое непустое знач внеш ключа д ссылаться на существующее значение первичного ключа.)
Выполнение правила целостности на уровне ссылки делает невозможным удаление строки в одной таблице, где первичн ключ имеет обязательное соответствие со значением внешнего ключа в др табл. (напр. клиенту Мб не назначен еще торговый агент, но невозможно назначить клиенту несуществующего агента).
Представления – виртуальные таблицы, содержимое которых опред-ся запросом. Предст-е выглядит как табл, но в действит-ти она не содержит данные, а лишь представляет данные, расположенные в одной или неск. таблицах. Т.е. инф-ция представления не хранится в БД как самостоятельный объект. Преимущество использования представлений заключается в том, что можно создавать представления с различными атрибутами без необходимости дублирования данных. Представления полезны в целом ряде ситуаций: их полезно использовать для обеспечения безопасности данных, для упрощения презентации данных и для логической презентации данных. Одним из преимуществ использования представлений является то, что они всегда содержат самые свежие данные. Оператор SELECT, определяющий представление, выполняется только при доступе к этому представлению, поэтому все изменения, внесенные в базовые таблицы представления, отражаются в этом представлении.
Еще одним преимуществом использования представлений является то, что представление может иметь уровень безопасности, отличный от его базовой таблицы. Запрос, определяющий представление, запускается с уровнем безопасности пользователя, создавшего это представление. Так, вы можете использовать представление, чтобы маскировать (скрыть) данные, которые вы не хотите показывать определенным классам пользователей. Кроме того, для ускорения доступа представления могут быть проиндексированы. Также к представлению можно применять операции INSERT, UPDATE и DELETE.
Хранимые процедуры – это группа команд (инструкции, функции) языка SQL, объединенные в 1 модуль , написанный на языке Transact-SQL. Компилируются и вычисляются как единое целое. В коде хранимой процедуры можно использовать не только операции выборки и модификации данных, но и логику ветвления, переменные, вызовы других процедур и некоторые другие средства, характерные для языков программирования высокого уровня.. Хранимая процедура может:
* содержать параметры (аргументы);
* вызывать другие процедуры;
* возвращать свой статус вызывающей процедуре или пакету, указывающий на успешное окончание или ошибку, и в случае ошибки на ее причину;
* возвращать значения параметров вызывающей процедуре или пакету;
* выполняться на удаленном SQL сервере.
Триггеры - это спец. хранимые процедуры, автом-ки запускаемые при добавлении, удалении, изменении данных из таблицы. Предназначены для защиты ссылочной (referential) целостности данных, т. е. для отслеживания правил и соотношений, которым должны подчиняться данные из различных таблиц. Триггеры могут вызывать локальные или удаленные сохраняемые процедуры или другие триггеры. Глубина вложенности при вызове триггеров может достигать 16 уровней. Все производимые триггером модификации данных рассматриваются как одна транзакция. В случае обнаружения ошибки или нарушении целостности данных происходит откат этой транзакции. Тем самым внесение изменений будет запрещено. Будут также отменены все изменения, уже сделанные триггером.
Практика
Язык манипулирования данных состоит из 4 основных команд
SELECT(выбрать)
INSERT(вставить)
UPDATE(обновить)
DELETE(удалить)
Операции
- выборка
-проекция
-обьединение
-соединение
Операция выборка:
Позволяет получить все строки данных из одной или нескольких таблиц либо часть строк из одной таблицы
Например:
Select * From Студенты
Операция проекции:
Позволяет выделить подмножество столбцов таблиц
Например:
Select Студенты.Фамилия
From Студенты
Операция соединения:
Позволяет соединить строки более чем из одной таблиц по нек-му условию для образования новых строк данных
Например:
Select Студенты.№Дела, Абитуриенты.№Дела
From Студенты , Абитуриенты
Where Студенты.№Дела= Абитуриенты.№Дела
По любому полю не обязательно ключеному
Операция обьединения:
-односхемные отношения
-обьединение по к-л коду
Позволяет обьединить рез-ты отдельных запросов по неск таблицам в единую таблицу. Также данные из односхемных таблиц
Для вып-я этой таблицы исп операция Union
Например:
Select Студенты.№Дела, Студенты.Город
From Студенты
Where Студенты.Город=”Спб”
Union
Select Абитуриенты.№Дела, Абитуриенты.Город
From Абитуриенты
Where Абитуриенты.Город= “Спб”
Общий синтаксис команды выборки
Select [Dinstinct] – список полей таблиц
From – список таблиц
[Where предикат] – условие
[Group by поле[поле]] [Having предикат] – группировка
[Union др выр-е Select] – обьединение
[Order by поля[поле]] - сортировка
Отобрать всех студ одного года
Select *
From Студенты
Where Студенты.ГодРождения = 1990
Where – это нек-е опр-е условие отбора записи, зн-е кот имеет буленовский тип (истина-ложь)
Предложение [Group by … Having]Предикат исп-ся для вып-я запроса с группировкой данных. В этом случае как правила предложение Where не исп-ся
Например
Select Студенты.ГодРождения
From Студенты
Group by Студенты.ГодРождения
Having Студенты.ГодРождения=1990
Order by – предложение позволяет проводить сортировку данных по возрастанию[ASC] или убыванию[DESC]