Реферат

Реферат Понятие и структура банка данных

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.11.2024





1. Понятие и структура банка данных.

БнД — это система специальным образом организованных данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.

По своей структуре современный БнД является сложной человеко-машинной системой, включающей в свой состав различные взаимосвязанные и взаимозависимые компоненты (рис. 1.1).



ИК (Информационная компонента) – ее ядром является БД и метаданные.

БД – это совокупность используемых при функционировании АСУ данных, организованных по определенным правилам, предусматривающих общие принципы описания, хранения и манипулирования данными и независимых от прикладных программ.

Метаданные - это данные о данных.

ПС (Программные средства) - обеспечивают взаимодействие всех частей информационной системы при ее функционирова­нии (рис. 1.2).



Основу программных средств БнД представляет СУБД.

СУБД - совокупность языковых и про­граммных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

В состав СУБД входят: ядро СУБД; трансляторы языковых программ; языковые средства, обеспечивающие интерфейс пользователей разных категорий с БнД.

ЯС (Языковые средства) – подразделяются на языки описания данных ЯОД (DDL) и языки манипулирования данными ЯМД (DML).

ЯОД предназначен для описания структуры БД, а ЯМД для ведения БД (ввод, удаление, модификация) и формирование запросов к БД.

ЯМД делятся на процедурные и непроцедурные. При пользовании процедурными языками надо указать, какие действия и над какими объектами необходимо выполнить, чтобы получить результат. В непроцедурных языках указывается, что надо получить в ответ, а не как этого достичь.

ТС (Технические средства БнД) – это большие ЭВМ (IBM 9000), компьютеры, устройства визуального отображения.

ОМС (Организационно-методические средства) - различные инструкции, методические и регламентирующие материалы, пред­назначенные для пользователей разных категорий, взаимодейст­вующих с банком данных.

АБнД (Администраторы банка данных) – группа специалистов или специалисты, которые отвечают за создание и эксплуатацию БнД.




2. Дайте определение БнД. Раскройте основные преимущества и требования к БнД.

БнД — это система специальным образом организованных данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.

В приведенном определении подчеркивается, что банк данных явля­ется сложной системой, включающей в себя все обеспечивающие подсистемы, необходимые для функционирования любой системы автоматизированной обработки данных.

Использование БнД в автоматизированных системах позволяет получить следующие преимущества:

1. Обеспечивается непротиворечивость и целостность информации, возможность обращаться к ней не только при решении заранее предопределенных задач, но и с нерегламентированными запросами.

2. Сокращается избыточность хранимых данных, что приводит к сокращению зат­рат не только на создание и хранение данных, но и на поддержание их в актуальном состоянии.

3. Существенно изменяется деятельность организации, где он внедряется (сокращается докумен­тооборот, количество форм документов, перераспределяются функции между сотрудниками).

4. Обеспечивается возможность более полной реализации принципа независимости прикладных программ от данных, чем это возмож­но при организации локальных файлов.

5. Наличие в составе СУБД средств, ориентированных на разные категории пользователей, делает возможной работу с базой дан­ных не только профессионалов в области обработки данных, но и практически любого, причем это использование может быть как для их профессиональных целей, так и для удовлетворения потреб­ности в информации в быту и т. п.

Данные преимущества накладывают и определенные требования к БнД:

- адекватность отображения предметной области (полнота, целостность и непротиворечивость данных, актуальность инфор­мации, т. е. ее соответствие состоянию объекта на данный момент времени);

- возможность взаимодействия пользователей разных катего­рий и в разных режимах,, обеспечение высокой эффективности доступа для разных приложений;

- дружелюбность интерфейсов и малое время на освоение сис­темы, особенно для конечных пользователей;

- обеспечение секретности и конфиденциальности для некото­рой части данных; определение групп пользователей и их полно­мочий;

- обеспечение взаимной независимости программ и данных;

- обеспечение надежности функционирования БнД: защита данных от случайного и преднамеренного разрушения; возмож­ность быстрого и полного восстановления данных в случае их раз­рушения; технологичность обработки данных, приемлемые харак­теристики функционирования БнД.




3. Назначение, средства и основные функции СУБД.

СУБД представляет собой программное обеспеченье, которое управляет доступом к базе данных.

Основными средствами типовой  СУБД являются:

- средства задания (описания) структуры базы данных;

- средства конструирования экранных форм, предназначенных для ввода данных, просмотра и их обработки в диалоговом режиме;

- средства задания запросов для выборки данных при заданных условиях, а также выполнения операций по их обработке;

- средства создания отчетов из БД для вывода на печать результатов обработки в удобном для пользователя виде;

- языковые средства – макросы, встроенный алгоритмический язык (Dbase, Visual Basic или другой), язык запросов (QBE, SQL) и т.п., которые используются для реализации нестандартных алгоритмов обработки данных, а также процедур обработки событий в задачах пользователя;

- средства создания приложений пользователя (генераторы приложений, средства создания меню и панелей управления приложениями), позволяющие объединить различные операции работы с базой данных в единый технологический процесс.

Используя эти средства СУБД выполняет следующие функции:

Определение данных. СУБД должна допускать определение данных (внешние схемы, концептуальную схему, внутреннюю схему, а также все связанные отображения) в исходной форме и преобразовывать эти определения в форму соответствующих объектов. СУБД должна «понимать» синтаксис языка определений данных.

Обработка данных. СУБД должна иметь обрабатывать запросы пользователя на выборку, изменение или удаление существующих данных в базе данных или на добавление новых данных в базе данных. Данные операции должны выполняться с помощью планируемых и не планируемых запросов.

Планируемый запрос – необходимость которого предусмотрена заранее. Администратор базы данных должен настроить проект базы данных таким образом, чтобы гарантировать достаточное быстродействие для таких запросов.

Не планируемый запрос – это, наоборот, специальный запрос, необходимость которого не была предусмотрена заранее. Проекты БД могут подходить, а могут и не подходить для реализации этих запросов.


Целостность БД – есть свойство БД, означающее, что в ней содержится полная непротиворечивая и адекватно отражающая предметную область информация. Целостность состояния БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные.


Для обеспечения безопасности данных (т.е. незаконных обращений к БД) СУБД обеспечивает выполнение следующих операций: шифрование прикладных программ; шифрование данных; защиту паролем; ограничение уровня доступа (к базе данных, к таблице, к словарю, для пользователя); восстановление данных и дублирование.

Для восстановления данных и поддержания целостности в СУБД используется механизм транзакций.

Транзакцией называется  некоторая неделимая последовательность операций над данными БД, которая  отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении) транзакция остается незавершенной, то она отменяется.

Транзакции должны быть присущи три основных свойства:

-        атомарность (выполняются все входящие в транзакцию операции или ни одна);

-        сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

-        долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).

Ведение журнала изменений в БД. Выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных сбоев, а также ошибок в программном обеспечении.

Журнал СУБД – это особая БД или часть основной БД, непосредственно недоступная пользователю и используемая для записи информации обо всех изменениях БД. Для поддержания надежности хранения и поддержания самого журнала в системе хранятся несколько его копий.




4. Использование СУБД в локальных и многопользовательских средах.

Локальная среда. Функциональные ИС могут размещаться на одном или на нескольких компьютерах. Организация функционирования локальной ИС на одном компьютере в среде некоторой ОС возможна с помощью следующих вариантов использования программных средств: «полной СУБД»; приложения с «усеченной» (ядра) СУБД; независимого приложения.

1. «Полная СУБД».  В дисковой памяти ПК помещается вся СУБД. Взаимодействия пользователя с СУБД происходит напрямую через пользовательский (терминальный) интерфейс СУБД, либо с помощью приложения. Приложение выполняется в режиме интерпретации.

«+» – простота разработки и сопровождения БД.

«-» – большие затраты дисковой памяти на хранение программы СУБД.

2. Приложения с «усеченной» СУБД. Приложения с ядром СУБД используют для достижения следующих целей:

- уменьшение объема занимаемого СУБД пространства жесткого диска и оперативной памяти;

- повышение скорости работы приложения;

- защиты приложения от модификации со стороны пользователя (ядро не содержит средств разработки приложений).

«+»: меньшее потребление ресурсов памяти, ускорение работы приложения и возможность защиты приложения от модификации.

«-»: значительный объем расхода памяти.

3. Независимое приложение. Исходная программа (приложение) предварительно компилируется средствами СУБД. Результат – готовая к выполнению программа.

«+»: экономия внешней и оперативной памяти ПК, ускорение выполнения приложения и полная защита приложения от модификации.

«-»: трудоемкость доработки приложения и отсутствие возможности использования стандартных средств СУБД.

Многопользовательская среда. БД, как правило, содержат данные, необходимые многим пользователям. Получение одновременного доступа нескольких пользователей к общей базе данных возможно при установке СУБД в ЛВС и создании многопользовательской (распределенной БД).

Распределенная БД при архитектуре системы клиент – сервер включает корпоративную базу данных (КБД) и персональные базы данных (ПБД). Корпоративная БД размещается на компьютере – сервере, а персональная БД на компьютере клиента.

Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом. В качестве ресурса могут выступать БД, файловые системы, службы печати, почтовые службы и др.

Архитектура клиент – сервер допускает различные варианты реализации.

Рассмотрим основные из них:

Сеть компьютер-сервер.

«-»: высокая интенсивность передаваемых данных. Зачастую передаются ненужные данные.



Сеть клиент-сервер.



При такой архитектуре  сервер БД обеспечивает выполнение основного объема обработки данных. Формируемые пользователем или приложением запросы поступают к серверу БД в виде инструкций языка SQL. Сервер базы данных выполняет поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинство: меньший объем передаваемых данных.



5. Языковые средства БнД. Основные типы языков.

Языковые средства БнД. Языковые средства СУБД являются важнейшей компонентой банков данных, так как, в конечном счете, они обеспечивают интерфейс пользователей разных категорий с банком данных. Спектр языковых средств, применяемых в СУБД, широк. Можно выделить две концепции развития языковых средств: концепцию разделения и концепцию интеграции. При использовании концепции разделения различают языки описания данных (ЯОД), языки манипулирования данными (ЯМД), языки запросов и другие язы­ковые средства.

В составе языков описания данных в зависимости от особенностей СУБД поддерживаются все или некоторые из следующих языков: язык описания схем, язык описания подсхем, язык описания хранимых данных, языки описания внешних данных (вход­ных, выходных).

Языки манипулирования данными разделяются на две боль­шие группы: процедурные и непроцедурные. При пользовании про­цедурными языками надо указать, какие действия и над какими объектами необходимо выполнить, чтобы получить результат. В непроцедурных языках указывается, что надо получить в отве­те, а не как этого достичь.

Процедурные языки могут различаться по основным информа­ционным единицам, которыми они манипулируют. Это могут быть языки, ориентированные на позаписную обработку данных, и язы­ки, ориентированные на операции над множеством записей. Так, операции реляционной алгебры оперируют целиком отношением, а не каждой его записью. Примерами непроцедурных языков являются языки, основан­ные на реляционном исчислении. Представителем языков, основан­ных на реляционном исчислении кортежей, является широко ис­пользуемый язык запросов SQL.

Языковые средства предназначаются для пользователей раз­ных категорий: конечных пользователей, системных аналитиков, профессиональных программистов. Повышение уровня языковых средств, их дружелюбности приводит к тому, что все большее число функций выполняется пользователями-непрограммистами самостоятельно, без посредников.




6. Администратор БнД и его функции.

АБнД - это группа пользователей, которая на начальной стадии разработки банка данных отвечает за его оптимальную орга­низацию с точки зрения одновременной работы множества конечных пользо­вателей, на стадии эксплуатации отвечает за корректность работы данного банка информации в многопользовательском режиме. На стадии развития и реорганизации эта группа пользователей отвечает за возможность коррект­ной реорганизации банка без изменения или прекращения его текущей эксплуатации.

Состав группы АБнД: системные аналитики; проектировщики структур данных и внешнего по отношению к банку дан­ных информационного обеспечения; проектировщики технологических процессов обработки данных; системные и прикладные программисты; операторы и специалисты по техническому обслуживанию. Если речь идет о коммерческом банке данных, то важную роль здесь играют специалисты по маркетингу.

Функции группы АБнД.

1. Анализ предметной области: описание предметной области, выявление огра­ничений целостности, определение статуса (доступности, секретности) ин­формации, определение потребностей пользователей, определение соответ­ствия «данные—пользователь», определение объемно-временных характери­стик обработки данных.

2. Проектирование структуры БД: определение состава и структуры файлов БД и связей между ними, выбор методов упорядочения данных и методов доступа к информации, описание БД на языке описания данных (ЯОД).

3. Задание ограничений целостности при описании структуры БД и процедур обработки БД:

- задание декларативных ограничений целостности, присущих предметной области;

- определение динамических ограничений целостности, присущих предмет­ной области в процессе изменения информации, хранящейся в БД;

- определение ограничений целостности, вызванных структурой БД;

- разработка процедур обеспечения целостности БД при вводе и корректи­ровке данных;

- определение ограничений целостности при параллельной работе пользо­вателей в многопользовательском режиме.

4. Первоначальная загрузка и ведение БД:

- разработка технологии первоначальной загрузки БД, которая будет отли­чаться от процедуры модификации и дополнения данными при штатном использовании базы данных

- разработка технологии проверки соответствия введенных данных реальному состоянию предметной области. База данных моделирует реальные объекты некоторой предметной области и взаимосвязи между ними, и на момент на­чала штатной эксплуатации эта модель должна полностью соответствовать состоянию объектов предметной области на данный момент времени;

- в соответствии с разработанной технологией первоначальной загрузки мо­жет понадобиться проектирование системы первоначального ввода данных.

5. Защита данных:

- определение системы паролей, принципов регистрации пользователей, со­здание групп пользователей, обладающих одинаковыми правами доступа к данным;

- разработка принципов защиты конкретных данных и объектов проектиро­вания; разработка специализированных методов кодирования информации при ее циркуляции в локальной и глобальной информационных сетях;

- разработка средств фиксации доступа к данным и попыток нарушения системы защиты;

- тестирование системы защиты;

- исследование случаев нарушения системы защиты и развитие динамиче­ских методов защиты информации в БД.

6. Обеспечение восстановления БД:

- разработка организационных средств архивирования и принципов восста­новления БД;

- разработка дополнительных программных средств и технологических про­цессов восстановления БД после сбоев.

7. Анализ обращений пользователей БД: сбор статистики по характеру запро­сов, по времени их выполнения, по требуемым выходным документам

8. Анализ эффективности функционирования БД:

- анализ показателей функционирования БД;

- планирование реструктуризации (изменение структуры) БД и реоргани­зации БнД.

9. Работа с конечными пользователями:

- сбор информации об изменении предметной области;

- сбор информации об оценке работы БД;

- обучение пользователей, консультирование пользователей;

- разработка необходимой методической и учебной документации по рабо­те конечных пользователей.

10. Подготовка и поддержание системных средств:

- анализ существующих на рынке программных средств и анализ возмож­ности и необходимости их использования в рамках БД;

- разработка требуемых организационных и программно-технических меро­приятий по развитию БД;

- проверка работоспособности закупаемых программных средств перед подключением их к БД;   

- курирование подключения новых программных средств к БД. 11.Организационно-методическая работа по проектированию БД:

- выбор или создание методики проектирования БД;

- определение целей и направления развития системы в целом;

- планирование этапов развития БД;

- разработка общих словарей-справочников проекта БД и концептуальной модели; 

- стыковка внешних моделей разрабатываемых приложений;

- курирование подключения нового приложения к действующей БД;

- обеспечение возможности комплексной отладки множества приложений, взаимодействующих с одной БД






7. Модели баз данных: иерархическая, сетевая.

Иерархическая МД. В иерархической модели связи между данными можно описать с помощью упоря­доченного графа (или дерева). Упрощенно представление связей между данными в иерархической модели показано на рис. 3.



Для описания структуры (схемы) иерархической БД на некотором языке програм­мирования используется тип данных «дерево». Тип «дерево» схож с типами данных «структура» языков программирования ПЛ/1 и Си и «запись» языка Паскаль. В них допускается вложенность типов, каждый из которых находится на некотором уровне.       

Тип «дерево» является составным. Он включает в себя подтипы («поддеревья»), каждый из которых, в свою очередь, является типом «дерево». Каждый из типов «де­рево» состоит из одного «корневого» типа и упорядоченного набора (возможно пустого) подчиненных типов. Каждый из элементарных типов, включенных в тип «дере­во», является простым или составным типом «запись». Простая «запись» состоит из одного типа, например, числового, а составная «запись» объединяет некоторую сово­купность типов, например, целое, строку символов и указатель (ссылку). Пример типа «дерево» как совокупности типов показан на рис. 4.



Рис. 4. Пример типа «дерево».

Корневым называется тип, который имеет подчиненные типы и сам не является подтипом. Подчиненный тип (подтип) является потомком по отношению к типу, кото­рый выступает для него в роли предка (родителя). Потомки одного и того же типа являются близнецами по отношению друг к другу.

Иерархическая БД представляет собой упорядоченную совокупность экземпля­ров данных типа «дерево» (деревьев), содержащих экземпляры типа «запись» (запи­си). Часто отношения родства между типами переносят на отношения между самими записями. Поля записей хранят собственно числовые или символьные значения, со­ставляющие основное содержание БД. Обход всех элементов иерархической БД обыч­но производится сверху вниз и слева направо.

Сетевая МД. СМД позволяет отображать разнообразные взаимосвязи эле­ментов данных в виде произвольного графа, обобщая тем самым иерархическую мо­дель данных. Наиболее полно концепция сетевых БД впервые была изло­жена в предложениях группы KODASYL.



Для описания схемы сетевой БД используется две группы типов: «запись» и «связь». Тип «связь» определяется для двух типов «запись»: предка и потомка. Пере­менные типа «связь» являются экземплярами связей.

Сетевая БД состоит из набора записей и набора соответствующих связей. На форми­рование связи особых ограничений не накладывается. Если в иерархических структурах запись-потомок могла иметь только одну запись-предка, то в сетевой модели данных за­пись-потомок может иметь произвольное число записей-предков (сводных родителей).

Пример схемы простейшей сетевой БД показан на рис.7. Типы связей здесь обо­значены надписями на соединяющих типы записей линиях.



Рис. 7. Пример схемы сетевой БД.

Физическое размещение данных в базах сетевого типа может быть организовано практически теми же методами, что и в иерархических базах данных.

«+» СМД является возможность эффективной реа­лизации по показателям затрат памяти и оперативности. В сравнении с иерархичес­кой моделью сетевая модель предоставляет большие возможности в смысле допусти­мости образования произвольных связей.

«-» СМД является высокая сложность и жесткость схемы БД, построенной на ее основе, а также сложность для понимания и выполне­ния обработки информации в БД обычным пользователем. Кроме того, в сетевой мо­дели данных ослаблен контроль целостности связей вследствие допустимости уста­новления произвольных связей между записями.

Наиболее известными сетевыми СУБД являются следующие: IDMS, db_VistaIII, СЕТЬ, СЕТОР и КОМПАС.






8. Модели баз данных: реляционная и постреляционная.

Реляционная МД. Она была предложена сотрудником фирмы IBM Эдгаром Коддом в 1970 году. РМД представляет собой совокупность взаимосвязанных отношений (таблиц). Каждое отношение содержит сведения об определенном типе объекта. Например, студент, преподаватель и т.д.

Отношение состоит из колонок и строк. Название колонки называется атрибутом. Атрибут – это свойство объекта.

Множество допустимых значений называется доменом. Строка в таблице характеризует конкретный экземпляр объекта и называется кортежем. Отношение – это совокупность кортежей. Один или несколько атрибутов, о значениях которых можно однозначно определить один кортеж называется ключом. Ключ может быть простым (из одного атрибута) или составным (из нескольких атрибутов). Совокупность атрибутов одного отношения называется схемой отношений. Совокупность схем отношений плюс имя БД называется схемой БД.

Между отношениями могут быть установлены следующие типы связей:

1:1 – это когда в любой момент времени каждому кортежу отношения А соответствует 0 или 1 кортеж отношения В и наоборот.

1:М (М:1) – это когда каждому кортежу отношения А соответствует в любой момент времени 0, 1 или более кортежей отношения М, но не наоборот.

Требования реляционной модели: в отношении не должно быть одинаковых кортежей; на пересечении строки и колонки может находиться только единственное значение.

Пример. 1. Схема отношений. 2. Атрибут. 3. Ключевой атрибут. 4. Кортеж. 5. Домен. 6. Отношения.



«+» РМД заключается в простоте, понятности и удобстве физической реализации на ЭВМ. Именно простота и понятность для пользо­вателя явились основной причиной их широкого использования. Проблемы же эффек­тивности обработки данных этого типа оказались технически вполне разрешимыми.

«-» РМД: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерар­хических и сетевых связей.

Примерами зарубежных реляционных СУБД для ПЭВМ являются следующие: DB2 (IBM), R:BASE (Microrim), Ingres (ASK Computer Systems) и Oracle (Oracle). К отечественным СУБД реляционного типа относятся системы: ПАЛЬМА, и HyTech (МИФИ).

Постреляционная МД. Она представляет собой расширенную РМД. В ней допускаются многозначные поля т.е. на пересечении колонки и строки находится несколько значений. Такая область оформляется отдельной таблицей, встроенной в основную таблицу.

Пример.



«+»: ПМД позволяет несколько реляционных таблиц заменить постреляционной, что обеспечит более высокую наглядность и сократит затраты на обработку дынных.

«-»: сложная реализация.

ПМД поддерживается СУБД uniVers, Bubba и Dasdb.




9. Основные элементы реляционной модели данных (отношение, атрибут, домен, кортеж, ключ отношения, схема отношения, схема БД).

Отношение состоит из колонок и строк.

Название колонки называется атрибутом. Атрибут – это свойство объекта.

Множество допустимых значений называется доменом.

Строка в таблице характеризует конкретный экземпляр объекта и называется кортежем.

Отношение – это совокупность кортежей.

Один или несколько атрибутов, о значениях которых можно однозначно определить один кортеж называется ключом.

Ключ может быть простым (из одного атрибута) или составным (из нескольких атрибутов).

Совокупность атрибутов одного отношения называется схемой отношений.

Совокупность схем отношений плюс имя БД называется схемой БД.



1. Схема отношений.

2. Атрибут.

3. Ключевой атрибут.

4. Кортеж.

5. Домен.

6. Отношения.




10. Модели баз данных: многомерная и объектно-ориентированная.

Многомерный подход к представлению данных в базе появился практически од­новременно с реляционным, но свое развитие получил только в последние годы в связи с развитием технологии OLAP (Online Analytical Processing — оперативная аналитическая обработка).

МнБД представляет собой гиперкуб. В многомерных моделях используются следующие понятия:

Измерение (Dimension) — это множество однотипных данных, образующих одну из граней гиперкуба. Примерами наиболее часто используемых временных измере­ний являются Дни, Месяцы, Кварталы и Годы. В качестве географических измерений широко употребляются Города, Районы, Регионы и Страны. В многомерной модели данных измерения играют роль индексов, служащих для идентификации конкрет­ных значений в ячейках гиперкуба.

Ячейка (Cell) или показатель — это поле, значение которого однозначно определя­ется фиксированным набором измерений. Тип поля чаще всего определен как цифро­вой. В зависимости от того, как формируются значения некоторой ячейки, обычно она может быть переменной (значения изменяются и могут быть загружены из внешнего источника данных или сформированы программно) либо формулой (значения, подобно формульным ячейкам электронных таблиц, вычисляются по заранее задан­ным формулам).

В существующих МСУБД используются два основных варианта организации данных: гиперкубическая и поликубическая.

В поликубической схеме предполагается, что в БД может быть определено не­сколько гиперкубов с различной размерностью и с различными измерениями в ка­честве граней. Примером системы, поддерживающей поликубический вариант БД, является сервер Oracle Express Server.

В случае гиперкубической схемы предполагается, что все показатели определяют­ся одним и тем же набором измерений. Это означает, что при наличии нескольких гиперкубов БД все они имеют одинаковую размерность и совпадающие измерения. Очевидно, в некоторых случаях информация в БД может быть избыточной (если тре­бовать обязательное заполнение ячеек).

Пример:



Основные операции с многомерной моделью:

1. «Срезы» (Slice) – представляет собой подмножество гиперкуба, полученное в результате фиксации одного или нескольких измерений.

2. «Вращение» (Rotate) – применяется при двухмерном представлении данных. Суть ее заключается в изменении порядка измерений при визуальном представлении данных.

3. Операции «агрегация» (Drill Up) и «детализация» (Drill Down) означают соответственно переход к более общему и к более детальному представлению информации пользователю из гиперкуба.

«+»: удобство и эф­фективность аналитической обработки больших объемов данных, связанных со временем.

«–»: громоздкость для простей­ших задач обычной оперативной обработки информации.

Объектно-ориентированная модель была описана в стандарте ODMG-93 (Object Database Management Group - группа управления объек­тно-ориентированными базами данных).

Структура ООМД графически представлена в виде дерева, узлами которого являются объекты. Свойства объектов описываются стандартным типом, например sprint, или типа конструируемым пользователем (типа class).

Значением свойства типа string является строка символов. Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов.

Для ООМД характерны основные принципы ОО программирования (инкапсуляция, наследование, полиморфизм).

Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено.

Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта.


Полиморфизм в объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объект­ной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента.


«+»: возможность отображения любых связей между объектом.

«–»: высокая понятийная сложность, громоздкость для решения простейших задач.






11. Структура процесса проектирования базы данных.

Процесс проектирования удобно рассматривать в сопоставлении с этапами жизненного цикла системы БД.

Жизненный цикл БД можно разбить на две стадии:

1). Системного анализа и проектирования;

2). Реализации и эксплуатации.

Первую стадию можно детализировать следующими этапами:

- информационно-логическое проектирование;

- концептуальное проектирование;

- логическое проектирование;

- физическое проектирование.

Стадия реализации и эксплуатации:

- реализация базы данных;

- анализ функционирования;

- модернизация и адаптация.

Взаимосвязь данных этапов можно представить в следующем виде:



Функциональную модель организационной системы будем пред­ставлять совокупностью схем и описаний технологической последова­тельности процедур и действий должностных лиц системы по перера­ботке информации, включая описание задач, запросов, документообо­рота по всем уровням организации. Основной задачей является сбор всех требований, предъявляемых к содержанию и процессу обработки данных всеми известными и потенциальными пользователями информа­ционных ресурсов системы.

Информационно-логическая модель данных обеспечивает первоначальную формализацию описания информационного содержания автоматизируемых процессов, согласовывая и объединяя в себе пред­ставления  всех  категорий  пользователей. Основными  критериями оценки качества ИЛМ являются ее полнота и простота понимания. детальность, ясность и согласованность описаний элементов. Соот­ветственно методы, средства и технология, применяемые на данном этапе, должны обеспечивать достижение указанных свойств модели.

Концептуальное проектирование имеет целью создания обобщенной точки зрения на  информационную систму всех категорий пользователей АС, а также создание модели обработки данных (транзакций) в виде последовательности взаимосвязанных действий с базой данных в процессе ее ведения.

Логическое проектирование состоит из двух взаимосвязанных процессов: проектирования логической модели БД (пере формулирование КМ в терминах ЯОД конкретной СУБД) и проектирование программ обработки данных (модели транзакций на ЯМД). В результате этого этапа разрабатывается логическая схема данных и структурированное описание обрабатывающих программ в терминах языковых средств кон­кретной системы.

Физическое проектирование состоит  в  определении  способов размещения БД на носителях информации и в окончательной отладке программ обработки данных, специфицированных на предыдущем этапе. Результатом этого этапа является полностью готовая к внедрению система БД.






12. Модель функционирования. Назначение и основные элементы диаграммы потоков данных (
DFD-диаграммы).


Для построения функциональной модели предметной области широкое распространение нашел структурный подход. Суть структурного подхода заключается в следующем: в начела систему рассматривают с общих позиций, за тем осуществляется декомпозиция ее на подсистемы.

Для наглядного представления функциональной модели используется диаграммная техника. Наиболее широко используются:

- функциональные диаграммы SADT;

- диаграммы потоков данных DFD;

- диаграммы переходов STD и др.

Диаграммы потоков данных DFD лежат в основе методологии моделирования потоков данных, при котором модель системы строится как иерархия диаграмм потоков данных, описывающих процесс преобразования от ее входа до выдачи пользователю.

Диаграммы верхних уровней иерархии, или контекстные диаграммы, определяют основные процессы или подсистемы информационной системы с внешними входами и выходами. Их декомпозиция выполняется с помощью диаграмм более низкого уров­ня, вплоть до элементарных процессов.

Основными компонентами диаграмм потоков данных являются:

1. Сущность – потребитель или генератор данных.



2. Процесс – осуществляет обработку данных в соответствии с определенным алгоритмом.



3. Система/подсистема – осуществляют входных данных в выходные.



4. Хранилище – абстрактное или реальное устройство, в котором содержатся данные.



5. Поток данных – передача информации через некоторый канал связи.



Примеры фрагментов диаграммы потоков данных с изображением перечислен­ных компонентов приведены на рис. 2








13. Модель функционирования. Назначение и основные элементы
SADT- диаграммы.


Для построения функциональной модели предметной области широкое распространение нашел структурный подход. Суть структурного подхода заключается в следующем: в начела систему рассматривают с общих позиций, за тем осуществляется декомпозиция ее на подсистемы.

Для наглядного представления функциональной модели используется диаграммная техника. Наиболее широко используются:

- функциональные диаграммы SADT;

- диаграммы потоков данных DFD;

- диаграммы переходов STD и др.

Методология функционального моделирования SADT служит для построения функциональной модели объекта какой-либо предметной области. Последняя ото­бражает функциональную структуру объекта - выполняемые им действия и связи между ними.

Функциональная модель информационной системы состоит из имеющих ссылки друг к другу диаграмм, фрагментов текстов и глоссария. На диаграммах представля­ются функции ИС и взаимосвязи (интерфейсы) между ними в виде блоков и дуг. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация указывается сверху, обрабатываемая информация - с левой стороны блока, выводи­мая информация - с правой стороны, выполняющий операцию механизм (человек, программа или устройство), представляется дугой снизублока.



При использовании методологии SADT выполняется постепенное наращивание сте­пени детализации в построении модели информационной системы. На рис. 4 показа­на декомпозиция исходного блока системы на три составляющих компонента. Каждый из блоков определяет подфункции исходной функции и, в свою очередь, может быть декомпозирован аналогичным образом для обеспечения большей детализации.




В общем случае функциональная модель ИС представляет собой серию диаграмм с документацией, декомпозирующих сложный объект на составные компоненты в виде блоков. Блоки на диаграмме нумеруются. Для указания положения диаграммы или блока в иерархии диаграмм используются номера диаграмм. Например, обозна­чение А32 указывает на диаграмму, детализирующую блок 2 на диаграмме A3. В свою очередь, диаграмма АОЗ детализирует блок 3 на диаграмме АО.

На диаграммах функциональной модели SADT последовательность и время явно не указываются. Обратные связи, итерации, процессы и перекрывающиеся по време­ни функции можно отобразить с помощью дуг.

В методологии функционального моделирования существенным свойством явля­ется отображение возможных типов связей между функциями. Можно выделить сле­дующие семь типов связей в порядке возрастания значимости:

- случайные связи, означающие, что связь между функциями мала или отсутствует;

- логические связи, означающие, что данные и функции относятся к одному классу или набору элементов, но функциональных отношений между ними нет;

- временные связи представляют функции, связанные во времени, когда данные исполь­зуются одновременно или функции включаются параллельно, а не последовательно;

- процедурные связи означают, что функции группируются вместе, так как выпол­няются в течение одной и той же части цикла или процесса;

- коммуникационные связи означают, что функции группируются вместе, так как используют одни и те же входные данные и/или порождают одни и те же выход­ные данные;

- последовательные связи служат для обозначения причинно-следственной за­висимости - выходные данные одной функции являются входными данными другой функции;

- функциональные связи обозначают случай, когда все элементы функции влияют на выполнение только одной функции.





14. Информационно-логическая модель данных (Определение ИЛМ, основные элементы
ER- диаграммы).


Цель инфологического моделирования – обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются строить по аналогии с естественным языком (последний не может быть использован в чистом виде из-за сложности компьютерной обработки текстов и неоднозначности любого естественного языка). Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).

Сущность – любой различимый объект, информацию о котором необходимо хранить в базе данных. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д.

Атрибут – поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей

Ключ
(индентификатор)
– минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся.

Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных – это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи.

Для графического отображения модели сущность-связь используются ER-диаграммы.

Сущность на ER-диаграмме представляется в виде прямоугольника с указаниями имени сущности в единственном числе вв именительном падеже.

Связи на ER-диаграмме отображаются в виде ромба или шестигранника с указанием имени связи в глагольной форме и вида связи.




15.
Основные элементы
ER
-диаграммы. Объяснить виды отношений 1:1, 1:М, М:1,
N
:
M
.


Для графического отображения модели сущность-связь используются ER-диаграммы.

Сущность на ER-диаграмме представляется в виде прямоугольника с указаниями имени сущности в единственном числе вв именительном падеже.

Связи на ER-диаграмме отображаются в виде ромба или шестигранника с указанием имени связи в глагольной форме и вида связи.

Типы связей:

1:1 - в каждый момент времени каждому экземпляру сущности А соответствует 1 или 0 представителей сущности В.



1:М - одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.



М:М – каждому экземпляру сущности А, соответствуют 0, 1 и много экземпляров сущности В.



Пример. Если связь между сущностями МУЖЧИНЫ и ЖЕНЩИНЫ называется БРАК, то существует четыре возможных представления такой связи:






16.
Назначение и классификация языков манипулирования данными.


Для формулирования запросов пользователем к базе данных предназначены языки манипулирования данными (ЯМД). Помимо пользователя, конкретный ЯМД используется программистом для организа­ции обмена данными между базой данных и пользовательски­ми программами. В связи с этим сам по себе ЯМД не является полным языком. Он предполагает использование так называемого включающего   языка программирования, который является для ЯМД «каркасом» и обеспечивает процедурные возможности, необходимые для манипулирования данными.

Можно указать следующие основные функции ЯМД:

- формулировка запросов к базе данных. В связи с этим языки манипулирования данными иногда называют языками запросов или  входными языками;

- оперирование с данными в смысле ввода в базу данных новых данных и удаление из нее устаревших данных.

При изучении ЯМД можно выделить две стороны:

1). Теоретические основы построения ЯМД;

2). Конкретные языки манипулирования или языки запросов конкретных автоматизированных систем.

Рассмотрим ЯМД в первом, теоретическом аспекте. Оказывается, что в этом плане наиболее глубоко разработана теория языков манипулирования для ре­ляционной модели данных. ЯМД для реляционной модели раз­виваются на два класса:

1. Алгебраические языки, позволяющие формули­ровать запросы с помощью операций, выполняемых над отно­шениями реляционной модели. Совокупность этих операций над отношениями образует реляционную алгебру. Соответствующие алгебраические ЯМД называются языками реляционной алгебры.

2. Языки исчисления предикатов, в которых запросы описывают требуемую структуру отношения-ответа пу­тем спецификации предиката, которому должны удовлетво­рять кортежи отношения-ответа. Этот класс Языков называет­ся языками реляционного исчисления, представ­ляющего по существу частный случай исчисления предикатов.

В свою очередь, языки реляционного исчисления делятся на две основные группы:

1). Языки с переменными-кортежами;

2). Языки с переменными на доменах.

В рамках данной лекции рассмотрим теоретические аспекты построения алгебраических языков.






17. Основные теоретико-множественные операции реляционной алгебры (проекция, селекция, декартово произведение, объединение, разность).

1. Проекция. Суть операции проекции состоит в исклю­чении некоторых столбцов у отношения R и (или) в переупоря­дочивании оставшихся столбцов. Пусть R — отношение арно­сти n, столбцы которого имеют номера 1, 2, 3, .... . Обозначим m из этих номеров, , через .

Проекцией от­ношения R на столбцы  называется отношение

,

где , составленное из m-ок   таких, что существует некоторый принадлежащий R кортеж  длины п, удовлетворяющий условию: .

Операция проекции позволяет в отношении R, описываю­щем свойства объектов , входящих в набор Е, исключить ком­поненты кортежей, описывающие свойства, второстепенные для данного рассмотрения.

2. Селекция (выборка кортежей). Пусть F — правильно построенная формула логики предикатов (принимающая зна­чения «истина» или «ложь»), образованная:

- операндами, являющимися константами, име­нами или номерами столбцов отношения;

- арифметическими операторами сравнения <, =, >,
£ ,
¹,
³;


- логическими операторами /\ (и), \/ (или) и ù (не). Тогда  есть отношение с кортежами t, принадлежа­щими отношению R, и такими, что при подстановке i-го компо­нента кортежа t вместо любого вхождения номера i в форму­лу F для всех i она станет истинной.

Результат операции се­лекции формально определяется в виде  

Операция селекции формирует из R новое отношение путем удаления из R кортежей, для которых фор­мула F принимает значение истинности «ложь».

Эта операция позволяет отобрать в отношении кортежи (и соответствующие этим кортежам объекты еi, входящие в на­бор объектов Е), обладающие свойствами, которые задаются формулой F.

3. Объединение. Объединением  отношений R и S, имеющих одинаковую арность, называется множество кор­тежей, каждое из которых принадлежит либо R, либо S, либо им обоим:  


4. Разность. Разностью  отношений R и S, имею­щих одну и ту же арность, называется множество кортежей, принадлежащих R, но не принадлежащих S:  

5. Декартово произведение. Декартовым произведением  отношений R и S с арностями  и  соответственно на­зывается множество кортежей длины , у которых первые  компонентов образуются из кортежей, принадлежащих R, a последние  компонентов — из кортежей, принадлежащих S. Формально операция декартова произведения определяется в виде:

,

где через  обозначена конкатенация r и s (слияние строк).

Отметим, что в операциях проекции, селекции и декартова произведения имена атрибутов соответственно сохраняются. Помимо рассмотренных основных операций, в реляционной алгебре используется ряд дополнительных операций, которые могут быть выражены через основные операции. К ним относятся пересечение, частное, соединение, естественное соедине­ние и другие.




18. Дополнительные операции реляционной алгебры (пересечение,
q-соединение).


6. Пересечение. Пересечением отношений  называется разность отношений , представляющая множество кортежей,  содержащихся одно­временно и в R и в S. Ясно, что R и S должны иметь один и тот же состав атрибутов и одинаковую арность.

7. Деление. Пусть R и S - отношения арности n и m соответственно, n>m, а отношение S содержит ненулевое число кортежей. Частным от деления R на S называется множест­во кортежей t длины  таких, что для каждого из корте­жей s, принадлежащих S, кортеж  принадлежит R. Частное от деления R на S обозначается R  S, запись  означает кон­катенацию, т. е. слияние кортежей t и s. Таким образом, част­ное от деления R на S определяется формально в виде .

8.
Q -соединение.
Пусть R и S — отношения, где R имеет арность п, и пусть Q-арифметический оператор сравнения (=, < и т. д.). Q-соединением R и S  по столбцам i и j, запи­сываемым в виде , называется операция селекции над декартовым произведением RS по столбцам i и n+
j,
т. е. .

Таким образом, Q-соединение R и S представляет множе­ство таких кортежей в декартовом произведении RS, что i-й компонент R находится в отношении Q с j-ым компонентом S. Если Q является оператором =, то в этом частном случае Q-соединение называется эквисоединением.

Операция соединения позволяет из двух наборов объектов E1, E2 формировать пары объектов, удовлетворяющие некоторым условиям.






19. Дополнительные операции реляционной алгебры (
q-соединение  и естественное соединение).


8.
Q -соединение.
Пусть R и S — отношения, где R имеет арность п, и пусть Q-арифметический оператор сравнения (=, < и т. д.). Q-соединением R и S  по столбцам i и j, запи­сываемым в виде , называется операция селекции над декартовым произведением RS по столбцам i и n+
j,
т. е. .

Таким образом, Q-соединение R и S представляет множе­ство таких кортежей в декартовом произведении RS, что i-й компонент R находится в отношении Q с j-ым компонентом S. Если Q является оператором =, то в этом частном случае Q-соединение называется эквисоединением.

Операция соединения позволяет из двух наборов объектов E1, E2 формировать пары объектов, удовлетворяющие некоторым условиям.

9. Естественное соединение. Операция естественного соеди­нения применима к паре отношений R и S, когда в R и S есть одинаковые атрибуты. В результате этой операции, обоз­начаемой , формируется новое отношение, представля­ющее проекцию от селекции  RxS. Формально эта операция за­писывается в виде

,

где i1, i2 ,…..im — упорядоченный список всех компонентов  за исключением компонентов S.
A1,... ,
S.
Ak, .
где S.
A1,... ,
S.
Ak, —
имена столбцов в , соответствующих столбцам в S, совпадающим, в свою очередь, со столбцами в R.

В соответствии с (8.10) операция естественного соединения - выполняется в следующей последовательности:

- вычисляется ;

- из выбираются те кортежи, у которых  совпадают значения у всех атрибутов, одинаковых для R и S;

- находится проекция полученного в п. 2 множества кор­тежей на все атрибуты  за исключением атрибутов типа - S.
A,
где S.
A
атрибут в , соответствующий атрибуту А в S, где, в свою очередь, А — атрибут, одинаковый в R и S.




20. Объяснить сущность концептуального проектирования. Основные результаты концептуального проектирования.


Концептуальное проектирование заключается в определении числа и структуры таблицы, определении схем и связей отношений и распределении отношений по уровням в зависимости от ввода  и удаления данных, разработки алгоритмов целостности и согласованности БД, разработки алгоритма работы с БД.

Для формирования структуры БД используются следующие методы:

1). Создание универсального отношения (заключается в сведении всех атрибутов в одну таблицу; используется при боьлшом количестве атрибутов).

2). Метод декомпозиции без потерь: на основе исходных отношений по определенному правилу определяются отношения БД, для которых отсутствуют проблемы вставки, модификации и удаления данных.

3). Метод сущность-связь: состоит с том, что на основе определенных правил осуществляется преобразование ER-диаграммы в схемы БД.

4). Метод синтеза: при реализации его осуществляется формирование таблицы БД на основе заданных атрибутов и функциональных зависимостях.

При  реализации данных методов возможно дублирование данных. Различают простое дублирование и избыточное.

Пример избыточного дублирования:

ФИО

Номер комнаты

Телефон

Петров

1

23-35

Сидоров

10

23-40

Иванов

1

23-35

Избыточное дублирование данных создает проблемы при обработке кортежей отношений. Такие проблемы называют аномалиями.

Аномалиями будем называть такую ситуацию в таблицах БД, которая приводит к противоречиям в БД, либо существенно усложняет обработку данных.

Выделяют три вида аномалий:

1). Аномалии модификации проявляются в том, что изменение значения одного дан­ного может повлечь за собой просмотр всей таблицы и соответствующее, изменение некоторых других записей таблицы.

2). Аномалии удаления состоят в том, что при удалении какого-либо данного из таблицы может пропасть и другая информация, которая не связана напрямую с удаляемым данным.

3). Аномалии добавления возникают в случаях, когда информацию в таблицу нельзя поместить до тех пор, пока она неполная, либо вставка новой записи требует дополнительного просмотра таблицы.





21. Основные проблемы проектирования БД. Объясните сущность нормализации отношений.

Проблемы при проектировании БД. Различают простое дублирование и избыточное.

Пример избыточного дублирования:

ФИО

Номер комнаты

Телефон

Петров

1

23-35

Сидоров

10

23-40

Иванов

1

23-35

Избыточное дублирование данных создает проблемы при обработке кортежей отношений. Такие проблемы называют аномалиями.

Аномалиями будем называть такую ситуацию в таблицах БД, которая приводит к противоречиям в БД, либо существенно усложняет обработку данных.

Выделяют три вида аномалий:

1). Аномалии модификации проявляются в том, что изменение значения одного дан­ного может повлечь за собой просмотр всей таблицы и соответствующее, изменение некоторых других записей таблицы.

2). Аномалии удаления состоят в том, что при удалении какого-либо данного из таблицы может пропасть и другая информация, которая не связана напрямую с удаляемым данным.

3). Аномалии добавления возникают в случаях, когда информацию в таблицу нельзя поместить до тех пор, пока она неполная, либо вставка новой записи требует дополнительного просмотра таблицы.

Для устранения рассмотренных аномалий осуществляется нормализация отношений, т.е. их декомпозиция на более мелкие. Для определения качества нормализации Э.Коддом предложен аппарат нормальных форм.

Рассмотрим нормальные формы отношений.

1. Отношение находится в первой нормальной форме тогда и только тогда, когда на пере­сечении каждого столбца и каждой строки находятся только элементарные значения ат­рибутов.

Первая нормальная форма является точкой отсчета, если отношения удовлетворяют требованиям реляционной модели, то она находится в первой нормальной форме.

Пример:

а). ненормализованная таблица:

ФИО

Вид спорта

Гиря

Бег

Петров

1

5

Сидоров

2

4

б). нормализованная таблица:

ФИО

Вид спорта: гиря

Вид спорта: бег

Петров

1

5

Сидоров

2

4

2. Отношение находится во второй нормальной форме тогда и только тогда, когда оно находится в первой нормальной форме и не содержит неполных функциональных зависимостей непривычных атрибутов от атрибутов первичного ключа



3. Отношение находится в третьей нормальной форме тогда и только тогда, когда оно нахо­дится во второй нормальной форме и не содержит транзитивных зависимостей.



4. Отношение находится в нормальной форме Бойса—Кодда, если оно находится в третьей нормальной форме и отсутствуют зависимости ключевых атрибутов от не ключевых.








22. Функциональные зависимости.

Функциональные зависимости бывают:

1). Частичная зависимость (неполная) – это зависимость ключевого атрибута от части составного ключа (детерминанты).



2). Полная ФЗ: зависимость не ключевых атрибутов от всего ключа.

3). Транзитивная ФЗ: если существует фундаментальная зависимость вида: А определяет В, В определяет С, то говорят что существует транзитивная ФЗ А определяет С.










23. Нормальные формы отношений.

Для определения качества нормализации Э.Коддом предложен аппарат нормальных форм. Рассмотрим нормальные формы отношений.

1. Отношение находится в первой нормальной форме тогда и только тогда, когда на пере­сечении каждого столбца и каждой строки находятся только элементарные значения ат­рибутов.

Первая нормальная форма является точкой отсчета, если отношения удовлетворяют требованиям реляционной модели, то она находится в первой нормальной форме.

Пример:

а). ненормализованная таблица:

ФИО

Вид спорта

Гиря

Бег

Петров

1

5

Сидоров

2

4

б). нормализованная таблица:

ФИО

Вид спорта: гиря

Вид спорта: бег

Петров

1

5

Сидоров

2

4

2. Отношение находится во второй нормальной форме тогда и только тогда, когда оно находится в первой нормальной форме и не содержит неполных функциональных зависимостей непривычных атрибутов от атрибутов первичного ключа



3. Отношение находится в третьей нормальной форме тогда и только тогда, когда оно нахо­дится во второй нормальной форме и не содержит транзитивных зависимостей.



4. Отношение находится в нормальной форме Бойса—Кодда, если оно находится в третьей нормальной форме и отсутствуют зависимости ключевых атрибутов от не ключевых.



5. В отношении R (А, В, С) существует многозначная зависимость (
multi
valid
dependence,
MVD)
R.AR.B в том и только в том случае, если множество значений В, соответ­ствующее паре значений А и С, зависит только от А и не зависит от С.

6. Отношение R находится в четвертой нормальной форме (4NF) в том и только в том слу­чае, если в случае существования многозначной зависимости А -» В все остальные атри­буты R функционально зависят от А.

7. Отношение R находится в пятой нормальной форме (нормальной форме проекции-соеди­нения — PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.






24. Объясните сущность проектирования концептуальной схемы БД методом “декомпозиции без потерь”.

Суть данного метода заключается в следующем: пусть дано отношение , которое не находится в БКН. Декомпозиция выполняется в два этапа:

1). Определяются ФЗ, которые мешают нахождению отношения в БКН.

Пусть .

2). Исходное отношение разбивается на два отношения следующим образом:

,

.

Далее, полученные отношения проверяем на предмет их принадлежности к БКН. Если нет, то возвращаемся к шагу 1.

Декомпозиция называется без потерь потому, что исходное отношение может быть получено из полученных отношений путем применения к ним операции естественного соединения.

Пример. Пусть дано отношение:








25. Объясните сущность проектирования концептуальной схемы БД методом “сущность-связь”.

Данный метод позволяет получить исходные отношения, т.е. отношения, которые не находятся в БКН. По отношению к ним используется метод декомпозиции без потерь. Исходными данными для данного метода является модель «сущность-связь».

Преобразование ER-диаграммы в таблицы осуществляется по правилам. Правила формирования отношения основываются на учете следующего:

- степени (вида связи): 1:1; 1:М; М:1; М:М.

- класса принадлежностей экземпляра сущностей.

Класс принадлежности экземпляра сущности называется обязательным, если все экземпляры охвачены данной связью.

Пример:



Обычным отношением, описывающим сущность, или просто обычным отношением сущности будем называть отношение, в которое входят вссе атрибуты обычного отношения сущности, а также ключ связанной сущности.

Расширенным отношением сущности будем называть отношение, в которое входят все атрибуты обычного отношения сущности, а также ключ связанной сущности.

Обычным отношением связи будем называть отношение, в которое входят все атрибуты данной связи и ключ связи и только они одни.

Расширенным отношением связи. будем называть отношение, в которое входят все атрибуты связи и все атрибуты связанных сущностей.

Правила.

1. Если степень бинарных связей 1:1 и класс принадлежности обеих сущностей обязательный, то формируется одно отношение.

2. Если степень связей 1:1 и класс принадлежности одной сущности обязательный, а второй не обязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключами соответствующих сущностей.

3. Если степень связей 1:1 и класс принадлежности обеих сущностей не обязательный, то необходимо использовать три отношения, два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих сущностях, третье отношение является связным между первыми двумя.

4. Если степень связей 1:М (М:1) и класс принадлежности М-связных сущностей является обязательным, то достаточно формирование двух отношений. При этом первичными ключами этих отношений являются ключи их сущностей.

5. Если степень связей 1:М (М:1) и класс принадлежности М-связных сущностей является не обязательным, то необходимо формирование трех отношений. Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях, третье отношение является связным между первыми двумя.

6. Если степень связей М:М, то независимо от класса принадлежности сущности формируется три отношения: два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этих отношений, третье отношение является связным между первым и вторым.






26. Назначение и архитектура СУБД
ACCESS.


Microsoft Access является 32-разрядной системой управления базами данных нового поколения работающих в ОС Windows. Access входит в состав интегрированного пакета Microsoft Office различных версий наряду с текстовым процессором Word, табличным процессором Excel, редактором презентаций  PowerPoint. Такая интеграция программных продуктов позволяет на на современном уровне организовать работу любого органа управления, в том числе и военного назначения.

Для работы Microsoft Access необходима следующая конфигурация ПЭВМ: класс машины Pentium (для последних версий) и не менее 8 Мбайт оперативной памяти.

Данная СУБД поддерживает реляционную модель БД и ориентирована на работу с объектами, к которым относятся таблицы БД, формы, запросы, макросы, модули. Таким образом, архитектуру СУБД Microsoft Access можно представить следующим образом.



Таблица – объект, который  определяется и используется для хранения данных. Каждая таблица включает информацию об однородных объектах определенного типа, например, о курсантах. Таблица содержит поля (столбцы), в которых хранятся различные данные, и записи (строки). В записи собрана вся информация о конкретном объекте, например, о курсанте). Для каждой таблицы можно определить одно или несколько полей, которые имеют уникальное значение для каждой записи и один или несколько индексов с целью увеличения скорости доступа к данным.

Запрос – объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Для создания запросов используется язык QBE (запрос по образцу) или инструкции SQL. Можно создать запросы на выбор, обновление, удаление или добавление данных и создания новых таблиц.

Форма – объект, предназначенный в основном для ввода, просмотра и корректировки взаимосвязанных данных, отображения их на экране или управления работой приложения.

Отчет – объект, предназначенный для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.

Макрос – объект, представляющий собой структурированное описание одного или нескольких действий, которые должен выполнить СУБД в ответ на определенное событие.

Макросу соответствует макрокоманда, которая реализует некоторое элементарное действие над данными в базе данных.

С помощью макрокоманд можно запрограммировать достаточно сложное приложение по обработке данных в соответствии с функциональными задачами конкретного пользователя.

Модуль – объект, содержащий программный  модуль. С его помощью опытный пользователь может реализовать какие-либо специфические функции.

Разработка БД в СУБД Access заключается в разработке данных объектов. Осуществим разработку БД для учет успеваемости и анкетных данных курсантов






27. Этапы проектирования БД в СУБД
ACCESS.


Процесс создания БД, состоящего из трех отношений в среде Access  включает следующие этапы:

1. Создание файла БД.   {Файл\создать\новая БД\ок}. Access хранит информацию о всех объектах БД в одном файле. Поэтому в среде Access необходимо создать файл с уникальным именем и расширением MDB.

2. Создание таблиц базы данных. {Вкл.Таблицы\вкл. Создать\Конструктор\ОК}.

При создании таблицы базы данных необходимо описать ее структуру, а затем произвести ее заполнение. Описание структуры таблицы осуществляется в режиме “Конструктор”. При этом определяются: имена полей таблицы (столбцы); тип данных; общие свойства поля; поля, входящие в состав ключа. После создания таблицы ее можно просмотреть в режиме “Таблица”.

3. Определение связей. {Сервис\Схема данных}. Для определения связей между таблицами необходимо открыть схему данных, которая поначалу будет пустой. В схему данных необходимо добавить все созданные  связанные таблицы. Таблицы должны отвечать всем требования нормализации. В соответствии с концептуальной моделью БД необходимо определить связи между таблицами с указанием типа связей (1:1, 1:М).

Тип связей Access определяет автоматически руководствуясь следующим правилом.

Если поле, по которому нужно установить связь, является уникальным ключом, как в главной таблице, так и подчиненной, Access устанавливает связь 1:1. Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ, Access устанавливает связь 1:М от главной таблицы к подчиненной.

4. Создание форм. {Вкл. Формы\вкл. Создать\Выбрать способ создания\ОК}.

Для создания форм имеются заготовки, которые реализуются с помощью мастера форм. Можно также создать форму по своему вкусу. Форме, как объекту, присваивается имя при сохранении.

Если форма включает данные из нескольких таблиц, то выборка полей в форму осуществляется последовательным выбором соответствующих таблиц. После создания формы и ее сохранения ее можно отредактировать. После редактирования форму необходимо сохранить.

5. Формирование запросов к базе данных. {Вкл. Запросы\Конструктор\ОК}.

Для получения информации из БД используются запросы. Запросы представляют широкие возможности для выбора, сортировки и проведения  вычислений с данными. Причем, эти данные могут извлекаться как из одной таблицы, так  и из нескольких одновременно.

Могут быть сформированы запросы-выборки, которые представляют пользователю данные, отобранные по каким-либо критериям. Запрос может быть одноразовым, либо использоваться неоднократно.

Результатом формирования запроса является таблица, столбцами которой являются поля из нескольких таблиц по усмотрению пользователя. Для отбора записей устанавливаются признаки. Для этого в нижней панели конструктора выбрать условия отбора и отметить поля для включения в результирующую таблицу, а также порядок сортировки записей.

Условия отбора задаются в соответствующих полях. В одной строке условия соединяются автоматически логической операцией AND. Условия отбора, помещенные в разных строках, соединяются логическим OR. После формирования запроса его необходимо сохранить с указанием имени запроса.

6. Формирование отчетов. {Вкл. Отчеты\вкл.Создать\Автоотчет в столбец\Ок}.

Отчеты можно использовать для того, чтобы выбрать данные из нескольких таблиц, произвести над ними вычисления, подвести итоги и вывести их на экран или печать. Главная функция отчета – представление данных в виде документа для печати. Для создания отчетов, так же как и других объектов, имеется мастер отчетов. При необходимости можно самому сконструировать отчет.

В основу содержания отчета берется, как правило, результирующая таблица запроса.

При конструировании макета отчета определяются:

- заголовок (печатается в начале отчета);

- верхний колонтитул (выводится в верхней части  каждой страницы);

- область данных (основная часть, содержащая выбранные сведения по отображаемым записям);

- нижний колонтитул (выводится в нижней части страницы);

- примечание (выводится в конце отчета).

Отчет необходимо сохранить под своим именем.






28. Язык запроса
QBE. Использование функций
BETWEEN,
LIKE,
IN в языке
QBE.


QBE (Query by example) — способ создания запросов к БД, с использованием образцов в виде текстовой строки, названия документа или списка документов. Система QBE преобразует пользовательский ввод в формальный запрос к базе данных, что позволяет пользователю делать сложные запросы без необходимости изучать более сложные языки запросов таких как SQL. Этот метод отбора данных впервые предложен компанией IBM в 1970 г.

Преимуществом поиска QBE является то, что для формирования запроса не требуется изучать язык запросов. Когда вы инициируете поиск, на экран выводится окно, в котором указаны все поля данных, встречающиеся в каждой записи данных; введите информацию, которая ограничивает поиск только указанными критериями: те поля, которые не будут заполнены, могут соответствовать чему угодно.

BETWEEN - позволяет задать диапазон значений, например: Between 50 And 100 означает - > = 50 And < = 100 ;

IN - позволяет задать список значений для сравнения, например: IN (“А”, “В”, “С”)  означает - “А”OR “В” OR “С”.

LIKE - используется при поиске образцов в текстовых полях. В образец поиска, кроме символов * и ? можно включать следующие символы:

#, обозначающий, что в данной позиции должна быть цифра;

[ ], обозначающий допустимый диапазон символов для данной позиции ([0-9] - наличие любой цифры от 0 до 9,   [A - N] - наличие любой буквы от A  до N );

! , обозначающий исключение [ ! 0 -9 ]  - наличие любого символа, кроме цифр от 0 до 9 ).

Выражение  LIKE “?[a-z]r[0-9]*” проверяет наличие произвольного символа в первой позиции, буквы от a до z во второй, буквы r в третьей, любого символа от 0 до 9  в четвертой, произвольного числа символов в конце строки.






29. Язык запросов
SQL. Оператор языка
SQL для создания таблицы.


Стандарт ISO не определяет, как должна создаваться база данных, и каждая СУБД использует в этом вопросе свой подход. В соответствии со стандартом компоненты базы данных существуют в некоторой среде, которая включает ряд каталогов, а те, в свою очередь, — наборы схем.

В указанной иерархии в стандарте предусмотрены только средства регламен­тации механизма создания и удаления схем — самой нижней ступени дан­ной иерархии. Механизмы создания всего остального закладываются в саму СУБД. Оператор создания схемы БД определяется следующим образом:

CREATE SCHEMA [Имя_схемы | AUTHORIZATION Имя_пользователя]

Следовательно, если пользователю Иванову требуется создать схему факультет, то данный оператор, осуществляющий подобные действия, будет выглядеть следующим образом:

CREATE SCHEMA ФАКУЛЬТЕТ AUTHORIZATION Иванов

Для удаления раннее созданной схемы определен следующий оператор:

DROP SCHEMA Имя_схемы [RESTRICT | CASCADE]

По умолчанию принимается установка режима restrict, при которой уда­ление выполняется только в том случае, если схема пуста. В противном слу­чае данный оператор не выполняется. Использование альтернативного ре­жима cascade должно производиться с большой осторожностью, так как реализация его приводит к автоматическому удалению всех связанных с уда­ляемой схемой объектов.

Хотя рассмотренные два оператора определены в стандарте, на практике они реализованы в очень редких случаях. Вместо операторов create schema и drop schema успешно используются не нуждающиеся в дополнительных пояснениях операторы:

CREATE DATABASE Имя_БД

DROP DATABASE Имя_ БД

Однако конкретные реализации данных операторов могут содержать допол­нительную информацию. После выполнения второго оператора уничтожает­ся вся база данных вместе с содержащимися в ней данными.




30. Операторы языка
SQL изменения состава полей таблицы и создания (удаления) индекса.


Главными компонентами базы данных являются ее таблицы, представляющие отношения проекта БД. Создание таблицы осуществляется посредством оператора create table. Его упрощенная версия выглядит сле­дующим образом:

CREATE TABLE Имя_таблицы (Имя_столбца Тип_даных [NULL | NOT NULL] [,...])

Оператор такого вида приведет к созданию таблицы с именем <Имя_таблицы>, которая будет содержать столько столбцов, сколько их зада­но в операторе. При определении столбца необходимо задать его имя, тип данных, к которому будут относиться значения этого столбца, а также опре­делить, можно ли в качестве значения рассматриваемого столбца использо­вать ключевое слово null. Ключевым словом null помечается такой стол­бец, который может содержать неопределенные значения.

Определения столбцов первичных ключей отношений всегда должны содержать ключевые слова not null. Любая попытка ввести в такой столбец NULL-значение будет отвергнута, и, следовательно, будет заблокирована возможность нарушения ссылочной целостности данных

Полное описание оператора create table должно включать средства под­держки целостности данных. Такие средства представляют собой специфи­каторы, позволяющие задать ограничения для предотвращения попыток на­рушить согласованность данных. Базовое определение оператора create table имеет следующий формат:

CREATE  TABLE   имя_таблицы

({  имя_столбца  тип_даных  [NOT NULL]   [UNIQUE]

[DEFAULT значение по умолчанию]   [CHECK  (условие проверки на допустимость)]   [,...]}

[PRIMARY KEY  (список  столбцов),]

{[UNIQUE  (список столбцов),]   [,...]}

{[FORING KEY  (список столбцов  внешних ключей)

REFERENCES имя родительской таблицы    [(список столбцов ключей-кандидатов)],

[MATCH  {PARTIAL  |  FULL}

[ON UPDATE правило ссылочной               целостности]

[ON DELETE правило  ссылочной                целостности]]   [,...]}

{[CHECK  (условие проверки на   допустимость)]   [,...]})

Спецификатор check предназначен для задания ограничений для доменов атрибутов. Так, например, для столбца Оценка можно задать следующее оп­ределение: Оценка  SMALLINT  CHECK(Оценка  >=  2  AND   Оценка  <=  5);

Присутствие в определении таблицы строки со спецификатором primary Key призвано обеспечить категорную целостность данных. Обеспечение категорной целостности состоит в том, что первичный ключ таблицы должен иметь уникальное непустое значение в каждой ее строке.

Для связывания строк родительской и дочерней таблиц используются внеш­ние ключи. Каждая строка дочерней таблицы, содержащая этот ключ, свя­зывается со строкой родительской таблицы, у которой потенциальный ключ имеет такое же значение, что внешний ключ у дочерней таблицы. Ссылоч­ная целостность обеспечивается тогда, когда поле внешнего ключа дочерней таблицы имеет такое значение, которое обязательно присутствует в качестве значения соответствующего потенциального ключа в родительской таблице.

Способ обработки значений внешнего ключа может быть уточнен определи­телем match. Если для таблицы указывается определитель match full, to предполагается, что все компоненты внешнего ключа имеют либо некоторое конкретное значение, либо значение null.

При использовании определителя match partial предполагается, что все компоненты внешнего ключа либо имеют значение null, либо в родитель­ской таблице должна существовать по крайней мере одна строка, удовлетво­ряющая всем непустым значениям внешних ключей.

Обновление таблиц. В уже созданную таблицу изменения могут быть внесены с помощью опера­тора alter table, который имеет следующий обобщенный формат:

ALTER TABLE   имя_таблицы [ADD  [COLUMN]  имя  столбца  тип_даных  [NOT NULL]   [UNIQUE]

[DEFAULT значение по умолчанию]  [CHECK  (условие проверки на допустимость)]]

[DROP  [COLUMN]  ]  имя_столбца  [RISTRICT  |  CASCADE]] [ADD  [CONSTRAINT  [имя ограничения]]  ограничение] [DROP CONSTRAINT имя ограничения  [RISTRICT  |  CASCADE]] [ALTER  [COLUMN]  SET DEFAULT значение по умолчанию] [ALTER  [COLUMN]  DROP DEFAULT]

Ставшая ненужной таблица может быть удалена из базы данных оператором

DROP TABLE имя таблицы  [RISTRICT  |  CASCADE].

Ключевые слова ristrict и cascade используются для определения условий удаления таблицы в том случае, если в базе данных присутствуют ее дочер­ние таблицы. Ключевое слово ristrict при наличии в базе данных зависи­мых от удаляемой таблицы объектов вызовет отмену удаления. Ключевое слово cascade в этой ситуации вызовет автоматическое удаление всех объек­тов базы данных, существование которых зависит от данной таблицы.

Для увеличения скоро­сти выборки в БД обычно используют специальную структуру, которая на­зывается индексом. Стандарт языка SQL не предусматривает использование индексов. Но тем не менее разработчики СУБД охотно идут на включение средств поддержки индексов в систему, несмотря на то, что наличие индекса увеличивает нагрузку на систему из-за необходимости обновлять его при каждом изменении данных таблицы, поскольку существенное повышение скорости запросов окупает данные затраты.

Операторы создания и удаления индекса имеют следующий формат.

Создать индекс:

CREATE [UNIQUE]  INDEX имя_индекса

ON имя_таблицы (столбец [ASC| DESC]   [,...])

Удалить индекс:

DROP INDEX имя_индекса

Если в операторе create index используется квалификатор unique, то уни­кальность значений индекса автоматически поддерживается системой. Для каждого из ключевых столбцов можно указать порядок следования значений: по возрастанию — asc (используется по умолчанию) и по убыванию — desc.






31. Операторы языка
SQL для создания  и удаления представлений.


Представление – это виртуальная таблица, которая создана на базе реально существующих таблиц БД, с данной таблицей можно работать как с реальной.

Для создания и удаления представлений существуют команды, определенные DDL (Data Definition Language - подмножество SQL, см. глоссарий), которые мы сейчас рассмотрим.

Чтобы создать представление в InterBase, необходимо использовать предло­жение следующего синтаксиса:

CREATE VIEW viewname   [ (view_column [,  view_column...] ) ]

AS <SELECT>   [WITH CHECK OPTION];

Здесь viewname - имя представления, которое должно быть уникальным в пределах базы данных, далее идет группа не всегда обязательных наименова­ний полей, входящих в представление: [(view_column [, view_column...])]. Обязательно необходимо определить предложение <SELECT>, которое выбирает данные, включаемые в представление.

Чтобы изменить какое-либо представление, придется его пересоздать, т.е. удалить и создать заново. При удалении представления необходимо также уда­лить все зависимые от него объекты - триггеры, хранимые процедуры и другие представления. В этом заключается одно из главных неудобств работы с пред­ставлениями - необходимость пересоздавать дерево использующих представле­ние объектов (существуют утилиты, которые позволяют сделать это более "без­болезненно", например IBAUerView). Чтобы удалить представление, необходимо воспользоваться следующей командой DDL: DROP VIEW viewname;




32. Организация запросов к БД на языке
SQL. Оператор
SELECT.


Оператор SELECT предназначен для выборки и отображения данных из одной или нескольких таблиц БД.

Синтаксис оператора
select:


SELECT  [DISTINCT|  ALL]  {*|   [<список полей>]}  FROM <список таблиц>

[WHERE <предикат-условие выборки или соединения>]

[GROUP BY         <список полей результата>]

[HAVING              <предикат-условие для группы>]

[ORDER BY         <список полей,   по которым требуется упорядочить вывод>]

В указанном операторе обязательными являются фразы select и from. Все остальные части опе­ратора могут быть использованы по усмотрению программиста.

1. Фраза
select:


- наличие ключевого слова all (по умолчанию) означает, что в результирующую таблицу включаются все строки, удовлетворяющие услови­ям запроса, что может привести к появлению в результирующей таблице одинаковых строк;

- ключевое слово distinct предназначено для приведения таблицы в соответствие с принципами теории отношений, где предполагается отсутствие дубликатов строк;

- символ "*" определяет очень часто встречаемую ситуацию, когда в ре­зультирующий набор включаются все столбцы из исходной таблицы запроса. Таким образом, программист может выбрать один из воз­можных вариантов формирования результирующих таблиц: включение только указанных столбцов или включение всех столбцов таблицы.

2. Во фразе from задается перечень исходных таблиц запроса.

3. Во фразе where определяются условия отбора строк результата или условия соединения строк исходных таблиц, подобно операции условного со­единения в реляционной алгебре.  exist и not exist, используемые во встроенных подзапросах.

4. Во фразе group
by
задается список полей группировки.

5. Во фразе having задаются предикаты-условия, накладываемые на каждую группу.

6. Во фразе order
by
задается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результи­рующей таблице.

Рассмотрим особенности оператора SELECT на примере:

Kafedra

Kod_kaf

Name_kaf

Nomer_TLF

Nomer_audit

Col_sotr

Zav_kaf

1). Вывести сведения о всех кафедрах университета.

SELECT * FROM Kafedra

2). Вывести на экран все названия кафедр с указанием их номера телефона.

SELEСT Name_kaf, Nomer_TLF

FROM Kafedra

Для упорядочивания данных можно использовать оператор ORDER BY. Сортировка по возрастанию – ASC; по убыванию –DESC.

Пример: вывод наименования кафедр по возрастанию и их телефона.

SELECT Name_kaf, Nomer_TLF

FROM Kafedra

ORDER BY Name_kaf ASC






33. Простые и сложные критерии отбора записей в операторе
SELECT.


Задание условий отбора осуществляется с помощью фразы where. В предложение where можно включить одно или несколько условий отбора строк. В качестве условий отбора могут быть использованы следующие предикаты:

- сравнения " = , <>, >, <, >=, <=" - для сравнения результатов вычисления двух выражений; более сложные выражения строятся с помощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом используемых операторов и наличием скобок в выражении;

-
between
a
and
в — предикат истинен, когда вычисленное значение выражения попадает в заданный диапазон (предикат not between a and в истинен тогда, когда сравниваемое значение не попадает в заданный интервал);

-
in
— предикат истинен тогда, когда сравниваемое значение входит в множество заданных значений; при этом множество значений может быть задано простым перечислением или встроенным подзапросом (предикат not in истинен тогда, когда сравниваемое значение не входит в заданное множество);

-
like и
not
like
— предикаты, смысл которых противоположен, требуют задания шаблона, с которым сравнивается заданное значение; предикат like истинен тогда, когда сравниваемое значение соответствует шаблону, и ложен в противном случае;

-
is
null
— предикат, применяющийся для выявления равенства значения некоторого атрибута неопределенному значению:

- <имя атрибута>
is
null
— принимает значение true, если в дан­ной строке указанный атрибут имеет неопределенное значение и значение false, в противном случае: -   <имя атрибута> IS NOT NULLвсе ПРОИСХОДИТ Наоборот.

Пример 1: составить запрос на вывод данных о кафедрах, у которых номер аудитории в диапазоне от 1 до 30.

SELEСT *

FROM Kafedra

WHERE Nomer_audit Between 1 and 30

Пример 2: вывести всю информацию о кафедрах с номером аудиторий от 1 до 30 и количеством сотрудников более 100.

SELEСT *

FROM Kafedra

WHERE (Nomer_audit Between 1 and 30) and (Col_sotr > 10)






34. Группировка и сортировка записей средствами языка
SQL.


В стандарте языка SQL определено несколько агрегатных функций:

- count — возвращает количество значений в указанном столбце;

- sum — возвращает сумму значений в указанном столбце;

- avg — возвращает усредненное значение в указанном столбце;

- min — возвращает минимальное значение в указанном столбце;

- мах — возвращает максимальное значение в указанном столбце.

В качестве операнда данных функций может использоваться наименование только одного столбца, и все они возвращают единственное значение. С функциями sum и avg могут использоваться только числовые поля. С функциями count, max и min могут использоваться как числовые, так и символьные поля. При вызове всех перечисленных выше функций, кроме функции count (*), осуществляется исключение всех пустых значений и только после этого операция применяется к оставшимся значениям столбца. Функция count (*) призвана осуществлять подсчет всех строк таблицы не­зависимо от того, какие значения в них находятся.

Пример 1: подсчитать и вывести общее число кафедр.

SELEСT count (*) AScount  //AScount – псевдоним, под которым будет выведен результат.

FROM Kafedra

Пример 2: определить среднее число сотрудников на кафедре.

SELEСT AVG (Col_sotr) ASsr

FROM Kafedra

Агрегатные функции нельзя использовать в предложении where, потому что предикаты оцениваются в терминах одиночной строки, а агрегатные функ­ции — в терминах групп строк.

Выбираемые пользователем данные могут быть подвергнуты различного ро­да анализу и обобщению, и язык SQL имеет для этого свои средства. Только что рассмотренные агрегатные функции являются примером таких средств. В приведенных выше запросах агрегатные функции применялись ко всей таблице и выдавали сводные данные на основании обработки значений всего выделенного столбца. Такие результаты обычно размещаются в конце отчета и сжимаются в итоговую строку.

Однако часто встречаются ситуации, когда в отчет необходимо поместить и промежуточные результаты, опирающиеся на вычисления обобщенных групповых значений. Для применения агрегатных функций в подобных слу­чаях предполагается предварительная операция группировки. Суть операции группировки состоит в том, что все множество строк таблицы разбивается на группы, в каждой из которых собираются строки, имеющие одинаковые значения атрибутов, которые заданы в списке группировки. Обработка та­кой информации реализуется путем применения агрегатных функций уже к каждой отдельной группе и выдаче полученных итогов.

В языке SQL для осуществления операции группировки в оператор select включается фраза group by. Запрос, в котором присутствует фраза group by, называется группирующим запросом, а столбцы, перечисленные в этой фразе, называются группирующими столбцами.

Пример 3: пусть дана БД НИР.



Для каждого специалиста определить сумму, выплаченную за работу по данной теме и количество сделанных выплат.

SELEСT ФИО, COUNT (Начисления) AScount

SUM (Начисления) ASsum

FROM НИР

GROUP BY ФИО

Результат:



Сортировка по возрастанию – ASC; по убыванию –DESC.

Пример: вывод наименования кафедр по возрастанию и их телефона.

SELECT Name_kaf, Nomer_TLF

FROM Kafedra

ORDER BY Name_kaf ASC




35. Операторы языка
SQL для операции соединения таблиц.


Стандарт языка позволяет в тело одного оператора select внедрять другой оператор select. В такой ситуации можно рассматривать внешний и внут­ренний (внедряемый) операторы запроса. Обычно внутренний запрос гене­рирует значение, которое проверяется в предикате внешнего запроса (в предложении where или having), определяющего, верно оно или нет. Ес­ли внутренний оператор запроса помещен в предложения where и having внешнего оператора select, to создается ситуация вложенных запросов (подзапросов).

Подзапросы могут быть нескольких видов:

- скалярный подзапрос, возвращающий единственное значение;

- строковый подзапрос, возвращающий несколько значений в виде одной строки;

- табличный подзапрос, возвращающий данные в виде таблицы.

Подзапрос может указываться непосредственно после операторов сравнения (=, <, >, <=, >=), его текст должен быть заключен в скобки.

Пример 1. Разработать запрос который позволяет вывести сведения об участниках НИР, для которых начисления превысили среднее значение всех начислений.



SELECT *

FROM НИР

WHERE Начисления > (SELECT AVG (Начисления) FROM НИР)

Реализация вложенных запросов требует соблюдения определенных правил и ограничений.

1. В подзапросах не должна использоваться фраза order by.

2.Список в предложении select может включать только имена столбцов и составленные из них выражения.

3. По умолчанию имена столбцов в подзапросе относятся к таблице, ука­занной во фразе from.

4. Подзапрос, участвующий в операции, может быть только правым опе­рандом.

В стандарте SQL2 операторы сравнения расширены до многократных срав­нений с использованием ключевых слов any и all. Это расширение исполь­зуется при сравнении значения определенного столбца со столбцом данных, возвращаемым вложенным запросом.

Ключевое слово any, поставленное в любом предикате сравнения, означает, что предикат будет истинен, если хотя бы для одного значения из подзапроса предикат сравнения истинен. Ключевое слово all требует, чтобы предикат сравнения был бы истинен при сравнении со всеми строками подзапроса.

Пример 2. Определить начисления, которые превышают начисления любого специалиста выполнившего этап 1.

SELECT ФИО, Этап, Начисления

FROM НИР

WHERE Начисления > ALL

(SELECT Начисления FROM НИР WHERE Этап = ‘Этап 1’)

Многотабличный запрос. Запросы, которые основываются на нескольких таблицах называют многотабличными.

При формировании запросов необходимо:

1). Во фразе SELECT обязательно указать имя_табл.имя_столбца.

2). Во фразе FROM указать таблицы, перечислив их через запятую или выполнить соответствующее их соединение.

Inner Join – внутреннее соединение;

Left Join – левостороннее соединение;

Right Join – правостороннее соединение.

3). Если во фразе FROM перечислены таблицы через запятую, то в предложении WHERE необходимо включить в условие элементы (WHERE (R.A = S.A). Если данной фразы не будет, то на выходе будет декартово произведение таблицы.

Пример 3. БД для вывода данных о студенте Петрове и его результатах по математике.

SELECT Студент . ФИО, Успеваемость . Предмет, Успеваемость . Оценка

FROM (Студент, Успеваемость)

WHERE (Студент . № зачетки = Успеваемость . № зачетки) and

(Студент . ФИО = ‘Петров’) and

(Успеваемость . Предмет = ‘Математика’)






36. Редактирование, вставка и удаление записей средствами языка
SQL.


Оператор вставки: INSERT.

Формат:

INSERT INTO имя_табл

[(<список_столбцов>)]

VALVES (<список_значений>)

Между списком имен столбцов и списком значений должно быть следующее соответствие:

1). Количество элементов в обоих списках должно быть одинакового.

2). Между положением элементов в списках должно быть строгое соответствие, которое определяется слева на право.

3). Типы данных соответствующих элементов списков должны быть одинаковые и принадлежности к одному и тому же домену.

Данный оператор позволяет ввести одну строку. Для ввода нескольких строк используется дополнительная таблица.

Формат:

INSERT INTO имя_табл

[(<список_столбцов>)]

<SELECT>

Оператор удаления данных: DELETE.

Позволяет удалить одну или несколько строк из таблицы в соответствии с условием.

DELETE FROM имя_табл

[WHERE (условие_отбора)]

Оператор обновления данных: UPDATE.

Формат:

UPDATE имя_табл

SET имя_столбца1 = значение […]

[WHERE условие_отбора]

Пример: замена фамилий.

UPDATE S1

SET ФИО = ‘Сидоров’

WHERE ФИО = ‘Петров’






37. Физическая организация данных. Доступ к БД.

Поиск и предоставление данных пользователю осуществляются с помощью нескольких программ доступа данных и включают в себя три основных эта­па (рис. 1).

- Определяется искомая запись, для извлечения которой запрашивается диспетчер файлов.

- Диспетчер файлов определяет страницу, на которой находится искомая запись, и для извлечения этой страницы запрашивает диспетчер дисков.

- Диспетчер дисков определяет физическое положение искомой страницы на диске и посылает соответствующий вопрос на ввод-вывод данных.



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






38. Физическая организация данных. Страничная организация данных в СУБД.

Из-за того, что СУБД подчиняется несколько иным принципам и стратегиям управления внешней памятью, чем те, кото­рые используют большинство пользовательских процессов или задач, СУБД вынуждены брать на себя непосредственное управление внешней памятью. При этом пространство внешней памяти полностью управляется СУБД, а операционная среда не получает непосредственного доступа к этому про­странству.

При распределении дискового пространства рассматриваются две схемы структуризации: физическая, которая определяет хранимые данные (рис. 2).



Рис. 2. Классификация объектов физической модели данных

Страница данных — основная единица осуществления операций обмена (ввода-вывода).

Чанк — представляет собой часть диска, физическое пространство на диске, которое" ассоциировано одному процессу.

Экстент — это непрерывная область дисковой памяти.

Страницы
Blob
предназначены для хранения слабоструктурированной ин­формации, содержащей тексты большого объема, графическую информа­цию, двоичные коды.

Страницы данных. Основными единицами осуществления операций обмена являются страницы данных, управляемые диспетчером дисков. Все данные хранятся постранич­но. Таким образом, с точки зрения СУБД база данных выглядит как набор записей, которые просматриваются с помощью диспетчера файлов. С точки зрения диспетчера файлов база данных выглядит как набор страниц, кото­рые могут просматриваться с помощью диспетчера дисков.

На одной странице хранятся однородные данные, например, только данные или только индексы. Все страницы данных имеют одинаковую структуру, представленную на рис. 3.

Заголовок страницы используется для задания посредством указателей логи­ческой последовательности страниц в данном наборе. Он также содержит информацию о физическом дисковом адресе страницы, которая логически следует за данной страницей.

Заголовки страниц и указатели на следующие страницы обрабатываются только диспетчером дисков и скрыты от диспетчера файлов. Для выполнения своих функций в распоряжении диспетчера дисков имеется каталог (страни­ца 0), содержащий информацию обо всех имеющихся на данном диске на­борах страниц вместе с указателями на первые страницы этих наборов.

С помощью диспетчера дисков удается решить и проблему сохранения ло­гически связанных страниц в физически близко расположенных местах.

Слоты характеризуют размещение строк данных на странице. На одной странице хранится не более 255 строк.

Каждая запись обладает уникальным идентификатором, не изменяемым во все время ее существования, он имеет определенную длину и состоит из номера страницы, на которой данная запись находится, и байта смещения слота от конца страницы, который в свою очередь содержит байт смещения записи от начала страницы (рис. 5). Подобная схема идентификации запи­си сочетает в себе быстроту непосредственной адресации и гибкость кос­венной адресации, тем самым обеспечивая требуемую эффективность поис­ка информации.

Обычно каждая запись хранится целиком в одной странице. Из этого следу­ет, что максимальная длина записи любого отношения ограничена размера­ми страницы.



Рис. 5. Структура идентификационного номера записи

При переполнении страниц создается специальный вид страниц, называе­мых страницами переполнения. Строки, не уместившиеся на основной стра­нице, связываются со своим продолжением на страницах переполнения с помощью ссылок-указателей "вперед", которые содержат номер страницы и номер слота на странице. При следующем переполнении страницы запись опять перемещается таким же образом на новую страницу переполнения.




39. Файловые структуры БД.

Файлы и файловые структуры, широко применяемые практически во всех СУБД для хранения информации во внешней памяти, можно классифици­ровать следующим образом (рис. 6).

Так как файл — это линейная последовательность записей, то всегда в файле можно определить текущую запись, предшествующую ей и следующую за ней.



Рис.6. Классификация файлов, используемых в системах баз данных

Для каждого файла в системе хранится следующая информация:

- имя файла;

- тип файла (например, расширение или другие характеристики);

- размер записи;

- количество занятых физических блоков;

- базовый начальный адрес;

- ссылка на сегмент расширения;

- способ доступа.

Известно, что в соответствии с методами управления доступом различают устройства внешней памяти произвольного и последовательного доступа.

На устройствах последовательного доступа могут быть организованы файлы только последовательного доступа.

Вообще файлы могут иметь постоянную или переменную длину записи. Файлы с переменной длиной записи всегда являются файлами последова­тельного доступа. Файлы с постоянной длиной записи, расположенные на устройствах прямого доступа, являются файлами прямого доступа.

Наиболее перспективным в системах баз данных считается использование файлов прямого доступа, поскольку посредством их обеспечивается наиболее быстрый доступ к произвольным записям. Для файлов с постоянной длиной записи физический адрес расположения нужной записи может быть вычислен по номеру записи. Но доступ по номеру записи в базах данных весьма неэффективен. Чаще всего в базах данных необходим поиск по ключу, для которого необходимо определить соответствующий ему номер записи, а сле­довательно, предпочтительнее связывать между собой не номер записи и физический адрес, а значение ключа записи и номер записи файла.

При организации файлов прямого доступа в некоторых очень редких случаях возможно построение линейной обеспечивающей однозначное соответствие функции, которая по значению ключа однозначно вычисляет номер записи файла. Однако чаще всего такой подход оказывается неприемлемым и тогда приходится искать выход в привлечении других технологий.






40. Физическая организация данных. Хеширование и индексирование.

Хешированием называется технология быстрого прямого доступа к хранимой записи на основе заданного значения некоторого поля, которое может быть даже не ключевым.

Технология хеширования предполагает следующие моменты:

1). Каждая запись БД размещается по адресу, вычисляемому путем применения к значению ключа некоторой функции свертки (хеш-функции), вырабатывающей значение меньшего размера. Свертка значения ключа применяется для того, чтобы избежать неэффективного использования дискового пространства.

2). Свертка значения ключа используется и для доступа к записи. Ее полу­ченное значение берется в качестве адреса начала поиска, тем самым ог­раничивается время поиска (количество дополнительных шагов) для окончательного получения адреса.

В файле может быть только одна структура хеширования или, иначе говоря, одно хеш-поле.

Основным требованием к хеш-функции является равномерное распределе­ние значения свертки, где одному значению хеш-функции может соответст­вовать одно значение ключа. Если для нескольких значений ключа получается одна и та же свертка, то образуются цепочки переполнения. Подобные ситуации называются коллизиями. Значения ключей, которые имеют одно и то же значение хеш-функции, называются синонимами.

Главным ограничением этого метода является фиксированный размер таб­лицы. Если таблица заполнена слишком сильно или переполнена, то возникает слишком много цепочек переполнения и утрачивается главное пре­имущество хеширования: доступ к записи почти всегда за одно обращение к таблице. Расширение таблицы требует ее полной переделки на основе новой хеш-функции (со значением свертки большего размера).

Индексирование. Хотя технология хеширования и может дать высокую эффективность, но для ее реализации не всегда удается найти соответствующую функцию, поэтому при организации доступа к данным широко используются индексные файлы.

Основное назначение индексов состоит в обеспечении эффективного прямого доступа к записи таблицы по ключу. Различают индексированный файл и ин­дексный файл.

Индексированный файл — это основной файл, содержащий данные отношения, для которого создан индексный файл.

Индексный файл — это файл особого типа, в котором каждая запись состоит из двух значений: данных и указателя. Данные представляют поле, по кото­рому производится индексирование, а указатель осуществляет связывание с соответствующим кортежем индексированного файла.

Если индексирование осуществляется по ключевому полю, то индекс называется первичным. Такой индекс к тому же обладает свойством уникальности, т. е. не содержит дуб­ликатов ключа.

Основное преимущество использования индексов заключается в значитель­ном ускорении процесса выборки данных, а основной недостаток — в за­медлении процесса обновления данных (при каждом добав­лении новой записи в индексированный файл потребуется также добавить новый индекс в индексный файл).

Индексы позволяют:

- осуществлять последовательный доступ к индексированному файлу в соответствии со значениями индексного поля для составления запросов на поиск наборов записей;

- осуществлять прямой доступ к отдельным записям индексированного файла на основе заданного значения индексного поля для составления запросов для заданных значений индекса;

- организовать запросы, не требующие обращения к индексированному файлу, а лишь приводящие к проверке наличия данного значения в индексном файле.




41. Виды угроз и основные задачи по защите данных.

Базы данных являются основным информационным ресурсом при реализации современных информационных технологий. В этой связи обеспечение безопасности БД приобретает решающее значение для безопасности организации в целом. Система защиты БД закладывается с начала ее разработки и выполнятся на всех этапах жизненного цикла. Создаваемая система защиты должна быть многоуровневой, адаптируемой к новым условиям функционирования, включать в себя рационально организованную совокупность имеющихся средств, методов и мероприятий. Защита должна быть от злоумышленников и от некомпетентных действий пользователей и обслуживающего персонала.

Для эффективного построения системы защиты необходимо:

- выделить уязвимые элементы информационной технологии;

- выявить угрозы для выделенных элементов;

- сформировать требования к системе защиты;

- выбрать методы и средства удовлетворения предъявленным требованиям.

Безопасность баз данных нарушается вследствие реализации одной или нескольких потенциальных угроз.

Под угрозой понимается возможность преднамеренного или случайного действия, которое может привести к нарушению безопасности хранимой и обрабатываемой в АС информации, в том числе и программ.

Виды угроз: использование прав доступа другого человека; несанкционированное изменение или копирование данных; изменение программ; подключение к кабельным сетям; ввод хакерами некорректных данных; шантаж; похищение данных, программ и оборудования; недостаточная обученность персонала; физическое повреждение оборудования; пожары (по причине коротких замыканий, ударов молний, поджогов), наводнения, диверсии; просмотр и раскрытие засекреченных данных; отказ систем защиты, вызвавший превышение допустимого уровня и т.п.

Можно выделить три основные задачи защиты БД:

- защита информации от хищения;

- защита информации от потери;

- защита от сбоев и отказов.

Защита информации от хищения подразумевает предотвращение физического хищения устройств и носителей хранения информации, несанкционированного получения информации (копирования, подсмотра, перехвата и т. д.) и несанкционированного распространения программ.

Защита информации от потери подразумевает поддержание целостности и корректности информации, что означает обеспечение физической, логической и семантической целостности информации. Информация в системе может быть потеряна как из-за несанкционированного доступа в систему пользователей, программ (в том числе и компьютерных вирусов), некорректных действий пользователей и их программ, обслуживающего персонала, так и в случаях сбоев и отказов в ВС.

Защита от сбоев и отказов аппаратно-программного обеспечения вычислительной системы (ВС) является одним из необходимых условий нормального функционирования системы. Если ВС является ненадежной, информация в ней часто искажается и иногда утрачивается. Основная нагрузка на обеспечение хорошей защиты от сбоев и отказов в системе ложится на системные аппаратно-программные компоненты: процессор, основную память, внешние запоминающие устройства, устройства ввода-вывода и другие устройства, а также программы операционной системы. При недостаточно надежных системных средствах защиту от сбоев следует предусматривать в прикладных программах. Под надежностью ПО понимается способность точно и своевременно выполнять возложенные на него функции. Степень надежности ПО определяется качеством и уровнем автоматизации процесса разработки, а также организацией его сопровождения.






42. Методы и средства защиты данных в вычислительных системах.

Программная защита БД реализуется с помощью различных программ: ОС, программ обслуживания, антивирусных пакетов, СУБД, специализированных программ защиты и готовых прикладных программ. Защита БД перечисленными программными комплексами может осуществляться на двух уровнях:

- внутренний уровень (средствами СУБД);

- внешний уровень (средства ОС, антивирусных пакетов и специальные программы администрирования вычислительного процесса).

В отношении рассмотренных угроз на внутреннем уровне обычно используются следующие программные методы обеспечения защиты БД:

Авторизация и аутентификация  пользователей.

Авторизация – это предоставление прав (или привилегий), позволяющих их владельцу иметь законный доступ к системе или к ее объектам. Средства авторизации пользователей могут быть встроены непосредственно в программное обеспечение и управлять не только предоставленными пользователям правами доступа к системе или объектам, но и набором операций, которые пользователи могут выполнять с каждым доступным ему объектом.

Представление - это динамический результат одной или нескольких реляционных операций с базовыми отношениями с целью создания некоторого иного отношения. Представление является виртуальным отношением, которого реально в базе данных не существует, но которое создается по требованию отдельного пользователя в момент поступления этого требования.

Резервное копирование – это периодически выполняемая процедура получения копии базы данных и ее файла журнала (а также, возможно, программ) на носителе, сохраняемом отдельно от системы.

Поддержка целостности. Средства поддержки целостности данных также вносят определенный вклад в общую защищенность базы данных. К ним относятся:

- встроенные средства контроля значений данных в соответствии с типами;

- повышения достоверности вводимых данных;

- обеспечения целостности связей таблиц;

- организации совместного использования объектов БД в сети.

Встроенные средства контроля значений данных в соответствии с типами позволяют пользователю вводить данные только соответствующие типу поля. В противном случае (например, в числовое поле заносится текстовая информация), СУБД с помощью средств контроля значении блокирует ввод и сообщает пользователю об ошибке звуковым сигналом, изменением цвета вводимых символов или другим способом.

Шифрование – это кодирование данных с использованием специального алгоритма, в результате чего данные становятся недоступными для чтения любой программой, не имеющей ключа дешифрования.

Шифрование для защиты данных в СУБД используется с целью предупреждения возможной угрозы несанкционированного доступа с внешней стороны (по отношению к СУБД). Некоторые СУБД включают средства шифрования, предназначенные для использования в подобных целях. Подпрограммы таких СУБД обеспечивают санкционированный доступ к данным (после их декодирования), хотя это будет связано с некоторым снижением производительности, вызванным необходимостью перекодировки. Шифрование также может использоваться для защиты данных при их передаче по линиям связи.




43. Назначение и технология работы с
CASE средством
Erwin.


Современные CASE-средства (Computer Aided Software Engi­neering) предназначены для автоматизации методологий структур­ного системного анализа и проектирования ИС. Рынок программ­ных средств насчитывает около трехсот различных CASE-средств, наиболее мощные из которых используются практически всеми ведущими западными фирмами и получают все большее распро­странение на российском рынке ПО. CASE-средства являются не­обходимыми инструментами мастерской разработчика современ­ных РИС. Поэтому имеет смысл рассмотреть состав, структуру и функциональные возможности современных CASE. В основе раз­витого CASE-пакета лежит конкретная методология проектирова­ния.

CASE-технологии предлагают новую, основанную на автома­тизации, модель жизненного цикла автоматизированной системы, которая несколько отличается от моделей традиционной разработ­ки (рис. 1). При традиционном подходе основные усилия затрачи­ваются на кодирование и тестирование (65 % всех трудозатрат). Кроме того, осуществляется вручную документирование проекта, составление проектных спецификаций, кодирование. CASE-технологии значительно упрощают, практически заме­няют трудоемкий этап анализа за счет быстрого итеративного прототипирования разрабатываемой системы. С помощью генераторов форм, меню и других CASE-средств генерируется прототип буду­щей системы.

Прототипированию подлежат интерфейс пользовате­ля и известные, наиболее простые, хорошо структурированные функции. Кроме того, CASE-средства обеспечивают автоматиче­ский контроль проекта, автоматическую кодогенерацию и автома­тическую генерацию проектных документов. Основные усилия в случае выбора CASE-модели тратятся на анализ и проектирование, что составляет 80 % трудозатрат. Это дает огромные преимущест­ва, так как ошибки, допущенные, например, на этапе кодирования, исправить значительно проще, чем ошибки, допущенные при ана­лизе и/или проектировании системы, которые могут привести к краху всего проекта в целом.



Рис. 1. Простейшие модели жизненного цикла автоматизированной системы: а) традиционная модель; б) CASE-модель

Обычно к CASE-средствам относят любой программный про­дукт, автоматизирующий разработку и обладающий следующими характерными особенностями:

- наличие мощных графических средств для описания и доку­ментирования информационных систем, обеспечивающих удобный интерфейс с разработчиком;

- возможность интеграции отдельных компонент CASE-средств, обеспечивающей легкость передачи данных между различными компонентами и управляемость процессом разработки ИС;

- использование репозитория — компьютерного хранилища для всей проектной информации.

Интегрированное CASE-средство (комплекс средств), поддер­живающее полный жизненный цикл программного обеспечения, содержит следующие компоненты:

- репозиторий, являющийся основой CASE-средства. Репозиторий обеспечивает хранение версий проекта и его отдельных проектных решений, синхронизацию поступления информации от раз­личных разработчиков группы, контроль метаданных на полноту и непротиворечивость;

- графические средства ввода/вывода;

- графические средства анализа и проектирования, обеспечивающие создание и сопровождение иерархически связанных диа­грамм (DFD, ERD, STD и др.), образующих модель проектируемой системы;

- редства разработки приложений, включая языки 4GL и генераторы кодов;

- средства конфигурационного управления;

- средства документирования;

- средства тестирования;

- средства управления проектом;

- средства реинжиниринга.

Семейство продуктов
ERWin
предназначено для моделиро­вания и создания схемы баз данных на основе ER-модели. В на­стоящее время ERWin является наиболее популярным пакетом, благодаря поддержке широкого спектра СУБД: SQL-серверов Ora­cle, Informix, Sybase SQL Server, MS SQL Server, Progress, DBR, SQLBase, Ingress и других и настольных СУБД: Clipper, dBase, FoxPro, MS Access, Paradox и др.

С помощью ERWin создается ER-модель, определяются атри­буты сущностей, характеристики связей, индексов и бизнес-правил. Пакет автоматически генерирует SQL-код для создания таблиц. индексов и других объектов базы данных. По заданным бизнес-правилам генерируются стандартные триггеры поддержки целост­ности. Для более сложных бизнес-правил можно создавать собст­венные триггеры, используя библиотеку шаблонов.

Для создания клиентской части приложения имеются специ­альные версии пакета, обеспечивающие интеграцию с такими инст­рументами, как Power Builder, Visual Basic, Delphi.




44. Назначение и технология работы с
CASE средством
BPrwin.


Современные CASE-средства (Computer Aided Software Engi­neering) предназначены для автоматизации методологий структур­ного системного анализа и проектирования ИС. Рынок программ­ных средств насчитывает около трехсот различных CASE-средств, наиболее мощные из которых используются практически всеми ведущими западными фирмами и получают все большее распро­странение на российском рынке ПО. CASE-средства являются не­обходимыми инструментами мастерской разработчика современ­ных РИС. Поэтому имеет смысл рассмотреть состав, структуру и функциональные возможности современных CASE. В основе раз­витого CASE-пакета лежит конкретная методология проектирова­ния.

CASE-технологии предлагают новую, основанную на автома­тизации, модель жизненного цикла автоматизированной системы, которая несколько отличается от моделей традиционной разработ­ки (рис. 1). При традиционном подходе основные усилия затрачи­ваются на кодирование и тестирование (65 % всех трудозатрат). Кроме того, осуществляется вручную документирование проекта, составление проектных спецификаций, кодирование. CASE-технологии значительно упрощают, практически заме­няют трудоемкий этап анализа за счет быстрого итеративного прототипирования разрабатываемой системы. С помощью генераторов форм, меню и других CASE-средств генерируется прототип буду­щей системы.

Прототипированию подлежат интерфейс пользовате­ля и известные, наиболее простые, хорошо структурированные функции. Кроме того, CASE-средства обеспечивают автоматиче­ский контроль проекта, автоматическую кодогенерацию и автома­тическую генерацию проектных документов. Основные усилия в случае выбора CASE-модели тратятся на анализ и проектирование, что составляет 80 % трудозатрат. Это дает огромные преимущест­ва, так как ошибки, допущенные, например, на этапе кодирования, исправить значительно проще, чем ошибки, допущенные при ана­лизе и/или проектировании системы, которые могут привести к краху всего проекта в целом.



Рис. 1. Простейшие модели жизненного цикла автоматизированной системы: а) традиционная модель; б) CASE-модель

Обычно к CASE-средствам относят любой программный про­дукт, автоматизирующий разработку и обладающий следующими характерными особенностями:

- наличие мощных графических средств для описания и доку­ментирования информационных систем, обеспечивающих удобный интерфейс с разработчиком;

- возможность интеграции отдельных компонент CASE-средств, обеспечивающей легкость передачи данных между различными компонентами и управляемость процессом разработки ИС;

- использование репозитория — компьютерного хранилища для всей проектной информации.

Интегрированное CASE-средство (комплекс средств), поддер­живающее полный жизненный цикл программного обеспечения, содержит следующие компоненты:

- репозиторий, являющийся основой CASE-средства. Репозиторий обеспечивает хранение версий проекта и его отдельных проектных решений, синхронизацию поступления информации от раз­личных разработчиков группы, контроль метаданных на полноту и непротиворечивость;

- графические средства ввода/вывода;

- графические средства анализа и проектирования, обеспечивающие создание и сопровождение иерархически связанных диа­грамм (DFD, ERD, STD и др.), образующих модель проектируемой системы;

- редства разработки приложений, включая языки 4GL и генераторы кодов;

- средства конфигурационного управления;

- средства документирования;

- средства тестирования;

- средства управления проектом;

- средства реинжиниринга.

Пакет
BPWin
основан на методологии IDEF0 и предназначен для функционального моделирования и анализа деятельности предприятия. Полученная на выходе BPWin функциональная мо­дель представляет собой совокупность SADT-диаграмм, каждая из которых описывает отдельный процесс, разбивая его на шаги и подпроцессы. Имеется возможность указать стоимость, время и частоту выполнения для отдельного процесса, что позволяет опре­делить общую стоимость затрат. Продукт BPWin требует 16 M6RAM, 10 MбHDD, операционная система — MS Windows 95/98/NT [40].






45. Структура приложения
DELPHI (
BUILDER) для БД. Основные компоненты для работы с БД.



Построение приложения Delphi выполняется посредством выбора соответствующих компонентов и сборки их вместе так, чтобы они сформировали единое взаимодействующее целое. Построение приложений для БД в Delphi в этом отношении ничем не отличается.

Обобщенная модель для создания программ для баз данных с помощью Delphi на рисунке 1 иллюстрирует типичную архитектуру организации компо­нентов в приложении для баз данных, построенном с помощью Delphi.



Рис.1 Архитектурные детали приложения для базы данных Delphi

DataSource состоит в осуществлении взаимодействия между таблицей, с одной стороны, и набором работающих с данными элементов, которые отображают данные этой таблицы, — с другой.

Каждый экземпляр компонента DataSource в форме взаимодействует только с одним  компонентом доступа к данным типа Таble или Query. Компонент Table ответственен за абстракцию и инкапсуляцию функциональных возмож­ностей таблицы базы данных. Он выполняет это, либо непосредственно взаимодействуя с BDE, либо делая свои данные доступными для компонентов DataSource, которые могут их затребовать.

Стандартная библиотека классов Delphi  имеет две основные группы компонентов для БД:

- компоненты доступа к данным непосредственно управляют таблицами данных. Они позволяют получать и изменять значения полей внутри записей, а также получать и обрабатывать мета-данные (данные о данных) в БД, типа определений таблиц, списков таблиц, определенных внутри базы данных и т.д.

- связанные с данными управляющие элементы – это визуальные управляющие элементы типа окон списков, полей редактирования, выпадающих комбо-окон и т.д., которые представляют собой не только экранные управляющие элементы, но также предназначены и способны к отображению полей данных таблицы

Компоненты доступа к данным. Компоненты доступа к данным способны устанавливать соединения с физическими базами данных посредством BDE, но они не обеспечивают никаких средств для физического отображения данных в форме.

1. Компонент Table (класс Ttable) инкапсулирует концепцию таблицы базы данных. Он позволяет обращаться к записям, удалять существующие в таблице записи и вставлять в нее новые записи.

Свойства Ttable:

DatabaseName – задает к какой БД принадлежит таблица с которой вы будите работать.

TableName – определяет конкретную таблицу к которой подключается компонент Ttable.

ReadOnLy – установка свойства равным TRUE предотвращает любые попытки изменения данных в таблице.

MasterSource – используется, чтобы связать две таблицы в отношении «владелец-детали».

MasterFields – определяет по каким полям осуществляется связь между таблицами.

Active – установите свойство Active таблицы Table равным TRUE, чтобы фактически открыть таблицу, то есть установить соединение с таблицей базы данных и сделать ее данные доступные для извлечения, отображения и обработки.

2. Компонент Query (класс TQuery) обеспечивает доступ к базе данных посред­ством операторов языка SQL. С помощью компонента Query вы можете строить запросы SQL и выполнять SQL-операторы как над локальными таблицами dBASE и Paradox, так и над базами данных на удаленных серверах SQL.

3. Компонент
TDbEdit.
Компонент DbEdit не определяет никаких специфических методов или событий, отличных от определенных стандартным управляющим элементом редактирования. Все, что вы можете делать со стандартным компонентом Edit, вы может также делать и с DbEdit.

4. Компонент TDbCrid. Он позволяет вам перестраивать порядок колонок сетки во время выполнения.

5. Компонент
TField.
Компонент Field содержит свойства, описывающие структуру колонки (тип данных), текущее значение, форматы отображения и редактирования и так далее.

6. Компонент
Database
(класс TDatabase) позволяет определить дальнейшие подробности соединения с базой данных в дополнение к возможностям, обес­печенным потомком DataSet (ТТаЫе, TQuery). Используя экземпляры клас­са TDatabase, вы можете поддерживать постоянные соединения с базами данных, обеспечивать безопасность вашей базы данных посредством системы паролей и воспользоваться преимуществами управления транзакциями в Bor­land Database Engine.






46. Технология создания БД в среде визуального программирования
DELPHI (
BUILDER).


1. Создание псевдонима базы данных. Локальная БД размещается в каталоге на диске и хранится в виде набора файлов. Для хранения одной таблицы (отношения) создается отдельный файл. Такие же отдельные файлы создаются для хранения индексов таблицы и мемо-полей. Обращение к БД из утилит и программы осуществляется по псевдониму базы данных. Псевдоним должен быть зарегистрирован в файле конфигурации конкретного компьюте­ра при помощи утилиты BDE Administrator.

2. Создание таблиц базы данных.

а). Объявление полей. Для создания таблиц базы данных необходимо запустить утилиту Database Desktop (DBD) из меню Tools. Для создания таблицы БД нужно выбрать элемент главного меню File \ New | Table. В появившемся окне Create Table оставьте без изменения тип создаваемой таблицы (Paradox 7) и нажмите кнопку ОК. После этого появится окно определения структуры таблицы БД.

б). Запоминание таблицы. Нажмите кнопку Save As и в появившемся окне укажите имя с расширением .db.

в). Определение индексов. Всем полям назначьте атрибут Required (требование обязательного существования значения у поля на момент его запоминания в БД). Установите для таблицы Prihod языковый драйвер Pdox ANSI Cyrillic. Нажмите кнопку Define. В появившемся диалого­вом окне в поле Fields содержится список полей определяемой нами таблицы. Поле Index Fields предназначено для хранения полей, входящих в создаваемый индекс. Чтобы скопировать конкретное поле из списка Fields в список Index Fields, нужно нажать кнопку с изображением правой стрелки. Последовательность добавления полей в спи­сок важна, она определяет порядок чередования полей в списке. После того как вы Поместили нужные поля в список Index Fields, нажмите кнопку ОК. В появившемся диалоговом окне запрашивается имя индекса. Введите              имя Sort_DatPrich_Tovar и нажмите ОК.

г). Определение связей между таблицами. Открыть таблицу (элемент меню File \ Table Open) и затем выбрать ре­жим изменения структуры таблицы (Table \ Restructure). В выпадающем списке Table Properties выберать элемент Refrential Integrity и нажать кнопку Define. Сначала указать поле связи для дочерней таблицы.

Переключатели Update rules определяют вид каскадных воздействий на таблицу при изменении значения поля связи в таблице или при удалении в ней записи:

- Cascade - разрешены каскадные изменения и удаления подчиненных записей в дочерней таблице;

- Prohibit - запрещены изменения полей связи или удаление записи в родительской таблице, если для данной записи есть связанные записи в дочерней таблице.

3. Создание приложения. Создайте в каталоге в котором будет размещаться проект приложения. В палитре компонентов на странице Data Access выберите мышью компонент Table, щелкните на нем мышью и затем щелкните мышью на форме. После этого изображение компонента останется в форме.

В окне Инспектора Объектов установите в свойство DatabaseName (псевдоним БД) значение псевдонима БД при помощи выпадающего списка или вручную. Таким же образом установите имя таблицы БД в свойстве TableName. Для свойст­ва Active установите значение True. В этот момент произойдет реальное связывание компонента Table (он по умолчанию имеет имя Table1) с таблицей.

Расположите на форме компонент DataSource. Он служит в качестве связую­щего звена между невизуальными компонентами (в данном случае Table1) и визуаль­ными компонентами, которые мы добавим в форму позднее. Поэтому компоненты DataSource часто называют источниками данных. Установите в свойство DataSet (имя набора данных) компонента значение Table1, выбрав его из выпадающего списка.

Расположим в форме компонент DBGrid, взяв его из палитры компонентов на странице Data Controls. Установите в свойство DataSource компонента значение DataSource1 (это имя, присвоенное по умолчанию созданному нами перед этим компонен­ту DataSource), выбрав его из выпадающего списка. Компонент DBGrid служит для отображения записей набора данных в табличной форме.

Сохраните форму и проект на диске и запустите программу (используйте меню RUN).

Для добавления записи нужно нажать на клавиатуре клавишу Insert или, находясь на последней записи набора данных, клавишу смещения курсора вниз. Таблица автомати­чески перейдет в режим добавления новой записи. После ввода значений в поля записи запомнить запись в наборе данных можно, перейдя на другую запись при помощи кла­виш управления курсором. Отказаться от запоминания записи можно, нажав кнопку Esc.

Для изменения записи следует переместить указатель текущей записи в нужное ме­сто и изменить значения там, где это необходимо. Набор данных автоматически пе­рейдет в режим редактирования.

Для удаления записи следует установить на нее указатель текущей записи и нажать Ctrl+Del.


1. Реферат Понятия мультимедиа
2. Реферат Создание программы, реализующей алгоритм удаления невидимых линий и поверхностей методом Z-буфер
3. Шпаргалка Шпаргалка по Истории экономики
4. Реферат на тему Архитектурные формы Месопотамского искусства
5. Реферат Английская республика
6. Реферат на тему Personality Development (Psychology) In Light Of Kate
7. Реферат Разработка автобусного тура выездного туризма в Прагу
8. Реферат на тему Україна як суб єкт міжнародного економічного права
9. Реферат Метод дисконтированных денежных потоков
10. Реферат на тему Виды ощущений