- •1. Файловая организация данных в автоматизированных информационных системах, ее недостатки.
- •2. Традиционные файловые системы. Подход, используемый в файловых системах. Достоинства и недостатки.
- •3. Понятие базы данных. Преимущества базы данных.
- •4. Понятие базы знаний. Структура и функции системы управления базой знаний. Язык запросов к базе знаний
- •5. Приложения базы данных. Компоненты базы данных.
- •6. Трехуровневая модель организации баз данных.
- •7. Понятие модели данных. Иерархическая модель, ее достоинства и недостатки.
- •8. Сетевая модель, ее достоинства и недостатки.
- •9. Реляционная модель. Ее базовые понятия (отношение, домен, кортеж, степень отношения), достоинства и недостатки.
- •10. Связь между таблицами в реляционной модели данных. Первичный и внешний ключи, их отличия.
- •11. Реляционная целостность: целостность отношений, ссылочная целостность.
- •12. Постреляционная модель, ее достоинства и недостатки.
- •13. Объектно-ориентированная модель данных. Ее базовые понятия (объекты, классы, методы, наследование, инкапсулирование, расширяемость, полиморфизм), достоинства и недостатки.
- •14. Объектно-реляционная модель данных, ее достоинства и недостатки.
- •15. Реляционная алгебра. Традиционные операции над множествами.
- •16. Реляционная алгебра. Специальные реляционные операции.
- •17. Реляционная алгебра. Соединения. Зависимость реляционных операторов.
- •18. Реализация реляционной алгебры средствами операторов Structured Query Language (sql)
- •19. Понятие проектирования базы данных. Требования, предъявляемые к базе данных.
- •20. Этапы жизненного цикла базы данных.
- •21. Жизненный цикл информационной системы. Проектирование баз данных. Цели и задачи проектирования. Проектирование реляционной бд. Формулирование и анализ требований.
- •22. Модель "сущность-связь", ее понятия: сущность, атрибут, экземпляр сущности, связь, мощность связи. Представление сущности и связи на er-диаграмме.
- •23. Типы связи, их представление на er-диаграмме.
- •24. Класс принадлежности сущности, его представление на er-диаграмме.
- •25. Правила преобразования er-диаграмм в реляционные таблицы в случае связи 1:1.
- •26. Правила преобразования er-диаграмм в реляционные таблицы в случае связи 1:м, м:n.
- •27. Проблемы er-моделирования (ловушка разветвления, ловушка разрыва, ловушка соединения)
- •28. Нормализация таблиц, ее цель. Первая нормальная форма. Вторая нормальная форма. Третья нормальная форма.
- •29. Нормализация таблиц, ее цель. Третья нормальная форма. Четвертая нормальная форма. Нормальная форма Бойса-Кодда.
- •30. Планирование и проектирование баз данных. Концептуальное проектирование. Логическое проектирование. Физическое проектирование. Критерии оценки качества модели.
- •31. Концептуальное проектирование, его цель и процедуры.
- •32. Логическое проектирование, его цель и процедуры.
- •33. Физическое проектирование, его цель и процедуры.
- •34. Основы проектирования баз данных. Словарь данных. Устранение дефектов модели.
- •35. Понятие субд. Архитектура субд.
- •36. Функциональные возможности и производительность субд.
- •37. Классификация субд. Режимы работы пользователя с субд.
- •38. Направления развития субд: расширение множества типов обрабатываемых данных, интеграция технологий баз данных и Web-технологий, превращение субд в системы управления базами знаний.
- •39. Назначение, стандарты, достоинства языка sql.
- •40. Понятие языка запросов к базе данных. Операторы Structured Query Language (sql). Порядок выполнения оператора select
- •41. Структура команды sql.
- •42. Типы данных и выражения в sql.
- •43. Возможности языка sql по: определению данных, внесению изменений в базу данных, извлечению данных из базы.
- •44. Условия целостности в субд. Понятие транзакции. Обработка транзакций в sql.
- •45. Понятие ограничения целостности базы данных. Классификация ограничений целостности. Реализация ограничений целостности средствами sql
- •46. Управление доступом к данным: привилегии, их назначение и отмена.
- •47. Встраивание sql в прикладные программы.
- •48. Диалекты языка sql в субд.
- •49. Эволюция концепций обработки данных.
- •50. Индексирование в базах данных. Управление индексами. Сортировка данных.
- •51. Системы совместного использования файлов. Обработка запросов в них. Недостатки систем.
- •52. Настольные субд, их достоинства и недостатки.
- •53. Клиент/серверные системы: клиенты, серверы, клиентские приложения, серверы баз данных.
- •54. Функции клиентского приложения и сервера баз данных при обработке запросов. Преимущества клиент/серверной обработки.
- •55. Общие сведения о хранимых процедурах и триггерах.
- •56. Характеристики серверов баз данных.
- •57. Механизмы доступа к данным базы на сервере.
- •58. Понятие и архитектура распределенных баз данных (РаБд). Гомогенные и гетерогенные РаБд. Стратегии распределения данных в РаБд.
- •59. Распределенные субд (РаСубд). Двенадцать правил к. Дейта.
- •2.Отсутствие опоры на центральный узел.
- •3.Непрерывное функционирование.
- •4.Независимость от расположения.
- •5.Независимость от фрагментации.
- •6.Независимость от репликации.
- •7.Обработка распределенных запросов.
- •8. Обработка распределенных транзакций
- •60. Обработка распределенных запросов. Преимущества и недостатки РаСубд.
- •61. Хранилища данных. Olap-технология.
- •62. Многомерная модель данных. Olap.
- •63. Пользователи базы данных. Администратор базы данных, его функции.
- •64. Актуальность защиты базы данных. Причины, вызывающие ее разрушение.
- •65. Методы защиты баз данных: защита паролем, шифрование, разграничение прав доступа.
- •66. Восстановление базы данных с помощью резервного копирования базы данных, с помощью журнала транзакций.
- •67. Понятие транзакции. Проблемы параллельной работы транзакций
- •68. Конфликты между транзакциями. Способы разрешения конфликтов
- •69. Механизм блокировок. Типология блокировок. Примеры использования различных типов блокировок
- •70. Назначение блокировок. Проблемы, связанные с установкой блокировок. Преднамеренные блокировки
- •71. Альтернативные методы обеспечения сериализуемости транзакций: метод временных меток, метод выделения версий данных
- •72. Архитектура сетевого приложения, взаимодействующего с базой данных. Техника создания приложений и апплетов на языке Java, взаимодействующих с базами данных.
21. Жизненный цикл информационной системы. Проектирование баз данных. Цели и задачи проектирования. Проектирование реляционной бд. Формулирование и анализ требований.
Совокупность стадий и этапов, которые проходит ИС в своем развитии от момента принятия решения о создании системы до момента прекращения функционирования системы, называется жизненным циклом ИС.
Содержание жизненного цикла разработки ИС сводится к выполнению следующих стадий:
1. Планирование и анализ требований (предпроектная стадия) ─ системный анализ. Проводится исследование и анализ существующей информационной системы, определяются требования к создаваемой ИС, формируются технико-экономическое обоснование (ТЭО) и техническое задание (ТЗ) на разработку ИС;
2. Проектирование (техническое и логическое проектирование). В соответствии с требованиями формируются состав автоматизируемых функций (функциональная архитектура) и состав обеспечивающих подсистем (системная архитектура), проводится оформление технического проекта ИС;
3. Реализация и тестирование (рабочее и физическое проектирование, кодирование). Разработка и настройка программ, формирование и наполнение баз данных, формулировка рабочих инструкций для персонала, оформление рабочего проекта;
4. Внедрение (опытная эксплуатация). Комплексная отладка подсистем ИС, обучение персонала, поэтапное внедрение ИС в эксплуатацию по подразделениям организации, оформление акта о приемо-сдаточных испытаниях ИС;
5. Эксплуатация ИС (сопровождение, модернизация). Сбор рекламаций и статистики о функционировании ИС, исправление недоработок и ошибок, оформление требований к модернизации ИС и ее выполнение (повторение стадий 2-5).
Проектирование баз данных
Проектирование баз данных - процесс решения класса задач, связанных с созданием баз данных. Основные задачи:
-
Обеспечение хранения в БД всей необходимой информации.
-
Обеспечение возможности получения данных по всем необходимым запросам.
-
Сокращение избыточности и дублирования данных.
-
Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д.
Подходы к проектированию базы данных
Существуют два основных подхода к проектированию систем баз данных: нисходящий и восходящий. При восходящем подходе работа начинается с самого нижнего уровня атрибутов (т.е. свойств сущностей и связей), которые на основе анализа существующих между ними связей группируются в отношения, представляющие типы сущностей и связи между ними. Например процесс нормализации представляет собой вариант восходящего подхода при проектировании баз данных. Нормализация предусматривает идентификацию требуемых атрибутов с последующим созданием из них нормализованных таблиц, основанных на функциональных зависимостях между этими атрибутами.
Восходящий подход в наибольшей степени приемлем для проектирования простых баз данных с относительно небольшим количеством атрибутов. Однако использование этого подхода существенно усложняется при проектировании баз данных с большим количеством атрибутов, установить среди которых все существующие функциональные зависимости довольно затруднительно. Поскольку концептуальная и логическая модели данных для сложных баз данных могут содержать от сотен до тысяч атрибутов, очень важно выбрать подход, который помог бы упростить этап проектирования. Кроме того, на начальных стадиях формулирования требований к данным в крупной базе данных может быть трудно установить все атрибуты, которые должны быть включены в модели данных.
Более подходящей стратегией проектирования сложных баз данных является использование нисходящего подхода. Начинается этот подход с разработки моделей данных, которые содержат несколько высокоуровневых сущностей и связей, затем работа продолжается в виде серии нисходящих уточнений низкоуровневых сущностей, связей и относящихся к ним атрибутов. Нисходящий подход демонстрируется в концепции модели "сущность-связь". В этом случае работа начинается с выявления сущностей и связей между ними, интересующих данную организацию в наибольшей степени. Например, сначала можно было бы идентифицировать сущности PrivateQwner (Владелец) и PropertyForRent (Объект недвижимости), затем установить между ними связь PrivateOwner Owns (Владеет) PropertyForRent и лишь после этого определить связанные с ними атрибуты — например, PrivateOwner {ownerNo, name, address) и PropertyForRent (propertyNo, address).
Кроме этих подходов для проектирования баз данных могут применяться другие подходы, например, подход "от общего к частному" или "смешанная стратегия проектирования". Подход "от общего к частному" напоминает восходящий подход, но отличается от него тем, что вначале выявляется набор основных сущностей с последующим расширением круга рассматриваемых сущностей, связей и атрибутов, которые взаимодействуют с первоначально определенными сущностями. В смешанной стратегии сначала используются восходящий и нисходящий подходы для создания разных частей модели, после чего все подготовленные фрагменты собираются в единое целое.
Этапы проектирования базы данных:
-
концептуальное проектирование
-
логическое проектирование
-
физическое проектирование
Цели и задачи проектирования
Неудачи при создании программного обеспечения были вызваны следующими причинами:
-
отсутствием полной спецификации всех требований;
-
отсутствием приемлемой методологии разработки;
-
недостаточной степенью разделения общего глобального проекта на отдельные компоненты, поддающиеся эффективному контролю и управлению.
Для разрешения этих проблем был предложен структурный подход к разработке программного обеспечения, называемый жизненным циклом информационных систем (Information Systems Lifecycle), или жизненным циклом разработки программного обеспечения (Software Development LifeCycle — SDLC). Далее будет использоваться только термин "жизненный цикл информационных систем".
Формулирование и анализ требований
Планирование разработки базы данных должно быть неразрывно связано с общей стратегией построения информационной системы организации. При выработке такой стратегии необходимо решить следующие основные задачи:
-
определение бизнес-планов и целей организации с последующим выделением ее потребностей в информационных технологиях;
-
оценка показателей уже существующих информационных систем с целью выявления их сильных и слабых сторон;
-
оценка возможностей использования информационных технологий для достижения преимуществ перед конкурентами.
Первым важным шагом в планировании базы данных является четкое определение технического задания для проекта базы данных. В техническом задании должны быть определены основные цели приложения базы данных. В разработке технического задания, как правило, участвуют те представители предприятия, которые стали инициаторами разработки проекта базы данных (например, директор или владелец предприятия). Техническое задание позволяет уточнить назначение проекта базы данных и наметить пути к созданию эффективного приложения базы данных. После подготовки технического задания необходимо определить технические требования. Технические требования должны содержать перечень конкретных задач, реализуемых с использованием базы данных. При этом следует исходить из того, что цели, поставленные в техническом задании, будут достигнуты, если база данных обеспечивает выполнение задач, которые определены в технических требованиях. Для обоснования технического задания и технических требований должна быть подготовлена определенная дополнительная информация, позволяющая охарактеризовать в общих чертах, какая работа должна быть выполнена и какие ресурсы, в том числе финансовые, необходимо на это выделить.
Планирование разработки баз данных должно также включать разработку стандартов, которые определяют, как будет осуществляться сбор данных, каким будет их формат, какая потребуется документация и как будет выполняться проектирование и реализация приложений. Разработка и сопровождение стандартов могут быть связаны с немалыми затратами времени, причем на их первоначальное внедрение и последующее сопровождение могут потребоваться значительные ресурсы. Однако четко определенный набор стандартов позволяет создать хорошую основу для последующего обучения персонала и организации контроля качества, а также гарантировать выполнение работ по строго определенным образцам, независимо от навыков и опыта. Например, специальные правила могут определять, как присваиваются имена элементам данных, описываемых в словаре данных, что, в свою очередь, позволит предотвратить их избыточность и противоречивость. Кроме того, необходимо тщательно документировать любые существующие юридические или технические требования к данным (например, строгое соблюдение их конфиденциальности и т.п.).
Определение требований к системе. Прежде чем перейти к проектированию приложения базы данных, важно установить задачи исследуемой системы и способы взаимодействия приложения с другими частями информационной системы организации. Эти задачи должны учитывать не только работу текущих пользователей и области применения разрабатываемой системы, но и будущих пользователей и другие возможные области применения. На рисунке приведена схема, которая определяет состав задач и область применения приложения базы данных для фирмы по продаже недвижимости. Кроме описания области применения приложения базы данных, необходимо определить основные пользовательские представления, которые поддерживаются базой данных.
Пользовательские представления. В приложении базы данных может быть предусмотрено одно или несколько пользовательских представлений. Определение пользовательских представлений является существенной составляющей разработки приложения базы данных, поскольку позволяет гарантировать, чтобы ни одна важная категория пользователей базы данных не была исключена из рассмотрения при разработке требований к новому приложению. Пользовательские представления являются особенно полезными при создании относительно сложных приложений базы данных, поскольку позволяют разделить всю совокупность требований к базе данных на легко анализируемые группы.
Любое пользовательское представление определяет требования к приложению базы данных в части хранимых в ней данных и транзакций, выполняемых над данными (т.е. оно определяет, какие действия и над какими данными должен выполнять тот или иной пользователь). Требования пользовательского представления могут относиться только к данному представлению или частично совпадать с требованиями других представлений. На рисунке схематически изображена предметная область приложения базы данных с несколькими пользовательскими представлениями (которые обозначены цифрами 1-6). Обратите внимание, что требования некоторых пользовательских представлений (1—3, а также 5 и 6) частично перекрываются (это показано штриховкой), а требования пользовательского представления 4 являются индивидуальными.
Сбор и анализ требований пользователей. Проектирование базы данных основано на сборе и анализе информации о той части организации, которая будет обслуживаться базой данных. Сбор информации осуществляется для последующего создания основных пользовательских представлений (к ним относятся пользовательские представления для основных категорий пользователей или направлений деятельности предприятия). Ниже перечислена информация, которая требуется для решения указанной задачи.
-
Описание применяемых или вырабатываемых данных.
-
Подробные сведения о способах применения или выработки данных.
-
Все дополнительные требования к создаваемому приложению базы данных.
Эта информация затем анализируется для определения требований (или средств), которые должны быть реализованы в разрабатываемом приложении базы данных. Эти требования описываются в документах, известных под общим названием спецификации требований к новому приложению базы данных.
Сбор и анализ требований является предварительным этапом концептуального проектирования базы данных, в ходе которого спецификации требований пользователей анализируются с целью выяснения всех необходимых сведений. Объем собранных данных зависит от сути проблемы и действующих бизнес-правил предприятия. Слишком тщательный анализ легко может привести к параличу сверханализа (paralysis by analysis), а слишком поверхностный — к пустой трате времени и денежных средств на проведение работ по реализации решения, которое окажется ошибочным в результате неправильной формулировки проблемы.
Собранная на этом этапе информация может быть плохо структурирована и включать некоторые неформальные заявления пользователей, которые впоследствии потребуется преобразовать и представить в виде более четко сформулированных требований. Эта цель достигается с помощью методов составления спецификаций требований, к числу которых относятся, например, технология структурного анализа и проектирования (Structured Analysis and Design — SAD), диаграммы потоков данных (Data Flow Diagrams — DFD) и графики "вход-процесс-выход" (Hierarchical Input Process Output — HIPO), дополненные соответствующей документацией. Как будет показано ниже, для получения гарантий того, что составленный набор требований является полным и непротиворечивым, могут использоваться CASE-инструменты, предназначенные для автоматизированного проектирования и создания программ.
Определение набора требуемых функциональных возможностей приложения базы данных является важным направлением проектирования, поскольку системы с неадекватным или неполным перечнем функциональных средств будут лишь раздражать пользователей, что может привести к отказу от работы в системе или лишь к частичному ее использованию. Однако чрезмерно расширенный набор функциональных возможностей также может стать источником проблем, поскольку может вызвать существенное усложнение системы и, как следствие, дополнительные затруднения в ее реализации, сопровождении, использовании и обучении персонала.