Руководство по разработке структуры и проектированию базы данных. Типы логических моделей данных

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

Если вы владелец малого бизнеса, и в своей работе еще не используете Систему управления взаимоотношениями с клиентами (CRM или Customer Relationship Management), автоматизирующую генерацию стратегий взаимодействия с клиентами, то успех вашего дела подвержен определённым рискам. Помните, что ваши конкуренты не дремлют!

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

Filemaker Pro 12

Эта база данных на продолжении длительного времени не заслуженно выпала из поля зрения администраторов баз данных и разработчиков, но была любима бизнес сообществом со времени своего создания. Filemaker Pro, созданный компанией Apple, работает как на операционной системе Mac, так и на системе Windows. Программа является интуитивным и очень простым в использовании инструментом для создания собственных баз данных с поддержкой предоставления данных в Интернете, который способен генерировать отчетность в обычном и расширенном режимах, и может быть интегрирован с другими системами баз данных.

Microsoft Access 2010

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

Если у вас уже имеется база данных, есть вероятность, что она была построена при помощи Microsoft Access. Новая версия 2010 года выглядит и работает лучше, проще в использовании, по сравнению с предыдущими версиями, например, с массово используемой версией 2003 года. Несмотря на то, что эту СУБД начали теснить конкуренты, она все ещё занимает лидирующие позиции в этом сегменте рынка программного обеспечения.

Oracle Application Express (APEX) база данный бизнес

APEX представляет собой систему управления базами данных, построенную на мега-успешном движке базы данных Oracle. APEX доступен совершенно бесплатно, если вы уже являетесь клиентом Oracle и обеспечивает более продвинутую систему создания бизнес приложений, чем Microsoft Access или FileMaker Pro. Однако использование APEX не так просто в сравнении с простым введением данных в таблицы, как это происходит в базе данных Access.

Если вы уже используете Oracle или предполагаете, что нуждаетесь в более расширенных возможностях управления базами данных, таких как интеграция с другими системами данных в будущем, или как обработка очень больших объемов данных с быстрым быстродействием, тогда APEX является правильным выбором.

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

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

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

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

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

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

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

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

Реакция на появление этих новых технологий была вполне предсказуемой: в крупном бизнесе сохраняли еще больше информации и требовали все более быстрого оборудования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· Возможности СУБД MS Access.

· Режимы работы с объектами базы данных в MS Access: оперативный режим, режим конструктора.

· Порядок построения выражений в MS Access.

· Операции с данными в таблице базы данных.

· Назначение и способы создания различных объектов базы данных: форма, отчет, запрос, страница доступа к данным.

· Использование элементов управления в объектах базы данных: форма, отчет, запрос, страница доступа к данным.

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

· Средства автоматизации операций с объектами баз данных в СУБД Microsoft Access.

· Возможности изменения настроек и параметров СУБД MS Access.

Возможности Microsoft Access

Средствами Access можно выполнить следующие операции.

1. Проектирование базовых объектов ИС - двумерных таблиц с разными типами данных, включая поля объектов OLE.

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

3. Ввод, хранение, просмотр, сортировка, модификация и выборка данных из таблиц с использованием различных средств контроля информации, индексирования таблиц и аппарата логической алгебры(для фильтрации данных).

4. Создание, модификация и использование производных объектов информационных систем (форм, запросов и отчетов), с помощью которых в свою очередь выполняются следующие операции:

· оптимизация пользовательского ввода и просмотра данных(формы);

· соединение данных из различных таблиц;

· проведение групповых операций (т.е. операций над группами записей, объединенных каким-то признаком), с расчетами и формированием вычисляемых полей;

· отбор данных с применением аппарата логической алгебры (запросы);

· составление печатных отчетов по данным, которые содержатся в таблицах и запросах БД.

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

В Microsoft Access имеется возможность открывать таблицы, запросы, представления, сохраненные процедуры, функции и формы в режимах сводной таблицы и сводной диаграммы. Существует возможность сохранять представления в режимах сводной таблицы и сводной диаграммы в качестве страниц доступа к данным, которые затем может просмотреть любой пользователь, на компьютере которого установлен Microsoft Internet Explorer 5 или более поздняя версия.

Microsoft Access предоставляет мощные интуитивные способы совместного использования данных XML (Extensible Markup Language), независимо от платформы, формата данных, протокола, схемы и бизнес-правил. Язык XML является не только стандартной технологией передачи данных в Интернете; он быстро превращается в предпочтительную технологию обмена данными между деловыми приложениями.



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

Технология работы с MS Access

Вы можете запускать MS Access и завершать ее работу любым из стандартных способов, предусмотренных в среде Windows.

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

Разработка базы данных разбивается на следующие основные этапы.

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

· Включайте все необходимые сведения. Разбивайте информацию на минимальные логические компоненты. Например, имена сотрудников удобно разбить на два поля - «Имя» и «Фамилия», что облегчит сортировку по фамилиям.



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

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

· Не создавайте поля, содержащие аналогичные данные. Например, если создать в таблице «Поставщики» поля «Товар!», «Товар2»и «ТоварЗ», будет трудно найти поставщиков, поставляющих конкретный товар. Кроме того, придется изменять структуру базы данных, если появится поставщик, предлагающий четыре товара. Достаточно будет одного поля для товаров, если поместить это поле в таблицу «Товары», а не в таблицу «Поставщики».

  1. Определение таблиц, которые должна содержать база данных . Каждая таблица должна содержать информацию только на одну тему. Список нужных полей подскажет, какие требуются таблицы. Например, если будет использоваться поле «Дата Найма», оно принадлежит теме сведений о сотрудниках, т.е. должно содержаться в таблице «Сотрудники». Потребуются также таблицы «Клиенты», «Товары» и «Заказы».
  2. Определение таблиц, к которым относятся поля . При решении вопроса, к какой таблице должно относиться каждое поле, необходимо учитывать следующие принципы разработки.

· Включайте каждое поле только в одну таблицу.

· Не включайте поле в таблицу, если в результате его добавления одни и те же данные будут появляться в нескольких записях этой таблицы. Если оказывается, что поле таблицы содержит много повторяющихся данных, это поле, вероятно, помещено не в ту таблицу. Например, при включении поля, содержащего адрес заказчика, в таблицу «Заказы» эта информация будет повторяться во многих записях, если заказчик будет делать разные заказы. Если же поместить адрес в таблицу «Клиенты», он появится только один раз. Данные, хранящиеся только в одной таблице, обновляются только один раз. Это более эффективно и, кроме того, исключает возможность дублирования записей, содержащих разные сведения.

  1. Определение полей с уникальными значениями в каждой записи . Для связывания в Microsoft Access сведений, хранящихся в разных таблицах, например, для связывания клиента со всеми его заказами, каждая таблица базы данных должна содержать поля или набор полей, однозначно определяющих каждую запись. Такое поле или набор полей называют первичным ключом .
  2. Определение связей между таблицами . После разбиения сведений на таблицы и определения полей первичного ключа необходимо выбрать способ, которым Microsoft Access будет вновь объединять связанные сведения. Для этого следует определить связи между таблицами базы данных Microsoft Access. При этом полезно изучить связи в существующей базе данных с хорошо организованной структурой, например, в учебной базе данных «Борей».
  3. Усовершенствование структуры базы данных . После создания нужных таблиц, полей и связей необходимо еще раз просмотреть структуру базы данных и выявить возможные недочеты. Желательно это сделать на данном этапе, пока таблицы не заполнены данными.

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

  1. Ввод данных и создание других объектов базы данных . Если структуры таблиц отвечают поставленным требованиям, то можно ввести все данные. Затем можно создать все необходимые объекты базы данных - запросы, формы, отчеты, страницы доступа к данным, макросы и модули.
  2. Использование средств анализа Microsoft Access. В Microsoft Access существуют два инструмента, помогающие усовершенствовать структуру базы данных Microsoft Access. Мастер анализа таблиц позволяет проанализировать структуру таблицы, предложить подходящие новые структуры и связи, а также разделить таблицу на новые связанные таблицы, если это имеет смысл. Анализатор быстродействия исследует всю базу данных и дает рекомендации по ее улучшению, а также может выполнить эти рекомендации.

Создание базы данных

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

Для создания новой базы данных выберите в меню Файл команду Создать , затем в панели задач Создание файла выберите вариант Новая база данных . После этого на экране появляется стандартный файлер, в котором следует открыть нужную папку и задать имя создаваемого файла базы данных. Например, «группа.MDB». Создав файл, Access раскрывает пустое окно базы данных, и в этом окне можно будет проводить все операции - создавать и манипулировать объектами БД. MS Access является многооконным приложением, однако в любой момент может быть открыта только одна база данных. Именно ее окно является главным окном документа в приложении Access, и его закрытие означает закрытие соответствующего файла.MDB.

Рис. 1. Окно базы данных

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

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

Основные понятия MS Access. Объекты MS Access

Как видно из рис. 1, база данных Access может иметь следующие объекты: таблицы, запросы, формы, отчеты, страницы. Таблица является базовым объектом MS Access. Данные следует сохранять в таблицах, причем каждая таблица должна содержать информацию одного типа. Все остальные объекты базы данных являются производными и создаются только на базе ранее подготовленных таблиц.

Форма не является самостоятельным объектом MS Access: она просто помогает нам вводить, просматривать и модифицировать информацию в таблице или запросе. Запросы и отчеты выполняют самостоятельные функции: выбирают, группируют, представляют, печатают информацию. Страницы доступа к данным представляют собой специальный тип web-страниц, предназначенный для просмотра и работы через Интернет, или интрасеть с данными, хранящимися в базе данных Microsoft Access или Microsoft SQL Server. С помощью страницы пользователи могут вводить, редактировать и удалять данные из базы данных.

Каждый объект MS Access имеет имя. В Microsoft Access действуют следующие ограничения на имена полей, элементов управления и объектов (табл. 1).

· имя должно содержать не более 64 символов;

· имя может включать любую комбинацию букв, цифр, пробелов и специальных символов за исключением точки (.), восклицательного знака (!), надстрочного символа (") и квадратных скобок ();

· не должно начинаться с символа пробела;

· не должно включать управляющие символы (с кодами ASCII отО до 31);

· не должно включать прямые кавычки (") в именах таблиц, представлений и хранимых процедур в проекте Microsoft Access.

Хотя пробелы внутри имен полей, элементов управления и объектов являются допустимыми, при некоторых обстоятельствах они могут вызывать конфликты в программах Visual Basic.

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

Таблица 1 Типы данных, которые могут иметь поля в Microsoft Access

Тип данных Использование Размер
Текстовый Текст или комбинация текста и чисел (например, адреса), а также числа, не требующие вычислений, (например, номера телефонов, инвентарные номера или почтовые индексы) До 255 символов
Числовой Числовые данные, используемые для математических вычислений, за исключением финансовых расчетов (для них следует использовать тип «Денежный»). Для более точного определения типа числа используйте свойство Размер поля (FieldSize) 1,2,4 или 8 байт. 16 байт только для кодов репликации (GUID)
Поле MEMO Длинный текст или числа, например, примечания или описания До 64 000 символов
Дата/время Даты и время 8 байт
Денежный Значения валют. Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 символов в целой части числа и 4 - в дробной 8 байт
Счетчик Автоматическая вставка последовательных (увеличивающихся на 1) или случайных чисел при добавлении записи. Этот тип поля удобно применять для первичного ключа таблицы. В качестве значений таких полей Access автоматически выбирает целые порядковые номера (1,2,...). В дальнейшем номер, присвоенный записи при ее создании, не изменяется (независимо от удаления, вставки новых записей и т.п.) 4 байта. 1 6 байт только для кодов репликации (GUID)
Логический Поля, содержащие только одно из двух возможных значений, таких, как «Да/Нет», «Истина/Ложь», «Вкл/Выкл» 1бит
Поле объекта OLE Объекты (например, документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звуки и другие двоичные данные), созданные в других программах, использующих протокол OLE. Объекты могут быть связанными или внедренными в таблицу Microsoft Access. Для отображения объекта OLE в форме или отчете необходимо использовать присоединенную рамку объекта До 1 гигабайта (ограничено объемом диска)
Гиперссылка Поле, в котором хранятся гиперссылки, имеющие вид пути или URL-адреса До 64 000 символов
Мастер подстановок Создает поле, позволяющее выбрать значение из другой таблицы или из списка значений, используя поле со списком. При выборе данного параметра в списке типов данных запускается мастер для автоматического определения этого поля Тот же размер, который имеет первичный ключ, являющийся также и полем подстановок; обычно - 4 байта

С каждым объектом базы данных работа выполняется в отдельном окне, причем предусмотрено два режима работы:

1. оперативный режим, когда просматривается, изменяется или выбирается информация;

2. режим конструктора, когда создается или изменяется макет, структура объекта (например, структура таблицы).

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

В окне базы данных под стандартной панелью инструментов расположена панель с кнопками «Открыть», «Конструктор» и «Создать», а также кнопки изменения вида представления объектов базы данных. В левой части окна отображается список вкладок (по числу объектов Access) с корешками: Таблица, Запрос, Форма, Отчет, Страницы, Макрос и Модуль . Если выбрана какая-либо вкладка, то в окне базы данных отображается список существующих объектов этого типа данной БД. Например, если выбрать вкладку Таблица , то в окне отображается список таблиц открытой базы данных. Чтобы открыть таблицу, надо выделить ее имя в этом списке и нажать кнопку «Открыть». Чтобы включить в БД новую таблицу, надо нажать кнопку «Создать». Чтобы исправить макет существующей таблицы, надо выделить ее имя в списке и нажать кнопку «Конструктор». Такие же операции выполняются со всеми другими объектами базы данных Access.

Набор пунктов горизонтального меню и состав панелей инструментов зависят от типа и режима окна документа, которое в данный момент активно. Например, окно таблицы в оперативном режиме имеет кнопки «Вырезать», «Сортировать по возрастанию» и др., а в режиме конструктора - кнопки «Свойства», «Определить ключ» и др. Работа с панелями инструментов подчиняется стандарту Windows.

Примечание. Поля типов «Числовой», «Дата/время», «Денежный» и «Логический» имеют предопределенные форматы вывода данных. Формат вывода можно выбрать в ячейке Свойства Формат поля. Можно также создать собственные форматы вывода для всех типов данных, кроме объектов OLE.

Технология разработки базы данных

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

Для создания базы данных запустите MS Access и выберите в меню Файл команду Создать , затем в панели задач Создание файла выберите вариант Новая база данных. После этого в окне Файл новой базы данных откройте нужную папку, например, Новая папка, и задайте имя создаваемого файла базы данных, например, «Группа.MDB».

Создание таблицы

Для создания таблицы выберите в списке вкладок в левой части окна базы данных вкладку Таблица . После этого в окне базы данных будут отображены ярлыки вариантов создания таблицы: в режиме конструктора, с помощью мастера и путем ввода данных. Дважды щелкнув мышью по строке «Создание таблицы в режиме Конструктор», откройте окно таблицы в режиме Конструктор, как показано на рис. 2.

Рис. 2. Определение параметров поля таблицы в режиме Конструктор

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

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

При выборе значения свойства принципиально важно следовать следующим рекомендациям:

· для текстового и числового поля надо указать размер поля, причем для текста это допустимая длина значения (например, 20 или 40символов), а для числа - формат представления в компьютере (байт, целое (два байта), длинное целое и т.д.);

· для поля Дата/время обязательно надо указать формат, чтобы система знала, как обрабатывать вводимые данные. Например, если выбрать Краткий формат даты, система будет ожидать от вас ввода именно даты (в русской версии - ДД.ММ.ГГГГ), а если выбрать Краткий формат времени, в этом поле придется набирать ЧЧ:ММ (часы и минуты);

· в качестве значения свойства Условие на значение вы можете указать логическое выражение, которое должно принимать значение True («Истина») при вводе данных в это поле. В следующем свойстве можно записать произвольное сообщение об ошибке, которое будет выдано системой, например: «Это значение поля недопустимо». Всвойстве Обязательное поле можно указать «Да» (пустые значения недопускаются) или «Нет» (пустые значения допускаются);

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

Итак, следуя вышеприведенным рекомендациям, определите поля таблицы. В графе Имя поля задайте имя «№ личного дела». Для определения типа данных этого поля, щелкнув стрелку в графе Тип данных, раскройте список возможных типов данных и выберите вариант Текстовый. В области окна конструктора Свойства поля выберите вкладку Размер поля и определите максимальное количество знаков для ввода в этом поле - 10 символов.

Обратите внимание, что при выборе различных параметров свойства поля в правой части выводится подсказка о назначении параметра.

Действуя аналогично, введите следующие данные о других полях таблицы (табл. 2).

Завершив ввод описания полей таблицы, определите первичный ключ. Для этого, указав поле № личного дела , щелкните кнопку «Ключевое поле» в панели инструментов Стандартная.

Таблица 2. Данные о полях таблицы

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

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

Операции с данными в таблице

Ввод данных . Выбрав в окне таблицу Учащиеся, щелкните кнопку «Открыть». Установите курсор в поле № личного дела и введите значение номер, например, П-69. По окончании ввода значения поля нажмите клавишу Tab для перехода к следующему полю. В остальные поля этой записи введите остальные данные в первой записи.

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

Для изменения структуры базы данных на вашем компьютере должно быть установлено приложение Access.

В этой статье

Совместное использование данных с помощью сетевых папок

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

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

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

Совместное использование базы данных с помощью сетевой папки

    Если общая сетевая папка отсутствует, ее нужно настроить.

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

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

    1. Запустите Access и на вкладке Файл выберите пункт Параметры .

      В окне Параметры Access выберите пункт Параметры клиента .

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

    На компьютере каждого пользователя создайте ярлык для файла базы данных. В диалоговом окне "Свойства ярлыка" укажите путь к файлу базы данных в свойстве Цель , используя вместо буквы подключенного диска UNC-адрес. Например, вместо пути F:\sample.accdb укажите путь \\имя_компьютера\shared.accdb .

    Примечание: Это действие пользователи могут выполнить самостоятельно.

Совместное использование разделенной базы данных

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

Преимущества разделения базы данных

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

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

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

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

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

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

Совместное использование базы данных на сайте SharePoint

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

Опубликованная база данных размещается в Интернете. Можно создавать веб-формы и отчеты, запускаемые в окне браузера, а также стандартные объекты Access (их иногда называют клиентскими объектами, чтобы отличать их от веб-объектов). Для использования клиентских объектов Access необходимо установить приложение Access, однако все объекты базы данных, которые хранятся на SharePoint, используются совместно.

Примечание: Если на компьютере установлено приложение Access, можно использовать клиентские объекты из веб-базы данных, а не только объекты веб-базы данных.

Службы Access предоставляют платформу для создания без данных, которые можно использовать в Интернете. Веб-базы данных конструируются и публикуются с использованием Access 2010 и SharePoint, после чего можно использовать веб-базу данных через веб-браузер.

Формы, отчеты и макросы интерфейса выполняются внутри браузера.

Если вы используете веб-базу данных, данные хранятся в списках SharePoint: все таблицы преобразуются в списки SharePoint, а записи становятся элементами списков. Это позволяет управлять доступом к веб-базе данных с помощью разрешений SharePoint.

Запросы и макросы данных выполняются на сервере: вся обработка SQL-кода выполняется на сервере. Это повышает производительность сети, так как по ней передаются лишь результирующие наборы.

Сохранение базы данных в библиотеке документов

Базу данных можно сохранить в любой библиотеке документов SharePoint. Этот метод подобен сохранению базы данных в сетевой папке и предоставляет удобный способ управления доступом к базе данных. При связывании со списками SharePoint совместно используются только данные, но не объекты базы данных. Каждый пользователь получает собственную копию базы данных.

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

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

    На вкладке Файл выберите пункт Сохранить как .

    Примечание: Если вы используете Access 2010, выберите элементы Файл > Сохранить и опубликовать > Сохранить базу данных как > SharePoint .

    В диалоговом окне Сохранение в SharePoint перейдите к соответствующей библиотеке документов.

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

Дополнительные сведения см. в статьях Публикация в службах Access и Импорт и связывание данных со списком SharePoint .

Совместное использование базы данных путем связывания со списками SharePoint

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

Этот способ включает три основных действия.

    Перемещение данных в списки SharePoint.

    Создание ссылок на эти списки.

    Распространение файла базы данных.

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

Использование мастера экспорта таблиц в SharePoint

    На вкладке Работа с базами данных в группе Перенос данных щелкните элемент SharePoint .

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

    Следуйте указаниям мастера экспорта таблиц в SharePoint; в частности, укажите расположение сайта SharePoint. Чтобы отменить процесс, нажмите кнопку Отмена .

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

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

    Когда все действия мастера будут завершены, нажмите кнопку Готово .

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

Примечание: Чтобы просмотреть списки на сайте SharePoint, щелкните в области быстрого запуска кнопку Списки или выберите пункт Просмотреть все содержимое узла . Может потребоваться обновить страницу в веб-браузере. Чтобы отобразить списки в области быстрого запуска на сайте SharePoint или изменить другие параметры (например, включить отслеживание версий), можно изменить параметры списков на сайте SharePoint. Дополнительные сведения см. в справке для сайта SharePoint.

Совместное использование базы данных с помощью сервера

Совместное использование базы данных можно организовать с помощью приложения Access и сервера баз данных (например, сервера SQL Server). Этот способ обеспечивает много преимуществ, но для него требуется дополнительное программное обеспечение - сервер баз данных.

Этот способ напоминает разделение баз данных, поскольку таблицы хранятся в сети, а у каждого пользователя есть локальная копия файла базы данных Microsoft Access, содержащая ссылки на таблицы, запросы, формы, отчеты и другие объекты базы данных. Этот вариант используется, если сервер баз данных доступен, а у всех пользователей установлено приложение Access. Преимущества этого метода зависят от используемого программного обеспечения сервера баз данных, но в общем случае они включают наличие учетных записей пользователей и избирательный доступ к данным, отличную доступность данных и удобные встроенные средства управления данными. Более того, большинство серверных приложений для работы с базами данных нормально работают с более ранними версиями Access, поэтому не требуется, чтобы все пользователи работали с одной и той же версией. Совместно используются только таблицы.

Преимущества совместного использования базы данных с помощью сервера баз данных

    Высокая производительность и масштабируемость Во многих случаях сервер базы данных повышает производительность, чем единственный файл базы данных Access. Многие серверные продукты баз данных также обеспечивают поддержку очень больших баз данных размером примерно в 500 в течение интервала (2 ГБ) для файла базы данных Access (два гигабайта). Продукты сервера баз данных обычно работают очень эффективно, параллельно обрабатывая запросы (используя несколько собственных потоков в одном процессе для обработки запросов пользователей), а также свести к минимуму дополнительные требования к памяти при добавлении новых пользователей.

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

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

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

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

Основные этапы использования Access с сервером баз данных

Факторы, которые следует учитывать при выборе метода

Требования метода

Разделение базы данных

Сетевая папка

Сайт SharePoint

Сервер баз данных

Необходимость наличия программного обеспечения сервера баз данных

Необходимость наличия SharePoint

Необходимость наличия служб Access на сервере SharePoint

Зависит от сценария:

связывание со списками и сохранение в библиотеке документов не требует наличия служб Access;

публикация в виде веб-базы данных или веб-приложения требует наличия служб Access.

Доступность данных

Подходит для небольших групп, если данные мало изменяются

Наилучшая. Подходит для сценариев автономного использования.

Наилучшая

Безопасность

Зависит от дополнительных мер

Наименее безопасный способ

Наилучшая

Наилучшая

Гибкость

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

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

Гибкий способ. Использование разрешений SharePoint для управления доступом и изменения структуры. Позволяет использовать некоторые объекты базы данных, например формы, на основе браузера.

Гибкий способ. Можно легко разрабатывать новые функции базы данных без нарушения работы. Пользователи могут изменять структуру объектов в собственной копии.

1. Понятие СУБД.

2. Реляционные базы данных.

3. Виды баз данных.

4. Виды структур баз

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

Внесение объекта в базу – только полдела. Его еще нужно как-то характеризовать, связать с ним определенное значение. И тут нужно ввести понятие "данное". Данное – это определенный показатель, характеризующий объект и наделяющий его определенным значением. Причем не обязательно, чтобы объект был определен одним данным – их может быть много. Представь, что ты имеешь дело с хакерской структурой. Хакерство – это объект. А вот данные - это уже хакерские течения, стаж незаконной деятельности, количество написанных эксплойтов и взломанных машин и т.п. Другими словами, данные – это характеристики определенного объекта. Именно это больше всего интересует клиента, обратившегося к пока еще будущей БД.

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

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

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

Реляционные базы данных.

Та или иная СУБД зависит от модели, которая положена в основу базы. В наше время стали наиболее распространенными две модели: реляционная (модель отношений) и объектно-ориентированная (модель объектов).

Начнем с реляционной модели. В далеком 1969 году американский математик доктор Э.Ф. Кодд (Е.F. Codd) проанализировал сложившуюся к тому времени ситуацию по базам данных и пришел к выводу, что дело плохо. Во всех имевшихся в то время моделях были существенные недостатки: избыточность данных, сложность обработки и отсутствие безопасности хранения информации и т.п. После тягостных раздумий Кодд решил создать свою модель - реляционную. Для тех, кто злостно прогуливал английский, напомню, что relation переводится как "отношение" или просто "таблица". Гениальный доктор просто реализовал хранение данных в табличной форме, то есть организовал такие "хранилища" в виде логических структур (физические методы хранения могут быть любыми). Тем самым Кодд сумел добиться наглядности представления информации и удобства ее обработки. Благодаря достижению этого гения для формирования таблицы данных стало достаточно выполнить определенный логический запрос, подчиняющийся законам булевой алгебры. Среди операторов манипуляции данными существуют минимум три операции: извлечение строк (SELECT), извлечение столбцов (PROJECT) и объединение таблиц (JOIN). В результате этих действий мы получаем таблицу. И простой вывод из всего этого: результатом любой операции в реляционной модели является объект того же рода, что и объект, над которым осуществлялось действие.

Это и есть основное свойство описываемой модели.

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

Тип данных – определение, которое соответствует понятию типа в языках программирования. Другими словами, для реляционной модели можно отметить такие основные типы, как "целые числа", "строки", "символы", "числа с плавающей запятой", "дата" и "деньги" (куда в наше время без денег:)).

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

Кортеж – строка в таблице с данными. Таким образом, исчерпывающая информация на определенного хакера является кортежем.

Отношение – таблица в целом. Описание типов данных, применяемых в табличке, называется заголовком отношения, а все остальное (собственно данные) – телом отношения.

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

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

В теории СУБД выделяется три вида связей: один-к-одному, один-ко-мно-гим и многие-ко-многим. Расскажу подробно о каждом виде.

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

2. Один - ко - многим. Наиболее типичная связь. Реализуется при копировании первичного ключа одной таблицы в другую. В этом случае во второй таблице этот ключик называется уже внешним. Непонятно? Тогда опять обращусь к примеру. Возьмем две таблицы – с информацией о хакере (таблица "Хакеры") и об отношениях с характеристиками эксплойтов, которые он написал (таблица "Эксплойты"). По сути, они связаны механизмом один-ко-многим. Действительно, каждый хакер может быть автором нескольких эксплойтов (так часто и бывает), но каждый эксплойт может быть написан одним и только одним автором (даже при совместной работе в хак-группах определенным эксплойтом занимается один человек). Здесь в качестве внешнего ключа в таблице "Эксплойты" используется ник хакера, а в качестве первичного – название эксплойта. При этом внешний ключ "ник хакера" является первичным ключиком в таблице "Хакеры", а сюда введен намеренно для связи двух таблиц и организации поиска нужной информации. Кстати, отношение "Эксплойты" совсем не обязательно будет состоять лишь из одного атрибута – можно добавить характеристики операционок, к которым применим эксплойт, количество целей, тип (локальный или удаленный) и т.п.

3. Многие о ногим. Суть этого типа связи в том, что ключ в одной таблице связывается с ключом другой и наоборот. С этим типом в реляционной модели дела обстоят очень плохо. Точнее, эту связь напрямую вообще никак не реализовать. Чтобы обойти этот недостаток, используется классическое решение: добавляется промежуточное отношение, которое будет связано типом "один-ко-многим" как с первой, так и со второй таблицей. Опять наглядный пример. Имеем два отношения: информация о хакерах и данные о серверах, которые когда-то были взломаны. Если подумать, то мы владеем следующей структурой: одним злоумышленником могут быть хакнуты несколько серверов (так часто и бывает в жизни), а на один сер-вак могут поселиться несколько хакеров (одновременно или последовательно), если админ вовремя не про-патчил баг. Чтобы реализовать подобную схему в реляционной БД, мы добавим промежуточное отношение из двух полей: ник хакера и адрес сервера. Таким образом, эта вспомогательная таблица будет иметь связь "один-ко-многим" как с первым, так и со вторым отношением. Конечно, в этом случае повысится избыточность данных, поэтому эксперты рекомендуют избегать таких связей.

Для каждой модели БД существует свой язык управления. Для реляционной модели таким языком является SQL (Structured Query Language, или структурированный язык запросов). Создатели этого языка стремились максимально приблизить свое детище к человеческому (английскому) языку и при этом наполнить его логическим смыслом.

Язык SQL существенно облегчает работу тем, кто постоянно имеет дело с реляционными СУБД. Строго говоря, без этого структурированного языка многим несчастным пришлось бы писать программу, например, на С. Представь: чтобы полноценно работать с таблицей, сначала необходимо создать этот объект, потом запрограммировать процедуры обращения к ней (извлечение и добавление строк). Для избавления от подобного геморроя разработчики СУБД позаботились о создании языка SQL.

Все SQL-запросы очень похожи на логические условия булевой алгебры (кто не прогуливал матан, тот меня поймет:)). Ты сам в этом убедишься, если посмотришь на врезку с основными командами языка.

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

В большинстве объектно-ориентированных баз данных существует простой графический интерфейс, позволяющий пользователю получить доступ к объектам в навигационном стиле. При этом игнорируется принцип инкапсуляции: никто не запретит тебе увидеть внутренности объектов напрямую. Но, как говорят эксперты, навигационный стиль в ООБД – это в некотором смысле "шаг назад" по сравнению с языками запросов в реляционных СУБД. И мучительные поиски лучшего языка запросов к ООБД идут до сих пор.

Основные языки обращений к БД все же основываются на простом SQL-синтаксисе и имеют своего рода расширение, применимое к объектам. Примерами таких языков служат ORION, Iris и O2 Reloop.

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

Для нужд обычного человека (то есть тебя) вполне хватит реляционных СУБД, которые применяются повсеместно. Это и всенародно любимый MySQL, и менее любимый Access, и MSSQL. Подобных систем управления масса, определись и выбери ту, что тебе больше по сердцу. А сделать этот нелегкий выбор, как всегда, поможет этот уникальный СПЕЦвыпуск;).

Типы баз данных.

Какие бывают базы данных? В большинстве случаев решения программистов ограничиваются двумя типами: локальная и клиент-серверная. В первом случае получается шампунь "все-в-одном". Во втором мы разделяем данные и клиентское приложение и получаем два уровня.

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

ЛОКАЛЬНАЯ БАЗА

Самая простая база данных – локальная. В этом случае база и программа расположены на одном компьютере. Соединение с файлом базы данных происходит через специальный драйвер или напрямую. Драйвер умеет обрабатывать только простые запросы SQL-стандарта 1992 года и предоставлять данные программе или сохранять изменения в таблице. Все остальные манипуляции могут выполняться только программой. Таким образом, логика, данные и приложение работают как единое целое и не могут быть разделены.

Яркими и наиболее распространенными представителями такого рода баз являются Dbase (файлы с расширением.dbf), Paradox (расширение.db) и Access (расширение.mdb). Форматы Dbase и Paradox - это даже не базы данных, а таблицы, потому что в одном файле может храниться только одна таблица данных. Индексы, ускоряющие поиск и осуществляющие сортировку, находятся в отдельных файлах. Таким образом, одна база данных может состоять из множества файлов, и это иногда приводит к определенным проблемам при поставке приложения конечному пользователю.

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

Самый главный недостаток локальных баз данных, как говорит юморист М. Задорнов, – "они тупые". Да-да. Качество и скорость доступа напрямую зависит от драйвера. В большинстве из них не было оптимизаторов SQL-запросов и какого-либо кеширо-вания. Возможности железа использовались минимально, поэтому на больших базах запросы выполняются крайне медленно.

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

Что такое разрушенный индекс? Индекс – это колонка, в которой все значения строк обязательно уникальны. Чаще всего для этих целей используется простой счетчик. Допустим, пользователь добавил запись и счетчик присвоил ей значение 195, но само значение счетчика не изменилось. При добавлении следующей записи счетчик снова пытается втулить нам число 195, но так как такая запись уже есть, происходит ошибка. Это и есть нарушение индекса, и лечить его достаточно просто (но нудно) – переформировать индекс.

СЕТЕВАЯ БАЗА ДАННЫХ

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

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

Посмотрим, как происходит обращение к базе данных. Программа и драйвер находятся на клиенте, а данные находятся на сервере или просто на удаленном компьютере. Как программа получает данные? Клиент передает драйверу SQL-запрос, который должен быть выполнен, но данные-то находятся удаленно! Чтобы отработать запрос, вся нужная таблица (в случае с Access - вся база данных, потому что все в одном файле) выкачивается на компьютер клиента, где драйвер обрабатывает данные.

Я бы побил того, кто придумал такую технологию, потому что это самое настоящее издевательство над системой. Представляешь, что будет, если надо выполнить запрос на базе данных в 1 Гб с телефонным соединением в 34 Кб/с? Это то же самое, что заставить

добывать нефть через трубочку для молочных коктейлей.

А ведь некоторые российские компании (не будет показывать пальцем) предоставляли нам сетевые решения на основе dbf-файлов в области бухгалтерии, делопроизводства и экономики. Это уже издевательство. Меня несколько раз просили восстановить умершие базы складской программы, после того как встроенные в программу средства не справлялись с задачей.

Но страшнее всего начали вести себя индексы. У таблиц Paradox, если они находились на расшаренном диске Win95, мне приходилось ремонтировать индексы как минимум раз в неделю. Когда я убрал файлы базы данных на сетевой диск сервера NetWare 3.11 (это был где-то 1998 год), проблемы с нарушением индексации сразу исчезли (наверное, потому что это действительно сервер, а не корявый Windows 9x).

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

КЛИЕНТ-СЕРВЕР

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

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

FROM Имя таблицы

WHERE Колонка LIKE ‘А%’

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

Получив нужные данные, сервер возвращает только их и ничего больше. Таким образом, клиент в любой момент может запросить у сервера нужные данные и не будет необходимости гонять по сети всю базу данных. При хорошо построенном приложении и оптимальных запросах клиент сможет работать с базой данных любого размера даже через модем в 56 Кбит/с. Неплохо? Главное - запрашивать только то, что нужно, и маленькими кусками.

ОСОБЕННОСТИ КЛИЕНТ-СЕРВЕРА

Возможности клиент-серверных баз данных зависят от производителя. Самые простые возможности предоставляют такие базы, как MySQL. В них сервер имеет встроенный движок обработки запросов и основные возможности по обеспечению безопасности и распределению прав.

В более солидных клиент-серверных базах (MS SQL Server, Oracle и т.д.)

есть следующие дополнительные возможности:

1. вьюшки – более подробно обсуДим в статье по безопасности;

2. триггеры – функции, которые могут вызываться на определенные события (вставка, изменение и удаление данных), в этих функциях может производиться какая-то логика по обеспечению целостности данных;

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

хранимые процедуры и функции, которые выполняются на сервере по мизерному запросу клиента и могут содержать целые подпрограммы с логикой, которые будут выполнять какие-либо действия; для написания таких программ используется уже не просто язык SQL, а его расширение – Transact-SQL (для MS баз) и PL/SQL (для Oracle и др.).

Список возможностей зависит от конкретной базы данных, ее наворо-ченности и может быть больше или меньше.

ИНДЕКСЫ НА СЕРВЕРЕ

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

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

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

В случае с серверной базой индексы чаще всего (в зависимости от базы и типа индекса) хранятся немного подругому – в виде дерева. Сколько слов надо проверить для поиска слова "якорь" в базе данных при линейном индексе? По сути, практически все. При древовидном хранении индекса - не более чем для слова "Абажур". Для пояснения древообразного индекса рассмотрим классическую задачу (в реальности все немного сложнее, но идея такая же). В самом верху дерева хранится алфавит. Программа находит букву А и спускается на уровень ниже. Здесь она находит все слова на буквы А, Б и двигается еще ниже. И так - пока не найдется нужное слово

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

ТРЕТИЙ УРОВЕНЬ

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

Я работал в одной фирме (не будем тыкать в нее вилами), у которой было несколько офисов по России, и в каждом из них - парк компьютеров из 20-30 штук. В московском офисе эта цифра превышала сотню. Корпоративные программы обновлялись каждые две недели (вносились изменения, добавления и т.д.). Бедные админы в момент обновлений работали по субботам, чтобы пропатчить софт на каждой машине и убедиться в функциональности. Как решить эту проблему?

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

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

Представим себе классическую задачу – появление новой версии базы данных или переход на базу качественно более нового уровня. Ну не хватает нам уже возможностей MySQL, захотелось заполучить всю мощь Oracle. Для этого переустанавливается сервер баз данных, изменяется сервер приложений на подключение к новой базе - и клиенты готовы к работе. Их обновлять не надо!

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

Виды структур баз

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

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word. Подобные хранилища используются для разработки информационных сайтов, интернет-магазинов и бухгалтерских дополнений. Основными средствами, реализующими данный подход, являются MS SQL и MySQL. Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.

Определения основных понятий

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

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.

Создание БД

Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.

Итак, выполните следующее:


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

Создание и заполнение таблиц

После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:



Совет! Для тонкой настройки формата данных перейдите на ленте во вкладку «Режим таблицы» и обратите внимание на блок «Форматирование и тип данных». Там можно кастомизировать формат отображаемых данных.

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

Для выполнения запросов нужно связать наши таблицы. Иными словами, это некая зависимость, которая реализуется с помощью ключевых полей. Для этого нужно:


Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:


Выполнение запросов

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

Именно в этой ситуации к нам на помощь приходят SQL запросы, которые помогают изъять лишь необходимую информацию.

Виды запросов

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete - «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:


А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:

SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;

а результирующая таблица примет следующий вид:

На создание сущности

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

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» - типы данных для соответствующих значений.


Внимание! В конце каждого запроса должен стоять символ «;». Без него выполнение скрипта приведет к ошибке.

На добавление, удаление, редактирование

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


Создание формы

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


Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

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

Если вы никогда не сталкивались с подобной функцией, рекомендуется воспользоваться встроенным «Мастером отчетов». Для этого сделайте следующее:

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».

  3. Выберите интересующую таблицу и поля, нужные для печати.

  4. Добавьте необходимый уровень группировки.

  5. Выберите тип сортировки каждого из полей.