Понятие данных, принципы построения информационных систем

Автор работы: Пользователь скрыл имя, 19 Января 2014 в 13:37, доклад

Краткое описание

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

Прикрепленные файлы: 1 файл

Понятие данных.docx

— 165.19 Кб (Скачать документ)

Использование параметров запуска  для устранения неполадок

 

Некоторые параметры запуска (например, однопользовательский режим или  режим минимальной конфигурации) применяются, главным образом, во время  устранения неполадок. Запустить сервер для устранения неполадок с параметром –m или –f проще всего из командной строки при ручном запуске sqlservr.exe.

 Примечание

Если SQL Server запускается с  помощью net start, в параметрах загрузки используется косая черта (/), а не дефис (-).


Использование параметров запуска  в обычной работе

 

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

 
ODBC. 
Как заполнять различные поля в Администраторе ODBC

Для Windows 95 существует три возможности  задания имени сервера:

  • Использовать IP-адрес сервера.
  • Добавить файл \windows\lmhosts со следующей информацией:
  • ip hostname

Например:

194.216.84.21 my_hostname

  • Сконфигурировать ПК для использования DNS.

Пример заполнения при установке ODBC:

Windows DSN name:   test

Description:        This is my test database

MySql Database:     test

Server:             194.216.84.21

User:               monty

Password:           my_password

Port:

Значением поля Windows DSN name может быть любое имя, уникальное для данной установки ODBC.

Не обязательно указывать значения для полей Server, User, Password или Port в окне установки ODBC. Однако если вы это сделали, данные величины в дальнейшем при установке соединения будут использованы как значения по умолчанию. Тогда же можно будет изменить эти значения.

Если номер порта не задан, то используется его значение по умолчанию (3306).

Если задается опция Read options from C:\my.cnf, то группы client и odbc будут читаться из файла `C:\my.cnf'. Можно применять все опции, используемые в mysql_options() (see section 8.4.3.159 mysql_options()).

 

Параметры подключения для MyODBC

Можно указать следующие параметры  для MyODBC в разделе [Servername] файла `ODBC.INI' или через аргумент InConnectionString при вызове функцииSQLDriverConnect().

Параметр

Величина по умолчанию

Комментарий

user

ODBC (под Windows)@tab Имя пользователя, используемое для подключения  к MySQL.

 

server

localhost

Имя хоста сервера MySQL.

database@tab

База данных по умолчанию

 

option

0

Целое число, с помощью  которого можно указать, как должен работать драйвер MyODBC (см. ниже).

port

3306

Используемый порт TCP/IP, если значением server не является localhost.

stmt

 

Команда, которая будет  выполняться при подключении  к MySQL.

password@tab

Пароль для комбинации server user.

 

socket

 

Сокет или канал Windows для  подключения.


Аргумент ``option'' используется для указания MyODBC, что данный клиент не на 100% соответствует ODBC. Под Windows обычно устанавливается флаг опций путем переключения различных опций в окне данного соединения, но можно также установить это в аргументе ``option''. Следующие опции перечислены в том же порядке, в котором они перечислены в окне подключения MyODBC:

Бит

Описание

1

Данный клиент не может  отследить, что драйвер MyODBC возвращает реальную ширину столбца.

2

Данный клиент не может  отследить, что драйвер MyODBC возвращает реальную величину подвергшихся воздействию строк. Если этот флаг установлен, то взамен MySQL возвращает ``найденные строки''. Необходима версия MySQL 3.21.14 или более новая, чтобы эта опция работала.

4

Создает журнал отладки в c:\myodbc.log. Это то же самое, что задать MYSQL_DEBUG=d:t:O,c::\myodbc.log в `AUTOEXEC.BAT'

8

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

16

Не выводить подсказки  для вопросов, даже если драйвер  захотел бы предложить это

32

Имитировать драйвер ODBC 1.0 в  определенной ситуации.

64

Игнорировать использование  имени базы данных в database.table.column.

128

Заставляет использовать указатели менеджера ODBC (экспериментальная).

256

Отключить использование  расширенной выборки (экспериментальная).

512

Заполнить поля CHAR до полной длины столбца.

1024

Функция SQLDescribeCol() будет возвращать полностью уточненные имена столбцов

2048

Использовать сжатие в  клиент-серверном протоколе

4096

Предписывает серверу  игнорировать пробел после имени  функции и перед `(' (необходимо для PowerBuilder). Это сделает имена всех функций ключевыми словами!

8192

Соединяет с именованными каналами сервер mysqld, работающий под NT.

16384

Изменяет тип столбцов LONGLONG на INT (некоторые приложения не могут обрабатывать LONGLONG).

32768

Возвращает параметр user как Table_qualifier и Table_owner из SQL-таблиц (экспериментальная)

65536

Читает параметры из групп client и odbc из файла `my.cnf'

131072

Добавляет некоторые дополнительные проверки безопасности (не должно понадобиться, но...)


Если необходимо иметь много  опций, следует добавить вышеуказанные  флаги! Например, установка опции  в 12 (4+8) дает отладку без ограничений  пакетов!

 
Преобразование XML-данных в SQLформат и  обратно. 
Когда ХМL-данные не используются

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

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

Преобразование данных из формата SQL в формат XML и наоборот

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

Преобразование наборов  символов

В языке SQL поддержка наборов символов зависит от его реализации. Это  означает, что приложение DB2 производства компании IBM может поддерживать наборы символов, которые не поддерживаются приложением SQL Server компании Microsoft. SQL Server, в свою очередь, поддерживает наборы символов, которые не поддерживаются приложением Oracle. Несмотря на то что  большинство общих наборов символов практически всегда универсально поддерживается тем или иным приложением, использование  мало распространенных символов может  усложнить перемещение вашей  базы данных и приложения с одной  платформы реляционной СУБД (РСУБД) на другую.

У XML нет никаких проблем совместимости  с наборами символов, поскольку он поддерживает только один набор – Unicode. Этот универсальный набор символов, публикуемый консорциумом Unicode Consortium, представляет собой стандартный  набор символов для компьютеров, в котором каждому письменному  знаку на любом языке присвоен определенный номер. С точки зрения обмена данными между любыми реализациями языка SQL и XML это очень хорошо. Поставщики РСУБД должны описать преобразование строк из каждого набора символов в символы Unicode и обратное преобразование символов Unicode в строки, состоящие  из наборов символов. К счастью, XML не поддерживает множество наборов  символов, что освобождает поставщиков  от большого количества проблем, связанных  с бесчисленными преобразованиями символов.

Преобразование идентификаторов

В отличие от SQL, XML более точно  подходит к определению идентификаторов. Прежде чем стать частью XML-документа, символы, допустимые в SQL и недопустимые в XML, должны быть соответствующим образом  преобразованы. SQL поддерживает неограниченные идентификаторы. Это означает, что  все виды добавочных символов, такие  как %, $ и &, будут допустимыми до тех пор, пока они заключены в  двойные кавычки. Но такие символы  не допустимы для XML. Кроме того, имена  в XML, начинающиеся с символов XML, в  любых комбинациях уже зарезервированы  и, таким образом, не могут использоваться без каких-либо негативных последствий. Именно поэтому идентификаторы SQL, начинающиеся с этих символов, должны быть изменены.

При преобразовании из SQL в XML все идентификаторы конвертируются в Unicode. Любые же идентификаторы языка SQL, которые являются также  допустимыми именами XML, остаются неизменными. Символы идентификатора языка SQL, не допустимые для имен XML, заменяются шестнадцатеричным кодом. Полученный результат имеет форму записи типа "_хНННН_" или "_xНННННННН_", где Н– шестнадцатеричный разряд верхнего регистра. Например, символ подчеркивания "_" будет представлен как "_x005F_". Двоеточие– как "_х003А_". Эти представления  являются кодами для описания в системе Unicode таких символов, как подчеркивание  и двоеточие. В случае, если идентификатор SQL начинается с символов х, т или /, перед такими символами необходимо поставить префикс с кодом  в форме "_xFFFF_".

Преобразовать символы из XML-формата  в SQL-формат гораздо проще. Все, что  для этого необходимо сделать, –  это развернуть символы XML-имени  в последовательность "_XFFFF_" или "_XFFFFFFFF_". Всякий раз, когда вы находите такую последовательность, заменяйте  ее символами, соответствующими символам Unicode. Если же имя XML начинается с символов "_XFFFF_", игнорируйте их.

Следуя этим простым правилам, вы можете преобразовывать идентификатор SQL в XML-имя, а затем вернуться к  идентификатору SQL. Однако это хорошее  правило не действует для преобразования XML-имени в идентификатор SQL и наоборот.

 
Целостность баз данных. Транзакции SQL.

Транзакции и целостность баз  данных

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

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

Понятие транзакции

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

Транзакция обладает четырьмя важными  свойствами, известными как свойства АСИД:

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

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

  • Подана команда COMMIT WORK (зафиксировать транзакцию).
  • Подана команда ROLLBACK WORK (откатить транзакцию).
  • Произошло отсоединение пользователя от СУБД.
  • Произошел сбой системы.

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

Замечание. Некоторые системы (например, Visual FoxPro), требуют подать явную команду BEGIN TRANSACTION для того, чтобы начать новую транзакцию.

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

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

При сбое системы происходят более  сложные процессы. Кратко суть их сводится к тому, что при последующем  запуске системы происходит анализ выполнявшихся до момента сбоя транзакций. Те транзакции, для которых была подана команда COMMIT WORK, но результаты работы которых не были занесены в базу данных выполняются снова (накатываются). Те транзакции, для которых не была подана команда COMMIT WORK, откатываются. Более подробно восстановление после сбоев рассматривается далее.

Информация о работе Понятие данных, принципы построения информационных систем