Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Количество таблиц и их имена




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

1) имена должны содержать не более 64 символов;

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

3) имя не должно начинаться с пробела и содержать управляющие символы (с кодами ASCII 00—31).

Замечания:

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

· Избегайте слишком длинных имен: такие имена трудно запоминать и на них неудобно ссылаться.

Проектируя структуру БД СТУДЕНТ (см. табл.1) с учетом всего выше сказанного, первоначально созданное отношение преобразуем (см. табл.2) так, чтобы фамилия, имя и отчество были отдельными атрибутами (учтем требование атомарности). Строго говоря, Атрибут АДРЕС тоже следует разбить на несколько атрибутов.

Таблица 2. Отношение СТУДЕНТ

Фамилия Имя Отчество Адрес Дата_рождения Группа Специальность
Иванов Иван Ильич Крылова,15,18 01.09.85   ГМУ
Петров Прохор Петрович Кирова,5,124 09.12.84   УП
Сидоров Сергей Степанович Мичурина,5,102 07.10.85   ГМУ
Соловьев Семен Сергеевич Мичурина,5,102 07.10.85   ГМУ
Агапов Роман Петрович Ленина,12,3 23.07.90   ГМУ

Таблица СТУДЕНТ - объектное отношение, т.к. хранит данные об экземплярах объекта СТУДЕНТ предметной области СТУДЕНЧЕСКИЙ АРХИВ. Каждый студент является экземпляром объекта СТУДЕНТ и должен быть однозначно идентифицируем, поэтому объектное отношение должно обязательно иметь первичный ключ.

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

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

 

Таблица 3. Отношение СТУДЕНТ

Номер_зачетки Фамилия Имя Отчество Дата_рождения Группа Специальность
658-г Иванов Иван Ильич 01.09.85   ГМУ
547-у Петров Прохор Петрович 09.12.84   УП
655-г Сидоров Сергей Степанович 07.10.85   ГМУ
476-г Соловьев Семен Сергеевич 07.10.85   ГМУ
945-г Агапов Роман Петрович 23.07.90   ГМУ

Таким образом, атрибут НОМЕР_ЗАЧЕТКИ назначим ключевым.

Если отношение имеет несколько потенциальных первичных ключей, то выбирают тот из них, который короче. В нашем случае первичным ключом будет НОМЕР_ЗАЧЕТКИ, другие потенциальные ключи называются возможными ключами или ключами — кандидатами.

Далее атрибут СПЕЦИАЛЬНОСТЬ исключим с целью минимизации избыточности, т.к. данные о факультете и специальности можно получить по связи с номером группы.

Отношение Студент после изменений примет вид:

Таблица 4. Отношение СТУДЕНТ

Номер_зачетки Фамилия Имя Отчество Дата_рождения Группа
658-г Иванов Иван Ильич 01.09.85  
547-у Петров Прохор Петрович 09.12.84  
655-г Сидоров Сергей Степанович 07.10.85  
476-г Соловьев Семен Сергеевич 07.10.85  
945-г Агапов Роман Петрович 23.07.90  

Для удобства в поле ГРУППА будем вводить не номер группы, а код – значение атрибута КОД_ГРУППЫ отношения ГРУППА (см. табл.5).

Таблица 5. Отношение ГРУППА

Код_группы Группа Специальность Факультет
    ГМУ ГМУ
    УП ГМУ
    ГМУ ГМУ
    ГМУ ГМУ

В таблице ГРУППА первичным ключом можно было определить атрибут ГРУППА, но в нашем случае добавлен атрибут КОД_ГРУППЫ с учетом возможного повторения номеров групп с некоторой цикличностью, например 10 лет.

Отношение СТУДЕНТ является связным относительно отношения ГРУППА. Т.е. Из отношения ГРУППА по атрибуту КОД_ГРУППЫ можно найти данные обо всех студентах, обучающихся в конкретной группе.

Связное отношение содержит атрибуты, характеризующие связь между объектами. Оно обязательно содержит первичные ключи объектных отношений, участвующих в связи, а также атрибуты, которые функционально зависят от этой связи. Атрибут ГРУППА отношения СТУДЕНТ содержит значения первичного ключа КОД_ГРУППЫ отношения ГРУППА.

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

Атрибут отношения, который является первичным ключом другого отношения, называется внешним или вторичным ключом. В нашем случае атрибут ГРУППА отношения СТУДЕНТ – внешний ключ.

Реляционная модель накладывает на внешние ключи ограничение для обеспечения ссылочной целостности данных. Суть этих ограничений в том, что каждому внешнему ключу должна соответствовать строка какого — либо объектного отношения. Иначе может случиться, что внешний ключ ссылается на экземпляр объекта, о котором ничего не известно. Например, отношение СТУДЕНТ не может принять вид:

Таблица 6. Отношение СТУДЕНТ

Номер_зачетки Фамилия Имя Отчество Дата_рождения Группа
658-г Иванов Иван Ильич 01.09.85  
547-у Петров Прохор Петрович 09.12.84  
655-г Сидоров Сергей Степанович 07.10.85  
476-г Соловьев Семен Сергеевич 07.10.85  
945-г Агапов Роман Петрович 23.07.90  

Т.к. группы с кодом 5 в таблице ГРУППА не существует. Т.е. чтобы получить запись о Сидорове, обучающемся в некой группе с кодом «5», следует предварительно в таблицу ГРУППА внести такую запись:

Таблица 7. Отношение ГРУППА

Код_группы Группа Специальность Факультет
    ГМУ ГМУ
    УП ГМУ
    ГМУ ГМУ
    ГМУ ГМУ
    ЮР ЮР

Задания для самостоятельной работы

1. Изменить отношение СТУДЕНТ в части сведений о домашнем адресе с учетом требования атомарности.

2. Построить отношение СЕССИЯ – связное с отношением СТУДЕНТ.

Типы данных и типы полей

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

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

1. Какие значения должны отображаться в поле? Например, нельзя хранить текст в поле, имеющем числовой тип данных.

2. Сколько места необходимо для хранения значений в поле.

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

4. Нужна ли сортировка или индексирование поля. Сортировать и индексировать поля MЕМО, гиперссылки и объекты OLE невозможно.

5. Необходимо ли использование полей в группировке записей в запросах или отчетах? Поля MЕМО, гиперссылки и объекты OLE использовать для группировки записей нельзя.

6. Каким образом должны быть отсортированы значения в поле?
Числа в текстовых полях сортируются как строки чисел (1, 10, 100, 2, 20, 200 и т.д.), а не как числовые значения. Для сортировки чисел как числовых значений используются числовые поля или поля, имеющие денежный формат. Также многие форматы дат невозможно отсортировать надлежащим образом, если они были введены в текстовое поле. Для обеспечения сортировки следует использовать поле типа «Дата/время».

В Microsoft Access определены девять типов полей: «Текстовый», «Числовой», «Денежный», «Дата/время», «Логический», «Счетчик», «Поле MEMO», «Гиперссылка», «Поле объекта OLE».

В таблице 8 указаны все типы данных в Microsoft Access, их использование и размеры. Размер данных, указанный в таблице, говорит о возможном полученном объеме информации с точки зрения пользователя. Длина соответствующего поля будет иной. Так, при указании типа данных "Объект" в записи таблицы появится поле с типом "Объект", длина которого 4 байта. Но включить в БД таким образом можно рисунок, текст или другой документ размером до 1 гигабайта.

Таблица 8. Типы полей, размеры, требуемые для сохранения значений, и диапазоны допустимых значений

Тип данных Размер Диапазон значений
Byte (байт) 1 байт От 0 до 255.
Boolean (логический) 2 байт True или False.
Integer (целое) 2 байт От -32 768 до 32 767.
Long (длинное целое) 4 байт От -2 147 483 648 до 2 147 483 647.
Single (с плавающей точкой обычной точности) 4 байт От -3,402823E38 до -1,401298E-45 для отрицательных значений; от 1,401298E-45 до 3,402823E38—для положительных значений.
Double (с плавающей точкой двойной точности) 8 байт От -1,79769313486232E308 до -4,94065645841247E-324 для отрицательных значений; от 4,94065645841247E-324 до 1,79769313486232E308—для положительных значений.
Currency (денежный) 8 байт От -922 337 203 685 477,5808 до 922 337 203 685 477,5807
Decimal (масштабируемое целое) 14 байт +/-79 228 162 514 264 337 593 543 950 335 без дробной части; +/-7,9228162514264337593543950335 с 28 знаками справа от запятой; минимальное ненулевое значение имеет вид +/-0,0000000000000000000000000001.
Date (даты и время) 8 байт От 1 января 100 г. до 31 декабря 9999 г.
Object (объект) 4 байт Любой указатель объекта.
String (строка переменной длины) 10 байт + длина строки От 0 до приблизительно 2 миллиардов.
String (строка постоянной длины) Длина строки От 1 до приблизительно 65 400.
Variant (числовые подтипы) 16 байт Любое числовое значение вплоть до границ диапазона для типа Double.
Variant (строковые подтипы) 22 байт + длина строки Как для строки (String) переменной длины.
Тип данных, определяемый пользователем (с помощью ключевого слова Type) Объем определяется элементами Диапазон каждого элемента определяется его типом данных.

Замечания:

· Массивы любых типов данных требуют 20 байт памяти плюс 4 байта на каждую размерность массива плюс число байт, требуемых для хранения данных. Объем памяти, требуемый для сохранения данных, рассчитывается как произведение числа элементов на размер элемента. Например, данные в одномерном массиве, который содержит четыре элемента типа Integer, требующих по 2 байта на элемент, занимают 8 байт. Вместе с 20 байтами на массив и 4 байтами на размерность общий требуемый объем составляет 32 байта.

· Значение типа Variant, содержащее массив, требует 12 байт в дополнение к объему, требуемому массивом.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...