у виконання основних запитів до бази даних і забезпечення безпеки даних. Для підвищення продуктивності реляційні СУБД використовують спеціальні об'єкти, звані індексами. Індекс містить набір записів з двох елементів: {значення ключового поля; покажчик на відповідний запис у таблиці}.
Рис. 1.1 Схема зв'язків між відносинами
Індекс впорядкований по значенням ключового поля, що дозволяє системі швидко знаходити потрібні значення. Для оптимізації пошуку в індексах використовуються спеціальні алгоритми. Упорядкований індекс можна переглядати у багато разів швидше, ніж саму невпорядковану таблицю. Фактично індексна структура є «змістом». У реляційних СУБД таблиці завжди індексуються по полю первинного ключа. Однак необхідно також будувати додаткові індекси для прискорення пошуку при виконанні основних запитів.
У табл.1.3. перераховані індексні поля для таблиць бази даних ТОВ «Бурят-Термінал».
Таблиця 1.3. Індексні поля
Індексовані полеОпісаніеТабліца Відділ кадровId сотруднікаПервічний ключТабліца КліентиId кліентаПервічний ключТабліца ПоставщікіId організації Первинний ключТабліца Договір з кліентамі№ договораПервічний ключТабліца Договір з постачальниками № договораПервічний ключТабліца БухгалтеріяId сотруднікаПервічний ключТабліца Матеріальна частьКод машіниПервічний ключId сотруднікаДля пошуку по сотруднікамТабліца УслугіId услугіПервічний ключ
З метою усунення помилок введення даних для таких полів як грошові суми, дати, можна задати певний формат подання інформації, наприклад, грошовий з двома знаками після десяткової точки, короткий формат дати. Забезпечення безпеки даних може здійснюватися на декількох рівнях. Перш за все, можна визначити окремих користувачів або групи користувачів і задати різні права доступу до об'єктів бази даних. До кожного об'єкту можна задати повний доступ, що означає можливість перегляду і зміни структури об'єкта, перегляду та зміни записів, видалення записів і створення нових.
. 4 Опис таблиць бази даних ТОВ «Бурят-Термінал»
Результат проведеного проектування бази даних для нашого прикладу можна представити у вигляді повного опису властивостей полів для всіх таблиць (табл. 1.4 - 1.10). Імена полів задані у вигляді англійських слів без пробілів, так як при реалізації в СУБД при побудові модулів з використанням мови запитів SQL або іншої мови програмування існують обмеження на імена ідентифікаторів (латинські літери, цифри, символ підкреслення). Властивості полів вказані в тому вигляді і перераховані в тому порядку, в якому вони представлені у вікні Конструктора таблиць MS Access. При заповненні таблиць, взагалі кажучи, можна не вводити дані в неключові поля. Для завдання обов'язковості введення даних в поле використовується властивість Обов'язкове поле. Тип даних поля виділений в окремий стовпець, назви та значення інших властивостей перераховані в наступних двох стовпцях.
Таблиця 1.4 Відділ кадрів
Ім'я поляТіп даннихСвойства поляСвойствоЗначеніеId сотруднікаЧісловой Розмір поля Обов'язкове поле ІндексДлінное ціле Так Так (збігу не допускаються) ФаміліяТекстРазмер поля Обов'язкове поле Індекс255 Немає НетІмяТекстРазмер поля Обов'язкове поле Індекс255 Немає НетОтчествоТекстРазмер поля Обов'язкове поле Індекс255 Немає НетДата рожденіяДата/времяОбязательное поле Формат поля Індекснет Короткий формат НетРегістраціяТекстРазмер поля Обов'язкове поле Індекс255 Немає НетФактіческое прожіваніеТекстРазмер поля Обов'язкове поле Індекс255 Немає НетТелефонТекстРазмер поля Обов'язкове поле Індекс255 Немає НетПенсіонное страхове свідетельствоТекстРазмер поля Обов'язкове поле Індекс255 Немає НетМедіцінское страхове свідетельствоТекстРазмер поля Обов'язкове поле Індекс255 Немає НетПаспортТекстРазмер поля Обов'язкове поле Індекс255 Немає НетІННТекстРазмер поля Обов'язкове поле Індекс255 Немає НетПодразделеніеТекстРазмер поля Обов'язкове поле Індекс255 немає НетОтметка про командіровкеЛогіческійФормат поля ІндексДа/ні НетНачало командіровкіДата/времяОбязательное поле Формат поля Індекснет Короткий формат НетОкончаніе командіровкіДата/времяОбязательное поле Формат поля Індекснет Короткий формат НетФотоПоле об'єкта OLEОбязательное полеНет Командировочні расходиДенежнийФормат поля Обов'язкове поле ІндексДенежний немає НетДата надходження на работуДата/ времяОбязательное поле Формат поля Індекснет Короткий формат НетДата увольненіяДата/времяОбязательное поле Формат поля Індекснет Короткий формат немає
Таблиця 1.5 Послуги
Ім'я поляТіп даннихСвойства поляСвойствоЗначеніеId услугіЧісловойРазмер поля Обов'язкове поле ІндексДлінное ціле Так Так (збігу не допускаються) НаіменованіеТекстовийРазмер поля Обов'язкове поле Індекс255 Немає н...