Базы данных и управление ими. Файл базы данных имеет расширение Ms access присваивает файлу бд расширение

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если для решения ваших задач использовать шаблон не имеет смысла, можно создать базу данных с нуля. Поскольку Access хранит все таблицы базы данных, а также другие объекты в одном файле, прежде чем приступить к созданию таблиц базы данных, необходимо создать файл пустой базы данных.

Для создания файла новой пустой базы данных щелкните в области создания базы данных стартового окна Access на элементе Новая база данных (Blank Database).

Выбор варианта Новая база данных (Blank database) или Пустая веб-база данных (Blank web database) определяет функции, доступные для работы с базой данных. Базы данных для настольных компьютеров нельзя опубликовать в Интернете, а веб-базы данных не поддерживают некоторые функции баз данных для на-стольных компьютеров, например итоговые запросы.

Справа, в области Новая база данных (Blank database), введите имя файла в поле Имя файла (File Name), например Поставка товаров.accdb.

Задавая имя файла базы данных, следует иметь в виду, что оно не должно содержать символов: \ / : * ? » < > |, а его предельная длина составляет 215 символов, включая пробелы.

Под именем отображается имя папки, в которой по умолчанию сохранится файл базы данных. Если надо сохранить файл в другой папке, щелкните на значке Поиск расположения для размещения базы данных (Browse for a location to put your database) (справа от имени файла базы данных) и в окне Файл новой базы данных (File New Database) откройте нужную папку.

ЗАМЕЧАНИЕ
Для изменения используемой по умолчанию папки для файлов новых баз данных Мои документы (My Documents) на вкладке Файл (File) выполните команду Параметры Общие (General) в разделе Создание баз данных (Creating databases) в поле Рабочий каталог (Default database folder), используя кнопку Обзор (Browse), выберите путь к папке, в которой предполагается хранить новые базы данных.

В окне Файл новой базы данных (File New Database) в поле Тип файла (Save as type) выберите формат создаваемой базы данных. По умолчанию формат файла имеет значение Базы данных Microsoft Office Access 2007 (*.accdb) (Microsoft Access 2007 Databases). В Access 2010 сохранился формат базы данных Access 2007. Базы данных в формате Access 2007 сохраняются в файлах с расширением accdb. В предыдущих версиях базы данных сохранялись в файлах с расширением mdb.

ЗАМЕЧАНИЕ
Для изменения формата выбираемого для новой базы данных по умолчанию на вкладке Файл (File) выполните команду Параметры (Options) и в появившемся диалоговом окне на вкладке Общие (General) в разделе Создание баз данных (Creating databases) в поле Формат файла по умолчанию для пустой базы данных (Default file format for Blank Database) выберите нужный формат.

Закончив выбор в окне Файл новой базы данных (File New Database), щелчком по кнопке Создать (Create) завершите процесс создания пустого файла новой базы данных. В результате открывается окно созданной базы данных с пустой таблицей с именем Таблица1 (Table1) в режиме таблицы. Курсор находится в первой пустой ячейке столбца Щелкните для добавления (Click to Add). Теперь можно приступить к созданию этой таблицы и других объектов новой оригинальной базы данных.

При создании нового файла базы данных может быть выбран формат, предназначенный для работы с базой данных, размещенной на SQL-сервере. Последний формат называется Microsoft Access Проекты (*.adp). Проект предназначен для разработки объектов, составляющих приложение пользователя. Сама база данных, хотя и может разрабатываться в среде проекта, сохраняется на сервере и имеет соответствующий формат. Проекты сохраняются в файлах с расширением adp.

При создании проекта возможно подключение к существующей на сервере базе данных или создание новой базы данных на сервере.

И у нас видео на эту тему:

Мы узнаем как создать таблицы в базах данных MS Access 2010.

Для создания базы данных запускается утилита IBConsol и устанавливается сеанс связи с локальным сервером. Затем из главного меню утилиты подается команда

Tools -» Interactive SQL

При этом на экран выводится диалоговая панель «Interactive SQL» для описания характеристик файла базы данных (рис. 5.1), в рабочем поле которой и пишется запрос на создание базы данных.

Для выполнения запроса необходимо с клавиатуры подать команду Ctrl + Е или из главного меню подать команду

Рис. 4.1. Запуск сервера InterBase

Создание файла базы данных

Файл базы данных представляет собой контейнер, внутри которого хранятся другие файлы, такие как табличные, индексные, просмотров и т. д. Файл базы данных создается один раз и в дальнейшем изменяться не может. Внутри файла базы данных имеется некоторая область, которая называется метаданные. Внутри этой области хранятся программные блоки, которые содержат в откомпилированном виде описания триггеров, хранимых процедур и генераторов.

Для создания пустого файла базы данных предназначен 501-запрос CREATE DATABASE. В созданный файл базы данных впоследствии будут помещаться файлы таблиц, индексов, просмотров и т. д.

Формат запроса

CREATE DATABASE SCHEMA

[ USER [ PASSWORD ] ]

[ PAGE SIZE [ = ] ]

[ LENGTH [ = ] [ PAGE [ S ] ] ]

[ DEFAULT CHARACTER SET ] f ];

где опция имеет структуру

FILE [ имеет структуру

LENGTH [ = ] [ PAGE [ S ] ] STARTING [ АТ [ PAGE} }

Назначение параметров:

Указывается полное имя файла базы данных. Имя пишется по правилам используемой платформы;

USER - указывается имя пользователя (владельца) базы данных. При каждом обращении к базе данных запрашивается имя пользователя с целью его идентификации;

PASSWORD - указывается пароль, который запрашивается при каждом обращении к базе данных. Пароль запрашивается вместе с именем пользователя (USER

PAGE SIZE [ = ] - задается размер страницы базы данных в байтах. Допустимы следующие размеры одной страницы: 1024 (по умолчанию), 2048, 4096 и 8192;

DEFAULT CHARACTER SET - параметр определяет набор символов, которые будут использоваться для хранения данных в базе данных. То есть задаются символы национальных алфавитов. По умолчанию используется набор NONE , т. е. допускается использование только символов английского алфавита. Для того чтобы использовать буквы русского и английского алфавитов при хранении символьных данных, следует задать набор WIN 1251. Набор символов задается один раз при создании базы данных. Изменить кодировку, заданную по умолчанию или этой опцией, можно при определении конкретных доменов или столбцов;

FILE - указывается имя одного или нескольких файлов, составляющих единую базу данных. Имя каждого файла указывается отдельной опцией FILE ;

STARTING [ АТ [ PAGE ] ] - определяет начальную страницу соответствующего файла базы данных (при многофайловой базе данных);

LENGTH [ = ] [ PAGE [ S ] ] - задает размер текущего файла в страницах. По умолчанию - 75 страниц. Минимальное количество страниц одного файла - 50.

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

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

Размер страницы для всей базы данных фиксирован и может иметь одно из значений: 1024, 2048, 4096 или 8192 байта. По умолчанию принят размер 1024 байта. Обмен данными между приложением клиента и базой данных производится в размере страницы. Увеличение размера страницы уменьшает время обработки данных (выполнение запросов) за счет сокращения количества операций чтения, но увеличение размера страницы оправдано только в том случае, если выборки данных (порции информации) имеют большой размер. Если размер выборки мал при большом размере страницы, то объем страницы используется не эффективно.

Пример 5.1. Создание многофайловой (распределенной) базы данных.

CREATE DATABASE D:SKAZKABOOK.GDB USER "SYSDBA" PASSWORD "masterkey"

FILE D:SKAZKABOOK.GDl STARTING AT PAGE 1501 LENGTH 100

FILE D:SKAZKABOOK.GD2

На диске D внутри каталога «SKAZKA» создается база данных, состоящая из трех файлов:

  • первый файл с именем BOOK.GDB имеет размер страниц 1024 байта (по умолчанию), количество страниц 1500 (с 1 по 1500, так как второй файл BOOK.GD 1 начинается со страницы с номером 1501);
  • второй файл с именем BOOK. GDI имеет размер страниц 1024 байта, количество страниц - 100;
  • третий файл BOOK.GD2 имеет размер страниц 1024 байта, количество страниц не определено (до заполнения диска).

Заданы имя пользователя (владельца базы данных) - SYSDBA и пароль - masterkey.

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

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

После применения этой команды последующее восстановление базы данных невозможно.

В данном посте база 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 (можно было конечно и пошевелиться, ну да ладно).