
- •1. Общее представление о базе данных. Примеры.
- •2. Назначение и основные элементы бд.
- •3. Назначение, основные функции и понятие субд.
- •4. Логическая структура субд.
- •5. Трёхуровневая архитектура бд.
- •6. Жизненный цикл базы данных.
- •7. Архитектура субд, как комплекса программ.
- •8. Краткий обзор dbf–ориентированных локальных субд.
- •9. Краткий обзор серверов баз данных. Informix, Sybase, ms sql, Oracle.
- •10. Модель субд типа «Файл–Сервер». Распределение функций.
- •11. Модель субд типа «Клиент/Сервер». Распределение функций.
- •12. Двухуровневая архитектура «Клиент/Сервер». "Толстый" и "тонкий" клиенты.
- •13. Трехуровневая архитектура «Клиент/Сервер». Api–компонент системы.
- •14. Типы моделей бд. Иерархическая и сетевая модели данных.
- •15. Реляционная модель данных. Структура. Общее представления.
- •16. Понятие домена.
- •17. Отношения, атрибуты и кортежи.
- •18. Формализация отношений в виде таблиц. Сравнение отношений и таблиц.
- •19. Единство трёхуровневой структуры бд.
- •20. Потенциальные ключи. Первичные и альтернативные ключи.
- •21. Null–значения. Целостность сущностей.
- •22. Внешние ключи. Ссылочная целостность. Родительские и дочерние отношения.
- •23. Индексные файлы. Сортировка файлов бд.
- •24. Поиск записей в файле бд. Индексные ключи. Алгоритмы поиска.
- •25. Стратегии ссылочной целостности.
- •26. Основы реляционной алгебры. Операции «Объединение», «Пересечение», «Вычитание», «Де–картово произведение». Примеры.
- •27. Специальные реляционные операции: «Выборка», «Проекция», «Соединение», «Деление». Примеры.
- •28. Понятие о sql и pl/sql. Типы команд sql.
- •29. Типы данных в sql.
- •30. Команды языка определения данных. Create table.
- •31. Команда select. Примеры. Формальное описание.
- •32. Предложение union.
- •33. Предложения where, having, group by
- •34. Команды insert, update, delete.
- •35. Команды управления доступа к данным. Grant, revoke, set role.
- •36. Управление транзакциями с помощью sql.
- •37. Процедурное расширение sql. Структура программы в pl/sql.
- •38. Типы данных определяемые пользователем record и table.
- •39. Предложение into для присваивания переменным значений бд.
- •40. Курсоры.
- •41. Операторы управления if. . . Then. . . , go to.
- •42. Циклы loop, while, for.
- •43. Обработка ошибок в pl/sql. Встроенные исключительные ситуации.
- •44. Процедура Raise_Application_Error.
- •45. Исключительные ситуации, определяемые пользователем.
- •46. Анонимные блоки pl/sql. Процедуры, функции и пакеты.
- •47. Триггеры базы данных. Операторные и строчные триггеры. Примеры.
- •48. Представления.
- •49. Снимки.
- •50. Последовательности.
- •51. Библиотечные функции sql. Числовые функции.
- •52. Библиотечные функции sql. Функции символьного типа.
- •53. Библиотечные функции sql. Функции для работы с датой и временем.
- •54. Библиотечные функции sql. Функции преобразования типов.
- •55. Библиотечные функции sql. Групповые функции.
- •56. Теория проектирования реляционных баз данных. Избыточность. Аномалии обновления, включения и удаления.
- •57. Функциональные зависимости. Примеры.
- •58. Аксиомы Армстронга функциональных зависимостей.
- •59. Замыкания множества зависимостей. Примеры.
- •60. Замыкания множества атрибутов. Примеры
- •61. Неприводимое множество зависимостей.
- •62. Понятие нормальной формы. Иерархия нф.
- •63. Первая нормальная форма. Примеры.
- •64. Декомпозиция без потерь. Теорема Хеза.
- •65. Вторая нормальная форма. Примеры.
- •66. Третья нормальная форма. Примеры.
- •67. Сохранение зависимостей.
- •68. Нормальная форма Бойса–Кодда. Примеры.
- •69. Многозначные зависимости.
- •70. Четвертая нормальная форма. Примеры.
- •71. Зависимости соединения.
- •72. Пятая нормальная форма. Примеры.
- •73. Итоговая схема процедуры нормализации.
- •74. Альтернативные нормальные формы.
- •75. Основные понятия семантического моделирования. Er–диаграммы. Сущность.
- •76. Экземпляр, атрибут, ключ и связи сущностей. Определения и обозначения.
- •77. Пример проектирования простой er–модели.
- •78. Концептуальные и физические er–модели. Примеры.
- •79. Понятие экспертной системы (эс), как специального типа информационной системы.
- •80. Обобщенная модель экспертной системы.
- •81. Основные характеристики эс.
- •82. Базовые функции эс. Приобретение знаний. Представление знаний.
- •83. Управление процессом поиска решений. Разъяснение принятого решения.
- •84. Понятие знания. Основные признаки знания.
- •85. Типы эс.
- •86. Представление знаний в эс. Сетевое представление знаний.
- •87. Представление знаний в эс. Фреймовая модель представление знаний.
- •88. Представление знаний в эс. Продукционная модель знаний. Стратегия управления
- •89. Методология разработки эс.
- •90. Понятие объектно – ориентированной бд.
- •91. Языки программировния ообд.
- •92. Языки запросов ообд.
8. Краткий обзор dbf–ориентированных локальных субд.
DBF – формат хранения данных, используемый в качестве одного из стандартных способов хранения и передачи информации системами управления базами данных, электронными таблицами и т. д.
Достоверно неизвестно, имели ли файлы предшественников dBASE – Vulcan и JPLDIS это расширение, но dBASE II уже использовал DBF–файлы в качестве стандартного формата базы.
В новых версиях – dBASE III, dBASE IV формат файла модифицировался и расширялся. В связи с высокой популярностью этих программ были созданы их многочисленные клоны (обычно их называют общим термином xBASE), некоторые из которых использовали модифицированные версии DBF. То же самое происходило и с целым рядом прикладных пакетов и библиотек, использовавших DBF в различных целях – некоторые их авторы шли по пути добавления новых типов полей, некоторые – вносили серьёзные расширения. В связи с отсутствием какой–то официальной стандартизации в настоящее время достаточно сложно гарантировать, что разрабатываемая прикладная программа будет писать и читать произвольный DBF–файл, но базовая совместимость всё–таки сохраняется.
DBF–файл делится на заголовок, в котором хранится информация о структуре базы (в новых версиях – и о некоторых других характеристиках, например используемой кодовой таблице) и количестве записей и собственно – область данных, представляющую собой последовательно организованную таблицу из записей фиксированной длины. В свою очередь записи делятся на поля также фиксированной длины, которые хранятся в файле непосредственно друг за другом, образуя запись. Первое поле DBF–формата – пометка удаления. Длина поля – 1 символ. Если поле установлено в значение русское «х», то считается, что запись помечена на удаление. Удалённые записи могут быть восстановлены, или физически удалены при выполнении специальной операции, называемой упаковкой (команда PACK xBASE).
С DBF–файлами могут быть так же сопряжены другие файлы – .DBT (dBASE III, IV,Clipper), .FPT (FoxBASE/FoxPRO) и, в некоторых случаях, какие–то ещё, предназначенные для хранения больших объектов переменной длины. .DBT/.FPT–файлы не являются самостоятельными и не могут быть прочитаны без соответствующего им .DBF файла. В связи с этим их описание обычно включают в качестве составной части описания формата .DBF.
9. Краткий обзор серверов баз данных. Informix, Sybase, ms sql, Oracle.
–Informix – семейство систем управления реляционными базами данных (СУБД), выпускаемых компанией IBM. Informix позиционируется как флагманский корабль IBM для онлайновой обработки транзакций (OLTP), также как и для интегрированных решений.
Informix – СУБД класса Enterprise (корпоративная), подходящая для управления данными в среднем и крупном бизнесе.
Отличается высокой надёжностью и быстродействием, встроенными средствами восстановления после отказов, наличием средств репликации данных и обеспечения высокой доступности, возможностью создания распределённых систем.
Поддерживаются почти все известные серверные платформы: IBM AIX, GNU/Linux (RISC and i86), HP UX, SGI Irix, Solaris, Windows NT (NT, 2000), Mac OS.
В линейку программных продуктов под общим названием «Informix» входят следующие СУБД:
IBM Informix Dynamic Server Enterprise Edition (IDS) Исключительно низкие эксплуатационные расходы, обеспечивающий высокую производительность транзакций в среде OLTP, сервер баз данных для предприятий и рабочих групп. Включает возможности для разработки приложений, обеспечения высокой производительности и доступности данных. Включает возможности улучшения производительности транзакций: гибкое выделение памяти, конфигурируемый размер страниц данных, безопасность данных, внешние директивы оптимизатора. Обеспечивает разные виды репликации между серверами на уровне таблиц (Enterprise Replication technology), а также репликацию c высокой доступностью всех данных сервера (HADR), которая позволяет использовать read_only сервер для отчетов одновременно с применением транзакций с основного сервера. Поддерживает стандартные и определенные пользователем типы данных, включая мультимедийные, графические и текстовые данные. Имеет возможности шифрования данных на уровне полей в таблицах, что соответствует таким стандартам, как Sarbanes–Oxley, Basel II and HIPAA.
IBM Informix Dynamic Server Enterprise Edition with J/Foundation – включает все возможности предыдущей архитектуры плюс возможность создавать пользовательские программы (UDR) на языке JAVA, выполняющиеся непосредственно на сервере Informix.
IBM Informix Extended Parallel Server (XPS) сервер управления базами данных уровня high–end, обеспечивает создание очень больших баз и хранилищ данных для критических бизнес–приложений. Позволяет проводить интеграцию традиционных и Web–based приложений. Включает возможности быстрой загрузки очень больших объёмов данных, и обеспечивает повышенную производительность в среде DSS. Обеспечивает масштабирование для работы с большими объёмами информации. Идеальное решение для объединения данных через среду Интернет, создания комбинированных хранилищ и витрин данных, с возможностью конкурентной загрузки и выполнения запросов.
IBM Informix Dynamic Server (IDS) Express создан для среднего и малого бизнеса, упрощенные процедуры создания и развертывания приложений на основе данного сервера делают его идеальным для небольших решений, когда требуется минимальный уровень администрирования. Включает возможности отказоустойчивости и повышенной производительности. Обеспечивает функции автоматизированного бэкапа и восстановления. Поддерживает широкий набор средств разработки приложений, таких как Eclipse, IBM Rational Application Developer и Microsoft Visual Studio .NET.
IBM Informix OnLine Extended Edition легкий в использовании, встраиваемый сервер управления базами данных для низких и средних нагрузок. Обеспечивает работу в среде OLTP, различные типы данных включая мультимедийные, поддерживает широкий спектр средств разработки приложений.
IBM Informix Standard Engine (SE) встраиваемый сервер баз данных, созданный для разработки небольших приложений, с минимальным администрированием.
IBM Informix Red Brick Warehouse реляционная СУБД для Business Intelligence приложений, объединяет e–business–окружение с легкими для развертывания, использования и администрирования а также низкой стоимостью владения, витринами и хранилищами данных Red Brick.
–Sybase Inc. – пионер среди компаний, специализирующихся на разработке реляционных баз данных, а также других продуктов, связанных со сбором, обработкой и хранением данных. Кроме названия компании, слово «Sybase» также часто используется как наименования наиболее широко известного её продукта – системы управления базами данных Adaptive Server Enterprise.
Основные продукты
Обработка данных
Adaptive Server Enterprise (ASE) – промышленная реляционная СУБД. Самый известный продукт компании
Sybase Adaptive Server Anywhere (ASA) – недорогая, но полнофункциональная реляционная СУБД, подходящая для работы на слабых и средних аппаратных ресурсах и мобильных устройствах (этот продукт является переработанной версией Watcom SQL–сервера). Между ASA и ASE обеспечивается совместимость по реализации SQL, но не на уровне двоичного интерфейса.
Sybase IQ – аналитическая СУБД, предназначена для построения хранилищ данных, принципиально отличается своей внутренней структурой от традиционных реляционных СУБД, что позволяет ей повышать скорость работы аналитических запросов в 50–100 раз
Sybase Replication Server (RS) – Сервер репликации данных между БД различных производителей
Средства разработки
PowerBuilder – собственная среда разработки приложений, с собственным скриптовым языком. Известен своей технологией DataWindow, при помощи которой очень быстро можно создавать формы взаимодействия с базой данных
PocketBuilder – собственная среда разработки мобильных приложений для платформ Pocket PC и Windows Mobile
Workspace – среда разработки сервис ориентированных приложений (SOA) на базе оболочки Eclipse.
Средства проектирования
PowerDesigner – средство проектирования. Включает модели: логические и физические модели данных (физическая модель с возможностями генерации и reverse engineering), анализ бизнес–процессов, анализ требований, объектно–ориентированный анализ с возможностями генерации и reverse engineering, XML–модель
Сервера приложений
Enterprise Application Server – сервер приложений от Sybase. Отличается тем, что в его основе лежит протокол CORBA. Это позволяет ему поддерживать не только J2EE компоненты, но и Java–CORBA, С, С++, ActiveX, .NET, PowerBuilder. Также содержит внутри себя Web–конейнер с поддержкой Servlet/JSP, встроенная JMS–шина, поддержка веб–сервисов.
Интеграция, портальные решения
Unwired Accelerator – портальное решение Sybase. Отличается возможностью разработки приложений для мобильных устройств, большинство действий выполняется без программирования
Unwired Orchestrator – среда для интеграции приложений. Интеграция осуществляется за счет визуального построения бизнес–процессов на базе сервисов. Сервисом может выступать не только веб–сервис, но и хранимая процедура базы данных, файл в файловой системе, сообщение в очереди сообщений и др.
Мобильные решения
OneBridge – Инструмент для защищенной доставки корпоративной почты, PIM данных и приложений на мобильные устройства. Совместим с Microsoft Exchange и Lotus Notes. Поддерживается синхронизация с мобильными устройствами, работающими на базе следующих операционных систем:Windows Mobile (Pocket PC, Pocket PC Phone Edition, и Smartphone), Palm OS 3.5 и выше, Symbian 6.0 и выше, OMA Data Sync (ранее SyncML) 1.0.1 и выше. OneBridge поддерживает более 150 типов мобильных устройств.
Afaria – Инструмент предназначен для администрирования парка мобильных устройств. Поддерживает широкий список типов устройств (Windows Mobile (Pocket PC, Windows Mobile 5.0, сматрфоны),Windows 32, RIM BlackBerry, Palm OS, Symbian), предназначен для работы в различных сетях передачи данных (GPRS/EDGE/3G,W–LAN, например, 802.11b/g, инфракрасные порты, Bluetooth). В функции администрирования включены возможности централизованной установки ПО, конфигурация устройств, инвентаризация, отслеживание лицензий, рассылка документов, backup, защита данных на устройствах и т.п.
–Microsoft SQL Server – система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов – Transact–SQL, создан совместно Microsoft и Sybase. Transact–SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет – для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.
Функциональность
Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact–SQL (сокращённо T–SQL), являющуюся реализацией SQL–92 (стандарт ISO для SQL) с множественными расширениями. T–SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.
Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) – интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб–сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.
SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL – это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.
SQL Server поддерживает избыточное дублирование данных по трем сценариям:
* Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
* История изменений: Все изменения базы данных непрерывно передаются пользователям.
* Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.
В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.
Разработка приложений
Microsoft и другие компании производят большое число программных средств разработки, позволяющих разрабатывать бизнес–приложения с использованием баз данных Microsoft SQL Server. Microsoft SQL Server 2005 включает в себя также Common Language Runtime (CLR) Microsoft .NET, позволяющий реализовывать хранимые процедуры и различные функции приложениям, разработанным на языках платформы .NET (например, VB.NET или C#). Предыдущие версии средств разработки Microsoft использовали только API для получения функционального доступа к Microsoft SQL Server.
–Oracle Database или Oracle DBMS – объектно–реляционная система управления базами данных (СУБД).
Особенности
* MVCC (англ. MultiVersion Concurrency Control) Многоверсионность данных для управления параллельными транзакциями
* Секционирование – позволяет большие структуры базы данных (таблицы, индексы) разбить на меньшие кусочки.
* Автономные транзакции – представляют собой новый метод управления транзакциями. Автономные транзакции позволяют создавать новые подтранзакции (subtransaction), которые могут сохранять или отменять изменения вне зависимости от родительской транзакции.
* Automatic Storage Management Автоматическое управление хранением файлов БД
* Пакеты[2]
* sequence
* Аналитические функции – Ряд запросов, которые сложно сформулировать на обычном языке SQL, весьма типичны. С помощью аналитических функций подобные операции не только проще записываются, но и быстрее выполняются по сравнению с использованием чистого языка SQL.(подсчет сумм, подсчет процентов в группе и т.д)
* Profile manager
* Oracle Label Security[4]
* Streams[5]
* Advanced Queuing
* Flashback Query – ретроспективные запросы, функциональная возможность Oracle RDBMS, позволяющая запрашивать данные так, как если бы это было сделано в заданный момент времени в прошлом.
* RAC (англ. Real Application Clusters)
* Объектно–ориентированные свойства
* Automatic Database Diagnostic Monitoring – Автоматический мониторинг и диагностика БД для выявления проблем производительности и, возможно, автоматической корректировки (если таковая определена администратором)