Основные принципы проектирования баз данных

РЕФЕРАТ

На тему “Основные принципы проектирования баз данных”




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



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

База данных (БД) - это поименованная совокупность данных, относящихся к определенной предметной области.

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

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

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

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

Свойство (атрибут) - определенная часть информации о некотором объекте. Хранится в виде столбца ( поля ) таблицы. Например, фамилия, имя, отчество - это свойства для объекта Студент.

Связь (отношение) - способ , которым связана информация о разных объектах.



Типы связей между объектами



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

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

Связи между любыми двумя таблицами относятся к одному из трех типов: один-к-одному (1:1) , один-ко-многим (1:М) и много-ко-многим (М:М).

Связь типа “один-к-одному” (1:1)

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

Связь типа “один-ко-многим” (1:М)

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

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

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

Связь типа “много-ко-многим” (М:М)

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




Структура MS Access 97



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

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



Справочная система MS Access 97



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

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

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

Помощник MS Office

Помощник MS Office появляется на экране сразу после запуска Access 97 и выдает советы и справки об особенностях работы Access 97.

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

Что это такое?

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

Начало работы с MS Access

Запуск Access осуществляется двойным щелчком мыши по значку MS Access  на рабочем столе, в окне Microsoft Office.

После запуска на экране появится рабочий экран программы MS Access 97, в верхней строке которого расположено Главное меню, а под ним панель инструментов. Она содержит кнопки, дублирующие действия команд главного меню. С помощью команды Вид\Панели инструментов можно самостоятельно определить, которые из них будут отображены на экране.

В средней части расположено начальное окно Microsoft Access, состоящее из двух полей. Верхнее поле предлагает создать новую БД и содержит кнопки для выбора способа ее создания: с помощью конструктора (Новая база данных) или с помощью Мастера баз данных (Запуск мастера). Нижнее поле этого окна предлагает открыть уже созданную ранее БД.

После нажатия кнопки Новая база данных Access97 запрашивает имя для файла, в котором будет храниться база данных и открывает окно новой базы данных (рис.1).

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

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



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



После запуска Access нужно щелкнуть на кнопке Новая база данных в окне Miсrosoft Access и в предложенном диалоговом окне задать имя для файла БД. После этого на экране появляется окно базы данных (рис.1), из которого можно получить доступ ко всем ее объектам: таблицам, запросам, отчетам, формам, макросам, модулям.

Для создания новой таблицы нужно перейти на вкладку Таблица и нажать кнопку Создать. В следующем окне следует выбрать способ создания таблицы - Конструктор.

После этого Access выводит окно Конструктора таблицы (рис.2), в котором задаются имена, типы и свойства полей для создаваемой таблицы .

Имя поля не должно превышать 68 символа и в нем нельзя использовать символы ! . [ ] .

Каждая строка в столбце Тип данных является полем со списком, элементами которого являются типы данных Access (таблица 1). Тип поля определяется характером вводимых в него данных.

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

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

Размер поля - определяется только для текстовых и Memo-полей; указывает максимальное количество символов в данном поле. По умолчанию длина текстового поля составляет 50 символов

Формат поля – определяется для полей числового, денежного типа, полей типа Счетчик и Дата\Время. Выбирается один из форматов представления данных.

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

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

Подпись поля - содержит надпись, которая может быть выведена рядом с полем в форме или отчете ( данная надпись может и не совпадать с именем поля, а также может содержать поясняющие сведения).

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

Условие на значение - определяет множество значений, которые пользователь может вводить в это поле при заполнении таблицы. Это свойство позволяет избежать ввода недопустимых в данном поле значений. Например, если стипендия студента не может превышать 250 р., то для этого поля можно задать условие на значение: <=250.

Сообщение об ошибке - определяет сообщение, которое появляется на экране в случае ввода недопустимого значения.

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

Пустые строки - установка, которая определяет, допускается ли ввод в данное поле пустых строк (“ “).

Индексированное поле - определяет простые индексы для ускорения поиска записей.

Для сохранения структуры таблицы нужно ввести команду Файл\Сохранить и в окне Сохранение ввести имя таблицы.




Таблица 1 Типы данных MS Access 97

Тип данных

Использование

Текстовый

Алфавитно-цифровые данные (до 255 символов) 

Mеmо 

Алфавитно-цифровые данные - предложения, абзацы, тексты ( до 64 000 символов) 

Числовой 

Различные числовые данные (имеет несколько форматов: целое, длинное целое, с плавающей точкой) 

Дата\Время 

Дата или время в одном из предлагаемых Access форматов 

Денежный 

Денежные суммы, хранящиеся с 8 знаками в десятичной части. В целой части каждые три разряда разделяются запятой. 

Счетчик 

Уникальное длинное целое, создаваемое Access для каждой новой записи 

Логический 

Логические данные, имеющие значения Истина или Ложь 

Объект OLE 

Картинки, диаграммы и другие объекты OLE из приложений Windows 

Гиперссылка 

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

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



Создание таблиц с помощью Мастера таблиц



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

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


Определение ключевых полей



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

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

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



Определение связи таблиц



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

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

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

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

После установления целостности данных Access включает две дополнительные опции: Каскадное обновление связанных полей и Каскадное удаление связанных полей.

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

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

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


Использование режима таблицы



Ввод, редактирование и просмотр данных

Для осуществления этих действий нужно открыть базу данных в режиме таблицы:

· перейти в окно базы данных на вкладку Таблицы

· выделить имя нужной таблицы и щелкнуть по кнопке Открыть.

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

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

Если нужно удалить запись целиком, то нужно выделить ее и нажать клавишу Delete.

Для вставки новой записи в середине таблицы нужно выделить строку, перед которой должна расположиться новая запись, и нажать клавишу Insert. На появившейся пустой строке нужно ввести данные.

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

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

Для облегчения ввода и редактирования данных Access дает несколько "горячих" клавиш, назначение которых можно посмотреть в разделе Работа с данными справочной системы Access 97.

Использование Мастера подстановок при вводе данных в таблицы

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

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

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

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

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

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

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


Рекомендуемая литература



1.Скотт Баркер. Использование Microsoft Access 97.-Киев-Москва: Диалектика, 1997г.- 257 с.

2. Мари Свонсон. Microsoft Access 97: наглядно и конкретно.-Москва: Microsoft Press, Русская редакция, 1997г.- С10-57.

3. Алексей Гончаров. Access 97 в примерах.-С.-Петербург: Питер, 1998г.-С.12-60.

4.Н.В.Макарова. Информатика.- Москва: Финансы и статистика, 1997г.-С.560-587.

5. В. Пасько. Access97 для пользователя.-Киев: BHV, 1997 г.-С.5-28, 99-121.