Работа с СУБД Oracle. Обзор
Характеристика особенностей сетевого программного обеспечения. Исследование файлов базы данных. Ознакомление с процессами разделяемого сервера. Изучение свободного пространства и автоматической организации непрерывных участков. Анализ целостности данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курс лекций |
Язык | русский |
Дата добавления | 15.06.2018 |
Размер файла | 602,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В Oracle8 применяются таблицы, разделенные по диапазонам (range partitioned tables). Значение ключа разделов для какой-либо строки определяет, в каком разделе она хранится. Ключ разделов (partition key) таблицы -- это столбец или упорядоченный набор столбцов (до 16), характеризующий физическое разделение строк этой таблицы. Чтобы предотвратить нерациональное расходование ресурсов при переносе строк из раздела в раздел, приложениям никогда не следует обновлять данные, содержащиеся в ключе разделов таблицы.
Можно задать диапазоны данных для разделов некоторой таблицы, указав верхнюю границу для каждого (не входящую в состав данного раздела). В каждом из них (исключая первый) имеется скрытое нижнее значение, которое представляет собой верхнюю границу предшествующего раздела. Таким образом, нужно создавать табличные разделы так, чтобы их диапазоны возрастали по значениям.
21.5.2 Размещение строк в разделах данных
Чтобы проиллюстрировать размещение строк в таблицах, разделенных по диапазонам, посмотрим, xто происходит, когда приложение вносит в таблицу запись о клиенте, живущем в штате Арканзас (AR -- Arkansas). Oracle сравнивает первый символ кода штата AR со значением, определяющим первый раздел таблицы, P1. А меньше Н, поэтому новая строка помещается в раздел P1, который физически хранится в файле данных табличной области DATA01. Аналогично, когда вводятся данные о новом клиенте из Ныо-Джерси (NJ --New Jersey), запись о новом клиенте размещается в разделе P3 (NJ меньше NM), который физически хранится, в файле данных табличной области DATA03 и т.д.
21.6 Разделенные индексы
Для некластеризонанных таблиц в Oracle8 поддерживается разделение индексов по диапазону. Как и в таблицах, каждый раздел индекса имеет те же самые логические атрибуты (столбцы индекса), но может иметь разные физические характеристики (размещение табличных областей и параметры хранения). Ключ разделов индекса устанавливает, в каком разделе хранятся индексные элементы. Он должен состоять из одного или нескольких столбцов, определяющих этот индекс. Описание диапазонов разделов индекса аналогично описанию разделов таблицы:
21.7 Имена таблиц с учетом разделов
В Oracle8 предлагается уникальная синтаксическая конструкция для команд, называемая именами таблиц с учетом разделов, которая, может использоваться разработчиками приложений при создании SQL-операторов, работающих с разделенными таблицами. Имя таблицы с учетом разделов (partition-extended table name) -- это простой, но эффективный синтаксис, позволяющий приложениям просматривать как таблицы, так и их разделы. Например, с помощью следующего' запроса из нужного раздела таблицы выбираются все клиенты, проживающие в Калифорнии (СА - California):
SELECT * FROM usa.customers PARTITION (p1);
Хотя такие имена могут повысить производительность некоторых SQL-операторов, разработчикам следует внимательнее подходить к использованию этого синтаксиса в SQL-опсраторах приложений.
Дело в том, что в именах таблиц с учетом разделов указываются характеристики физического хранения табличных данных. Вообще говоря, не стоит использовать в программах приложений SQL-операторы, которые создают взаимосвязи между физическими областями диска и таблицами, -- такие взаимосвязи могут привести к прекращению функционирования приложения, если впоследствии физическое место хранения одной из таблиц изменится.
Если имена таблиц с учетом разделов при разработке приложения все же применяются, не забывайте, что такие имена являются расширением ANSI/ISO (языка SQL), вводимым в Oracle. Когда нужно использовать имена таблиц с учетом разделов и'при этом сохранить переносимость приложения, создавайте представления с указанием таких имен и. применяйте, для этих., представлений стандартные SQL-операторы. Например:
CREATE VIEW v1 AS SELECT * FROM t1 PARTITION (pi)
SELECT* FROM v1;
21.8 Управление разделением
Oracle8 полностью поддерживает работу с разделенными таблицами и индексами. Например:
* Можно преобразовать неразделенную таблицу в разделенную, и наоборот.
* Можно добавить новые разделы таблицы к уже существующим.
* Можно разбивать и объединять разделы, расположенные в середине таблицы.
* Можно удалять разделы таблицы, не содержащие строк.
* Можно укорачивать отдельные разделы таблицы, а не всю таблицу в целом.
22. Основные компоненты SQL*Loader
Для SQL*Loader необходима входная информация двух типов: внешние данные, которые могут располагаться на диске или ленте, и управляющая информация (содержащаяся в управляющем файле), описывающая входные данные, а также таблицы и столбцы, в которые осуществляется загрузка. Выходные данные включают таблицы Oracle, файл протокола, файл отсеянных и файл отвергнутых записей. От вывода некоторых файлов можно отказаться.
22.1 Входные данные
SQL*Loader может обрабатывать практически любые типы файлов данных и поддерживает "родные" типы данных почти всех платформ. Данные обычно читаются из одного или нескольких файлов данных; однако данные также могут быть помещены в управляющий файл после управляющей информации. Файл данных может иметь фиксированный или переменный формат.
В файле фиксированного формата данные находятся в записях фиксированной длины, которые имеют одинаковый формат. Поле данных определено позициями начала и конца поля в записи и содержит данные одного типа и одной длины во всех записях файла. Двоичные данные должны загружаться из файла фиксированного формата, так как SQL*Loader не может воспринимать их в переменном формате.
В файлах переменного формата данные находятся в записях, длина которых определяется суммой длин данных в полях. Поле имеет ровно такую длину, какая необходима для размещения данных. Поля в файлах переменного формата могут отделяться одно от другого символами-разделителями (такими как запятые или пробелы), быть окаймлены символами-ограничителями (такими как кавычки) или разделяются и тем, и другим.
При работе с файлами с символами-разделителями удостоверьтесь, что поля, содержащие символ-разделитель как часть данных, охвачены символами-ограничителями. Например, для файла с разделением запятой можно использовать двойные кавычки, чтобы окаймить ими поле, содержащее запятую.
Для увеличения производительности, используйте записи фиксированной длины. SQL*Loader тратит на обработку файла переменного формата приблизительно на 50 процентов времени больше, по сравнению с файлом фиксированного формата.
С помощью средства поддержки национальных языков (National Language Support -- NLS) SQL*Loader может преобразовать данные с различными схемами кодирования символов, других компьютерных платформ и других стран. Например, SQL*Loader может загрузить файл EBCDIC в базу данных на ASCII платформе или файл с азиатским символьным набором -- в базу данных с американским символьным набором.
22.2 Управляющий файл
Прежде чем SQL*Loader сможет обрабатывать файлы данных, нужно создать описание данных. Управляющий файл используется для задания физических спецификаций файлов данных, а также формата данных в файлах. Управляющий файл -- это текстовый файл, который содержит инструкции, указывающие SQL*Loader, как обрабатывать данные. Управляющий файл детально рассмотрен ниже.
22.3 Файл протокола загрузки
При выполнении SQL*Loader создает файл протокола, содержащий детализированную информацию о процессе загрузки, включая следующее:
* Имена входных файлов данных, управляющего файла, файлов отсеянных и отвергнутых записей
* Входные данные и спецификации соответствующих таблиц
* Ошибки SQL*Loader
* Результаты SQL*Loader
* Итоговую статистику
22.4 Файлы отвергнутых и отсеянных записей
SQL*Loader может на основании содержащейся в управляющем файле информации выполнить проверку входной записи на соответствие, во-первых, требованиям формата, и во-вторых, критериям отбора записей.
Если SQL*Loader считает запись приемлемой, она передается ядру Oracle для вставки в таблицу базы данных.
Если SQL*Loader бракует запись из-за ошибки формата или ядро Oracle по каким-либо причинам не может вставить запись в таблицу (таблицы) базы данных, тогда входная запись записывается в файл отвергнутых записей. Если SQL*Loader отклоняет запись из-за несоответствия критериям отбора записи, входная запись записывается в файл отсеянных записей (если это указано в управляющем файле). Так как формат файлов отсеянных и отвергнутых записей идентичен формату файла исходных данных, отбракованные записи можно отредактировать и загрузить в БД в другом сеансе SQL*Loader.
22.5 Физические записи и логические записи
Физические записи - это отдельные строки во входном файле данных, как они были созданы операционной системой на платформе, с которой файл поступил. Физические записи оканчиваются символом признака конца записи (например, кодом возврата каретки). Логические записи соответствуют строкам в таблице (таблицах) базы данных. Физическая запись может взаимно однозначно соответствовать логической записи. SQL*Loader также позволяет связывать несколько физических записей в одну логическую с помощью предложения CONCATENATE ("сцепить") или CONT1NUEIF ("продолжать, если") в управляющем файле. Можно также разделять одну физическую запись на несколько логических.
22.6 Сцепленные записи
SQL*Loader может формировать логическую запись из нескольких физических двумя способами. Если число физических записей, составляющих логическую, постоянно, то в управляющем файле используется ключевое слово CONCATENATE и указывается это число; если оно изменяется для разных логических записей, то используется ключевое слово CONT1NUEIF, за которым следует условие продолжения "сборки" логической записи. (Это условие относится к определенному символу в физической записи.)
22.7 Типы загрузки SQL*Loader
SQL*Loader обеспечивает два типа загрузки данных:
* Обычная загрузка
* Прямая загрузка
22.7.1 Обычная загрузка
При обычной загрузке данных в таблицу для массива включаемых записей генерируется команда SQL INSERT. При таком подходе SQL*Loader конкурирует со всеми другими процессами Oracle за ресурсы буферного кэша; Oracle ищет и пытается заполнить частично заполненные блоки данных. Если загружаются малые объемы данных, такой подход приемлем, однако для больших массивов данных последнее требует большого времени и ресурсов.
Для обычной загрузки справедливы такие утверждения;
* Другие пользователи и процессы Oracle могут обращаться к таблице одновременно с SQL*Loader.
* Индексы обновляются по мере того, как строки вставляются в таблицу.
* При загрузке данных в таблицу активизированы все ограничения ссылочной целостности и ограничения целостности.
* Триггеры INSERT базы данных запускаются, когда строки вставляются в таблицу.
* Можно применять функции SQL к входным данным, когда они загружаются.
* Данные могут быть загружены в кластерную таблицу.
* Данные могут быть загружены с помощью SQL*Net.
22.7.2 Прямая загрузка
Прямая загрузка, в отличие от обычной, не использует кэш-буферов для получения и заполнения блоков данных, а обращается к менеджеру экстентов, чтобы получить новые экстенты и произвести подстройку уровня заполнения экстентов (high water mark). При прямой загрузке создаются форматированные блоки данных, которые записываются непосредственно в БД.
Прямая загрузка имеет несколько существенных преимуществ:
* Можно загрузить и индексировать большие объемы данных в пустые или непустые таблицы за относительно короткое время.
* Можно значительно увеличить производительность, загружая в пустые таблицы предварительно отсортированные данные, устранив фазы сортировки и слияния при формировании индекса.
* Можно загружать данные параллельно, запустив несколько сеансов SQL*Loader, выполняющих прямую загрузку в одну и ту же таблицу.
* Можно задать выполнение прямой загрузки с опцией UNRECOVERABLE (без восстановления), который обходит механизм восстановления (журнал) Oracle, что значительно увеличивает производительность.
Хотя прямая загрузка более производительна, она имеет ряд недостатков и ограничений:
* Таблицы и индексы, в которые загружаются данные, монопольно блокируются в начале загрузки и не освобождаются до ее окончания; таблицы не могут участвовать в каких-либо активных транзакциях и недоступны другим пользователям или процессам до завершения загрузки.
* Индексы переводятся в состояние прямой загрузки в начале загрузки и должны быть перестроены автоматически или вручную после завершения загрузки. Если сеанс SQL*Loader заканчивается неудачно, индексы остаются в состоянии прямой загрузки и должны быть перестроены вручную. Ограничения PRIMARY KEY или UNIQUE не проверяются, пока не закончена загрузка и не перестроен индекс; возможно наличие дублированных ключей, и придется исправить их с помощью таблицы исключений прежде, чем вы сможете перестроить индекс.
* Ограничение NOT NULL -- единственное ограничение, которое активно во время вставки. Все другие ограничения целостности и ограничения ссылочной целостности активизируются и проверяются после того, как загрузка заканчивается. Если обнаружены какие-либо нарушения, они помещаются в таблицу исключений, которая должна быть специфицирована во время создания ограничения. Таблицу исключений нужно создать перед сеансом загрузки.
* Триггеры INSERT базы данных не запускаются на выполнение. Построенная на них работа приложения должна быть выполнена другими методами.
* Нельзя применять функции SQL к входным данным во время загрузки.
* Данные не могут быть загружены в кластерную таблицу. Данные могут быть загружены через SQL*Net, только когда обе компьютерные системы принадлежат одному семейству и используют одинаковый символьный набор. Не рекомендуется использовать SQL*Net для прямой загрузки, так как прямой путь предназначен только для больших объемов данных. Перегрузка сети "съест" весь выигрыш в производительности, обеспеченный прямой загрузкой. При прямой загрузке недействительна опция DEFAULT для столбца. Синонимы, существующие для загружаемых таблиц, должны ссылаться непосредственно на таблицу, а не на другой синоним или представление.
Основное преимущество прямой загрузки - производительность. Не существует строгих правил, чтобы определить, когда использовать стандартную или прямую загрузку, так как определение "большие объемы данных" меняется от приложения к приложению. Внешние факторы, такие как требования к доступности базы данных, чистота загружаемых данных и наличие ресурсов системы, также меняются. Время загрузки сокращается с дней до часов при использовании параллельной прямой загрузки по сравнению с обычной, с достоверными данными на мультипроцессорной системе. Но иногда значительное время тратится на контроль и "очистку" данных в загруженной таблице, чтобы можно было наконец перестроить индекс после прямой загрузки. Вы должны проанализировать свою ситуацию и, основываясь на всех факторах, решить, какой метод является лучшим.
22.7.3 Параллельная загрузка данных
Oracle Version 7.1 предоставила возможность выполнения прямой загрузки в параллельном режиме, которая обеспечивает почти линейный рост производительности SQL*Loader в мультипроцессорных системах. Используя опцию параллельной загрузки, можно загрузить несколько входных файлов одновременно в разные файлы табличного пространства, в котором располагается таблица. Максимальная производительность достигается при разнесении табличного пространства по различным устройствам и размещении входных файлов на отдельных устройствах, желательно с отдельными контроллерами.
При использовании опции параллельной загрузки SQL*Loader создает временные сегменты, размер которых устанавливается согласно параметру внешней памяти NEXT, заданному для таблицы, в файле табличного пространства, указанном в предложении OPTIONS управляющего файла.
Указанный файл должен принадлежать табличному пространству, в котором располагается таблица, в противном случае произойдет фатальная ошибка.
После завершения сеанса SQL*Loader временные сегменты объединяются (с последним экстентом, лишенным свободного пространства) и добавляются к существующей таблице в базе данных выше метки заполнения для таблицы.
Перед выполнением параллельной загрузки нужно удалить индексы, ограничения первичного ключа и ограничения уникального ключа для таблицы. Oracle обеспечивает возможность параллельного создания индексов, но вы можете воспользоваться ею только в операторе CREATE INDEX, а не в операторе ALTER TABLE CREATE CONSTRAINT. Следовательно, лучший метод состоит в том, чтобы сначала создать индексы, а затем -- ограничения первичного ключа и уникального ключа, которые используют ранее созданные индексы.
Прерываемые обычными способами (например, Ctrl+ С в UNIX) параллельные сеансы SQL*Loader завершаются нормально; они останавливают обработку в том месте, где были прерваны. Временные сегменты, созданные в ходе сеанса, добавляются к метке заполнения таблицы. Параллельные сеансы, которые были остановлены командами операционной системы, завершаются аварийно; временные сегменты удаляются и не добавляются к метке заполнения таблицы.
22.8 Синтаксис управляющего файла
Управляющий файл записывается в свободном формате; однако его синтаксис подчиняется нескольким правилам:
* Пробелы, возвраты каретки, табуляции и т.д. допускаются в любой позиции в файле.
* Как и в СУБД Oracle, регистр, в котором набирается текст, безразличен, за исключением строк, заключенных в кавычки (одинарные или двойные).
* Комментарии могут размешаться в любом месте, но не среди данных (если данные включены в управляющий файл); начало комментария обозначается двумя дефисами; SQL*Loader игнорирует все, что расположено справа от двойного дефиса до конца строки.
* Можно использовать зарезервированные слова для имен столбцов или таблиц; однако эти слова должны быть заключены в двойные кавычки.
Рекомендуется не использовать зарезервированные слова Oracle для имен каких-либо объектов базы данных.
Управляющий файл логически состоит из семи разделов:
* Предложение OPTIONS
* Предложение UNRECOVERABLE/RECOVERABLE
* Предложение LOAD DATA
* Предложение INF1LE
* Метод загрузки таблицы
* Предложение CONCATENATION
* Предложение INTO TABLE
* Предложение BEGINDATA
Предложение OPTIONS
Необязательное предложение OPTIONS позволяет задать некоторые параметры работы утилиты в управляющем файле, а не в командной строке. Это предложение полезно, если командная строка становится слишком длинной, неудобной в работе. Значения параметров, указанные в предложении OPTIONS, могут быть изменены в командной строке.
Параметр Описание
SKIP = n Число логических записей, которые должны быть пропущены
LOAD = n Число логических записей для загрузки
ERRORS = n Допустимое количество ошибок перед завершением
ROWS = n Строки в связанном массиве (обычная загрузка);
Строки между сохранениями (прямая загрузка)
BINDSIZE = n Размер связанного массива в байтах
DIRECT = (TRUE | FALSE) Метод загрузки
PARALLEL = (TRUE | FALSE) Несколько параллельных сеансов
Предложение UNRECOVERABLE/RECOVERABLE (без восстановления/с восстановлением)
Эти опции применяются только для прямой загрузки, обычная загрузка всегда RECOVERABLE. Когда база данных работает в режиме ARCH1VELOG и задана RECOVERABLE, загружаемые данные записываются в журнальные файлы. Если задана UNRECOVERABLE, запись в журнальные файлы не производится, что улучшает производительность (примерно вдвое), но вам придется удалить (drop) данные и повторить загрузку, если потребуется восстановление носителя.
Если вы не добавляете данные к существующим данным в таблице, рекомендуется пользоваться UNRECOVERABLE. Если по каким-то причинам экземпляру потребуется восстановление, восстановите его и произведите усечение (TRUNCATE) таблиц, в которые загружались данные. Затем запустите сеанс SQL*Loader снова.
Предложение LOAD DATA
Предложение LOAD DATA - основной оператор в управляющем файле. В управляющем файле ему могут предшествовать только комментарии, предложение OPTIONS и предложение RECOVERABLE. LOAD DATA сопровождается уточняющими фразами и предложениями. Предложение LOAD DATA начинается с ключевого слова LOAD, необязательно сопровождаемого ключевым словом DATA. Ключевое слово CHARACTERSET, за которым следует имя символьного набора, требуется, если входные файлы данных кодированы внешними символьными наборами. В управляющем файле может присутствовать только одно предложение LOAD DATA.
Предложение INFILE
Чтобы задать входной файл, содержащий загружаемые данные, используется ключевое слово INFILE или INDDN, за которым следует имя файла и необязательная системно-зависимая строка, необходимая для корректной обработки файлов. ПРИМЕЧАНИЕ
Рекомендуется заключать в одинарные кавычки спецификации файлов, содержащие знаки пунктуации.
Спецификации имени файла и спецификации строки обработки файлов различаются для разных платформ; при переходе на другую платформу может потребоваться модификация управляющего файла.
За оператором INFILE следует необязательная спецификация файла отвергнутых записей, которая начинается с ключевого слова BADFILE или BDDN, за которым следует имя файла. Если имя файла отвергнутых записей не задано, по умолчанию принимается имя файла данных с расширением .BAD. Файл отвергнутых записей создается, только если записи были отвергнуты из-за форматных ошибок или ядро Oracle возвращало ошибку при попытке вставить записи в базу данных.
После BADFILE располагается необязательная спецификация файла отсеянных записей, которая начинается с ключевого слова DISCARDFILE или DISCARDDN, за которым следует имя файла. Затем идет ключевое слово DISCARDS или D1SCARDMAX с числовым параметром. SQL*Loader может создавать файл отсеянных записей, не отвечающих критериям загрузки, указанным в предложениях WHEN управляющего файла. Если имя файла отсеянных записей не задано и ключевые слова DISCARDS и D1SCARDMAX отсутствуют, файл отсеянных записей не создается, даже если такие записи были. Однако если в командной строке или в управляющем файле присутствует ключевое слово DISCARDS или D1SCARDMAX, а имя файла отсеянных записей не задано, создается файл с именем файла данных, за которым следует расширение .DSC.
Предложение DISCARDS или D1SCARDMAX ограничивает количество записей, которые могут быть отсеяны для каждого файла данных. Обработка файла данных прекращается, когда достигается это ограничение.
Для файлов отсеянных и отвергнутых записей:
* Если файл создается, существующий файл с тем же именем перезаписывается.
* Если файл не создается, однако существует файл с тем же именем, последний останется незатронутым.
Методы загрузки таблиц
Можно использовать один из четырех методов:
* INSERT
* APPEND
* REPLACE
* TRUNCATE
INSERT -- метод по умолчанию; он требует, чтобы перед загрузкой файла данных таблица была пустой. SQL*Loadcr завершается с ошибкой, если таблица не пуста.
APPEND добавляет новые строки к таблице; таблица может быть пустой.
REPLACE использует команду SQL DELETE, чтобы удалить все строки из таблицы, выполняет фиксацию транзакции, затем загружает новые данные в таблицу.
TRUNCATE использует команду SQL TRUNCATE, чтобы удалить строки из таблицы, выполняет фиксацию транзакции, затем загружает новые данные и таблицу. Все ограничения ссылочной целостности должны быть заблокированы перед началом сеанса SQL*Loader, иначе SQL*Loader завершается с ошибкой.
При использовании метода REPLACE и установлении для таблицы DELETE CASCADE выполняются каскадные удаления. Определенные для таблицы триггеры удаления также срабатывают, когда удаляются строки.
При использовании ключевого слова REPLACE или TRUNCATE до начала загрузки данных из таблицы удаляются все строки.
Ключевое слово определяет глобальный метод для сеанса загрузки; кроме того, в предложении INTO TABLE можно задать метод для отдельной таблицы.
Предложение CONCATENATION
Можно "собирать" одну логическую запись из нескольких физических с использованием ключевых слов CONCATENATE или CONTINUEIF.
Если количество объединяемых записей остается неизменным для всего файла данных, используется ключевое слово CONCATENATE, за которым следует целое число, задающее количество объединяемых записей.
Если количество физических записей переменное, то используется ключевое слово CONTINUEIF, за которым следует условие, проверяемое при обработке каждой записи.
Во всех трех случаях с ключевыми словами THIS, NEXT и LAST условие проверяется для текущей физической записи. Если условие истинно, SQL*Loader читает следующую физическую запись и сцепляет ее с текущей физической записью; это продолжается, пока условие не станет ложным. Если условие в текущей физической записи ложно, она становится последней физической записью текущей логической записи.
При использовании CONTINUEIF необходимо учитывать следующее:
* Когда применяются ключевые слова THIS и NEXT, поля продолжения удаляются из физических записей прежде. чем создается логическая запись.
* Символ продолжения не удаляется из физической записи, когда применяется ключевое слово LAST; он остается частью логической записи.
* Конечные пробелы в физической записи становятся частью логической записи.
Предложение INTO TABLE
Предложение INTO TABLE - раздел оператора LOAD DATA, содержащее основную часть синтаксиса .управляющего файла. Предложение INTO TABLE включает следующие элементы:
* Имя таблицы, в которую должны быть загружены данные
* Метод загрузки для таблицы
* Предложение OPTIONS для таблицы
* Предложение WHEN
* Предложение FIELDS
* Предложение TRAILING NULLCOLS
* Индексные опции
* Условия, связанные с полями
* Отношение между полями файла данных и столбцами базы данных
Предложение INTO TABLE начинается с ключевых слов INTO TABLE, за которыми следует имя таблицы, куда должны быть загружены данные. (Таблица должна быть создана заранее.)
22.9 Метод загрузки для таблицы
В предложении INTO TABLE можно указывать метод загрузки для таблицы. Если используется метод INSERT, APPEND, REPLACE или TRUNCATE, он отменяет глобальный метод загрузки таблиц, указанный в управляющем файле.
Предложение OPTIONS для таблицы
В предложение INTO TABLE можно включать предложение OPTIONS для таблицы. Предложение OPTIONS допустимо только для параллельной загрузки; оно изменяет спецификацию FILE (единственная опция, которую можно указать на уровне таблицы) в глобальном предложении OPTIONS в начале управляющего файла.
Предложение WHEN
Критерии отбора записи задаются с помощью предложения WHEN, за которым следуют условия проверки полей. Предложение WHEN может содержать несколько условий; они должны отделяться словом AND. SQL*Loader определяет значения полей в логической записи, затем проверяет предложение WHEN Строка вставляется, только если предложение WHEN истинно.
Предложение FIELDS
Поле файла данных фиксированного формата обычно задается явно номерами первого и последнего байта (начало:конец), а поля файла данных переменного формата обычно идут одно за другим и отделены символом разделения полей. Можно определить символ разделения полей для всех полей файла в предложении FIELDS, а для отдельного поля - изменить его, указывая символ разделения полей после имени столбца.
Предложение TRAILING NULLCOLS
Когда в управляющем фате перечислено больше полей, чем присутствует в физической записи, нужно указать, будет ли SQL*Loader обрабатывать отсутствующие поля как нулевые (пустые) столбцы или генерировать ошибку. Когда используется относительное позиционирование (переменный формат), запись может закончиться прежде, чем все поля будут найдены. Предложение TRAILING NULLCOLS указывает, чтобы SQL*Loader обрабатывал столбцы, не существующие в записи, как нулевые столбцы.
22.10 Индексные опции
Если данные загружены с помощью прямой загрузки и файл данных был предварительно отсортирован по индексированным столбцам, можно применить предложение SORTED INDEXES с именами индексов в круглых скобках. Индексы, внесенные в список предложения SORTED INDEXES, должны быть созданы до начала прямой загрузки, иначе SQL*Loader возвращает ошибку. Если индекс указан в предложении SORTED INDEXES. а данные по этому индексу не отсортированы, по окончании загрузки индекс оставляется в состоянии прямой загрузки. Придется удалить и восстановить индекс прежде, чем можно будет его использовать.
22.11 Условия, относящиеся к полям
Условие, относящееся к полю -- это выражение, в котором использовано поле логической записи; выражение может принимать значение "истина" или "ложь". В таких выражениях используются ключевые слова NULLIF и DEFAULTIF, а также фраза WHEN. NULLIF присваивает значению столбца "пусто" (NULL), если выражение истинно, в то время как DEFAULTIF заносит в столбец нуль или пробел. Ключевое слово BLANKS позволяет проверять поля любой длины, чтобы определить, содержат ли они только пробелы.
22.12 Спецификации столбцов
Типы данных в спецификации столбца в управляющем файле сообщают SQL*Loader, как интерпретировать данные в файле данных. Определение столбца в словаре данных содержит тип данных для каждого столбца в базе. Для связи между данными в файле данных и столбцом базы данных предназначено имя столбца, заданное в управляющем файле.
Может быть загружено любое количество столбцов таблицы, если. конечно, незагружаемые столбцы не были созданы с ограничениями NOT NULL. (Столбцам таблицы, перечисленным в управляющем файле, при вставке строки присваиваются пустые значения.)
Спецификация столбца - имя столбца, за которым следует спецификация значения, помещаемого в столбец. Имена столбцов в списке заключаются в круглые скобки и отделяются запятыми. Каждое имя столбца должно соответствовать столбцу таблицы, указанной в предложении INTO TABLE.
22.13 Установка значений столбца
Значение столбца можно установить одним из двух способов. Во-первых, значение может читаться из файла данных. Во-вторых, можно генерировать значение с помощью функций SQL*Loader CONSTANT, RECNUM, SYSDATE или SEQUENCE. Эти функции SQL*Loader можно использовать для обычной и прямой загрузки.
Функция CONSTANT, за которой следует значение, генерирует фиксированное значение для каждой строки, вставляемой в таблицу. SQL*Loader интерпретирует значение как символьное, но преобразует его в случае необходимости к типу столбца базы данных. Значение может быть заключено в кавычки.
Функция RECNUM без параметров заносит в столбец номер логической записи, из которой загружается строка. Записи отсчитываются последовательно от начала файла данных, начиная с 1. Значение увеличивается для каждой логической записи, даже если запись отвергается, пропускается или отсеивается. Если используется опция параллельной загрузки и загружается несколько файлов данных одновременно, сеансы SQL*Loader генерируют дублирующие значения, так как каждый сеанс начинает отсчет с 1.
Функция SYSDATE выдает текущую системную дату для каждого массива записей при использовании обычной загрузки и для каждого блока записей при использовании прямой. Формат даты -- такой же, как в функции SQL SYSDATE- Столбец базы данных должен быть типа VARCHAR, CHAR или DATE.
Функция SQL*Loader SEQUENCE (что не то же самое, что объект базы данных SEQUENCE) увеличивает значение на заданное приращение для каждой загружаемой или отвергаемой логической записи. Эта функция не увеличивает значение для отсеиваемых и пропускаемых записей. Начальным значением для SEQUENCE может быть:
* Задаваемое целое число
* COUNT, равный количеству строк в таблице, плюс приращение
* МАХ, равный текущему максимальному значению столбца, плюс приращение
Когда используется опция параллельной загрузки, функция SEQUENCE -- единственное средство, доступное SQL*Loader, чтобы генерировать уникальные числа.
22.14 Спецификации типа данных
SQL*Loader извлекает данные из поля файла данных согласно спецификации типа данных в управляющем файле и посылает их СУБД для занесения в соответствующий столбец базы данных. СУБД пытается выполнить необходимое преобразование данных. Если преобразование данных не может быть выполнено, возвращается ошибка и запись отвергается.
Oracle интерпретирует символьные и двоичные данные. С символьными данными работают люди с помощью текстового редактора и т.п., в то время как двоичные данные обычно создаются и используются программным обеспечением. SQL*Loader поддерживает такие символьные типы:
22.15 Использование функций SQL
Можно применять функции SQL к полям данных, используя строку SQL. Строка может содержать любые комбинации выражений SQL, которые возвращают единственное значение. Строка вводится после всех других спецификаций для данного столбца и должна быть заключена в двойные кавычки. Если строка содержит ошибку синтаксиса, загрузка завершается с ошибкой. Если синтаксис в строке SQL правильный, но происходит ошибка базы данных, строка таблицы отвергается, но обработка продолжается. К именам полей в строке SQL можно обращаться, предваряя их двоеточием.
22.16 Операторы загрузки в несколько таблиц
Можно задавать SQL*Loader несколько операторов INTO TABLE, что позволяет решать такие задачи:
* Извлечение нескольких логических записей из одной физической записи.
* Работа с различными форматами записи.
* Загрузка данных в различные таблицы.
Предложение BEGINDATA
Указывает на начало блока, содержащего данные для загрузки (если загрузка выполняется из самого управляющего файла). Этот параметр задается только в том случае, если в параметре INFILE указывается *. Чтобы включить данные в управляющий файл, убедитесь, что BEGINDATA является последним ключевым словом управляющего файла, за которым следуют строки данных фиксированной или переменной длины.
22.17 Опции командной строки и файлы параметров
Вызвав SQL*Loader без параметров, вы увидите список параметров командной строки и их значений по умолчанию:
userid Имя пользователя/пароль ORACLE
control Имя управляющего файла
log Имя файла протокола
bad Имя файла отвергнутых записей
data Имя файла данных
discard Имя файла отсеянных записей
discardmax Допустимое количество отсеянных записей (по умолчанию -- все)
skip Количество логических записей, пропускаемых при загрузке (по умолчанию 0)
load Количество загружаемых логических записей (по умолчанию -- все)
errors Допустимое количество ошибок (по умолчанию -- 50)
rows Количество строк в связанном массиве при обычной загрузке или между
сохранениями данных при прямой загрузке (по умолчанию: обычная -- 64,
прямая -- все)
bindsize Размер связанного массива (в байтах) для обычной загрузки
(по умолчанию 65536)
direct Использовать прямую загрузку (по умолчанию -- FALSE)
parfile Файл параметров: имя файла, который содержит спецификации параметров
parallel Выполнять параллельную загрузку (по умолчанию -- FALSE)
Параметры командной строки можно задавать в предложении OPTIONS управляющего файла или помешать их в PARFILE, что упрощает управление параметрами.
22.18 Производительность SQL*Loader
Ниже приведены некоторые рекомендации относительно повышения производительности загрузчика SQL*Loader.
1. Используйте поля, которые определяются своей позицией, а не при помощи разделителей. Последний вариант вынуждает загрузчик сканировать данные в поиске разделителей. Позиционные поля быстрее обрабатываются, так как загрузчику для вычисления месторасположения указателя приходится выполнять довольно простые арифметические операции.
2. Задавайте максимальные размеры для полей, ограниченных разделителями, чтобы повысить эффективность вставки каждого массива привязки.
3. Заранее выделите достаточный объем памяти. Если при загрузке данных таблицам потребуется больше места, Oracle выделяет дополнительные экстенты. Если такая операция выполняется во время загрузки довольно часто, на это требуется значительное время. Вычисление или оценка потребности в памяти перед загрузкой позволит заранее выделить необходимый объем.
4. Избегайте по возможности использования предложений NULLIF и dfaultif в контрольном файле. Наличие такого предложения приводит к вычислению значений в столбцах при загрузке каждой строки. Разбивайте файлы данных и запускайте загрузку в обычном режиме параллельно с другими процессами.
5. Уменьшайте количество операций фиксации посредством использования в командной строке параметра ROWS.
6. Избегайте использования преобразований из одной таблицы кодировки символов в другую, если в том нет особой необходимости.
7. Где это возможно, используйте прямой вариант загрузки.
8. При применении прямой загрузки предварительно сортируйте данные по самым большим индексам и используйте предложение SORTED INDEXES.
9. При применении прямого метода, где это возможно, используйте опцию параллельной загрузки.
10. Минимизируйте использование журналов регистрации транзакций во время прямой загрузки. Для этого имеются три способа на разных уровнях управления:
* запретить архивирование базы данных;
* использовать в контрольном файле ключевое слово UNRECOVERABLE;
* внести изменения в таблицу и/или в индекс с помощью атрибута NOLOG.
23. Импорт и экспорт
23.1 Цели и возможности операций импорта и экспорта
Сервер Oracle8 поставляется в комплекте с двумя важными утилитами -- утилитами импорта и экспорта (Import и Export). Эти две утилиты очень эффективны при реализации многих важных функций базы данных -- создании резервных копий данных, копировании объектов в различных схемах и базах данных, генерировании программного кода для создания объектов базы данных. Они также незаменимы при переходе от одной версии Oracle к другой и могут использоваться для обновления текущей версии базы данных на версию Огас1е8.
Утилиты Import и Export обеспечивают широкий спектр функциональных возможностей. Основная их цель -- резервирование и восстановление объектов и данных. Объекты и данные хранятся в двоичном виде, понятном только для программных средств БД Oracle. Ниже перечислены задачи, при реализации которых используются утилиты экспорта и импорта.
* Создание резервных копий и восстановление базы данных. Операции экспорта и импорта часто применяются как составная часть процедуры резервирования. Обычно создание полных или быстрых резервных копий используется для резервирования всей базы данных на случай выхода из строя диска или компьютера. Однако при необходимости восстановить только одну таблицу пришлось бы вначале восстановить на другой машине всю базу данных, после чего копировать эту таблицу. Экспорт и импорт позволят избежать таких, неоправданно больших затрат ресурсов и времени, предоставив возможность экспортировать всю базу данных и импортировать только те таблицы, которые требуется восстановить. Утилиты импорта и экспорта могут выступать также в качестве механизма резервирования и восстановления всей базы данных, поскольку в наличии имеется опция резервного сохранения через определенные промежутки времени.
* Перемещение объектов и данных между схемами. Можно использовать экспорт и импорт для копирования таблиц, индексов, полномочий, процедур, представлений и объектов других типов из одной схемы в другую. Это сберегает время и усилия, так как можно указать объекты, которые необходимо переместить. Перемещение данных к тому же может использоваться для создания их дубликатов в других базах данных Oracle.
* Переход от одной версии БД Oracle к другой. Используя утилиты экспорта и импорта, можно обновить (или перейти в более старую) версию Oracle. Например, можно экспортировать всю базу данных, а затем, при условии инсталляции сервера Oracle8, база данных может быть импортирована, т.е. появляется возможность выполнять действия с данными и приложениями в среде Oracle8. Такой процесс называется миграцией.
* Выполнение дефрагментацин табличного пространства или всей базы данных. Образование фрагментов в табличных пространствах происходит, когда с течением времени создаются, удаляются, увеличиваются или уменьшаются в размерах такие объекты, как таблицы и индексы. Образование фрагментов случается также, если неправильно выбраны параметры сохранения объектов. Дефрагментировать табличное пространство можно следующим образом. Экспортировать табличное пространство -- при этом отдельные его фрагменты "сращиваются" (объединяются), а затем импортировать объекты обратно.
* Создание сценариев CREATE. Можно использовать экспорт и импорт для генерации сценариев типа CREATE (создание) для таблиц, разбиений, представлений, полномочий, индексов, ограничений, табличных пространств и других объектов базы данных. Это оказывается весьма полезным при модификации объектов и для обеспечения безопасности структуры объектов на случай их удаления или выхода из строя.
Экспортируемый файл имеет двоичный формат, который может использоваться только в базах данных Oracle. Нельзя импортировать или экспортировать в базы данных других программных комплексов. Аналогично, нельзя импортировать из не-Oracle баз данных. Если требуется импортировать данные в Oracle из базы данных другого типа, например Microsoft Access, необходимо применять SQL*Loader для данных, представленных в виде текстового файла с разделителями, такого, как CSV (значения разделяются запятой). Чтобы передать данные из Oracle базу данных другого программного комплекса, приходится вручную создавать файл с разделителями, используя PL/SQL или SQL'Plus для выборки данных.
23.2 Механизм выполнения операций
Существует три типа экспорта.
* Full-экспорт: экспортируются все объекты, структуры и данные в Пределах одной базы данных.
* OWNER-экспорт: экспортируются только объекты, собственником которых является пользователь с определенным идентификационным кодом.
* TABLE-экспорт: экспортируются только указанные таблицы и разбиения.
Когда имеются десятки типов структур, которые необходимо экспортировать, очень важно различать, что будет экспортироваться в каждом из трех вариантов экспорта. В таблице приведено, какие структуры экспортируются в каждом случае (в том порядке, как они экспортируются).
Экспортируемые объекты |
||||
Тип объекта |
С опцией full=y |
С опцией owner |
С опцией TABLE |
|
Сведения о табличных пространствах |
Все объекты |
|||
Профили |
Все объекты |
|||
Сведения о пользователях |
Все объекты |
|||
Роли |
Все объекты |
|||
Стоимость ресурсов |
Все объекты |
|||
Сведения о сегментах Rollback |
Все объекты |
|||
Связи базы данных |
Все объекты |
Только для владельца |
||
Порядковые номера |
Все объекты |
Только для владельца |
||
Псевдонимы каталогов |
Все объекты |
|||
Имена библиотек внешних функций |
Все объекты |
Только для владельца |
||
Определения типов объектов |
Все объекты |
Только для владельца |
||
Определения кластеров |
Все объекты |
Только для владельца |
Только для таблиц и владельцев |
|
Таблицы |
Все объекты |
Только для владельца |
Только для таблиц и владельцев |
|
Индексы |
Все объекты |
Только для владельца |
Только для таблиц и владельцев |
|
Ограничения ссылочной целостности данных |
Все объекты |
Только для владельца |
Только для таблиц и владельцев |
|
Постоперации |
Все объекты |
Только для владельца |
||
Синонимы |
Все объекты |
Только для владельца |
Только для таблиц и владельцев |
|
Представления |
Все объекты |
Только для владельца |
||
Хранимые процедуры |
Все объекты |
Только для владельца |
||
Триггеры |
Все объекты |
Только для владельца |
Только для таблиц и владельцев |
|
Моментальные снимки |
Все объекты |
Только для владельца |
||
Журналы регистрации моментальных снимков |
Все объекты |
Только для владельца |
||
Очереди заданий |
Все объекты |
Только для владельца |
||
Обновленные группы и производные от них |
Все объекты |
Только для владельца |
||
Таблица регистрации пользователей |
Все объекты |
|||
Опции по умолчанию и опции системной проверки |
Все объекты |
23.3 Управление и задание конфигурации импорта и экспорта
Утилиты Import и Export являются очень гибким инструментом, поскольку для управления ими используется несколько дюжин параметров. Имеется и два способа их выполнения: в интерактивном и в неинтерактивном режимах. В интерактивном режиме процесс состоит из нескольких шагов, на каждом из которых выводятся подсказки с предложением ввести необходимую информацию для сеанса экспорта и импорта. Такой способ -- не столь гибкий, так как подсказки предлагают ввести только некоторые из множества имеющихся параметров.
Для экспорта в интерактивном режиме надо просто ввести ехр80 в командной строке. Затем последуют запросы имени пользователя и пароля.
Чтобы экспортировать всю базу данных, пользователь, под идентификационным кодом которого производится экспорт, должен быть обеспечен системными привилегиями EXP_FULL_ DATABASE. Для тех, кто обладает привилегиями системного администратора БД, например правами SYSTEM, эта привилегия гарантируется неявно. В противном случае экспорт не удастся.
Далее будет предложено определить размер буфера для массивов данных. Это размер буфера памяти, посредством которого экспортируются строки. Он должен быть больше размера наибольшей записи, умноженного на количество строк, которые предполагается размещать в буфер, и зависит от операционной системы.
После этого будет предложено ввести имя экспортируемого файла. По умолчанию -- это expdat.dmp. Далее появится небольшое меню с тремя опциями: (l)E(ntire database) (всю базу данных), (2)U(sers) (пользователи) или (3)T(ables) (таблицы).
* При выборе первой опции будет предложено ввести значения для полномочий (Y/N), табличных данных (Y/N) и сжатия экстентов (Y/N).
* При выборе второй опции будет предложено ввести значения для полномочий (Y/N), табличных данных (Y/N), сжатия экстентов (Y/N) и идентификатора пользователя(ей), для которых требуется выполнить экспорт (закончив ввод, введите символ точки, являющийся признаком окончания ввода).
* При выборе третьей опции будет предложено ввести значения для экспорта табличных данных (Y/N), сжатия экстентов (Y/N), а также указать объект экспорта: таблицы (Т) или разбиения (Т:Р) (закончив ввод, введите символ точки, являющийся признаком окончания ввода).
Для экспорта в неинтерактивном режиме необходимо либо передать все параметры в командной строке, либо использовать какой-нибудь файл, содержащий параметры. Чтобы получить сведения обо всех параметрах команды export, введите команду еэср80 help=y в Windows.
Во время сеанса экспорта можно использовать множество параметров. Их можно определить либо в командной строке, либо при помощи указанного файла параметров.
23.4 Описание параметров утилиты экспорта
Параметр |
Значение по умолчанию |
Описание |
|
BUFFER |
Зависит от операционной системы |
Значение BUFFER (в байтах) определяет размер буфера памяти, посредством которого экспортируются строки данных. Он должен быть больше размера наибольшей записи, умноженного на количество строк, которые предполагается размешать в буфере |
|
COMPRESS |
Y |
Если COMPRESS=Y, то параметр памяти INITIAL будет задан равным общему размеру всех участков памяти, в которых размешается объект. Изменение данного значения имеет смысл только при импорте объекта |
|
CONSISTENT |
NO |
При задании CONSISTENT=Y вес таблицы и ссылки экспортируются в режиме состоятельности данных. Это замедляет экспорт, так как память используется для выполнения операции Rollback. Если CONSISTENT=N, что является значением по умолчанию при модификации данных во время экспорта, они становятся несостоятельными |
|
CONSTRAINTS |
NO |
Указывает, экспортируются ли табличные ограничения |
|
DIRECT |
NO |
Если DIRECT'Y, то Oracle передает порции данных на командный процессор SQL, повышая скорость экспорта. К сожалению, новые типы данных, которые присущи только Огас1е8, как, например, тип LOB, не будут экспортироваться |
|
FEEDBACK |
0 |
Oracle добавляет символ точки для каждой вставляемой группы записей. Размер группы определяется с помощью FEEDBACK. Например, задавая FEEDBACK=1000, символ точки будет выводиться через каждые 1000 экспортируемых записей. Этот параметр применяется для отслеживания процесса выполнения импорта большого объема информации |
|
FILE |
expdat.dmp |
По умолчанию именем файла будет expdat.dmp (сокращение от EXPort DATa.DuMP). Если требуется другое имя файла, то измените параметр FILE |
|
FULL |
NO |
Если FULL=Y, экспортироваться будет вся база данных, включая сведения о табличных пространствах |
|
GRANTS |
Y |
Указывает, будут ли экспортироваться все полномочия для экспортируемых объектов |
|
HELP |
NO |
Если задано HELP=Y, то другие параметры не требуются. На компьютер выводится главный экран электронной справки |
|
INCTYPE |
Правильными возможными значениями для параметра INCTYPE являются COMPLETE, CUMULATIVE, и INCREMENTAL. Экспорт с опцией COMPLETE устанавливает полный экспорт, при котором две другие опции определяют режим сохранения базы данных. CUMULATIVE экспортирует все таблицы и другие объекты, которые претерпели изменения со времени последнего экспорта с опциями CUMULATIVE или COMPLETE. При изменении одной строки в таблице экспортируется вся таблица. INCREMENTAL экспортирует все таблицы и другие объекты, которые претерпели изменения со времени последнего экспорта с опциями INCREMENTAL, CUMULATIVE или COMPLETE |
||
INDEXES |
Y |
Указывает, экспортируются ли определяемые пользователем индексы. Системные индексы, созданные посредством определения ограничений (первичный ключ, уникальный ключ) экспортируются, независимо от значения параметра INDEXES |
|
LOG |
Параметр LOG указывает имя файла спула для фиксации процесса экспорта. Если не указано иное, Oracle дает файлу расширение .LOG |
||
PARFILE |
Вместо ввода всех параметров в командной строке, все они или часть из них могут быть сохранены в файле параметров. Параметр PARFILE указывает, какой файл использовать в случае необходимости. Наиболее применим для неинтерактивных сеансов |
||
RECORD |
Y |
При использовании параметра INCTYPE и задании RECORD=Y, таблицы системного словаря данных INCEXP, INCFIL и INCVID заполняются такими экспортируемыми данными, как владелец, тип экспорта и время экспорта |
|
ROWS |
Y |
Указывает, будут ли экспортироваться данные таблиц и объектов. Если ROWS=N, то экспортируются только определения объектов |
|
STATISTICS |
ESTIMATE |
Указывает, будут ли при импорте анализироваться статистические данные для индексов и таблиц с использованием COMPUTE или ESTIMATE. Отметим, что анализироваться будут только те объекты, которые на момент импорта уже имели статистические данные. Если анализ объектов не нужен, то выбирается значение NONE ... |
Подобные документы
Резервные базы данных под управлением Oracle Data Guard. Создание физической резервной базы. Защита резервных копий баз данных и базы данных разработчиков. Восстановление базы данных на удаленной машине. Стратегия резервирования и восстановления.
дипломная работа [499,7 K], добавлен 04.06.2013Краткая история развития СУБД ORACLE, основные понятия и определения, архитектура. Принципы работы с СУБД ORACLE. Разработка баз данных, средства и технологии их реализации; возможности процедурного языка PL/SQL. Приемы администрирования СУБД ORACLE.
презентация [609,2 K], добавлен 14.02.2014Обзор и сравнительная характеристика программного обеспечения для создания СУБД. Принципы организации данных. Основные возможности MS Access. Разработка структуры и реализация средствами SQL базы данных для учета заказов, наличия и продажи автозапчастей.
курсовая работа [2,5 M], добавлен 27.05.2013Анализ реляционных баз данных и способов манипулирования ими. Основные понятия баз данных, архитектура СУБД, модели данных. Модель сущность-связь, характеристика связей, классификация сущностей, структура первичных и внешних ключей, целостности данных.
курсовая работа [166,6 K], добавлен 18.07.2012Инфологическая модель предметной области. Схемы простых объектов и их свойства. Построение реляционных отношений на основе инфологической модели базы данных. Сетевая и иерархическая даталогическая модели БД. Структура таблиц, реализованных в СУБД Oracle.
курсовая работа [1,0 M], добавлен 10.06.2014Базы данных (БД) и системы управления базами данных (СУБД) как основы современной информационной технологии, их роль в хранении и обработке информации. Этапы реализации БД, средств ее защиты и поддержки целостности. Протоколы фиксации и отката изменений.
презентация [364,2 K], добавлен 22.10.2013Анализ данных предметной области. Информационно-логическая модель базы данных. Физическое проектирование и мероприятия по защите и обеспечению целостности базы данных. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi.
курсовая работа [2,2 M], добавлен 30.05.2013Объекты модели хранения данных базы данных ORACLE. Взаимосвязь между логическими структурами. Средства манипулирования данными языка SQL, данными языка SQL. Структура выполнения простейших запросов. Формирование критерия отбора. Сортировка данных.
презентация [120,1 K], добавлен 14.02.2014Общая характеристика системы управления базами данных MySQL, ее основные особенности и возможности, касающиеся обеспечения целостности данных. Реализация ограничений семантической и ссылочной целостности в СУБД MySQL на примере фрагмента ИС "Салон магии".
курсовая работа [981,0 K], добавлен 14.10.2012Процесс поступления пациента в больницу. Программное обеспечение, используемое в разработке. Обзор Borland Delphi7, MS SQL Server 2008. Динамическое изменение и расширение структуры базы данных. Обоснование выбора СУБД и программного обеспечения.
курсовая работа [875,4 K], добавлен 21.04.2013Разработка информационного обеспечения для формирования базы данных для государственной итоговой аттестации 9 классов. Обзор методов репликации и синхронизации баз данных. Преимущества алгоритма шифрования Rijndael. СУБД Microsoft SQL Server и Firebird.
дипломная работа [3,3 M], добавлен 27.06.2012Архитектура и функции СУБД. Инфологическая модель данных "Сущность-связь". Ограничения целостности. Характеристика связей и язык моделирования. Манипулирование реляционными данными. Написание сервера на Java.3 и приложения-клиента на ActoinScript 3.0.
курсовая работа [935,3 K], добавлен 09.07.2013Система управления базой данных (СУБД), централизованное обеспечение безопасности и целостности данных, защита от несанкционированного доступа. Построение концептуальной и реляционной моделей. Процесс нормализации. Проектирование базы данных в ACCESS.
курсовая работа [1,8 M], добавлен 29.10.2008Характеристика реляционной, иерархической и сетевой моделей баз данных. Анализ методов проектирования (декомпозиция, синтез, объектная связь), организации, обновления, восстановления, ограничений, поддержания целостности данных на примере СУБД Ms Access.
дипломная работа [347,4 K], добавлен 13.02.2010Порядок проектирования и разработки базы данных и программного обеспечения. Информация о структуре базы данных, созданных таблицах, формах, отчетах, запросах, хранимой информации. Логическая и концептуальная модели данных; выбор программного обеспечения.
курсовая работа [906,6 K], добавлен 20.01.2010Определение состава реляционных таблиц и логических связей между ними. Создание схемы (пользователя) базы данных. Особенность получения таблиц и ограничения целостности. Выполнение загрузки, модификации и удаления. Поддержка транзакций в Oracle.
лабораторная работа [4,8 M], добавлен 25.10.2021Понятие базы данных, их цели и задачи, требования к БД; система управления базами данных. Файловые системы: именование и структуры файлов, программное обеспечение. Уровни абстракции в СУБД, функции абстрактных данных. Экспертные системы и базы знаний.
презентация [301,6 K], добавлен 17.04.2013Структура и функции системы управления базами данных (СУБД). Управление хранением данных и доступом к ним. Защита и поддержка целостности данных. Надежность хранения данных во внешней памяти. Классификация СУБД по способу доступа к базе данных.
презентация [3,7 M], добавлен 05.06.2014Определение, свойства и характеристики распределенных систем баз данных. Основная задача систем управления ими. Архитектура распределения СУБД. Сравнение технологий файлового сервера и "клиент-сервера". Стратегия распределения данных по узлам сети ЭВМ.
курсовая работа [601,3 K], добавлен 24.05.2015Изучение основных понятий баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Проектирование базы данных "Туристическое агентство" в СУБД Access 2010, в которой хранятся данные о клиентах, которые хотят поехать отдыхать.
курсовая работа [3,3 M], добавлен 20.09.2013