- •4. Общие положения по выполнению курсовой работы
- •6. Содержание курсовой работы
- •2. Постановка задач
- •7. Методические рекомендации по написанию курсовой работы
- •7.1. Последовательность действий при выполнении курсовой работы
- •7.2. Описание предметной области
- •Описание функционирования отдела сбыта
- •1.2. Цель выполняемых функций
- •1.3. Описание предметной области
- •Справочник цехов
- •Т аблица 5
- •1.4. Список сокращений и терминов, используемых в заданиях
- •1.5. Ограничения предметной области
- •7.3. Постановка задачи
- •7.3.1. Составление плана работ по созданию информационных технологий приложений
- •7.3.2. Разделы постановки задачи
- •7.4. Информационный анализ и информационное моделирование предметной области
- •7.4.1. Информационное обеспечение приложений
- •7.4.1.1. Определение базы данных
- •7.4.1.2. Архитектура базы данных
- •7.4.1.3. Этапы проектирования базы данных
- •7.4.1.4. Информационно-логическая модель предметной области
- •Спецификация на поставку товаров к договору №__
- •7.4.1.5. Алгоритм построения информационно-логической модели предметной области
- •7.4.1.6. Структурные связи ио
- •7.4.1.7. Каноническая форма илм по
- •7.4.1.8. Пример разработки илм задачи "Учет движения готовой продукции на складах"
- •Информационный анализ справочных документов
- •7.5. База данных
- •7.5.1. Организационная форма базы данных
- •7.5.2. Структура базы данных
- •7.5.3. Администрирование базы данных
- •7.6. Система документов и документооборот
- •7.7. Классификация и кодирование технико-экономической информации
- •7.8. Алгоритмы и программы информационных технологий приложений
- •7.9. Проектирование таблиц базы данных
- •7.9.1. Определение комплекса таблиц субд Microsoft Access
- •7.10. Подготовка данных для контрольного примера
- •7.11. Ввод данных контрольного примера в базу данных и проектирование экранных форм
- •7.11.1. Простые формы
- •7.11.2. Составные формы
- •7.11.3. Свойства экранных форм
- •7.11.4. Рекомендации по проектированию экранных форм
- •7.12. Запросы
- •7.13. Отчеты
- •7.14. Макросы и модули
- •7.15. Ведение нормативно-справочной информации
- •7.16. Интерфейс конечного пользователя
- •8. Положение о защите курсовой работы
- •8.1. Общие требования, предъявляемые к курсовой работе
- •8.2. Теоретические вопросы по субд
- •8.3. Тематика вопросов по машинной части курсовой работы
- •9. Рекомендуемая учебно-методическая литература
7.9. Проектирование таблиц базы данных
7.9.1. Определение комплекса таблиц субд Microsoft Access
Таблицы СУБД Microsoft Access строятся на основе нормализованных отношений, получаемых в соответствии с алгоритмом построения семантической модели ПО, т.е. каждому отношению должна соответствовать одна таблица Microsoft Access. Отношения должны находиться, как минимум, в ЗНФ.
Microsoft Access позволяет создавать таблицы несколькими способами. Наибольшие возможности по конструированию таблиц предоставляет способ создания таблицы в режиме конструктора. В практике проектирования таблиц этот способ применяется наиболее часто. Имена таблиц рекомендуется назначать совпадающими с именами соответствующих информационных объектов, используя буквы русского алфавита и начиная их с прописной (заглавной) буквы.
Для таблиц базы данных определяются свойства:
• условие на значение (проверка записей, вводимых в таблицу, на выполнение условий);
• фильтр (условие отбора записей таблицы для просмотра или редактирования);
• порядок сортировки записей таблицы.
Описание полей
При назначении имен полей таблиц рекомендуется руководствоваться следующими правилами.
Имена полей назначать одинаковыми с сокращенными именами реквизитов (или атрибутов отношений).
Записывать имена строчными (маленькими) буквами и начинать с прописной (заглавной) буквы.
Длинные имена с количеством символов больше десяти применять не рекомендуется, т.к. их неудобно использовать при построении выражений в запросах.
Имена полей, состоящие из нескольких слов, следует записывать подряд, разделяя их символом подчеркивания "_", или начинать каждое составляющее слово с прописной буквы, например, Код_товара или КодТовара.
Смысловое описание поля следует приводить в графе "Описание" конструктора таблиц.
В строке "Подпись" в "Свойства поля" поместить название графы первичного документа (формы).
Тип и размер поля определяются в соответствии с доменом, на котором определено поле таблицы, т.е. ограничениями предметной области. Размер поля, задаваемый в таблице, должен быть не меньше, чем его возможное максимальное значение.
При назначении типа поля для цифровых кодов целесообразно выбрать тип Текстовый с количеством символов, равным числу позиций кода. Размер поля типа Текстовый определяется максимальной длиной реквизита в символах и в Microsoft Access должен находиться в пределах 1 ÷ 255.
Размер поля типа Числовой зависит от его подтипа в соответствии с таблицей 4.19.
Microsoft Access отводит на машинном носителе для всех подтипов полей типа Числовой количество байтов, указанное в графе "Размер в байтах", независимо от количества цифр в значении числа. Если размер числового поля, задаваемый в таблице, больше, чем он определен в домене, то на машинном носителе останутся незаполненными лишние позиции, и память будет расходоваться неэкономно. Рекомендуется использовать тип целый, если исходные данные не имеют дробной части.
Подтип данного |
Описание |
Дробная часть |
Размер в байтах |
Байт |
Целые положительные числа от 0 до 255 |
Отсутствует |
1 |
Целое |
Целые числа от -32768 до +32767 |
Отсутствует |
2 |
Длинное целое |
Целые числа от -2 147 483 648 до +2 147 483 647 |
Отсутствует |
4 |
Одинарное с плавающей точкой |
Числа от -3,40282310-38 до 3,40282310+38 |
7 знаков |
4 |
Двойное с плавающей точкой |
Числа от 1,79769310-308 до +1,79769310+308 |
15 знаков |
8 |
Денежный |
Числа от -922337203685447,5808 до +922337203685447,5808 |
4 знака |
4 |
Действительное |
Целые числа от -10+28 – 1 до +10+28 – 1 |
Отсутствует |
12 |
Кроме типов данных Текстовый и Числовой в Microsoft Access имеются следующие типы:
MEMO.
Дата/Время.
Денежный.
Счетчик.
Логический.
Поле объекта OLE.
Гиперссылка.
Мастер подстановок.
Тип данных MEMO относится к символьному виду данных. Поле этого типа предназначено для хранения больших текстовых данных: предложений, абзацев, текстов суммарной длиной до 64000 символов.
Тип данных Счетчик относится к числовому виду данных. Значения его - уникальные последовательно возрастающие на 1 или псевдослучайные числа, имеющие подтип Длинное целое. Обычно используется в качестве ключевого поля таблицы, если пользователь по каким-либо причинам не может (имеются полностью повторяющиеся строки) или не хочет использовать реквизиты информационного объекта для создания ключевого поля. Значения полей этого типа Microsoft Access создает автоматически, и пользователь изменить их не может.
Тип данных Логический также относится к числовому виду данных. Поле этого типа может содержать одно из двух возможных значений - Истина или Ложь - и использует величину -1 для представления значения Истина и величину 0 - для Ложь. В памяти компьютера имеет размер один бит. Обычно используется в логических выражениях.
Тип данных Денежный относится к числовому виду данных. Предназначен для хранения денежных сумм и используется для предотвращения округления во время вычислений. Имеет точность до 15 цифр в целой части и до 4 в дробной. В памяти машины занимает 8 байт. Может использоваться для выполнения расчетов с высокой точностью, не обязательно денежных.
Тип данных Дата/Время используется при хранении даты и времени в специальном числовом формате, причем дата хранится в целой части значения поля типа Дата/Время, а время - в дробной. В памяти машины занимает 8 байт.
Тип данных Поле объекта OLE относится к виду данных "Объекты произвольного типа". Поле этого типа может содержать рисунок, диаграммы, звукозапись, рабочий лист электронной таблицы и другие объекты данных OLE из приложений Windows.
При использовании типа данных Мастер подстановок мастер создает столбец подстановок, в котором отображается список возможных значений для выбора значений поля. Другими словами, домен этого поля определяется на другом домене, при использовании значения из таблицы, запроса или фиксированного набора значений. Например, столбцом подстановки может быть перечень кодов товаров из таблицы "Товары" или созданный пользователем список дней недели.
Имена полей, их типы и свойства можно задать во время построения таблицы в режиме конструктора.
В "Свойствах поля" конструктора таблиц можно установить размер поля для полей типов Текстовый и Числовой. В окне "Свойства поля" можно установить также еще ряд свойств. Ниже рассмотрены некоторые свойства, которые часто используются и правильное применение которых имеет наиболее существенное значение при проектировании таблиц СУБД.
Подпись. Наличие подписи позволяет заменить в изображена, таблицы, формы или отчета названия полей текстом подписи. Н; пример, если поле имеет имя NDOG, а подпись - Номер договора то в качестве названий колонок таблиц, полей формы или отчета будет текст Номер договора (вместо NDOG).
Значение по умолчанию. Применение этого свойства позволяет автоматически вводить в поле каждой очередной записи таблицы заданное пользователем фиксированное значение. В то же время пользователь может изменить в процессе ввода значение по умолчанию для любой вводимой записи. Свойство удобно использовать для часто встречающихся значений поля таблицы. Значение 0 (ноль, не Null!) СУБД Microsoft Access устанавливает для числовых полей реквизитов-оснований по умолчанию.
З
…
Обязательное поле. Это свойство позволяет установить, является ли обязательным задание значения поля. Свойство может иметь одно из двух значений: Да или Нет (по умолчанию - Нет). Если свойство имеет значение Да, то при вводе данных в строку таблицы необходимо задать значение поля, т.е. оно не может иметь значение Null. Например, если необходимо, чтобы в каждой строке таблицы "Спецификация договора" вводилось количество товара, то значение рассматриваемого свойства соответствующего поля должно быть Да.
Индексированное поле. Данное свойство применяется для образования простого индекса. Использование индексов ускоряет поиск данных с заданным значением, но замедляет обновление таблиц. Свойство Индексированное поле может иметь следующие значения:
Значение Описание
Нет Поле не индексировано(по умолчанию).
Да Поле индексировано.
(Допускаются Допускается повторение
совпадения) значений индексного поля.
Да Поле индексировано.
(Совпадения Повторение значений
не допускаются) индексного поля не допускается.
Для простого ключа таблицы Microsoft Access автоматически создает индекс, и если ключ простой, то свойство Индексированное поле ключевого поля получает значение "Да (Совпадения не допускаются)". Если ключ составной, то Microsoft Access создает из всех ключевых полей составной ключ, а свойство Индексированное поле составляющих ключ полей имеет умалчиваемое значение "Нет". Для всех полей составного ключа следует устанавливать свойство Индексированное поле в значение "Да (Допускаются совпадения)", что позволит повторять значения полей, составляющих ключ.
Например, ключевые поля №ТТН и КодТовара могут принимать в этом случае значения, приведенные в табл.4.20.
Таблица 4.20
№ ТТН |
КодТовара |
510 |
10344 |
510 |
10350 |
512 |
10344 |
512 |
10350 |
Для полей таблиц могут быть заданы свойства:
формат и маска ввода (тип и длина вводимых данных, формат представления данных);
условие на значение (контроль вводимой информации - на диапазон значений, на соответствие другим данным);
обязательное поле (контроль полноты ввода данных в поля таблицы).
Документирование проектных решений обеспечивает команда меню Сервис| Анализ| Архивариус. Вывод описания осуществляется на экран, на печать, в таблицу «Описание объекта», в файл RTF, файл HTML или на лист Microsoft Excel.
Разработка схемы данных СУБД Access
Схема данных позволяет:
Установить связи между записями в таблицах.
Отобразить их графически на экране монитора и/или вывести на печать.
Обеспечить защиту от случайного удаления или изменения связанных данных.
4. Автоматически использовать эти связи при построении
запросов к БД;
составных (подчиненных) форм;
• отчетов.
5. Обеспечить целостность данных.
В Microsoft Access можно установить три типа связей:
"один-к-одному";
"один-ко-многим";
"не определено".
Последний тип связи соответствует связи типа "многие-ко-многим".
В связи "один-к-одному" одной строке первой таблицы соответствует только одна строка во второй. Эта связь используется для разделения таблиц, имеющих большое количество полей, или для отделения части таблицы, содержащей важные или секретные данные, доступ к которым разрешен ограниченному кругу лиц.
В связи "один-ко-многим" каждой строке первой таблицы (главной) могут соответствовать несколько строк во второй (подчиненной), а строка в подчиненной таблице не может иметь более одной соответствующей ей строки в главной. В главной таблице связываемое поле должно быть ключевым уникальным, а в подчиненной таблице - любым. Связь "один-ко-многим" используется наиболее часто.
Связь "один-ко-многим" возникает, если:
• связываемое поле подчиненной таблицы является неключевым
или
• связываемые поля подчиненной таблицы образуют составной ключ и количество ключевых полей в ней больше, чем в главной.
Поля связи подчиненной таблицы образуют внешний ключ.
Предполагая, что таблица соответствует информационному объекту предметной области (ПО), можно считать, что схема БД является отображением в Microsoft Access семантической модели ПО. При условии, что таблицы в схеме расположены по уровням иерархии, схема БД является отображением в Microsoft Access канонической формы ИЛМ ПО.
Связи между таблицами в Microsoft Access можно устанавливать непосредственно при проектировании запросов. В схеме БД устанавливаются не все теоретически возможные связи между таблицами, а только те, которые реально используются проектировщиком БД при построении составных экранных форм, а также для обеспечения целостности данных.
Наличие схемы данных обязательно для проверки ссылочной целостности, построения составных форм и ввода данных в связанные таблицы. Схема данных позволяет объединить отдельные реляционные таблицы, полученные на этапе информационного анализа из первичного документа, в единое целое - информационное отображение исходного документа посредством входных форм СУБД Access
Таблицы в Схеме данных рекомендуется располагать по уровням иерархии в соответствии с канонической формой ИЛМ ПО. Это делает более наглядными связи между таблицами.
Примечания
СУБД Access позволяет включать в схему данных не только таблицы, но и запросы. Это позволяет отображать результаты запросов в виде формы на экране и/или вывести ее на печать.
В схеме данных можно установить связи между таблицами не только для обеспечения целостности данных, но и для автоматического объединения таблиц в запросах при их проектировании. Обычно это не делается, т.к. усложняется схема данных, а связать таблицы очень просто непосредственно в запросах.
Ссылочная целостность
В Microsoft Access понятиям Ссылочное (целевое) отношение и Ссылающееся отношение соответствуют понятия Главная таблица и Подтаблица.
Главная таблица - это таблица на стороне "один" при связи двух таблиц с отношением "один-ко-многим". В главной таблице должно существовать ключевое поле, а все записи в ней должны быть уникальными. Подтаблица - это таблица на стороне "многие" при связи двух таблиц с отношением "один-ко-многим". Одна и та же таблица может в одной связи быть главной, а в другой – подтаблицей.
Поля, при помощи которых осуществляется связь таблиц, называются связанными полями; их называют также внешними ключами. Связанное поле главной таблицы должно быть ключевым полем или иметь уникальный индекс. Связанное поле подтаблицы является или неключевым, или частью составного ключа. Связанные поля должны иметь одинаковый тип данных.
Изменение целостности данных в Microsoft Access производится при помощи диалогового окна "Изменение связей".
Для вывода окна на экран следует дважды щелкнуть левой кнопкой мыши по линии связи таблиц или щелкнуть по ней один раз правой кнопкой мыши и выбрать пункт "Изменить связь...". Для обеспечения целостности данных необходимо установить одноименный флажок в окне "Изменение связей". Тогда Microsoft Access обеспечивает выполнение следующих правил:
Невозможно ввести в поле внешнего ключа связанной подтаблицы значение, не содержащееся в ключевом поле главной таблицы.
Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице.
Невозможно изменить значение первичного ключа в главной таблице, если существуют записи, связанные с данной записью.
Для того чтобы можно было изменять и/или удалять записи в связанных таблицах, сохраняя при этом целостность данных, в Microsoft Access применяется каскадирование. С этой целью следует установить флажки Каскадное обновление связанных полей и Каскадное удаление связанных полей. Если установлен флажок Каскадное обновление связанных полей, то при изменении ключевого поля главной таблицы автоматически изменяются и соответствующие значения связанных записей. Если установлен флажок Каскадное удаление связанных полей, то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.