Файловое строение SQLite. Access файл имеет расширение: Mdb Как вставить новый слайд

Файловое строение SQLite. Access файл имеет расширение: Mdb Как вставить новый слайд

The .accdb file format that was introduced in Access 2007 offers many benefits that are unavailable in earlier file formats. If you are upgrading to from a version of Access prior to Access 2007, you may have databases files that use an .mdb file format. In most cases, you should save these databases using the .accdb file format . You can keep a copy of the original .mdb file to help you verify that the transition went well.

This article explains the benefits of the .accdb file format, reasons why you might want to use an .mdb file format, and how to convert a database to the new file format.

In this article

The .accdb file format

Starting with Access 2007, .accdb is the default Access file format. The .accdb file format supports a number of newer features, such as calculated fields and attachments. However, there are some circumstances in which the .accdb file format might not be the right choice.

Features provided by the .accdb file format

    Multivalued fields A multivalued field is a kind of lookup field that lets you store more than one value per record. For example, suppose you need to assign a task to several employees. In an .accdb file, you can create a multivalued field to store which employees are assigned to the task. The employees" names can be selected from a table or a list of values.

    Multivalued fields make it easy to select and store more than one choice, without having to create a more advanced database design. Multivalued fields are also important for integration with SharePoint, because SharePoint lists also support multivalued fields.

    Attachment data type The Attachment data type lets you easily store all types of documents and binary files in your database while helping you keep the database file under the 2GB file size limit – attachments are automatically compressed. A record can have multiple attachments, but there can only be one attachment field per table.

    Better integration with SharePoint and Outlook The .accdb file format support SharePoint and Outlook security requirements that aren’t supported by .mdb files. This makes it possible to integrate Access more fully with SharePoint and Outlook.

    Improved encryption You can choose to set a database password and encrypt the contents of your database. When you do so using the .accdb file format, by default Access uses the Windows Crypto API to encrypt the data. Third-party encryption tools can also be used.

    Long Text (Memo) field history tracking Long Text (Memo) fields are useful for storing large amounts of information. When you use the .accdb file format, you can set a property (AppendOnly ) that forces Access to retain a history of all changes to a Long Text (Memo) field. You can then view a history of those changes. This feature also supports the versioning feature in SharePoint so that you can use Access to track changes in multiple lines of a text field that is stored in a SharePoint list (provided that the field has the Append Changes to Existing Text option set to Yes ).

    Calculated data type Beginning in Access 2010, the .accdb file format supports the use of a Calculated data type. You can use the Calculated data type to store the results of an expression that you define.

The .mdb file formats

Before the .accdb file format was introduced in Access 2007, Access file formats used the .mdb file extension. There are multiple different versions of the .mdb file format.

You can still open some .mdb files. If the file is stored in the Access 2002-2003 or Access 2000 file format, you can open it and use it normally. However, you cannot take advantage of features that require the .accdb file format.

If you rely on features that aren’t available in an .accdb file, don’t convert the file – leave it as an .mdb file.

.mdb file features that aren’t available in an .accdb file

    Mixed-version environment The .accdb file format cannot be opened –or even linked to –using versions of Access prior to Access 2007. If there are people in your organization who have an earlier version of Access, you should consider whether using an .mdb file is a better option. But don’t forget – you can use an Access app or a web database in a web browser, regardless of whether Access is even installed.

    Database replication You can’t use replication in an .accdb file. If your Access solution uses the replication feature, you will need to re-create the solution without replication if you want to use the .accdb file format.

    User-level security The .accdb file format doesn’t support user-level security, a feature that provides a way to help people see just what they need to see. User-level security is no longer effective for data security, as its security method is now obsolete and easily compromised. However, user-level security can improve usability by keeping things simple for people – for example, if someone has no business reason to use a particular form, you could hide the form from them. If you have an Access solution that relies on user-level security to improve usability, you might want to keep using the .mdb file format so you can keep using your solution as-is.

Converting to the new file format

To convert an .mdb file to the .accdb file format, open the file and then save it in the .accdb file format.

Important: The following procedure is for .mdb files created in Access 97, Access 2000, Access 2002 or Access 2003.

First, open your database:

    Click the File tab.

    On the left, click Open .

    In the Open dialog box, select and open the database that you want to convert.

Now, convert your database:

    Click the File tab.

    On the left, click Save As .

    Under File Types , click Save Database As .

    On the right, under Database File Types , click Access Database .

    In the Save As dialog box, in the File name box, enter a file name or use the file name supplied.

    Click Save .

    A copy of the database is created in the .accdb file format.

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

  • назначение Access;
  • создание базы данных и таблицы;
  • ввод данных в таблицу, ее редактирование и форматирование;
  • связи между таблицами в базе данных.

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

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

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

  • Access может работать в качестве:
  • автономной СУБД для настольных систем;
  • СУБД для файлового сервера;
  • как интерфейсный клиент для связи с серверными СУБД масштаба предприятия, например, с Microsoft SQL Server.

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

Access 2003 позволяет преобразовывать базы данных Microsoft Access в формат Microsoft SQL Server, предоставляет двухстороннюю поддержку XML. Для интеграции инструментария Access с базами данных MS SQL используются быстродействующие средства доступа к базам данных на основе интерфейса OLE-DB.

Расширения файлов, используемых в Access

Access хранит все данные в одном файле, несмотря на то, что они могут быть распределены по разным таблицам. Таблицы с данными, их индексы, формы, отчеты хранятся в файлах с расширением.mdb (Microsoft Access database ). Закрытый формат файлов с расширением.mde позволяет не включать исходный код VBA в распространяемые приложения Access. Файлы,adp (Microsoft Access .project ) обеспечивают подключение к интегрированным хранилищам данных SQL Server 2000 через соединение OLE DB, что позволяет создавать полноценные приложения, имеющие архитектуру клиент/сервер.

По умолчанию в Access используются файлы с расширением.mdb. Этот формат позволяет разработчикам сохранять файлы как *.mde или *.ade. При этом любой код Visual Basic компилируется, и исходный код исключается как из файла базы данных Access (.MDB), так и из файла проекта Access (.ADP), что обеспечивает более надежную защиту.

Запуск Access и завершение работы с программой

Для завершения работы с приложением выберите команду Выход (Exit) в меню Файл (File). Другие варианты запуска программы и завершения работы с ней рассмотрены в главе 1 в разделах "Различные способы запуска приложений Microsoft Office" и "Закрытие документа и выход из программы Microsoft Office".

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

Формат файла базы данных

Вся база данных хранится в одном файле на диске под названием «main database file». Во время транзакций, SQLite хранит дополнительную информацию во втором файле: журнал отката (rollback journal), либо, если база работает в режиме WAL, лог-файл с информацией о записях. Если приложение или компьютер отключился до окончания транзакции, то данные файлы называются «hot journal» или «hot WAL file» и содержат необходимую информацию для восстановления базы в согласованное состояние.

Страницы

Основной файл базы состоит из одной или нескольких страниц. Все страницы в одной базе имеют одинаковый размер, который может быть от 512 до 65536 байт. Размер страницы для файла базы определяется целым 2-ух байтовым числом со смещением 16 байт от начала файла базы данных.
Все страницы пронумерованы от 1 до 2147483646 (2^31 – 2). Минимальный размер базы: одна страница размеров 512 байт , максимальный размер базы: 2147483646 страниц по 65536 байт (~140 Тбайт ).

Заголовок

Первый 100 байт файла базы данных содержат заголовок базы, в таблице 1 представлена схема заголовка.

Таблица 1

Lock-byte страница

Страница блокировки является одной страницей файла базы и находится между смещениями 0х1073741824 и 0х1073742335, если размер базы меньше, то она не имеет страницы блокировки. Данная страница нужна для реализации примитивов блокировки OS Interface’ом.

Freelist

Список пустых страниц организован как связный список. Каждый элемент списка состоит из двух чисел по 4 байта. Первое число определяет номер следующего элемента freelist (trunk pointer), либо равняется нулю, если список кончился. Второе число, это указатель на страницу данных (Leaf page numbers). На рисунке ниже показана схема данной структуры.

B - tree

SQLite использует две вида деревьев: «table B – tree» (на листьях хранятся данные) и «index B – tree» (на листьях хранятся ключи).
Каждая запись в «table B – tree» состоит из 64-битового целое ключа и до 2147483647 байт произвольных данных. Ключ «table B – tree» соответствует ROWID таблицы SQL.
Каждая запись в «index B – tree» состоит из произвольного ключа до 2147483647 байт в длину.

Страница B - tree

Страница B-дерева имеет структуру:
  • Заголовок файла базы данных (100 байт)
  • Заголовок страницы B-дерева (8 или 12 байт)
  • Массив указателей ячеек
  • Незанятое пространство
  • Содержимое ячейки
  • Зарезервированное место

Заголовок файла базы данных встречается только на первой странице, которая всегда является старицей «table B – tree». Все остальные страницы B-дерева в базе не имеют этого заголовка.

Заголовок страницы B-дерева имеет размер 8 байт для страниц листьев и 12 байт для внутренних страниц. В таблице 2 представлена структура заголовка страницы.

Таблица 2

Freeblock - это структура, используемая для определения незанятого пространства внутри страницы B-дерева. Freeblock организованы в виде цепочки. Первые 2 байта в freeblock (от старшего к младшему), это смещением до следующего freeblock, или ноль, если freeblock является последним в цепочке. Третий и четвертый байты – целое число, размер freeblock в байтах, включая заголовок в 4 байта. Freeblocks всегда связаны в порядке возрастания смещения.

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


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

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

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

TABLE

Каждая таблица (с ROWID) представляется в базе в виде table b - tree . Каждая запись в дереве, соответствует строке таблицы SQL. Одна строка SQL таблицы представляется в виде последовательности (той же что и указана при ее создании) столбцов таблицы в record format. Если таблица имеет INTEGER PRIMARY KEY, который является псевдонимом ROWID, то вместо его значения будет записано NULL. SQLite всегда будет использовать ключ table b - tree вместо значения NULL при обращении к INTEGER PRIMARY KEY. Если Affinity столбца (рекомендация приведения типа, подробнее habrahabr.ru/post/149635 в разделе «Типы данных и сравнение значений») является REAL и значение может быть преобразовано к INTEGER без потери данных, то значение будет хранится в виде целого числа. При извлечении данных из базы SQLite преобразует целое число к REAL.

TABLEWITHOUT ROWID

Каждая таблица (без ROWID) представляется в базе в виде index b - tree . Отличие от таблиц с rowid, заключается в том, что ключ каждой записи SQL таблицы хранится в виде record format, при чем столбцы ключа хранятся как указаны в PRIMARY KEY, а остальные в порядке указанном в объявлении таблицы.
Таким образом записи в index b - tree представляются также как и в table b - tree , кроме порядка столбцов и того, что содержание строки хранится в ключе дерева, а не в качестве данных на листьях как в table b - tree .

INDEX

Каждый индекс (объявленный CREATE INDEX, PRIMARY KEY или UNIQUE) представляется в базе в виду index b - tree . Каждая запись в таком дереве соответствует строки в SQL таблице. Ключ индексного дерева представляет собой последовательность значений столбцов указанных в индексе и завершается значением ключа строки (rowid или primary key) в record format.

UPD 13:44 : переработан раздел Representation , спасибо за критику mayorovp (можно было конечно и пошевелиться, ну да ладно).

Программа установки записывает на диск компьютера файл базы данных (БД). Он необходим для первоначального запуска программы. Его можно использовать в дальнейшем для создания базы технологических настроек и ведения базы заказов. Но перед началом использования этого файла БД - загрузки КОнструктива и/или внесения настроек вручную - необходимо провести РЕСТРУКТУРИЗАЦИЮ файла БД.

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

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

Создание файла БД.

Для создания файла БД пользователь должен обладать правами администратора на своем компьютере и правами доступа в раздел "Администрирование" в ПК "ПрофСтрой 4". При наличии означенных полномочий необходимо пройти в раздел "Администрирование" на закладку "Создание БД".

В Нашем примере для создания файла БД выбрана, заранее созданная, папка C:DBPS4PS TEST Файлу БД присвоено имя base12.fdb . После того как определена папка и имя файла нажать кнопку "Создать" -будет создан новый, пустой файл БД. Программа информирует об этом:

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

Для подключения к файлу БД необходимо пройти в раздел "Системные данные "

В поле "База данных FireBird " указать путь к файлу БД - в нашем случае он таков: C:DBPS4PS TESTBASE12.FDB. Далее перейдем к созданию Конфигурации.

Конфигурация - совокупность файла БД и нескольких служебных папок:

    папки для резервной копии;

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

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

    папки для хранения фалов экспорта данных в 1С - тут хранятся файлы формата XML ;

    папки каталога архива проектов - в ней хранятся файлы архивных копий проектов.

Следует заметить, что при работе с несколькими файлами БД создание Конфигурации имеет свои особенности. Так например папки 2 и 3 могут быть общими для всех Конфигураций, а папки 1,4,5 должны быть для каждой Конфигурации уникальны.

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

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

Т.к. файл БД пуст - никаких пользователей в нем нет. Первого пользователя необходимо создать сейчас - в поле "Пользователь" ввести удобное имя (в нашем случае оно будет - АДМИН) и нажать кнопку "Применить". Программа проинформирует, что пользователь не существует и запросить подтверждение создания.

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

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