Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Организация структуры связей в БД



ОРГАНИЗАЦИЯ СТРУКТУРЫ БАЗЫ

ДАННЫХ В СУБД Access

Методические указания к выполнению лабораторных работ

по дисциплине "Базы данных"

 

Составители: Г.П. Колоскова

Е.Н.Котова,

Е.В. Добрышина

 

 

Москва 2006


 

УДК 681

 

 

Организация структуры базы данных в СУБД Access: Методические указания к выполнению лабораторной работы по дисциплине «Базы данных» / Сост. Г.П. Колоскова, Е.Н. Котова, Е.В. Добрышина: М.: МАТИ, 2005. 33 с.

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

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

 

 

Ил. 13. Табл. 9.

 

Лабораторная работа №1

Создание и модификация структуры таблиц БД

Цель работы

Приобретение практических навыков создания и модификации структуры таблиц в режиме конструктора СУБД Access 2002.

Порядок работы в конструкторе таблиц

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

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

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

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

Данные о врачах (DoctorTab ):

ID_doc – уникальный идентификатор врача

NameDc– Имя доктора

PatrDc – Отчество доктора

SurnDc – Фамилия доктора

SpecDc – Специализация врача

Exper – Стаж работы (полных лет)

Status – Совместитель/Штатный (Да/нет)

Данные о пациентах (PacientTab ):

Id_pat – уникальный идентификатор пациента



NamePt – Имя пациента

PartPt – Отчество пациента

SurnPt – Фамилия пациента

AddressPt – Адрес пациента

TelephonePt – телефон пациента

GroupB – Группа крови

GroupRisk – Группа риска

Данные о посещении врачей пациентами (VisitTab ):

ID_doc– уникальный идентификатор врача

ID_pat– уникальный идентификатор пациента

DataVisit– Дата посещения

Complaint– жалоба больного

Для создания БД RegistryBD в СУБД Access выполните следующие действия:

1.Запустите программу Access.

2.На панели задач Создание файла (New) щелкните на ссылке Новая база данных (Blank Database) (рис. 1).

Рис. 1. Состав опций меню Создание файла

3.В диалоговом окне Файлновой базы данных сохраните новую базу данных под именем RegistryBD, предварительно убедившись, что вы находитесь в правильном каталоге.

4.В Меню «RegistryBD: база данных» в списке, расположенном в правой части окна, можно выбрать способ задания таблицы : Создание таблицы в режиме конструктора, Создание таблицы с помощью мастера, Создание таблицы путем ввода данных.Выберите пункт Создание таблицы в режиме конструктора (Create table in Design View) и щелкните на кнопке Создать (New) панели инструментов

(рис. 2).

Рис. 2. Создание таблицы

5.В списке режимов диалогового окна Новая таблица (New Table) выберите элемент Конструктор (Design View) и щелкните на кнопке Ок. Откроется окно таблицы в режиме конструктора (рис. 3), которое предназначено для описания атрибутов полей таблицы и правил работы с данными этих полей

В столбце Имя поля и введите уникальное имя поля.

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

Рис. 3. Окно конструктора таблиц

В приведенном ниже списке указаны все типы данных полей, поддерживаемые в Microsoft Access.



· Текстовый

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

Сохраняет до 255 знаков. Свойство Размер поля (FieldSize) определяет максимальное количество знаков, которые можно ввести в поле.

· Поле МЕМО

Длинный текст или числа, например, примечания или описания.

Сохраняет до 65 536 знаков.

· Числовой

Данные, используемые для математических вычислений, за исключением финансовых расчетов (для них следует использовать тип «Денежный»).

Сохраняет 1, 2, 4 или 8 байтов; 16 байтов для кодов репликации (GUID). Конкретный тип числового поля определяется значением свойства Размер поля (FieldSize).

· Дата/время

Значения дат и времени.

Сохраняет 8 байтов.

· Денежный

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

Сохраняет 8 байтов.

· Счетчик

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

Сохраняет 4 байта; 16 байтов для кодов репликации (GUID).

· Логический

Данные, принимающие только одно из двух возможных значений, таких как «Да/Нет», «Истина/Ложь», «Вкл/Выкл». Значения Null не допускаются.

Сохраняет 1 бит.

· Поле объекта OLE

Объекты OLE (такие как документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звукозапись или другие данные в двоичном формате), созданные в других программах, использующих протокол OLE.

Сохраняет до 1 Гигабайта (ограничивается объемом диска).

· Гиперссылка

Гиперссылки. Гиперссылка может иметь вид пути URC либо адреса URL. Сохраняет до 64 000 знаков.

Мастер подстановок

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

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

Свойства полей

В блоке Свойства поля указываются атрибуты связанные с режимом ввода данных поля (рис. 4).

Рис. 4. Свойства поля

· Свойство Размер поля (FieldSize) определяет максимальный размер данных, которые могут сохраняться в полях с типом данных Текстовый, Числовой или Счетчик.

· Свойство Формат поля (Format) указывает форматы вывода текста, чисел, дат и значений времени на экран и на печать.

В полях с типом данных Текстовый и Поле МЕМОдля задания форматов используются четыре символа, приведенные в таблице 1:

Таблица 1

Символы для задания форматов

Символ Описание
@ Обязательный текстовый символ или пробел
& Необязательный текстовый символ
> Преобразует все символы в прописные
< Преобразует все символы в строчные

Например, если свойству Формат поляприсвоено значение (@@@)@@@-@@@@, то при вводе 2035551234 данные будут отображены в виде (203)555-1234.

Для полей с типами данных Числовой и Денежныйможно выбрать любой из стандартных форматов (табл. 2) или создать свой собственный формат.

Таблица 2.

Примеры форматов полей с типом данныхЧисловой

Тип формата Введенное число Отображаемое число Формат
Основной 987654,321 987654,321 ######,###
Денежный 987654,321 987 654,32р. ### ##0,00р.
Фиксированный 987654,321 987654,32 ######,##
С разделителями разрядов 987654,321 987 654,32 ### ##,##
Процентный ,987 98,7% ###,##%

 

 

Продолжение табл. 2

Тип формата Введенное число Отображаемое число Формат
Экспоненциальный 987654,321 9,88Е+05 #,##E+00
Евро 987654,321 987 654, 32€ ### ###,##€

Числовые пользовательские форматы состоят из четырех частей: (1) для положительных чисел, (2) для отрицательных чисел, (3) для нулевых значений и (4) для значений Null. Можно назначить для каждой части определенный цвет для отображения соответствующих значений. Например, можно создать пользовательский формат для поля с типом данных Денежный,который будет выглядеть подобно следующему:

$# ##0,00 [Зеленый]; ($# ##0,00) [Красный]; ”нуль”;”Пусто”.

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

Таблица 3

Стандартные форматы для полей с типом данных Дата/время

Формат Пример
Полный формат даты 10.2.01 и 22:32:15
Длинный формат даты 10 февраля 2001г.
Средний формат даты 10-фев-01
Краткий формат даты 10.2.01
Длинный формат времени 22:32:15
Средний формат времени 10:32
Краткий формат времени 22:32

Таблица 4

Символы, используемые для определения пользователем

установок даты и времени

Обозначение Описание
: (двоеточие) Разделитель компонентов времени
. (точка) или / (косая черта) Разделитель компонентов даты
C Определяет встроенный формат Полный формат даты
d Номер дня месяца, состоящий из одной или двух цифр (1-31)
dd Номер дня месяца, состоящий из двух цифр (01-31)
ddd Сокращенное название дня недели (Пн-Вс)
dddd Полное название дня недели (понедельник-воскресение)
ddddd Определяет встроенный Краткий формат даты
dddddd Определяет встроенный Длинный формат даты
w Номер дня недели (1-7)
ww Номер недели в году (1-53)
m Номер месяца, состоящий из одной или двух цифр (1-12)
mm Номер месяца, состоящий из двух цифр (01-12)
mmm Первые три буквы названия месяца (янв-дек)
mmmm Полное название месяца (январь-декабрь)
q Номер квартала в годе (1-4)
y Номер дня в годе (1-366)
yy Последние две цифры номера года (01-99)
yyyy Полный номер года (0000-9999)

Продолжение табл. 4

Обозначение Описание
h Количество часов, состоящее из одной или двух цифр (0-23)
hh Количество часов, состоящее из двух цифр (00-23)
n Количество минут, состоящее из одной или двух цифр (0-59)
nn Количество минут, состоящее из двух цифр (00-59)
s Количество секунд, состоящее из одной или двух цифр (0-59)
Ss Количество секунд, состоящее из двух цифр (00-59)
Ttttt Определяет встроенный Длинный формат времени
AM/PM 12-часовой формат времени с добавлением прописных букв AM или PM
am/pm 12-часовой формат времени с добавлением строчных букв am или pm
A/P 12-часовой формат времени с добавлением прописной буквы A или P
a/p 12-часовой формат времени с добавлением строчной буквы a или p
AMPM 12-часовой формат времени

 

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

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

 

Таблица 5

Стандартные значения формата для полей типа Логический

Формат Описание
Да/Нет Установлено по умолчанию. Отображает -1 как Да и 0 – как Нет
Истина/Ложь Отображает значение -1 как Истина и 0 – как Ложь
Вкл/Выкл Отображает -1 для значения Вкл и 0 – для значения Выкл

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

Рис. 5. Создание Масок ввода

Ниже перечислены некоторые специальные символы, используемые для задания шаблонов (табл. 6):

Таблица 6

Символы задания шаблонов для маски ввода

Символ Описание
Цифра (0-9, обязательный знак; знаки (+) и (-) не разрешены
Цифра или пробел (необязательный знак; знаки (+) и (-) не разрешены
# Цифра или пробел (необязательный знак; незаполненные позиции)
L Буква (от А до Я, обязательный знак)
? Буква (от А до Я, необязательный знак)
A Буква или цифра (обязательный знак)
a Буква или цифра (необязательный знак)
& Любой знак или пробел (обязательный знак)
С Любой знак или пробел (необязательный знак)
.,:;-/ Десятичный разделитель, разделители групп разрядов, времени и даты.
< Преобразует все знаки к нижнему регистру
> Преобразует все знаки к нижнему регистру
! Указывает заполнение маски ввода справа налево, а не слева направо

Например, маска для телефона (999)000-0000 задается следующим образом: !(999)000-0000;0;” “. Первая часть маски задает саму маску ввода (! (999)000-0000), восклицательный знак указывает, что маска ввода заполняется справа налево, этот символ следует использовать, если в левой части есть позиции, заполнять которые необязательно. Во второй части указывается, должны ли сохраняться промежуточные символы в таблице (0 – сохраняются, 1 или пустое значение – сохраняются только символы введенные пользователем). В третьей части указывается символ, который будет использоваться вместо пробелов в данной маске ввода.

· Свойство Подпись (Caption) определяет текст, который выводится в подписях объектов в различных режимах.

· Свойство Значение по умолчанию (DefaultValue) определяет текст или выражение, которое автоматически вводится в элемент управления или поле при создании новой записи.

· Свойство Условие на значение (ValidationRule) определяет требования к данным, вводящимся в запись, в поле или в элемент управления. Условия представляются в виде выражений, задаваемых с помощью построителя (рис. 6).

Рис. 6. Окно построителя выражений

При определении допустимого диапазона значений в свойстве Условие на значениеможно использовать значение функции Date для данных типа Дата/время.До и после дат в выражениях ставятся символы #. Например, если требуется ограничить ввод данных значениям между 1 января 1970 года и 31 декабря 2001 года, то необходимо ввести выражение Between #1.1.70# and #31.12.01#.Если, например, присутствует поле Пол, то ввод в него можно ограничить двумя значениями М – для мужской и Ж – для женский. Выражение для проверки значения в этом случае выглядит так: InStr(“МЖ”; [Пол])>0.

· Сообщение об ошибке (ValidationText) позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве Условие на значение (ValidationRule).

· Свойство Обязательное поле (Required) указывает, требует ли поле обязательного ввода значения. Если это свойство имеет значение «Да», то при вводе новой записи необходимо ввести значение в это поле или в любой присоединенный к нему элемент управления. Пустые(Null) значения в этом поле не допускаются. Например, можно потребовать, чтобы в элементе управления «Фамилия» в каждой записи обязательно выводилась какая-либо фамилия. Чтобы позволить ввод в поле значений Null, недостаточно указать для свойства Обязательное поле (Required) значение «Нет». Если определено свойство Условие на значение (ValidationRule), оно должно иметь вид условие На Значение Or Is Null.

· Свойство Пустые строки (AllowZeroLength) определяет, допускается ли ввод в поле пустых строк ("").

· Свойство Индексированное поле (Indexed) определяет индекс, задаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.

· Свойство Сжатие Юникод (UnicodeCompression) для полей типа «Текстовый», «Поле MEMO» и «Гиперссылка» по умолчанию получает значение Да. Когда свойство Сжатие Юникод (UnicodeCompression) поля имеет значение Да, все знаки, первый байт которых равен 0, будут сжиматься при сохранении и восстанавливаться при выборке. Так как первым байтом латинских букв — букв таких западноевропейских языков как английский, испанский или немецкий — является 0, то кодировка Юникод при включенном сжатии не накладывает дополнительных требований к объему дискового пространства, необходимого для хранения в полях данных, состоящих только из латинских букв.

· Свойство Режим IME (IMEMode) позволяет задать режим преобразования канджи для элемента управления при получении им фокуса.

· Свойство «Режим предложений IME» (IMESentenceMode) определяет переключение режима предложений IME для полей в таблице или элементов управления в форме при перемещении фокуса.

 

Для каждой из таблиц БД DoctorTab, PatientTab и VisitTab

(табл. 7, 8, 9) ниже приведены размеры полей и типы присвоенных им данных:

Таблица 7

Структура таблицы DoctorTab

Имя поля Тип данных Размер поля Ключевое поле Маска ввода Условие
Id_doc Текстовый #    
namedc Текстовый      
patrdc Текстовый      
surndc Текстовый      
specdc Текстовый      
exper Числовой     >= 0
status Логический      

 

Результат описания структуры таблицы DoctorTabпредставлен в окне Конструктор таблиц(рис. 7).

Рис. 7. Таблица DoctorTab в режиме конструктора

Таблицы PatientTab и VisitTabнеобходимо создать самостоятельно с использованием представленных ниже описаний полей:

Таблица 8

Структура таблицы PatientTab

Имя поля Тип данных Размер поля Ключевое поле Маска ввода Условие
Id_pat Текстовый #    
namept Текстовый      
partpt Текстовый      
surnpt Текстовый      
addresspt Текстовый      
telephonept Текстовый   ___-__-__  
GroupB Числовой     1, 2, 3, 4
GroupRisk Текстовый      

Таблица 9

Структура таблицыVisitTab

Имя поля Тип данных Размер поля Ключевое поле Маска ввода Условие
Id_doc Текстовый      
Id_pat Текстовый      
datevisit Дата/время   __.__.____г  
complaint Поле МЕМО      

Для просмотра и редактирования данных достаточно отыскать нужную таблицу в окне БД и щелкнуть дважды по ней левой кнопкой мыши (рис. 8).

Рис. 8.Окно выбора таблиц БД

В результате появится окно для ввода и редактирования данных (рис. 9).

Рис. 9. Окно ввода и редактирования данных

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

Для отображения данных модифицируемой таблицы необходимо:

1.Открыть базу данных.

2.Дважды щелкнуть по значку нужной таблицы.

Для заполнения таблицы БД необходимо:

1.Открыть базу данных.

2.Дважды щелкнуть по значку модифицируемой таблицы.

3.В открывшемся окне найти пустую строку, выбрать поле с помощью мыши, используя клавишу Тавввести значения.

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

Для удаления записи в таблице необходимо:

1.Открыть базу данных.

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

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

4.По завершении закрыть окно таблицы и подтвердить сохранение таблицы.

Порядок выполнения работы

1.Выполнить создание многотабличной БД для заданной предметной области.

2.Создать таблицы с помощью Конструктора таблиц.

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

4.Выполнить тренировочную вставку, удаление и перемещение полей выбранной таблицы.

5.Заполнить созданные таблицы БД записями (по 5 – 10 записей).

6.Выполнить просмотр и корректировку записей таблицы БД.

Контрольные вопросы и задания

1.Как создать новую БД в Microsoft Access?

2.Какие типы данных используются для задания полей записи.

3.Пояснить типы полей Текстовый, поле МЕМО, Числовой, Дата/время.

4.Как задать полю определенный тип?

5.Какие существуют режимы отображения содержимого таблиц БД?

6.Как добавить новую запись в таблицу?

7.Каким образом можно удалить запись?

8.Как добавить, удалить, переместить поля в таблице?

9.Как применить к записи маску ввода?

10.Как задаются Условия на значения?

11.Для чего существует Формат ввода? Как его задать?

12.Какие существуют стандартные форматы для данных Числовоготипа? Для Логического?

13.Какие существуют стандартные форматы для данных типа Дата/время?

14.Как в Accesse записываются логические Да и Нет?

15.Задан формат ввода: (&&@)-@@@@-@. В каком виде будут отображаться следующие данные: а) 12345678; б) 175949;
в) 657448.

16.Задайте маску ввода для телефона.

17.Как задать условие, для поля Группа крови, если областью допустимых значений поля являются числа 1,2, 3 или 4?

 

 

Лабораторная работа №2

Организация связей между таблицами

Цель работы

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

Организация структуры связей в БД


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!