Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Разработка технического задания. Техническое задание на проектирование базы данных должен предоставить заказчик (преподаватель). Однако для этого он должен владеть соответствующей терминологией и знать, хотя бы в общих чертах, технические возможности основных систем управления базами данных. К сожалению, на практике такое положение встречается не всегда. Поэтому обычно используют следующие подходы:

· демонстрируют заказчику работу аналогичной базы данных, после чего согласовывают спецификацию отличий;

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

При подготовке технического задания составляют:

· список исходных данных, с которыми работает заказчик;

· список выходных данных, которые необходимы заказчику для управления структурой своего предприятия;

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

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

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

1. Работа начинается с составления генерального списка полей. Он может насчитывать десятки и даже сотни позиций.

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

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

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

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

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

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

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

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

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

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

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

С этого момента следует начинать работу с системой управления базами данных Microsoft Access.

СУБД Microsoft Access предоставляет несколько средств создания каждого из основных объектов базы. Эти средства можно классифицировать как:

· ручные (разработка объектов в режиме «Конструктора»);

· автоматизированные (разработка с помощью программ-мастеров);

· автоматические – средства ускоренной разработки простейших объектов.

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

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

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

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

Создание таблиц. Работа с любыми объектами начинается с окна База данных. На левой панели данного окна сосредоточены элементы управления для вызова всех семи типов объектов программы. Создание таблиц начинается с выбора элемента управления Таблицы.

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

Окно Конструктора таблиц фактически является графическим бланком для создания и редактирования структуры таблиц. В первом столбце вводят имена полей. Если свойство Подпись для поля не задано, то Имя поля станет одновременно и именем столбца будущей таблицы.

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

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

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

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

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

Созданную таблицу открывают в окне База данных двойным щелчком на ее значке. Новая таблица не имеет записей – только названия столбцов, характеризующих структуру таблицы. Заполнение таблицы данными производится обычным порядком. Курсор ввода устанавливается в нужную ячейку указателем мыши. Переход к следующей ячейке можно выполнить клавишей TAB. Переход к очередной записи выполняется после заполнения последней ячейки.

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

Начинающим пользователям Microsoft Access доставляет неудобство тот факт, что данные не всегда умещаются в ячейках таблицы. Шириной столбцов можно управлять методом перетаскивания их границ. Удобно использовать автоматическое форматирование столбцов «по содержимому». Для этого надо установить указатель мыши на границу между столбцами (в строке заголовков столбцов), дождаться, когда указатель сменит форму, и выполнить двойной щелчок. Это общесистемный прием Windows, которым можно пользоваться в данной программе, как и во многих других.

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

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

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

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

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

Здесь мы подходим к важному вопросу: «А зачем вообще нужна связь между таблицами?» У связи два основных назначения. 1) обеспечение целостности данных, 2) автоматизация задач обслуживания базы. Представим себе, что в таблице Клиенты, где каждый клиент уникален, кто-то удалит запись для одного из клиентов, но не сделает этого в таблице Заказы. Получится, что согласно таблице Заказы некто, не имеющий ни имени, ни адреса, а только абстрактный код, делал заказы. Узнать по коду, кто же это был на самом деле, будет невозможно: произошло нарушение целостности данных.

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

Связь между таблицами позволяет:

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

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

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

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

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

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

 

Имя поля представляет собой набор символов, набираемых в соответствии с такими же требованиями, как и к именам БД. Учитывая то, что имена полей могут использоваться в программах, они должны быть как можно короче, но в то же время наиболее полно выражать содержание. В качестве типа данных могут выступать: текст – любой набор символов (если вводимое значение не может быть интерпретировано как заранее определенное, то оно описывается как текст); поля типа МЕМО – содержат комментарии, описания и т.п., их размер не ограничен; дата/время – ввод значений даты в одном из определенных форматов; денежный – ввод данных в одном из предлагаемых денежных форматов; счетчик позволяет автоматически нумеровать записи в базе данных; логический – имеет формат данных либо «Да» либо «Нет»; поле объекта OLE – позволяет вводить связанный объект из другого приложения Windows; гиперссылка – позволяет организовать ссылку на объект в корпоративной сети или в Интернете; мастер подстановок – подставляет значение из другой связанной таблицы БД.

Графа Описание позволяет ввести комментарии к полям БД.

Вкладка «Общие» устанавливает свойство каждого поля, в зависимости от типа данных.

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

Для поля типа «Числовой» размер может быть в виде байта, целого, длинного целого, одинарного с плавающей точкой, двойного с плавающей точкой, кода репликации (т.е. кода поля со связанной таблицей), действительного. Наиболее часто используются первые три из перечисленных размеров. Число десятичных знаков можно варьировать от 0 до 15, по умолчанию устанавливается «Авто». Значение по умолчанию для числового принимается «0», можно ввести другое числовое значение, определяемое выражением, в качестве выражения могут выступать функции, константы, логические выражения. Условие по значению проверяет соответствие условию вводимых значений, сообщение об ошибке выдается в следующей строке.

Текстовое поле, как и поле «Дата/время» позволяет организовать маску ввода. Ввод маски производится по мастеру шаблонов.

Вкладка «Подстановки» позволяет настроить соответствующее поле. Тип элемента управления – выбирает тип объекта, в виде которого будет раскрываться соответствующий список. Возможен выбор из трех вариантов: поле, список, поле со списком. Тип источника данных установлен по умолчанию: таблица или запрос (возможен выбор из списка значений или списка полей). Заглавия столбцов – включает или выключает вывод заглавий столбцов подставляемой таблицы. Ширина столбцов – задает ширину выводящихся столбцов, как правило, принимается значение, назначаемое по умолчанию. Число строк списка – задает количество одновременно выводимых строк подставляемой для выбора таблицы. Ширина списка – ширина выводимого списка, принимается значение по умолчанию. Ограничиться списком – задает включение или выключение вводимого значения на соответствие со значениями из списка.

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

Эту операцию можно выполнить двумя способами:

1. Установить указатель на выбранное поле, нажать правую кнопку мыши. Если поле назначено ключевым, то кнопка первой позиции меню «Ключевое поле» показана в нажатом состоянии. Для отмены назначения достаточно ее отжать, соответственно для назначения ключевого поля – нажать.2. Выбрать поле, с которым необходимо работать. В позиции основного меню «Вставка» установить соответствующий флажок.

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

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

Настроить таблицу можно при помощи опций из меню «Формат»:

· Шрифт – выбирает настройки для шрифтов, используемых в таблице.

· Режим таблицы – настраивает отображение линий таблицы, ее внешний вид.

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

· Переименовать столбец – позволяет назначить другие имена столбцам.

· Скрыть столбцы – скрывает выбранный столбец таблицы.

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

· Закрепить столбцы – закрепляет выбранные столбцы. При скроллинге они не перемещаются в горизонтальном направлении.

· Освободить все столбцы – освобождает от закрепления все столбцы таблицы.

Схему организации данных в базе можно посмотреть при выборе позиции главного меню «Сервис» → «Схема данных».




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 418; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.041 сек.