Банки данных

Информатика и математика для юристов


СУБД ACCESS.

 

  1. БАЗЫ ДАННЫХ.

Хранение информации - одна из важнейших  функций компьютера. Самым распространенным средством такого хранения являются базы данных.

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

  1. СТРУКТУРА БАЗЫ ДАННЫХ.

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

  1. ПРОСТЕЙШИЕ БАЗЫ ДАННЫХ.

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

  • с заданным разделителем;
  • с фиксированной длиной поля.

Несмотря на "примитивность" таких текстовых баз данных, мощные системы управления базами данных позволяют  импортировать подобные файлы и  преобразовывать их в "настоящие" базы данных.

  1. СВЯЗАННЫЕ ТАБЛИЦЫ.

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

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

Гораздо удобнее сделать несколько таблиц. В одной хранить сведения о  клиентах со всеми их данными, в другой - сведения о купленных продуктах, чтобы в любой момент узнать, что  выдано клиенту, какие документы ему оформить. В третьей таблице - остаток продуктов на складе, чтобы вовремя пополнять запасы. После этого отдельные поля таблиц связывают. Если из таблицы Прокат известно, что клиент НВП взял диск D001, то система управления базой данных мгновенно найдет в таблице Клиенты все паспортные данные этого человека, а в таблице Склад все данные об этом диске.

Разделение  базы на связанные таблицы не только удобно, но иногда и необходимо.  
Если данные в разных записях начинают повторяться, это может говорить о том, что база имеет плохую структуру. Надо подумать о том, нельзя ли разбить таблицу на группу связанных таблиц. Если заданы связи между таблицами, то работать с разными таблицами можно, как с одной цельной базой данных.

 

  1. СУБД ACCESS.

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

Положение изменилось с появлением в составе пакета Microsoft Office системы  управления базами данных Access. С помощью Access  обычные пользователи получили удобное средство для создания и эксплуатации достаточно мощных баз данных без необходимости что-либо программировать. В то же время работа с Access не исключает возможности программирования. При желании систему можно развивать и настраивать собственными силами. Для этого надо владеть основами программирования на языке Visual Basic. Еще одним дополнительным достоинством Access является интегрированность этой программы с Excel, Word и другими программами пакета Office. Данные, созданные в разных приложениях, входящих в этот пакет, легко импортируются и экспортируются из одного приложения в другое. Мы будем рассматривать работу СУБД на примере Access.

  1. ОБЪЕКТЫ ACCESS.

Исходное окно Access отличается простотой  и лаконичностью. Шесть вкладок  этого окна представляют шесть видов объектов, с которыми работает программа.

  • Таблицы - основные объекты базы данных. С ними мы уже знакомы. В них хранятся данные. Реляционная база данных может иметь много взаимосвязанных таблиц.
  • Запросы - это специальные структуры, предназначенные для обработки данных базы. С помощью запросов данные упорядочивают, фильтруют, отбирают, изменяют, объединяют, то есть обрабатывают.
  • Формы - это объекты, с помощью которых в базу вводят новые данные или просматривают имеющиеся.
  • Отчеты - это формы "наоборот". С их помощью данные выдают на принтер в удобном и наглядном виде.
  • Макросы - это макрокоманды. Если какие-то операции с базой производятся особенно часто, имеет смысл сгруппировать несколько команд в один макрос и назначить его выделенной комбинации клавиш.
  • Модули - это программные процедуры, написанные на языке Visual Basic. Если стандартных средств Access не хватает для удовлетворения требований заказчика, программист может расширить возможности системы, написав для этого необходимые модули или использовав готовые.
  1. РЕЖИМЫ РАБОТЫ С ACCESS.

С организационной точки зрения в работе с любой базой данных есть два разных режима: проектировочный  и эксплуатационный (пользовательский). Создатель базы имеет право создавать  в ней новые объекты (например таблицы), задавать их структуру, менять свойства полей, устанавливать необходимые связи. Он работает со структурой базы и имеет полный доступ к базе. Пользователь базы - это лицо, которое наполняет ее информацией с помощью форм, обрабатывает данные с помощью запросов и получает результат в виде результирующих таблиц или отчетов. У одной базы могут быть миллионы пользователей, и, конечно, доступ к структуре базы для них закрыт.

1. Взгляните на стартовое окно  базы данных. Кроме шести вкладок  для основных объектов оно содержит три командные кнопки: Открыть, Конструктор, Создать. С их помощью и выбирается режим работы с базой.

2. Кнопка Открыть открывает избранный  объект. Если это таблица, то  ее можно просмотреть, внести  новые записи или изменить те, что были внесены ранее.

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

4. Действие командной кнопки  Создать соответствует ее названию. Она служит для создания новых  объектов. Этот элемент управления тоже предназначен для проектировщиков базы. Таблицы, запросы, формы и отчеты можно создавать несколькими разными способами: автоматически, вручную или с помощью Мастера. О достоинствах и недостатках этих методов мы поговорим при более подробном рассмотрении объектов Access.

 

  1. ТАБЛИЦЫ.
    1. СОЗДАНИЕ ТАБЛИЦ.

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

Создание таблицы состоит в  задании ее полей и назначении их свойств. Оно начинается с щелчка на кнопке Создать в окне База данных.

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

2. .Самый  "автоматичный" способ состоит в импорте таблиц из другой базы, может быть, даже созданной в другой системе. В зависимости от обстоятельств из импортируемой таблицы может поступить структура полей, их названия и свойства, а также и содержимое базы. Если что-то импортируется не совсем так, как надо, необходимые правки (например, в свойства полей) вносят вручную.

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

4. Опытные разработчики пользуются  Мастером таблиц. Это программа,  ускоряющая создание структуры  таблицы. Мастер задает ряд  вопросов и, руководствуясь полученными  ответами, создает структуру таблицы автоматически. Несмотря на то что этот режим служит для упрощения работы, начинающим пользоваться им не рекомендуется, поскольку, не владея всей терминологией, легко запутаться в вопросах и ответах. Первые таблицы стоит попробовать создать вручную.

5. Пункт Режим таблицы  открывает заготовку, в которой  все поля имеют формальные  имена: Поле1, Поле2... и т. д. и  один стандартный текстовый тип.  Такую таблицу можно сразу  наполнять информацией. 

6. Наиболее универсальный  ручной метод предоставляет пункт Конструктор. В этом режиме можно самостоятельно задать имена полей, выбрать их тип и настроить свойства.  
Для изменения свойств полей надо перейти в режим Конструктор щелчком на кнопке Вид. Чтобы вставить новое поле, надо установить указатель мыши на маркер поля и нажать клавишу INSERT. Чтобы удалить поле, его надо выделить и нажать клавишу DELETE. Закончив создание структуры, можно щелкнуть на кнопке Вид и перейти в Режим таблицы для заполнения ее данными.

    1. Поля таблиц и их свойства.

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

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

    • длина имени – максимум 64 символа;
    • любая комбинация букв, цифр, пробелов и специальных символов за исключением точки (.), восклицательного знака (!), надстрочного символа(‘) и квадратных скобок ([]);
    • имя не должно начинаться с пробела;
    • имя не должно включать управляющие символы;
    • имя не должно включать прямые кавычки (");
    • имя не должно совпадать с именами свойств или элементов управления.

Для поля выбирается тип данных. Описание поля содержит произвольный текст, поясняющий структуру таблицы.

Типы полей таблиц СУБД Access.

Тип  данных

Содержит

Размер

Текстовый

Произвольные символы

До 255 символов, пустые значения не хранятся

Поле МЕМО

Неструктурированный текст

До 65535 (64 К) символов

Числовой

Любые числовые данные для математических вычислений, за исключением денежных операций

1,2,4 или 8 байт 

Дата/время

Даты и время

8 байт

Денежный

Значения валют, предотвращает  округления во время вычислений, до 15 символов в целой части числа  и 4 в дробной

8 байт

Счетчик

Последовательные с шагом 1 или случайные числа при добавлении записи (не может обновляться, повторно номер не используется)

4 байта

Логический

Значения «Да/Нет», «Истина/Ложь», «Включено/Выключено»

1 бит

Объекты OLE

Объекты, использующие протокол  OLE и технологию связывания и внедрения

До 1 Гбайта (ограничено объемом диска)

Гиперссылки

Содержит как минимум 3 части:

  • Текст для показа ссылки;
  • Адрес путь к файлу или странице;
  • Подадрес – для ориентации внутри файла или страницы

Каждая часть гиперссылки содержит до 2048 символов.

Мастер подстановок

Выбор значения из другой таблицы  или из списка значений, используя  поле со списком

Размер ключевого поля, обычно 4 байта


 

Свойства поля зависят  от выбранного типа данных. Свойства поля задаются на двух вкладках: Общие и  Подстановка.

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

    • По формату вводимых значений – учитывается тип данных и маска ввода;
    • По условию – задается выражение, состоящее из констант, встроенных функций, операторов сравнения.

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

Некоторые поля таблицы  получают свойство индексных полей. Для индекса указывается, допускается или не допускается совпадение значений в записях таблицы. Обычно индексы создаются для полей, которые являются ключами связи с другими таблицами, служат ускорению поиска записей в таблице, выполнения многотабличных запросов, отчетов, форм. Среди всех индексов выделяется первичный индекс – Primary Key, который обеспечивает идентификацию записей таблицы. Этот индекс может содержать произвольное число полей определенного типа данных. Для создания, редактирования и удаления индексов используется команда меню Вид}Индексы.

Не допускается создание индексов для полей типа МЕМО, Гиперссылка, Объект  OLE. При редактировании данных таблиц индексы автоматически обновляются, поэтому значительное число индексов замедляет работу с таблицей.

В один индекс может входить несколько  полей таблицы, для каждого поля указываются свойства:

    • порядок сортировки;
    • ключевое поле (только один индекс может иметь значение Да – Primary Key); Уникальный индекс(возможность повторения значений индекса в записях таблицы); пропуск пустых полей.
    1. Мастер подстановок.

Ссылка на таблицу, запрос.

Поля таблиц могут заполняться  значениями из других таблиц или запросов.  Для определения источника строк в виде ссылки на таблицу или запрос следует:

    • Перейти в конструктор таблиц;
    • Выбрать поле, для которого требуется подстановка значений;
    • Указать тип поля – Мастер подстановок;
    • Затем выбрать:
      • Способ подстановки – Объект Столбец подстановки будет использовать значения из таблицы или запроса;
      • Таблицу или запрос – источник для подстановки;
      • Поле таблицы или запроса, обеспечивающее выбор значений;
      • Выбрать другие поля источника для формирования списка подстановки;
      • Изменить ширину столбцов с помощью мыши, если это нужно;
      • Снять флажок Скрыть ключевой столбец для таблицы с первичным ключом;
      • Выбрать поле, идентифицирующее строку списка;
      • Задать подпись для столбца подстановки.

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

Источник строк записан на языке  запросов SQL.

Присоединенным столбцом является ключевой столбец, он всегда один.

Заголовки столбцов можно не выводить, ширина столбцов – произвольная. Если ключевой столбец скрыт, ширина этого столбца –0 см. Можно задать максимальное число строк и ширину списка. Если ввод данных в поле должен выполняться только из исходного списка, указывается свойство поля   Ограничится списком –  Да.

Если в качестве источника  выбрана таблица, содержащая составной  ключ, в поле подстановки вставляется  первое поле составного ключа. Флажок Скрыть ключевой столбец выводится,  если источник поля подстановки – таблица с ключом из одного поля. Если этот флажок не убрать, в таблицу записывается поле, следующее за ключевым.

Ссылка на фиксированный список значений.

Другой вариант использования  мастера подстановки – создание фиксированного набора значений для поля. Последовательность действий для определения источника строк:

    • Перейти в конструктор таблиц;
    • Выбрать поле, для которого требуется подстановка значений;
    • Указать тип поля – Мастер подстановок;
    • Выбрать способ подстановки – Будет введен фиксированный набор значений;
    • Указать число столбцов списка и заполнить элементы списка;
    • Выбрать поле, однозначно определяющее строку списка;
    • Задать подпись столбца.

Для полей подстановки из фиксированного набора значение на вкладке Подстановка указывается тип элемента управления – Поле со списком, тип источника данных – Список значений.

    1. КЛЮЧЕВОЕ ПОЛЕ.

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

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

В Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ.

Для создания ключевого поля типа Счетчик необходимо в режиме Конструктора таблиц:

    1. Включить в таблицу поле счетчика.
    2. Задать для него автоматическое увеличение на 1.
    3. Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле на панели инструментов Конструктор таблиц.
    1. ОСОБЕННОСТИ ТАБЛИЦ БАЗ ДАННЫХ.

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

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

    1. ПРИЕМЫ РАБОТЫ С ТАБЛИЦАМИ БАЗ ДАННЫХ.

Вызовем таблицу базы данных.

1. Обратим внимание на строку  состояния в нижней части окна. В Access эта строка называется  полем номера записи. Это поле  содержит кнопки перехода, с помощью которых можно эффективно перемещаться по таблице.

2. Каждая запись имеет слева  кнопку (маркер записи). Щелчок на  этом маркере выделяет всю  запись и готовит ее к копированию,  перемещению, удалению.

3. Щелчок правой кнопкой на  выделенной записи открывает контекстное меню для операций с записью.

4. Маркер, находящийся в левом  верхнем углу таблицы, - это маркер  таблицы. Щелчок на нем выделяет  всю таблицу, а правый щелчок  открывает контекстное меню для операций с таблицей в целом.

5. Поля базы данных представлены в таблице столбцами. Каждый столбец имеет заголовок, в котором записано имя поля или то значение, которое задано в свойстве Подпись.

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

7. Щелчок на заголовке столбца  выделяет весь столбец, а щелчок  правой кнопкой на выделенном  столбце открывает контекстное  меню. В нем есть пункты, позволяющие  отсортировать записи по данному  полю, вставить новый столбец,  скрыть столбец и прочее.  
8. Скрытый столбец не исчезает из базы, а только перестает отображаться на экране. Чтобы снова его отобразить, надо навести указатель на границу между столбцами в том месте, где был скрыт столбец, и выполнить двойной щелчок. Скрытый столбец опять станет видимым.

    1. СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ.

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

1. Окно Схема данных открывают  щелчком на одноименной кнопке  панели инструментов или командой Сервис > Схема данных.

2. Если ранее никаких связей  между таблицами базы не было, то при открытии окна Схема  данных одновременно открывается окно Добавление таблицы, в котором можно выбрать нужные таблицы для включения в структуру межтабличных связей.

3. Если связи между таблицами  уже были заданы, то для введения  в схему данных новой таблицы  надо щелкнуть правой кнопкой мыши на схеме данных и в контекстном меню выбрать пункт Добавить таблицу.

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

5. Связь между полями устанавливают  путем перетаскивания имени  поля из одной в таблицы в другую на соответствующее ему связанное поле.

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

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

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

  1.  ЗАПРОСЫ.

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

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

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

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