
- •Задание 8: Определить ключевые и индексные поля каждой таблицы бд.
- •Задание:9 Определить связи между таблицами по типу «один - ко многим», «один -к одному», «многие – ко многим».
- •Задание 10: Составить предварительные блок-схемы пошагового решения задачи
- •9.3.4 Создание и просмотр псевдонимов в sql Explorer
- •Задание 3: Создать модуль бд. Выполнить подготовительную работу с таблицами, используя технологии ado, серверы Interbase, MySql.
- •Задание 4: Задать формат заголовков полей, используя редактор полей.
Тема: Разработка алгоритмов решения задачи по теме дипломного проекта.
Задание 7: На основании разработанных структур таблиц БД определить идентификаторы и типы полей.
Для каждого поля таблицы нужно указать его имя (Field Name) – идентификатор поля. Он может включать до 25 символов и не может начинаться с пробела (но внутри пробелы допускаются). Затем нужно выбрать тип (Type) данных этого поля. Для этого перейдем в раздел Type поля и щёлкнем правой кнопкой мыши. Выберем нужный тип. Типы данных, использующиеся в Paradox:
Обозначение |
Размер |
Обозначение в списке |
Пояснение |
A |
1-255 |
Alpha |
Строковое поле, любой ASCII-символ. Размер – число символов. |
N |
|
Number |
Действительное число: -10307…+10308 |
$ |
|
Money |
Действительные числа в денежном формате. |
S |
|
Short |
Целые числа: -32767…+32767 |
I |
|
Long Integer |
Целые числа: -2147483648…+2147483647. |
# |
0-32 |
BCD |
Числа в бинарном формате. |
D |
|
Date |
Значения-даты. |
Т |
|
Time |
Значения-время. |
@ |
|
Timestamp |
Значения, хранящие время и дату |
M |
1-240 |
Memo |
Поля, хранящие большие тексты (в формате .MB). |
F |
0-240 |
Formatted Memo |
Форматированное Memo. |
G |
|
Graphic |
Изображения из файлов .BMP, .PCX, .TIF, .GIF. |
O |
|
OLE |
Данные типа OLE-изображений, звуки, документы. |
L |
|
Logical |
Логические поля. По умолчанию значения TRUE/FALSE. |
+ |
|
Autoincrement |
Автоинкремент (+1) |
B |
|
Binary |
Данные, хранящиеся в бинарном формате .MB (звуки, изображения). |
Y |
1-265 |
Bytes |
Данные, которые DB Desktop не интерпретирует |
Задание 8: Определить ключевые и индексные поля каждой таблицы бд.
В каждой таблице БД может существовать первичный ключ. Под первичным ключом понимают поле или набор полей, однозначно (уникально) идентифицирующих запись. Первичный ключ должен быть минимально достаточным: в нем не должно быть полей, удаление которых из первичного ключа не отразится на его уникальности.
Данные таблицы «Преподаватель»
Таб. № |
ФИО |
Уч. степень |
Уч. звание |
Код кафедры |
101 |
Андреев А.П. |
Д-р техн. наук |
Профессор |
01 |
102 |
Апухтин И.С. |
Канд. техн. наук |
Доцент |
01 |
103 |
Глухов И.Л. |
Канд. техн. наук |
Доцент |
01 |
104 |
Сеченов Ю.Б. |
Канд. техн. наук |
Доцент |
01 |
В качестве первичного ключа в таблице «Преподаватель» может выступать только «Таб. №», значения других полей могут повторяться внутри данной таблицы.
Правила хорошего тона при разработке структур баз данных, и чисто практические соображения должны побудить разработчика всегда определять первичный ключ для таблицы базы данных.
Индексы представляют собой механизмы быстрого доступа к данным в таблицах БД.
Сущность индексов состоит в том, что они хранят значения индексных поле (т.е. полей, по которым построен индекс) и указатель на запись в таблице.
При последовательном методе доступа для выполнения запроса к таблице БД просматриваются все записи таблицы, от первой до последней.
При индексно-последовательном методе доступа для выполнения запроса к таблице БД указатель в индексе устанавливается на первую строку, удовлетворяющую условию запроса (или его части), и считывается запись из таблицы по хранящемуся на нее в индексе указателю.
Определение первичных и внешних ключей таблиц БД приводят к созданию индексов по полям, объявленным в составе первичных или внешних ключей.
Задание:9 Определить связи между таблицами по типу «один - ко многим», «один -к одному», «многие – ко многим».
Между двумя или более таблицами базы данных могут существовать отношения подчиненности. Отношения подчиненности определяют, что для каждой записи главной таблицы {master, называемой еще родительской} может существовать одна или несколько записей в подчиненной таблице {detail, называемой еще дочерней}.
Существует три разновидности связей между таблицами базы данных:
- «один-ко-многим»,
- «один-к-одному»,
- «многие-ко-многим».
Отношение «один-ко-многим» имеет место, когда одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице.
Связь "один-ко-многим" является самой распространенной для реляционных баз данных.
В широко распространенной нотации структуры баз данных IDEF1X отношение «один-ко-многим» изображается путем соединения таблиц линией, которая на стороне дочерней таблицы оканчивается кружком или иным символом. Поля, входящие в первичный ключ для данной ТБД, всегда расположены вверху и отчеркнуты от прочих полей линией.
Отношение «один-к-одному» имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице.
Данное отношение используют, если не хотят, чтобы таблица БД «не распухала» от второстепенной информации.
Отношение «многие-ко-многим» имеет место, когда:
а) записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;
б) записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.
Например, каждой студент изучает несколько дисциплин. Каждая дисциплина изучается несколькими студентами.
Многие СУБД (в частности Access) не поддерживают связи «многие-ко-многим» на уровне индексов и ссылочной целостности. Считается, что всякую связь «многие-ко-многим» можно заменить на одну или более связей «один-ко-многим».
Например,