Как сделать телефонный справочник

Обновлено: 07.07.2024

Структура таблиц БД.

Имя поля Тип поля Примечание
Код числовой размер поля: длинное целое
Вид телефона текстовый длина 20
Номер текстовый длина 20


Имя поля Тип поля Примечание
Пункт текстовый длина 30

Поле Имя таблицы Сортировка
Пункт Пункт по возрастанию


  1. Тип элемента управления — Поле со списком;
  2. Тип источника строк — Таблица или запрос;
  3. Источник строк — Пункт_запрос.
Преимущества использования связей

Раздельное хранение данных в связанных таблицах обеспечивает указанные ниже преимущества.

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

Эффективность. Хранение данных в одном месте позволяет сэкономить место на диске. Кроме того, данные из небольших таблиц извлекаются быстрее, чем из больших.

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


В одном из номеров КГ некий читатель просил у Михаила Федотова дать ссылку на программу "Телефонный справочник", который должен был по его просьбе обладать самыми простейшими функциями, т.е. запись ФИО и телефона. Эта просьба и натолкнула меня на идею написать статью про СУБД MS Access, с помощью которой мы и создадим такую простейшую программу, причем оформив ее соответственно собственному вкусу и надобностям.

В современном мире роль информации возрастает с каждым днем. Исходя из этого большое развитие получила концепция интеграции данных — их централизованного хранения и использования. Сложность организации и структуры данных обусловила появление баз данных и систем управления базами данных (СУБД). Первые СУБД появились в конце 60-х годов, а в настоящее время на рынке информационных технологий насчитывается большое множество таких программ для разных типов компьютеров и операционных систем. Одна из идей современных информационных технологий носит название "концепция баз данных" и формулируется следующим образом: данные должны быть организованы в базы данных с целью адекватного отражения реального объекта и обеспечения информационных нужд пользователей. Само понятие база данных (database) формулируется как "поименованная и организованная (структурированная) совокупность взаимосвязанных данных, которые отражают состояние объектов конкретной предметной области и находятся под центральным программным управлением". База данных удерживает такой минимальный излишек информации, который позволяет удовлетворить запросы каждого из многочисленных пользователей. Данные представлены совокупностью файлов (таблиц). В широком же смысле база данных есть любая упорядоченная совокупность данных. Сам термин "база данных" был введен неизвестным автором в 1963 г. в англоязычной литературе (data base), в 70- х годах этот термин стали писать через дефис (data-base), а потом ( одним словом (database). Свойства базы данных позже были сформулированы Дж. Мартином:

1. Многоразовое использование: одни и те же данные могут использоваться многими пользователями.
2. Простота обновления ( возможность внесения изменений в базу с минимальными затратами.
3. Быстрый поиск и получение необходимой информации по запросу.
4. Уменьшение избыточности ( новые задачи должны получать данные из существующей базы, а не путем их повторного ввода.
5. Защита от несанкционированного доступа к данным.
6. Максимальная независимость от прикладных программ: изменения в структуре базы данных не должны по возможности приводить к перезаписи пакета программ.
7. Защита от уничтожения и искажения информации (некомпетентного пользователя, злоумышленных действий, сбоев и конфликтных ситуаций). Им же были сформулированы требования к базе данных:
1. Адекватность отражения предметной области:
а) полнота данных;
б) динамичность информационной модели;
в) актуальность информации в данный момент времени.
2. Возможность взаимодействия с пользователями различных категорий и в разных режимах.
3. Обеспечение секретности данных, надежности, целостности, защита от случайного или целенаправленного разрушения базы данных.
4. Обеспечение взаимной независимости программ и данных.
5. Технологичность обработки данных.
6. Совместимость компонентов базы данных.
7. Простота изменения логической и физической структуры базы данных в целях повышения эффективности обработки информации.
8. Способность к расширению и модификации.

Рассмотрим еще одно понятие, которое ввел в 1970 году Кодд — модель данных — отражение связи между объектами. Более точное определение этого понятия звучит следующим образом: "модель данных (data model) ( это система взаимосвязанных типов объектов, операторов и правил обеспечения целостности, создающая абстрактную структуру, которую поддерживает система управления базой данных; это совокупность правил прохождения структур данных в базе данных, операций над ними, а также ограничений целостности, которая определяет допустимые связи и значения данных, последовательность их изменения". Выражаясь проще, это формализованное описание информационных структур и операций над ними программными и математическими средствами. Создание базы данных должно начинаться с построения информационной модели. Сущность построения такой модели заключается в структурировании данных и выявлении взаимосвязей между ними без учета особенностей их реализации. Далее строится концептуальная модель, т.е. модель решаемых задач на объекте, после чего концептуальная модель преображается в модель данных для выбранной СУБД. В одной СУБД могут применяться различные структуры и модели данных. Логическая модель отражается в физической памяти. Превращением концептуальной структуры в форму, удобную для запоминания или поиска, занимается компьютер. Такая внутренняя структура данных называется физической структурой. Она определяет размещение данных, методы доступа и технику индексирования.

Различают иерархическую, сетевую и реляционную логические модели данных в зависимости от способа представления взаимосвязей между объектами. В 60-х годах, когда еще не было персональных компьютеров, применяли иерархическую и сетевую модели данных, а в начале 70-х годов появилась реляционная модель. Не зарываясь глубоко под землю с определениями, попробую объяснить в двух словах, что представляет собой каждая из моделей данных. В иерархической модели взаимосвязи между объектами отражаются по принципу иерархии типов объекта в виде связанного графа, вершины которого размещены на разных иерархических уровнях. Самая высокая вершина называется корнем, а остальные, находящиеся на нижних уровнях — подчиненными (см. рис. 1). Корень не подчиняется ни одной вершине. Все остальные вершины связаны с одной, и только одной вершиной, которая размещена на более высоком уровне.
[pic]

В сетевой модели понятие главного и подчиненных объектов иное, чем в иерархической модели: любой объект здесь может быть и главным, и подчиненным; каждый объект может участвовать в любом количестве взаимосвязей. Данные этой модели представляются при помощи записей и связей. Реляционная модель представляет данные в виде двухмерной таблицы. Табличная структура данных отражает отношения между реальными объектами и их характеристиками. Поиск и обработка записей не зависят от организации хранения данных в памяти компьютера. Основной принцип, на котором основана реляционная структура — получение из таблицы необходимых отношений и формирование новых. На основе первичной таблицы при помощи логических операций формируется новая таблица соответствующей структуры. В реляционных моделях выделяют следующие типы объектов: таблицы (отношения), атрибуты (столбцы) и домены (допустимые значения атрибутов). Объекты и взаимосвязи между ними представлены при помощи таблиц. Одна таблица представляет один объект и состоит из столбцов и строк. Каждая строка таблицы представляет собой одну запись, а каждый столбец — одно поле записей. Информация в реляционных базах данных сохраняется в таблицах, связь между которыми осуществляется путем совладения значений одного или нескольких полей. Понятие "файл" в обработке данных можно ассоциировать с одной таблицей, а базу данных можно рассматривать как набор таблиц. Файлы (т.е. таблицы) подвергаются классической обработке — обновлению основного файла.

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

СУБД — это обычная программная оболочка, которая осуществляет связь между базой данных и пользователем. Она обеспечивает контроль защиты и целостности данных, доступ к данным, обработку, формирование отчетов, запросов и др. Каждая СУБД функционирует в своей языковой среде. Именно с помощью языковых средств реализуются заложенные функциональные возможности СУБД и удовлетворяются потребности как программистов так и обычных пользователей. В современном интерфейсе в СУБД языковые средства применяются в неявном виде, т.е. команды в классическом виде не отображаются. Современные СУБД состоят из трех основных частей: диалоговые средства пользователя для работы с базой данных; средства для разработки приложений пользователя; дополнительные средства для разработки приложений. В настоящее время имеется более 50 типов СУБД. Одной из наиболее популярных является Microsoft Access, которая входит в комплект MS Office. MS Access — это реляционная СУБД, основанная на технологии организации и обработки данных в системе по типу "клиент-сервер" для корпоративных баз данных. Ее можно применять также в сети и локально. Реляционная модель этой СУБД ориентирована на 32-разрядные микропроцессоры. Access может выступать в качестве клиента или сервера по отношению к другим приложениям, например, MS Word, MS Excel и др. В этой системе можно пользоваться практически всеми средствами операционной системы Windows. Применяется интерфейс MDI (Multiple Dokument Interface — "многооконность") Эта СУБД имеет все необходимые средства для выполнения трех основных типов функций: определение данных; обработка данных; управление данными. Access воспринимает множество различных форматов данных включая файловые структуры других СУБД — dBASE, FoxPro, Paradox и др. Имеется поддержка стандарта ODBC. В Access входят специальные программы: "Конструктор", "Мастер", "Построитель выражений", "Маска ввода", что позволяет неопытному пользователю с легкостью создавать различные базы данных.

Проектирование базы данных

Проектирование базы данных ( это взаимосвязанный комплекс работ: от определения общих параметров создаваемой базы данных, анализа объекта управления и существующей системы управления на объекте, построения информационной модели до создания реальной базы данных. По правилам создания базы данных первым делом необходимо провести исследование объекта управления с целью получения необходимой информации и построения модели системы управления. Очень важно правильно определить задачи, требования и возможности системы. Бывали случаи, когда я начинал создание баз данных, опуская данный этап — последствия плачевные: созданная база отправляется в корзину по причине неправильной работоспособности. Поэтому определимся с функциями нашего телефонного справочника и построим модель базы данных. Вначале определимся со структурой данных. Для построения справочника нам нужны следующие поля: Фамилия, Имя, Отчество, Телефон домашний, Телефон мобильный, e-mail, Город, Код города, Заметка. Так как создаем простую базу данных, мы разместим все данные в одной таблице.
Снова немного отвлекусь для теории и расскажу о нормализации отношений. Нормализация (normal form) ( это процесс уменьшения избыточности информации в базе данных с целью получения более эффективных и гибких способов хранения информации. При проектировании реляционной базы данных необходимо создать наиболее эффективную структуру данных, которая должна обеспечить: быстрый доступ к данным в таблицах базы данных; исключение из структуры таблицы ненужного повторения данных, которое приводит к нерациональному употреблению дискового пространства и ошибкам при вводе данных; целостность данных: при изменении одних объектов автоматически соответствующим образом изменяются связанные с ними объекты. Эту теорию разработал Кодд. Первая нормальная форма таблицы наименее структурирована. Каждое поле содержит уникальную информацию, исходная таблица ненормализована. Требования, предъявляемые к таблице в первой нормальной форме: таблица не должна содержать повторяющиеся записи; в таблице не должно быть повторяющихся групп полей; строки должны быть неупорядоченными; столбцы должны быть неупорядоченными. Вторая нормальная форма таблицы соответствует условиям первой нормальной формы, но любое неключевое поле однозначно идентифицируется полным набором ключевых полей. Третья нормальная форма таблицы соответствует условиям второй нормальной формы, но ни одно из ключевых полей таблицы не идентифицируется с помощью иного неключевого поля.

А теперь вернемся к нашим баранам, т.е. программе, и изобразим структуру данных:

По сути, эта схема и есть наша БД, к созданию который мы и переходим.

Пошаговая инструкция по созданию БД "Мой телефонный справочник"

Сохраняем созданную таблицу и переходим в раздел Запросы. Создадим несколько простых запросов для работы с базой данных. Определимся с функциями, которые должна выполнять наша база телефонных номеров. Определенно нам понадобится поиск номера телефона по фамилии. Сделаем также обратный поиск — по номеру телефона. Думаю, для простейшего справочника этих функций будет достаточно. Выбираем пункт Создание запроса с помощью мастера. В появившемся окне выбираем все поля нашего справочника (таблицы), кроме поля Заметка, после чего выбираем вид запроса Подробный и задаем имя — Поиск по фамилии. После чего нажимаем на нашем запросе правой кнопкой мыши и выбираем пункт Конструктор. Под столбцом Фамилия в поле Условие отбора вводим условие: [Введите фамилию] (с квадратными скобками). Тем самым мы создали окно — приглашение ввести фамилию, но об этом позже. Таким же образом создаем второй запрос — Поиск по телефону, но условие вводим под столбцом Телефон домашний: [Введите номер телефона]. Создадим также возможность создания подобия бумажного телефонного справочника. Для этого переходим в раздел Отчеты. Выбираем пункт Создание отчета с помощью мастера, в появившемся окне выбираем нашу таблицу Справочник и добавляем все поля. Далее выбираем уровень группировки Фамилия, после чего выбираем макет отчета и его стиль. Задаем ему имя и сохраняем.

Переходим к оформлению интерфейса программы. Заходим в раздел Формы и выбираем пункт Создание формы с помощью мастера, где далее выбираем в качестве источника строк таблицу Справочник. Внешний вид формы задаем в один столбец, выбираем стиль формы и задаем имя — Телефонная книга. Переходим в конструктор формы и приступаем к ее оформлению. В верхней части формы пометим название. Для этого на панели дополнительных инструментов нажимаем кнопку "Aa" и размещаем текст на форме. Разместим на форме поля в удобном виде, а также увеличим размер окон и шрифт некоторых из них (по собственному вкусу). Выберем из дополнительной панели инструментов прямоугольник и нарисуем его на форме, определим для него цвет фона и другие эстетические параметры. Назовем эту часть формы Навигация, после чего выберем элемент Кнопка, определим для нее одно из действий из раздела Переходы по записям и разместим на прямоугольнике Навигация. Аналогично добавим следующие кнопки на эту и последующие панели. В панели Разное разместим кнопку автонабора номера, вызывающую стандартный Windows-телефон, а также кнопку Весь справочник, вызывающую созданный нами отчет и кнопку закрытия формы. Интерфейс оформили — можем запустить форму и ввести данные, после чего их просмотреть и отредактировать. Займемся параметрами запуска БД. Заходим в меню раздел Сервис -> Параметры запуска, в появившемся окне вводим заголовок приложения — Телефонная книга, выбираем иконку приложения, а в разделе Вывод формы/страницы выбираем нашу форму Телефонная книга, снимаем галочки с элементов для вывода и жмем ОК (рис. 4).

После запуска нашего приложения появляется окно созданного телефонного справочника (см. рис. 5). Для того, чтобы изменить структуру базы данных, необходимо при запуске файла удерживать нажатой клавишу Shift, после чего база откроется в полном виде. Для установки пароля на открытие базы данных необходимо запустить MS Access, выбрать файл базы данных, справа от кнопки Открыть нажать кнопку и выбрать пункт Открыть монопольно, зайти в меню Сервис -> Защита -> Задать пароль базы данных.

Кучинский Павел pawelk_kg@tut.by

Компьютерная газета. Статья была опубликована в номере 20 за 2005 год в рубрике программирование :: разное

Хотите посмотреть видео об использовании этого шаблона? См. статью "Использование шаблона базы данных контактов".

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

Приступая к работе

В этой статье мы охватывает основные этапы использования шаблона базы данных контактов.

Подготовка базы данных к использованию

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

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

Дополнительные сведения о включаемом контенте базы данных см. в статье "Вопрос о доверии базе данных".

Добавление контактов из Microsoft Outlook

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

В форме "Список контактов" нажмите кнопку "Добавить из Outlook".

В диалоговом окне "Выбор имен для добавления" выберите имена, которые вы хотите добавить в базу данных.

Поиск контакта

Поле "Быстрый поиск" позволяет быстро найти контакт в форме "Список контактов".

В форме "Список контактов" в поле "Быстрый поиск" введите ищите нужный текст и нажмите ввод.

Access отфильтрует список, чтобы отфильтровать только те записи, которые содержат ищемый текст. Чтобы вернуться к полному списку, нажмите кнопку "Очистить текущий поиск". (В поле поиска находится X.)

Отображение и скрытие столбцов

В форме "Список контактов" некоторые поля (столбцы) по умолчанию скрыты. Чтобы изменить отображаемую поля:

В диалоговом окне "Отображите столбцы" выберите квадратик рядом с каждым столбцом, который вы хотите отобрать. Чтобы скрыть столбец, просто скройте его.

Отображение сведений о контакте

В форме "Контактные данные" можно увидеть и ввести дополнительные сведения о каждом контакте. Чтобы отобразить форму "Контактные данные":

В форме "Список контактов" нажмите кнопку "Открыть" рядом с нужным контактом.

Добавление изображения

В форме "Контактные данные" можно добавить фотографию контакта.

Под рамкой рисунка нажмите кнопку "Изменить рисунок".

В диалоговом окне "Вложения" нажмите кнопку "Добавить".

В диалоговом окне "Выбор файла" перейдите к папке с файлом.

Выберите файл, который вы хотите добавить, и нажмите кнопку "Открыть".

В диалоговом окне "Вложения" нажмите кнопку "ОК".

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

Отображение карты адреса контакта

Если вы ввели адрес контакта в форме "Контактные данные", вы можете отобразить его карту.

Отображение отчетов

База данных контактов содержит два отчета: "Каталог" и "Телефонная книга". Чтобы отобразить отчет:

В области навигации в области "Отчеты"дважды щелкните отчет, который вы хотите отобразить.

Вы можете создавать собственные настраиваемые отчеты. Дополнительные сведения см. в статье "Создание простого отчета".

Изменение базы данных контактов

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

Добавление поля в таблицу контактов

Закроем все открытые вкладки.

В области навигации дважды щелкните таблицу "Контакты".

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

При первом вводе данных в столбец Access задает тип данных.

Добавление поля в форму

После добавления поля в таблицу его можно добавить в форму.

В области навигации щелкните форму правой кнопкой мыши и выберите "Макет".

На вкладке Конструктор в группе Сервис выберите пункт Добавить существующие поля.

Задание: Составить телефонный справочник в виде списка телефонов с указанием для каждого телефона номера, имени абонента, его адреса и его категории (друзья, родственники, мастерские, магазины и т.д.).

1. Запустить Microsoft Access по команде меню Пуск / Программы – Microsoft Access.


Рис. 28. Окно проектирования структуры таблицы

6. Далее необходимо задать структуру основной таблицы проектируемой базы данных. Все данные в базе – текстовые, задать имена полей, их описания и длины согласно табл.20.

Имя поля Описание Длина
Номер Номер телефона
Имя Имя абонента
Адрес Адрес абонента
Код_категории Категория абонента

Имя поля Описание Длина
Код Код_категории
Наименование Наименование категории


Рис. 29. Диалоговое окно мастера подстановок

• Оставить предложенные параметры ширины столбцов и скрытия ключевого столбца.

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





Рис. 33. Бланк запроса по образцу

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


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

— Требуемый стиль – по вашему усмотрению.

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

23. Закрыть созданную форму и открыть ее в режиме конструктора. Откроется макет формы, а также панель элементов, содержащая заготовки и инструменты для создания элементов управления формы (рис. 48).


Сохранить и закрыть макет формы. Открыть форму в обычном режиме (рис. 49).

25. Создать форму со списком телефонов друзей. Для этого запустить мастер создания форм, указать следующие параметры:

— Требуемый стиль – по вашему усмотрению.

Аналогично предыдущему примеру задать заголовок и подпись формы (рис. 50).



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

Телефонный справочник
Здравствуйте пытаюсь разобрать такую программу изкнижки Напишите программу, которая позволяет.

Телефонный справочник
Прога читает из файла, есть поиск по имени и по адресу. Никак не могу реализовать поиск по номеру.

телефонный справочник
создать программу телефонный справочник на 5 человек эти 5 человек вводятся с клавиатуры. помогие.


телефонный справочник
Написать программу, которая позволяет найти в телефонном справочнике (phone.txt) нужные сведения.

Решение

Egor_S, здравствуйте! Вот, писал программу не так давно. Возможно, вам это поможет:

Телефонный справочник
Всем привет! :) Задачка в двух словах такова. Надо сделать телефонный справочник, чтоб можно было.

телефонный справочник
Создать телефонный справочник для осуществления следующих операций: Добавление абонентов в.

Телефонный справочник
Помогите пожалуйста написать программу "Телефонный справочник", в которой есть два массива по 10.

Читайте также: