Свойства полей базы данных
Поля базы данных не просто определяют структуру базы — они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.
• Имя поля — определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).
• Тип поля — определяет тип данных, которые могут содержаться в данном поле.
• Размер поля — определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
• Формат поля — определяет способ форматирования данных в ячейках, принадлежащих полю.
• Маска ввода — определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).
• Подпись — определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
• Значение по умолчанию — то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).
• Условие на значение — ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).
• Сообщение об ошибке — текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности выполняется автоматически, если задано свойство Условие на значение).
• Обязательное поле — свойство, определяющее обязательность заполнения данного поля при наполнении базы;
• Пустые строки — свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).
• Индексированное поле — если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.
Здесь мы должны обратить особое внимание читателя на то, что поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список вышеуказанных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видеоклипов и других объектов OLE, большинство вышеуказанных свойств не имеют смысла.
С основными типами данных мы уже знакомы. Так, например, при изучении электронных таблиц Microsoft Excel мы видели, что они работают с тремя типами данных: текстами, числами и формулами. Таблицы баз данных, как правило, допускают работу с гораздо большим количеством разных типов данных. Так, например, базы данных Microsoft Access работают со следующими типами данных (рис. 13.2).
Рис. 13.2. Таблица с полями некоторых типов
Текстовый — тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
Поле Мемо — специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он хранится в другом месте базы данных, а в поле хранится указатель на него, но для пользователя такое разделение заметно не всегда.
Числовой — тип данных для хранения действительных чисел.
Дата/время — тип данных для хранения календарных дат и текущего времени.
Денежный — тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа.
Счетчик — специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование — для порядковой нумерации записей.
• Логический — тип для хранения логических данных (могут принимать только два значения, например Да или Нет).
• Поле объекта OLE — специальный тип данных, предназначенный для хранения объектов OLE, например мультимедийных. Реально, конечно, такие объекты в таблице не хранятся. Как и в случае полей MEMO, они хранятся в другом месте внутренней структуры файла базы данных, а в таблице хранятся только указатели на них (иначе работа с таблицами была бы чрезвычайно замедленной).
• Гиперссылка — специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объекта в его окне.
• Мастер подстановок — это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод в данных поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.
Объекты базы данных
Мы уже упомянули о том, что кроме таблиц база данных может содержать и другие типы объектов. Привести полную классификацию возможных объектов баз данных затруднительно, поскольку каждая система управления базами данных может реализовать свои типы объектов. Однако основные типы объектов мы можем рассмотреть на примере СУБД Microsoft Access. В версии Microsoft Access 2000 эта СУБД позволяет создавать и использовать объекты семи различных типов.
Таблицы.Как мы уже говорили, это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).
Запросы.Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразование данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнение таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Начинающие пользователи не сразу понимают роль запросов, поскольку все те же операции можно делать и с таблицами. Да, действительно, это так, но есть соображения удобства (в первую очередь быстродействия) и соображения безопасности.
Из соображений безопасности, чем меньше доступа к базовым таблицам имеют конечные пользователи, тем лучше. Во-первых, снижается риск того, что неумелыми действиями они повредят данные в таблицах. Во-вторых, предоставив разным пользователям разные запросы, можно эффективно разграничить их доступ к данным в строгом соответствии с кругом персональных обязанностей. В банках, например, одни сотрудники имеют доступ к таблицам данных о клиентах, другие — к их расчетным счетам, третьи — к таблицам активов банка. Если и есть специальные службы, имеющие доступ ко всем информационным ресурсам банка (с целью контроля и анализа), то они лишены средств для внесения изменений — все сделано так, чтобы один человек не мог совершить фиктивную операцию, независимо от того, какую должность он занимает. В базе данных, имеющей правильно организованную структуру, для совершения противоправных действий необходим сговор нескольких участников, а такие действия пресекаются не программными, а традиционными средствами обеспечения безопасности.
Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную результирующую таблицу. Если хотят подчеркнуть факт «временности» этой таблицы, то ее еще называют моментальным снимком. Когда мы работаем с основными таблицами базы, мы физически имеем дело с жестким диском, то есть с очень медленным устройством (напомним, что это связано с особенностью сохранения данных, описанной выше). Когда же на основании запроса мы получаем результирующую таблицу, то имеем дело с электронной таблицей, не имеющей аналога на жестком диске, — это только образ отобранных полей и записей. Разумеется, работа с «образом» происходит гораздо быстрее и эффективнее — это еще одно основание для того, чтобы широко использовать запросы.
Когда в главе 1 мы обсуждали основные структуры данных, то отметили, что недостатком упорядоченных табличных структур является сложность их обновления, поскольку при внесении новых записей нарушается упорядоченность — приходится переделывать всю таблицу. В системах управления базами данных и эта проблема решается благодаря запросам.
Основной принцип состоит в том, что от базовых таблиц никакой упорядоченности не требуется. Все записи в основные таблицы вносятся только в естественном порядке по мере их поступления, то есть в неупорядоченном виде. Если же пользователю надо видеть данные, отсортированные или отфильтрованные по тому или иному принципу, он просто использует соответствующий запрос (рис. 13.3). Если нужного запроса нет, он обращается к проектировщику и просит его такой запрос сделать и предоставить.
Рис. 13.3. Два запроса, сформированные на основе одной таблицы
Формы.Если запросы — это специальные средства для отбора и анализа данных, то формы — это средства для ввода данных. Смысл их тот же — предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочие) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими средствами так, чтобы она повторяла оформление бланка — это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок. На сопроводительном рисунке приведен пример простейшей формы для ввода данных.
С помощью форм данные можно не только вводить, но и отображать. Запросы тоже отображают данные, но делают это в виде результирующей таблицы, не имеющей почти никаких средств оформления. При выводе данных с помощью форм можно применять специальные средства оформления (рис. 13.4).
Рис. 13.4. Форма для оформленного вывода данных
Отчеты.По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на печатающее устройство (принтер). В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов (верхний и нижний колонтитулы, номера страниц, служебная информация о времени создания отчета и т. п.) (рис. 13.5).
Рис. 13.5. Пример простейшего отчета
Страницы.Это специальные объекты баз данных, реализованные в последней версии СУБД Microsoft Access (Access 2000). Правда, более корректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа (рис. 13.6). Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, позволяют работать также с базами данных Microsoft SQL Server.
Рис. 13.6. Пример простейшей страницы доступа
Макросы и модули.Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с системой управления базами данных, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.
Статьи к прочтению:
Свойства функции
Похожие статьи:
Таблицы. Это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру…
Для каждого из типов полей существует свой набор свойств. 1)Размер поля. Значение этого свойства указывает максимальный размер данных, которые могут…
Источник
Свойства полей. Каждое поле имеет набор свойств, определяющих параметры обработки, сохранения и отображения данных
Каждое поле имеет набор свойств, определяющих параметры обработки, сохранения и отображения данных. Чтобы задать значения свойств поля, следует открыть таблицу в режиме Конструктора, выбрать поле в верхней части окна, а затем в нижней части окна в бланке Свойства поля на вкладке Общие указать требуемое свойство. Набор предлагаемых Access свойств зависит от типа данных поля и перечислен ниже.
СвойствоРазмер поля задает максимальный размер данных, хранимых в поле. Размеры числовых и символьных данных рассмотрены выше.
СвойствоФормат поля задает формат представления различных типов данных при выводе их на экран или печать.
Для Текстовых полей существуют специальные форматы, устанавливаемые с помощью команд меню Формат. По умолчанию текст выравнивается по левому краю.
Для типов данных Числовой, Денежный и Счетчик существует стандартный набор форматов, приведенный ниже.
Основной — формат, устанавливаемый по умолчанию. В представлении данных отсутствуют разделители групп разрядов и символ денежной единицы; число десятичных знаков зависит от точности данных.
Денежный – предусматривает символ денежной единицы и два десятичных знака.
Фиксированный – предусматривает, по крайней мере, одну цифру до запятой и два десятичных знака.
С разделителями – содержитдва десятичных разряда и разделители групп разрядов.
Процентный — значение поля умножается на 100; отображается с двумя десятичными знаками и символом процента.
Экспоненциальный — экспоненциальная запись значения поля (число, порядок).
Для данных типа Дата / время имеется набор форматов, приведенный ниже вместе с примерами.
Полный формат — устанавливается по умолчанию: ДД/ММ/ГГ Час:Мин:Сек
Длинный формат — среда, 15 апреля 2003 г.
Средний формат — 15-апр-03
Краткий формат — 15/04/98
Длинный формат времени — 17:30:10.
Средний формат времени — 05:30 РМ (после полудня)
Для Логических данных возможные формы представления рассмотрены выше.
СвойствоЧисло десятичных знаков позволяет задать число знаков, вводимых после запятой. По умолчанию устанавливается формат Авто, при котором для Денежного, Фиксированного, С разделителями разрядов и Процентного форматов отображаются два десятичных знака. Для Основного формата число десятичных знаков определяется текущей точностью числовых значений.
Свойство Маска ввода представляет поле для ввода значений данных типов Текстовый, Числовой, Денежный и Дата / время. Например, можно задать маску для ввода шестизначного телефонного номера 00\-00\-00, тогда при вводе номера не потребуется вводить символ «-». Здесь символ «0» означает, что в данную позицию должна быть введена цифра. Символ «\ » указывает, что следующий символ рассматривается как постоянный.
СвойствоПодпись применяется в тех случаях, когда необходимо, чтобы заголовок столбца при выводе на экран и на печать отличался от имени поля, принятого в БД. Например, если в структуре таблицы имена полей определены без пробелов, можно использовать это свойство, чтобы задать выводимые имена с пробелами.
Если было установлено свойство Подпись, а потом имя данного поля было изменено в режиме Таблицы, то подпись для данного поля будет удалена. В этом случае подпись для данного поля можно снова определить так, как описано выше. Подпись поля не теряется, если имя поля изменено в режиме Конструктора.
СвойствоЗначение по умолчанию позволяет определить значение, присваиваемое полю по умолчанию. Это свойство доступно для любого типа данных, кроме счетчика, кода репликации и поля объекта OLE. Для числовых полей значением по умолчанию является 0, для логических — Ложь, а для текстовых и МЕМО-полей — Null.
СвойствоУсловие на значение позволяет задать выражение, которое при вводе или редактировании значения поля всегда должно быть истинным. Условие задается выражением, состоящим из операторов сравнения и операндов. По умолчанию в качестве оператора используется знак =. Можно использовать несколько сравнений, связанных логическими операторами OR и AND. Between проверяет принадлежность диапазону, In проверяет на равенство любому значению из списка значений, заключенных в круглые скобки. Текстовые значения заключаются в кавычки (для текстовых данных кавычки подставляются автоматически). Календарные даты заключаются в символы #. Например, для того, чтобы числовое значение находилось в интервале от 50 до 100, условие на значение надо задать выражением >=50 And
СвойствоСообщение об ошибках позволяет задавать текст сообщения, которое Access будет выводить в том случае, если вводимые данные не удовлетворяют условию на значение.
СвойствоОбязательное поле позволяет предотвратить ввод в поле нулевого значения. Если не допускается, чтобы в поле хранилось значение Null, то для этого свойства следует установить значение Да.
СвойствоПустые строки позволяет вводить для текстовых и МЕМО полей пустые строки (» «).
СвойствоИндексированное поле,установленное для поля, обеспечивает создание индекса для ускорения доступа по этому полю. Это свойство доступно для типов данных Тектовый, Числовой, Денежный, Дата / время, Счетчик. Можно указать, чтобы в этом поле не допускались повторяющиеся значения.
Пустые значения и пустые строки
В полях таблицы может храниться специальное значение Null, называемое пустым значением. Оно обозначает некоторое неизвестное значение. Например, если в таблице есть поле НомерТелефона, но не известно, имеет ли данный клиент телефон, то в это поле можно ввести значение Null. Такое значение обладает особыми свойствами. Так, пустое значение не может быть равно никакому другому значению, в том числе другому пустому. По значению Null нельзя связать две таблицы. Пустые значения не учитываются в итоговых функциях, подсчитывающих суммарные или средние значения. Для разрешения ввода пустых значений следует установить для свойства Обязательное поле параметр Нет.
С другой стороны, может быть точно известно, что телефона у клиента нет. В этом случае в поле может быть введена так называемая пустая строка. Таблицы можно связывать по пустым строкам, при сравнении пустые строки считаются равными друг другу. Пустые строки допустимы только для текстовых полей и полей МЕМО. Для разрешения ввода пустых строк следует для свойства Пустые строки установить параметр Да. Пустая строка вводится как две прямые кавычки «» и пробел между ними.
Если требуется, чтобы поле никогда не было пустым, следует установить для свойства Обязательное поле значение Да, а для свойства Пустые строки значение Нет.
При просмотре данных поля, содержащие пустые значения и пустые строки, выглядят одинаково – они не содержат никаких значений. Для того чтобы при просмотре их можно было различать, для свойства Формат поля с пустыми значениями можно установить следующий формат:
На экран будет выводиться этот текст.
Для поиска пустых значений в качестве образца поиска надо ввести Null, а для пустых строк – два знака прямых кавычек без пробела между ними.
Ввод и редактирование данных
В режиме Таблицы можно вводить данные в поля записей, просматривать, изменять и удалять данные, добавлять новые записи.
После открытия пустой таблицы Access выводит в ней единственную пустую строку. Если в таблице уже есть данные, то пустая строка находится сразу за последней записью. Новые записи физически всегда помещаются только в конец таблицы. Если после добавления записей таблицу закрыть, а потом снова открыть, то записи выводятся на экран в последовательности, определяемой первичным ключом.
Порядок вывода записей на экран может не соответствовать физическому порядку их следования после выполнения сортировки.
При работе с новой записью курсор помещен в первом столбце. При наборе данных с клавиатуры маркер новой строки, расположенный слева от первого столбца, изменяется на значок карандаша, показывая, что в запись вносятся изменения. Переход в следующий столбец обеспечивается клавишей Тав или Enter. При перемещениях внутри поля, от поля к полю и от записи к записи можно пользоваться клавишами управления курсором. Действие клавиш -> ,
Источник