® ® Обучение Microsoft Access 2010 Создание таблиц для новой базы данных Содержание курса • Общие сведения. Преимущества хорошего дизайна • Урок. Включает два обучающих видеоролика • Предлагаемые упражнения • Тест • Краткий справочник Создание таблиц для новой базы данных Общие сведения. Планирование хорошей структуры базы данных Новичок в Access 2010? В этом курсе вы изучите основы работы с приложением Access, начиная с планирования структуры базы данных, которое гарантирует правильное представление в ней всех необходимых сведений. В курсе особое внимание уделяется созданию таблиц и отношений для новой базы данных. Создание таблиц для новой базы данных Цели курса 1. планировать структуру таблиц новой базы данных; 2. планировать поля (отдельные столбцы в каждой таблице); 3. планировать поля первичных ключей, необходимые для создания связей между таблицами; 4. проектировать таблицы для веб-базы данных (предназначенной для публикации на веб-сайте Microsoft® SharePoint®. Создание таблиц для новой базы данных Создание плана В этом и других курсах серии предполагается, что речь идет об управлении данными об активах компании — компьютерах, столах и другом оборудовании. Для ввода этих данных и управления ими до сих пор использовалась электронная таблица, однако ее файл становится слишком большим для эффективного поиска и изменения данных, а некоторые записи содержат неточности. Сэкономьте время и усилия, начав с разработки плана. Создание таблиц для новой базы данных Чтобы упростить работу, можно перенести всю информацию в базу данных Access. Создание плана Терминология, связанная с проектированием баз данных, носит технический характер (например, встречаются такие термины, как нормальные формы), однако базовые принципы этого процесса описаны ниже понятным языком. Сэкономьте время и усилия, начав с разработки плана. Создание таблиц для новой базы данных Подумайте о данных, которые будут храниться в базе. Много ли в них повторений? Например, сколько раз в таблице перечислены поставщики? Ищите дублирующиеся данные и переносите их в отдельные таблицы. Создание плана При этом необходимо следить за тем, чтобы каждая таблица содержала уникальные данные. Например, таблица данных об активах не должна содержать сведения о продажах, а таблица данных о зарплате — медицинские записи. Процесс разбиения данных на таблицы меньшего размера называется нормализацией. Сэкономьте время и усилия, начав с разработки плана. Создание таблиц для новой базы данных Создание плана После нормализации данных необходимо снова объединить их, создав связи между таблицами. Соответствующий процесс показан на рисунке. Сэкономьте время и усилия, начав с разработки плана. Создание таблиц для новой базы данных В исходной электронной таблице данные представлены в виде одного длинного списка, а в базе данных они распределены по таблицам. При этом таблицы связаны между собой таким образом, чтобы в них можно было искать необходимые сведения и осмысленно работать с данными. Создание плана Набор таблиц и связей между ними — это основа любой реляционной базы данных, и без них существование базы данных невозможно. В данном курсе рассматривается пошаговый процесс проектирования баз данных. Сэкономьте время и усилия, начав с разработки плана. Создание таблиц для новой базы данных Формулировка назначения базы данных Первым этапом планирования новой базы данных является формулировка ее назначения. В нашем случае база данных нужна для ввода сведений об активах компании и управления ими. Кто, что, когда, где, зачем и как. Создание таблиц для новой базы данных Однако это не все. Необходимо ответить на вопрос, кто и как будет использовать базу данных. Формулировка назначения базы данных должна охватывать все возможные потребности и сценарии ее использования. Формулировка назначения базы данных Держите формулировку назначения под рукой и используйте ее при проектировании таблиц. Не пытайтесь довести формулировку до совершенства: в нее всегда можно внести изменения. Кто, что, когда, где, зачем и как. Создание таблиц для новой базы данных Составление списка данных, которые нужно хранить Правильная структура базы данных позволяет исключить дублирование сведений, а также гарантировать полноту и, что еще важнее, точность данных. Все данные, которые необходимо хранить. Создание таблиц для новой базы данных Составление списка данных, которые нужно хранить Чтобы достичь этих целей, прежде всего нужно составить список данных для хранения. Можно начать с уже имеющихся сведений (в нашем случае — с электронной таблицы) либо подобрать примеры данных из бухгалтерских книг и других бумажных форм. Кроме того, обязательно поинтересуйтесь у коллег, какие данные им нужны. Все данные, которые необходимо хранить. Создание таблиц для новой базы данных Составление списка данных, которые нужно хранить Еще одним способом идентификации информации, которую необходимо хранить, является создание блоксхемы задач, связанных с вашими данными. Например, кто и как будет вводить данные? Какие для этого потребуются формы? Все данные, которые необходимо хранить. Создание таблиц для новой базы данных Составление списка данных, которые нужно хранить Подумайте, какие отчеты и списки рассылки будут создаваться на основе данных из базы. Например, нужно ли отслеживать время замены столов и стульев и кому могут потребоваться такие сведения. Анализ данных, которые планируется вводить и использовать, поможет решить, что именно необходимо хранить. Все данные, которые необходимо хранить. Создание таблиц для новой базы данных Группировка данных по темам Составляя список данных, которые будут храниться в базе, можно видеть, что они естественным образом распределяются по тематическим категориям или группам. Например, сведения могут быть разбиты на группы следующим образом: • данные об активах (модели, даты приобретения, цены); Наборы уникальных данных. Создание таблиц для новой базы данных Группировка данных по темам Наборы уникальных данных. Создание таблиц для новой базы данных • данные о поставщиках, предоставивших компьютеры, столы и другое оборудование (здесь наверняка потребуется указывать названия, адреса, номера телефонов компаний и имена контактных лиц); • данные о поддержке — лицах, которые занимаются ремонтом и обслуживанием оборудования (эти сведения аналогичны сведениям о поставщиках, поскольку также будут содержать названия компаний и имена контактных лиц). Группировка данных по темам Группировка важна потому, что каждая группа может соответствовать определенной таблице (например, «Активы», «Поддержка» и «Поставщики»). Перечень групп может не совсем точно отвечать полному списку таблиц, однако послужит хорошей отправной точкой. Наборы уникальных данных. Создание таблиц для новой базы данных В группы можно всегда внести необходимые изменения, при этом не забывая об уникальности данных в каждой из них (в одной группе — только сведения об активах, в другой — о поставщиках и т. д.). Создание полей на основе групп Следующий этап проектирования — составление списка полей для каждой таблицы. В таблице Access столбцы называются полями, а отдельные записи — строками. Как правило, каждое поле в таблице связано с другими полями. Например, в таблице с данными бизнесконтактов обычно есть поля для имени, фамилии, названия компании, номеров телефонов и т. д. Переход к детализации. Создание таблиц для новой базы данных Создание полей на основе групп Каждое поле должно быть связано с другими полями и относиться исключительно к бизнесконтактам. Такой набор связанных полей называется отношением (англ. relation), а соответствующая база данных — реляционной, т. е. построенной на отношениях. Планирование набора полей сводится к выявлению сведений, характерных для каждой из групп. При этом также можно воспользоваться уже имеющимися данными — электронной таблицей, книгой учета или даже картотекой. Переход к детализации. Создание таблиц для новой базы данных Создание полей на основе групп В базе данных активов, вероятно, потребуется составить список всех позиций со сведениями о них (таких как даты приобретения и цены). При этом нужно постараться сделать каждое поле элементарной логической единицей. В правильной структуре поле представляет собой отдельный фрагмент данных, а его имя позволяет четко идентифицировать эти данные. Переход к детализации. Создание таблиц для новой базы данных Создание полей на основе групп В процессе работы может возникнуть потребность использовать в одной таблице данные из другой. Например, на рисунке ниже показана группа «Активы», в которой используются поля с данными о поставщиках и поддержке. Это позволяет понять, как необходимо связать между собой таблицы (связи будут рассмотрены немного позже). Пока просто составьте полный список полей для каждой из таблиц. Переход к детализации. Создание таблиц для новой базы данных Создание полей на основе групп Наконец, обратите внимание на то, что проектировать строки не нужно: они будут сформированы естественным образом при вводе данных в поля. Переход к детализации. Создание таблиц для новой базы данных Планирование типов данных Составив список полей для всех таблиц, необходимо выбрать тип данных для каждого поля. Тип данных — это свойство, определяющее, что можно ввести в поле, а что — нет. Каждому полю назначается тип данных. Создание таблиц для новой базы данных Например, для хранения в полях текстовых данных, таких как имена и адреса, следует выбрать тип «Текст», а для хранения значений даты и времени — тип данных «Дата и время». Планирование типов данных Типы данных используются во всех реляционных базах данных и позволяют обеспечить точность вводимых сведений. Например, в поле, предназначенное для хранения значений даты и времени, невозможно ввести имя. Каждому полю назначается тип данных. Создание таблиц для новой базы данных Кроме того, типы данных упрощают управление размером базы данных, поскольку определяют размеры полей. Это обеспечивает экономию дискового пространства, поскольку исключено хранение малых объемов текста в больших полях. Планирование типов данных В приложении Access задавать типы данных очень легко. Составляя список полей, фиксируйте для каждого из них тип данных. Каждому полю назначается тип данных. Создание таблиц для новой базы данных Планирование первичных ключей Следующий этап планирования — добавление поля первичного ключа в каждую таблицу. Первичный ключ — это поле (или сочетание полей), значения в котором делают уникальной каждую запись (строку в таблице). Важнейшее поле для каждой из таблиц. Создание таблиц для новой базы данных Например, в реестре телефонной компании разные абоненты по имени «Сергей Климов» могут идентифицироваться уникальными значениями первичного ключа. Планирование первичных ключей Помимо идентификации записей в базе данных, первичные ключи используются для создания связей между таблицами. Важнейшее поле для каждой из таблиц. Создание таблиц для новой базы данных Эти ключи настолько важны, что для них существует отдельное правило: каждая таблица в базе данных должна содержать первичный ключ. Без них невозможны создание связей и осмысленная работа с данными, повышается риск дублирования записей, а использование данных затрудняется. Планирование первичных ключей В приложении Access создать первичный ключ можно несколькими способами. Важнейшее поле для каждой из таблиц. Создание таблиц для новой базы данных Для новичка простейшим способом является использование в каждой из таблиц поля «Код» (например, «КодАктива» или «КодПоставщика») с типом данных «Счетчик». Планирование первичных ключей При каждом добавлении в таблицу новой записи значение в этом поле увеличивается на единицу. Важнейшее поле для каждой из таблиц. Создание таблиц для новой базы данных Кроме того, если база данных предназначена для публикации в среде SharePoint, поля типа «Счетчик» должны использоваться в качестве первичных ключей во всех таблицах. Планирование внешних ключей Ранее в этом курсе упоминалось, что после распределения данных по таблицам их потребуется снова объединить с помощью связей (также называемых отношениями). Связи между таблицами могут быть сложными, и они выходят за рамки этого курса. Пока что необходимо научиться планировать связи, для чего нужно будет решить, где разместить внешние ключи. Принцип создания связей: использование ключей из других таблиц. Создание таблиц для новой базы данных Планирование внешних ключей Внешний ключ — это обычный первичный ключ, который используется в другой таблице. На рисунке видно, что первичные ключи из таблиц «Поставщики» и «Поддержка» стали полями в таблице «Активы». Эти дублирующиеся поля в таблице «Активы» являются внешними ключами. Принцип создания связей: использование ключей из других таблиц. Создание таблиц для новой базы данных Планирование внешних ключей На данном этапе может возникнуть вопрос, не является ли использование полей в других таблицах дублированием данных. В действительности такое дублирование — нормальное явление. Принцип создания связей: использование ключей из других таблиц. Создание таблиц для новой базы данных Значения первичных ключей невелики, и без их использования в связях между таблицами невозможно извлекать из базы данных необходимые сведения. Таким образом, при проектировании базы данных обязательно определите поля, которые будут служить внешними ключами. Проектирование таблиц для SharePoint На последнем этапе проектирования базы данных необходимо решить, будет ли она публиковаться в среде SharePoint. В этом случае в таблицах нельзя использовать некоторые из возможностей приложения Access. В частности, создавать таблицы можно только в режиме таблицы, но не в режиме конструктора. Создание веб-баз данных требует планирования. Создание таблиц для новой базы данных Проектирование таблиц для SharePoint Кроме того, единственным доступным видом связей между таблицами будут поля подстановки, с помощью которых в списке, находящемся в одной таблице, можно выбирать значения из другой. Создание веб-баз данных требует планирования. Создание таблиц для новой базы данных Проектирование таблиц для SharePoint Такие ограничения, налагаемые приложением Access, обусловлены тем, что в процессе публикации база данных преобразуется в формат динамического HTML и ECMAScript, поэтому необходимо избегать создания в базе данных элементов (по терминологии Access — объектов), которые невозможно преобразовать в эти языки. Создание веб-баз данных требует планирования. Создание таблиц для новой базы данных Таким образом, на последнем этапе планирования необходимо решить, будет ли эта база данных публиковаться. Этот незначительный момент на самом деле очень важен. Предложения по упражнениям 1. Начните создавать план. 2. Ознакомьтесь с шаблоном базы данных «Активы». 3. Упражнение 3. Способы избежать дублирования данных без создания таблиц Интерактивные упражнения (необходим Access 2010) Создание таблиц для новой базы данных 1-й вопрос теста Для чего нужен первичный ключ? (Выберите один ответ.) 1. Для уникальной идентификации каждой из записей в таблице. 2. Для шифрования и расшифровки базы данных. 3. Для того чтобы обеспечить ввод данных в правильную таблицу. Создание таблиц для новой базы данных 1-й вопрос теста Для чего нужен первичный ключ? Ответ: 1. Для уникальной идентификации каждой из записей в таблице. Именно в этом состоит функция первичных ключей, поэтому они должны присутствовать во всех таблицах базы данных. Создание таблиц для новой базы данных 2-й вопрос теста Что обеспечивает хорошо спроектированная база данных? (выберите один вариант ответа) 1. Своевременное резервное копирование данных. 2. Полноту и точность данных. 3. Дублирование данных для облегчения их поиска. Создание таблиц для новой базы данных 2-й вопрос теста Что обеспечивает хорошо спроектированная база данных? Ответ: 2. Полноту и точность данных. Полнота и точность данных исключительно важны для принятия правильных решений. Создание таблиц для новой базы данных 3-й вопрос теста Все данные всегда должны храниться в отдельных таблицах. (Выберите один ответ.) 1. Верно. 2. Неверно. Создание таблиц для новой базы данных 3-й вопрос теста Все данные всегда должны храниться в отдельных таблицах. Ответ: 2. Неверно. Для хранения и отслеживания нескольких элементов достаточно поля подстановки, содержащего список значений. Создание таблиц для новой базы данных 4-й вопрос теста Сколько таблиц должна содержать хорошо спроектированная база данных? (Выберите один ответ.) 1. Столько, сколько необходимо для хранения всех данных без их дублирования. 2. Один. 3. Два. Создание таблиц для новой базы данных 4-й вопрос теста Сколько таблиц должна содержать хорошо спроектированная база данных? Ответ: 1. Столько, сколько необходимо для хранения всех данных без их дублирования. Это может быть и одна таблица, и несколько десятков. Создание таблиц для новой базы данных 5-й вопрос теста Что необходимо сделать для создания отношения между таблицами А и Б? (Выберите один ответ) 1. Объединить таблицу А с таблицей Б. 2. Связать таблицу А с таблицей Б. 3. Добавить первичный ключ из таблицы А в таблицу Б (или наоборот). Создание таблиц для новой базы данных 5-й вопрос теста Что необходимо сделать для создания отношения между таблицами А и Б? Ответ: 3. Добавить первичный ключ из таблицы А в таблицу Б (или наоборот). При добавлении поля первичного ключа из одной таблицы в другую создается связь, а новое поле становится внешним ключом. Создание таблиц для новой базы данных Краткий справочник Сводка по задачам, рассматриваемым в этом курсе, см. Краткий справочник. Создание таблиц для новой базы данных