Электронный курс по информатике и ИКТ|Электронные таблицы
Электронный курс по информатике и ИКТ|Электронные таблицыТема 2.Общие сведения о СУБД MS Access. Основные объекты MS Access. Примеры.
MS Access — это программа, с помощью которой можно быстро и довольно просто создавать базы данных, заполнять их и работать с ними. Access является СУБД реляционного типа, в которой реализованы все средства и возможности современных СУБД. Реляционная база упрощает поиск, анализ, поддержку и защиту данных, поскольку они сохраняются в одном файле. Access в переводе с английского означает «доступ». MS Access — это функционально полная реляционная СУБД, одна из самых мощных, гибких и простых в использовании. В ней можно решить большинство задач, не написав ни единой строки программы, но если нужно создать нечто очень сложное, то на этот случай MS Access предоставляет мощный язык программирования — Visual Basic for Application.
Популярность СУБД Microsoft Access обусловлена следующими причинами:
-
доступность в изучении и понятность;
-
СУБД полностью русифицирована;
-
возможность использования OLE технологии;
-
интегрированность с пакетами Microsoft Office;
-
поддержка web – технологий;
-
удобная работа с конструкторами форм, таблиц, отчетов, страниц;
-
широко и наглядно представлена справочная система;
-
наличие большого набора «мастеров» по разработке объектов.
Через стартовое меню (Пуск – Поиск) найдите и откройте учебную базу «Борей». Выйдите на окно базы данных, закрыв все формы. Слева представлены все элементы Access. Ознакомьтесь с ними.
Таблицы — это основные и самые необходимые объекты любой БД, предназначены только для хранения данных. Access может содержать целый набор взаимосвязанных таблиц.
Запросы — это объекты, создаваемые для обработки базы данных: сортировки, фильтрации, объединения, отбора, изменение и вычисления по формулам.
Формы — это объекты, позволяющие вводить в базу новые данные или просматривать уже существующие, в удобной для пользователя форме. Форма обычно отображает по одной записи таблицы.
Отчеты — это объекты для вывода данных на принтер или другое устройство вывода в удобном и наглядном виде. Например, в виде бланка или счета.
Макросы — это набор макрокоманд. Например: открыть форму, напечатать таблицу. Когда возникает необходимость частого выполнения одних и тех же операций с БД, имеется возможность сгруппировать набор команд в один макрос. Макрос закрепляют за определенной комбинацией клавиш клавиатуры или кнопкой, нажатие которой приводит к выполнению всей последовательности действий записанных в макросе.
Модули — это программы созданные средствами языка Visual Basic. Позволяющие дополнить стандартные средства Access, если уже имеющихся не хватает для реализации всех требований к работе СУБД. Программист может расширить возможности системы, дописав необходимые модули и добавив их в БД.
Все данные в реляционной БД представлены в виде таблиц. Таблица — это основной объект любой базы данных, поэтому создание любой БД начинается с создания таблиц. Каждая строка таблицы содержит информацию только об одном объекте и называется записью. Столбец таблицы содержит однотипную для всех записей информацию и называется полем. Поля образуют структуру базы данных, а записи составляют информацию, которая в ней содержится.
Поля обладают определенными свойствами, от которых зависит какие данные можно в него вносить и какие операции можно выполнять. Самым главным и уникальным свойством любого поля является его
Типы данных MS Access:
Текстовый —текст или комбинация любых символов, например: адрес, фамилия, а также числа, не требующие вычислений, например, номера телефонов, коды. Сохраняет до 255 знаков. Свойство Размер поля определяет максимальное количество знаков, которые можно ввести в поле.
Поле МЕМО -длинный текст, например, примечания или описания. Сохраняет до 65 535 знаков.
Числовой — данные, используемые для математических вычислений. Конкретный тип числового поля определяется значением свойства Размер поля (байт – 1б. , целое – 2б., длинное целое – 4б., одинарное с плавающей точкой – 4б., двойное с плавающей точкой – 8б.).
Дата/время — значения дат и времени. Сохраняет 8 байтов.
Денежный — используется для денежных значений вместе с денежными единицами и для предотвращения округления во время вычислений. Сохраняет 8 байтов.
Счетчик — автоматическая нумерация. Сохраняет 4 байта.
Логический — данные, принимающие только одно из двух возможных значений, таких как «Да/Нет», «Истина/Ложь», «Вкл/Выкл». Значения Null не допускаются. Сохраняет 1 бит.
Поле объекта OLE — внешние объекты (документы Word, электронные таблицы Excel, рисунки, звукозапись или другие данные), созданные в других программах, использующих протокол OLE. Сохраняет до 1 Гигабайта.
Гиперссылка — может иметь вид адреса сайта Интернет или электронной почты и путь к файлу. Сохраняет до 64 000 знаков.
Мастер подстановок — создает поле с выпадающим списком. При выборе данного параметра в списке типов данных запускается мастер для автоматического определения этого поля.
При выборе типа данных для поля необходимо учитывать следующее:
Какие значения должны отображаться в поле. Например, нельзя хранить текст в поле, имеющем числовой тип данных.
Сколько места необходимо для хранения значений в поле.
Какие операции должны производиться со значениями в поле. Например, Microsoft Access позволяет суммировать значения в числовых полях и в денежных полях.
Нужна ли сортировка или индексирование поля.
Одним из основных свойств поля является его Длина. Обычно она выражается в символах или знаках. Определяя тем самым, сколько информации в поле может поместиться. При попытке ввести больше символов, чем максимально возможная длина — происходит ограничение длины, блокирующее дальнейший ввод.
Создание базы данных следует начинать с детальной разработки структуры ее таблиц. Эта структура должна быть такой, чтобы при работе с базой требовалось вводить в нее как можно меньше данных. Для надежной работы связей между всеми таблицами базы данных и быстрого поиска по данным из одной таблицы всех связанных с ними записей в других таблицах, необходимо предусмотреть так называемые уникальные (ключевые) поля, значения в которых не могут повторяться. Например, поле Фамилия в таблице Автор вполне может содержать нескольких Ивановых, Петровых или Сидоровых. Это означает, что это поле не являются уникальным и поэтому их нельзя использовать для связи между таблицами. Поле Название — более удачный кандидат на почетное звание уникального поля, но не тут то было… Многие современные авторы очень любят называть свои произведения в точности так, как это делали Пушкин, Лермонтов или Толстой. Что же тогда остается делать? Выход всегда есть! Если ни одно поле в Вашей таблице не приемлемо как уникальное, то его можно создать искусственно. Например, введя в таблицу код записи. Это могут быть буквы, цифры или их комбинация, но самое главное — они не будут повторяться, а значит, станут уникальными для каждой записи в таблице.
Каждое поле таблицы может иметь ряд свойств:
Формат поля – определяется для полей числового, денежного типа, полей типа Счетчик и Дата\Время. Выбирается один из форматов представления данных.
Число десятичных знаков — определяет количество разрядов в дробной части числа.
Маска ввода — определяет шаблон для ввода данных. Например, можно установить разделители при вводе телефонного номера
Подпись поля — содержит надпись, которая может быть выведена рядом с полем в форме или отчете ( данная надпись может и не совпадать с именем поля, а также может содержать поясняющие сведения).
Значение по умолчанию — содержит значение, устанавливаемое по умолчанию в данном поле таблицы. Например, если в поле Город ввести значение по умолчанию Уфа, то при вводе записей о проживающих в Уфе, это поле можно пропускать, а соответствующее значение (Уфа) будет введено автоматически. Это облегчает ввод значений, повторяющихся чаще других.
Условие на значение — определяет множество значений, которые пользователь может вводить в это поле при заполнении таблицы. Это свойство позволяет избежать ввода недопустимых в данном поле значений. Например, если стипендия студента не может превышать 250 р., то для этого поля можно задать условие на значение: <=250.
Сообщение об ошибке — определяет сообщение, которое появляется на экране в случае ввода недопустимого значения.
Обязательное поле — установка, указывающая на то, что данное поле требует обязательного заполнения для каждой записи. Например, поле Домашний телефон может быть пустым для некоторых записей ( значение Нет в данном свойстве). А поле Фамилия не может быть пустым ни для одной записи (значение Да).
Пустые строки — установка, которая определяет, допускается ли ввод в данное поле пустых строк (“ “).
Индексированное поле — определяет простые индексы для ускорения поиска записей.
Верхняя панель окна базы данных.
Открыть — открывает выбранный объект для изменения и редактирования. В случае работы с таблицами, дает возможность добавить новые записи в базу, просмотреть и отредактировать уже имеющиеся.
Конструктор — открывает выбранный объект в режиме конструирования. Это означает, что отображается внутренняя структура объекта, дающая возможность редактировать не содержимое, а все построение объекта. Для таблицы — это возможность добавить необходимые поля или изменить свойства существующих. В форме — возможность создавать и изменять элементы управления и т.д. Это режим разработки, а не эксплуатации и поэтому должен быть доступен только разработчикам.
Создать — создает новый объект выбранного вида. Этот режим тоже предназначен для проектировщиков. Создание таблиц, запросов, форм и отчетов возможно несколькими способами. В автоматическом режиме, с помощью конструктора или мастера.
Для определения связей нужно перейти в окно базы данных и выполнить команду Сервис — Схема данных. После этого Access откроет окно Схема данных и окно Добавление таблицы. В окне Добавление таблицы нужно выделить имена таблиц, добавляемых в схему данных, и нажать на кнопку Добавить. После этого данное окно можно закрыть.
В окне Схема данных появятся имена всех указанных таблиц вместе со списками полей. Нужно выделить ключевое поле ключевой таблицы и перетащить его на аналогичное поле в связываемой таблице. В результате появится диалоговое окно Связи. Чтобы в связанных таблицах не нарушалась целостность данных, нужно щелкнуть по флажку Обеспечение целостности данных. После этого Access сделает невозможным запись в подчиненную таблицу такого значения общего поля, которого нет в таблице ключевой. После установления целостности данных Access включает две дополнительные опции: Каскадное обновление связанных полей и Каскадное удаление связанных полей. Если выбрать первую опцию, то при изменении какого-либо значения ключевого поля в ключевой таблице Access автоматически обновит значения этого поля для соответствующих записей во всех связанных таблицах. Например, если у одного из учащихся изменился номер читательского билета в таблице Список, то он автоматически должен поменяться и в таблице Регистрация. Выбор второй опции при удалении одной из записей в ключевой таблице приведет к удалению тех записей в подчиненных таблицах. Для завершения процесса создания связей, нужно щелкнуть по кнопке Создать. Access нарисует линию между таблицами в окне Схема данных, указывающую на наличие связи между ними. На конце линии у таблице со стороны «один» будет нарисована цифра 1, а на другом конце , у таблицы со стороны «много» — символ бесконечности ∞. После закрытия этого окна все установленные связи будут сохранены.
Контрольные вопросы:
-
Перечислите основные объекты БД и их назначение.
-
В каком режиме можно создавать и изменять структуру таблицы?
-
Какая информация о поле указывается в структуре таблицы?
-
Типы данных в Access?
-
Как при определении структуры таблицы использовать свойства полей ?
-
Что такое ключевое поле и какие требования предъявляются к нему?
-
Какие типы связей реализуются в реляционных базах данных?
-
Как установить связи между таблицами?
Copyright © 2005. Петрова Людмила Борисовна
Хостинг от uCoz
Проблема с дробными числами в Delphi Access
← →
tolians
(2006-03-02 10:12) [0]
В Access тип поля ставлю «одинарное с плавающей точкой», количество знаков после запятой «2». Подключаю базу к делфи. При вводе дробного числа (например 3.6) из делфи, в базу оно записывается как 3.6000000011 или что-то в таком роде. Если вводить через Access то нормально, как ввел так и есть.
В чем проблема подскажите.
Если чтото не ясно в вопросе напишите попробую как-нибудь переформулировать. Заранее благодарен.
← →
Johnmen ©
(2006-03-02 10:19) [1]
http://www.delphikingdom.com/asp/viewitem. asp?UrlItem=/helloworld/reals.htm
← →
tolians
(2006-03-02 10:22) [2]
Не понятно, там написано:
ADODB.Recordset error «800a0cc1»
Item cannot be found in the collection corresponding to the requested name or ordinal.
/asp/libview.asp, line 57
Объясни если не трудно.
← →
msguns ©
(2006-03-02 10:23) [3]
Пора уже в кладовочке такую статеечку завести. Вместе с поиском и получением id до вставки ;))
Дельфи тут не при чем. Разве что компоненты датасетные, которых почему-то не «научили» по собственной инициативе округлять числа с плавающей точкой, вместо этого предложив таинственный DisplayFormat.
В базу «ОНО» записывается так потому, что тип поля, предусмотренный Вами в этой самой «базе», предполагает хранение числа в плававющем виде.
Надеюсь, у Вас не возникнет вопроса почему плавающий формат «уродует» числа ?
← →
msguns ©
(2006-03-02 10:29) [4]
Еще пояснение по поводу
«В Access тип поля ставлю «одинарное с плавающей точкой», количество знаков после запятой «2». «
Это самое «количество знаков» играет в акцесе роль своеобразного триггера, срабатывающего каждый раз, когда поле принимает новое значение. К числу просто применяется округление, — при этом, естественно, иррациональная дробь, если она имеется, никуда из самого числа не девается. Это во-первых.
Во-вторых, акцесс использует эту Вашу двоечку еще и для обрезания лишних дробных разрядов при отображении в своих гридах или формах (когда Вы в самом акцесе просматриваете содержимое таблицы).
← →
tolians
(2006-03-02 10:30) [5]
> Да, такой вопрос у меня возник, но я побаиваюсь даже спрашивать. Так что же мне делать.
← →
tolians
(2006-03-02 10:33) [6]
Ну с двоечкой понятно, так и предпологал.
← →
msguns ©
(2006-03-02 10:36) [7]
Почитать о формате представления чисел в процессорах семейcтва PC. А именно тот раздел, где подробно описывается способ хранения позиции десятичной точки. В частности, понятия мантиссы, порядка, знака порядка и знака мантиссы. Желательно с примерами.
Где-то с год назад здесь были великолепные уроки Ю.Зотова,- поищите их, там очень хорошо об этом.
← →
tolians
(2006-03-02 10:41) [8]
Почитаю обязательно. Но все таки что мне сейчас делать, как это исправить.
← →
msguns ©
(2006-03-02 11:11) [9]
Исправлять ничего не надо. Это нормально.
Для чисел, предусматривающих дробную часть, разумеется.
При записи в таблицу можно программно округлять их до нужной разрядности, уменьшая таким образом погрешность при последующих операциях с этими числами (например, при «вертикальном» суммировании)
А при отображении пользоваться упомянутым DisplayFormat, явно задавая кол-во отображаемых дес.знаков. Например TADODataSet.FieldByName(«Quontity»).DisplayFormat := «0.00»
← →
sniknik ©
(2006-03-02 11:12) [10]
сначала читать, исправлять после понимания…
исправленная ссылка из [1]:
http://www. delphikingdom.com/asp/viewitem.asp?catalogid=374
← →
msguns ©
(2006-03-02 11:23) [11]
И еще один совет, применительно именно к БД.
Часто, проектируя складские системы, не очень опытные программисты предусматривают для цен товара «живые» 2 знака после запятой, т.е. собственно копейки. И делают грубую ошибку. Т.к. сплошь и рядом цена закупки товара (себестоимость) не может быть округлена до копеек без существенной погрешности. Поэтому рекомендуемая точность для большинства видов товаров (товарных групп) и не только товаров, но и материалов, малоценки, одним словом — Товаро-Материальных-Ценностей (ТМЦ), — это 4 знака после точки или сотые копейки.
То же самое касается и кол-ва, если, конечно, «товар» подразумевает возможность весовых характеристик.
А вот для суммовых полей в документах (накладных) суммы должны быть «живыми», т. к. попадвют в бухгалтерию, где нет понятия долей копеек.
← →
Anatoly Podgoretsky ©
(2006-03-03 07:43) [12]
tolians (02.03.06 10:12)
Если плавающее, то откуда 2
А если два, то откуда плавающее?
← →
msguns ©
(2006-03-03 09:23) [13]
>Anatoly Podgoretsky © (03.03.06 07:43) [12]
>Если плавающее, то откуда 2
В акцесе: [Тип данных->Числовой].[Число десятичных знаков] -> 2
← →
sniknik ©
(2006-03-03 10:55) [14]
> В акцесе: [Тип данных->Числовой].[Число десятичных знаков] -> 2
это тот же DisplayFormat для самого access-а, на саму базу/формат(тип) числа не влияет (в общем это не аналогия numeric-а в фоксе, где сколько укажеш знаков столько и будет).
← →
msguns ©
(2006-03-03 11:08) [15]
>sniknik © (03.03.06 10:55) [14]
А я об чем ?
Анатолий спросил, где в акцесе указывается это ограничение,- я указал
← →
tolians
(2006-03-05 11:11) [16]
Огромное вам всем спасибо.
← →
Anatoly Podgoretsky ©
(2006-03-05 11:28) [17]
msguns © (03.03.06 11:08) [15]
Я не это спрашивал!
Я спрашивал откуда у числа с плавающей запятой два фиксированых знака после запятой
Это нонсенс
Одиночный тип данных — Visual Basic
Редактировать
Твиттер LinkedIn Фейсбук Электронная почта
- Статья
- 2 минуты на чтение
Содержит подписанные IEEE 32-битные (4-байтовые) числа одинарной точности с плавающей запятой в диапазоне значений от -3,4028235E+38 до -1,401298E-45 для отрицательных значений и от 1,401298E-45 до 3,4028235E+38 для положительных значений. Числа одинарной точности хранят приближение действительного числа.
Используйте тип данных Single
для содержания значений с плавающей запятой, для которых не требуется полная ширина данных Double
. В некоторых случаях общеязыковая среда выполнения может упаковывать ваши переменные Single
близко друг к другу и экономить потребление памяти.
Значение по умолчанию Одиночный
равно 0.
Советы по программированию
Точность. При работе с числами с плавающей запятой помните, что они не всегда имеют точное представление в памяти. Это может привести к неожиданным результатам некоторых операций, таких как сравнение значений и оператор
Mod
. Дополнительные сведения см. в разделе Устранение неполадок с типами данных.Расширение. Тип данных
Single
расширяется доDouble
. Это означает, что вы можете преобразоватьSingle
вDouble
, не сталкиваясь с ошибкой System.OverflowException.Нули в конце. Типы данных с плавающей запятой не имеют внутреннего представления завершающих нулевых символов. Например, они не различают 4.2000 и 4.2. Следовательно, конечные символы 0 не отображаются при отображении или печати значений с плавающей запятой.
Тип символов. Добавление символа литерального типа
F
к литералу переводит его в тип данныхSingle
. Добавление символа типа идентификатора!
для любого идентификатора заставляет его использоватьSingle
.Тип каркаса. Соответствующим типом в . NET Framework является структура System.Single.
См. также
- Система. Одинарная
- Типы данных
- Десятичный тип данных
- Двойной тип данных
- Функции преобразования типов
- Сводка преобразования
- Эффективное использование типов данных
- Устранение неполадок типов данных
Обратная связь
Просмотреть все отзывы о странице
Разница между одинарной точностью и двойной точностью
Улучшить статью
Сохранить статью
Нравится Статья
- Уровень сложности: Средний
- Последнее обновление: 03 Авг, 2022
Улучшить статью
Сохранить статью
Нравится Статья
В соответствии со стандартом IEEE число с плавающей запятой представляется двумя способами:
Точность | Основание | Знак8 | 8 | 0139 Exponent Significand | Single precision | 2 | 1 | 8 | 23+1 | Double precision | 2 | 1 | 11 | 52+1 | |
1. Single Precision: Single Precision — это формат, предложенный IEEE для представления чисел с плавающей запятой. Он занимает 32 бита в памяти компьютера.
2. Двойная точность: Двойная точность также является форматом, установленным IEEE для представления числа с плавающей запятой. Он занимает 64 бита в памяти компьютера.
Разница между одиночной и двойной точностью:
ОДНОЙ ПРОТИФИКАЯ | Двойная точность |
---|---|
в односменной точке 32 Bits используется. | В двойной точности 64 бита используются для представления числа с плавающей запятой. |
Этот формат, также известный как FP32, подходит для расчетов, на которые не повлияет некоторая аппроксимация. | Этот формат, часто известный как FP64, подходит для представления значений, которые требуют более широкого диапазона или более точных вычислений. |
Он использует 8 бит для экспоненты. | Он использует 11 бит для экспоненты. |
В одинарной точности для мантиссы используются 23 бита. | В двойной точности для мантиссы используются 52 бита. 9(+1023) |
Используется там, где точность не имеет значения. | Используется там, где важна точность. |
Используется для широкой представленности. | Используется для минимизации аппроксимации. |
Используется в простых программах, таких как игры. | Используется в сложных программах, таких как научный калькулятор. |
Это называется binary32. | Это называется binary64. |
Требует меньше ресурсов по сравнению с двойной точностью. | Он обеспечивает более точные результаты, но за счет большей вычислительной мощности, объема памяти и передачи данных. |
Это дешевле. | Стоимость использования этого формата не всегда оправдывает его использование для каждого вычисления. |