Створення таблиць бази даних
Зміст
Типи та властивості полів
Таблиці складають основу бази даних - саме в них зберігаються всі дані. Таблиці повинні бути ретельно сплановані. Перед усім, повинна бути спланована структура кожної таблиці. Структура таблиць обумовлюється вмістом тих вихідних форм, запитів та звітів, які повинні бути отримані при роботі з базою даних. При плануванні таблиць необхідно уникати повторення колонок в різних таблицях, тільки якщо вони не слугують для визначення зв'язків між ними.
Таблиця - це об'єкт БД, який зберігає дані певної структури. Таблиця складається з записів (рядків), кожний з яких описує одну сутність. Кожна колонка таблиці - це поле. Поле містить однотипну інформацію, яка визначає тип даних. Тип даних визначає вид і межі допустимих значень, які можуть бути введені в поле, а також об'єм пам'яті, який виділяється для цього поля, що важливо при проектуванні великих БД.
Вказати тип поля потрібно, по-перше, для його правильної обробки (над текстом не можна виконувати такі ж операції, як над числами, а з датами не можна працювати як з логічними величинами), а по-друге, для ефективного розподілу пам'яті.
OpenOffice Base пропонує багато типів даних, опишемо деякі з них, які зустрічаються найчастіше:
• Коротке ціле [TINYINT] - використовується найчастіше для нумерації при невеликій кількості позицій (від 0 до 255).
• Довге ціле [BIGINT] - ціле збільшеної розрядності. В 32-розрядній системі для такого цілого виділяється 64 біта (від -9223372036854775808 до 9223372036854775807).
• Картинка [LONGVARBINARY] - великий двійковий об'єкт зі змінним розміром розміру в десятки і сотні Кбайт, наприклад, картинка, звукозапис, документ Oowriter (в інших базах даних такий тип називається BLOB).
• Двійкове [VARBINARY] - двійковий об'єкт зі змінним розміром. Є можливість економити пам'ять, якщо в різних записах це поле реально має різний розмір.
• Двійкове (фікс.) [BINARY] - двійковий об'єкт фіксованого розміру.
• Пам'ятка [LONGVARCHAR] - великий текст (до 64 Кбайт). У інших базах даних такий тип називається MEMO.
• Текст (фікс.) [CHAR] - рядок із заданою кількістю символів.
• Число [NUMERIC] - натуральне число. Межа чисел визначається розрядністю системи.
• Десяткове [DECIMAL] - число з плаваючою крапкою. Необхідно вказувати кількість знаків після десяткової крапки.
• Ціле [INTEGER] - ціле число. У 32-розрядній системі 1 біт виділяється на знак, 31 біт - на значення всього числа (від -2147483648 до 2147483647).
• Коротке ціле [SMALLINT] - ціле число з розрядністю, вдвічі меншою, ніж в системі. У 32-розрядній системі розрядність займає 16 біт (від -32768 до 32767).
• З плаваючою крапкою [FLOAT]- число з плаваючою крапкою (аналогічно DECIMAL).
• Дійсне [REAL]- дійсне число. У 32-розрядній системі представляєтся як 32-розрядні мантиса і порядок.
• З подвійною точністю [DOUBLE] - дійсне число подвійної точності.
• Текст [VARCHAR] - строка до 256 знаків. Якщо реальна довжина рядка в полі менше заданої, можлива економія пам'яті.
• Текст [Varchar_ignorecase] - рядок, у якому не розрізняються рядкові і прописні букви.
• Логічне [BOOLEAN] - дані логічного типу (так/ні).
• Дата [DATE] - календарна дата.
• Час [TIME] - час.
• Дата/час [TIMESTAMP] - так званий "UNIX timestamp". Означає число мілісекунд, які пройшли з початку "эры UNIX".
• Інше [OTHER] - дані будь-якого іншого (не вказаного вище) типу.
Створення таблиць бази даних. Створення ключового поля
У Openoffice Base це можна зробити декількома способами:
•Создать таблицу в режиме дизайна.
•Использовать мастер для создания таблиц.
•Создать представление.
В першому випадку необхідно самостійно визначити імена полів, типи даних і всю додаткову інформацію, а також вибрати первинний ключ.
Другий спосіб дозволяє вибирати з готового набору полів. У Openoffice Base є заготовки полів для різних випадків. Для зручності вони поділені на категорії: ділові та особисті. У кожній категорії є приклади таблиць з полями. Поля можна вибирати з однієї таблиці або з різних.
Представлення дозволяє зберегти інформацію з декількох таблиць, які зв'язані ключовими полями.
Як створити таблицю в режимі майстра:
1.У вікні відкритої бази даних клацніть по елементу Таблицы в області База данных.
2.В області Задачи двічі клацніть по рядку Использовать мастер для создания таблицы.
рис.1
3. У вікні Мастер таблиц (рис.1) на етапі Выбрать поля необхідно вибрати поля з запропонованих зразків таблиць, щоб використовувати їх як початкову точку для створення власної таблиці:
• Деловой — для роботи з зразками ділових таблиць;
• Персональный — для роботи з зразками особистих таблиць.
4. Відкрийте список Примеры таблиц і виберіть потрібний зразок.
5. У списку Переменные поля клацанням миші при натисненій клавіші Ctrl виберіть рядки потрібних полів і натисніть кнопку > (між списками Переменные поля і Выбранные поля). Відмічені поля будуть відображені в списку Выбранные поля. Для переходу до наступного етапу створення таблиці натисніть кнопку Дальше.
Примітка. Щоб відмовитися від переміщення поля використовуйте в списку Выбранные поля кнопку <. Кнопками ∧ і ∨ можна перемістити поле по списку вгору або вниз.
6. На етапі Выбрать тип и формат (рис.2) задайте описи для вибраних полів. Для цього в списку Выбранные поля визначте потрібний рядок і при необхідності внесіть корективи:
• Имя поля — для вибору імені поля;
• Тип поля — для вибору типа поля;
• Автозначение — для вибору значення Да або Нет. Да означає, що значення даного поля будуть генеруватися базою даних;
• Обязательное — для вибору значення Да або Нет. Да означает, що поле не може бути залишене порожнім;
• Длина — для вибору кількість символів в поля даних;
• Число десятичных знаков — для вибору кількості десяткових розрядів поля даних. Це поле доступне лише для числових і десяткових полів даних;
• Значение по умолчанию — для вибору значення по змовчанню в поля Да/Нет;
• Автоинкрементная инструкция — для "автоприращения" певного поля цілочисельних значень в джерелі даних. Доступно лише при введенні специфікатора команди SQL.
рис.2
Для переходу до наступного етапу створення таблиці натисніть кнопку Дальше.
7. На цьому етапі Выбрать первичный ключ (рис.3) задайте поле таблиці, яке використовуватиметься як первинний ключ.
Примітка. Ключ необхідно додавати в кожну таблицю бази даних, щоб кожен запис однозначно ідентифікувався. У деяких системах баз даних Openoffice.org первинний ключ обов'язковий для редагування таблиць.
рис.3
8. Активуйте пункт Создать первичный ключ і виберіть:
• Автоматически добавить первичный ключ — для автоматичного додавання первинного ключа у вигляді додаткового поля;
• Использовать существующее поле как первичный ключ — для використання існуючого поля з унікальними значеннями як первинний ключ;
• Определить первичный ключ как комбинацию нескольких полей — для створення первинного ключа на основі комбінації декількох існуючих полів.
Примітка. При виборі даного пункту необхідно в списку Доступные поля вибрати потрібні поля і перемістити їх за допомогою кнопки > у список Основной ключ поля.
Для переходу до наступного етапу створення таблиці натисніть кнопку Дальше.
9. На етапі Создать таблицу (рис.4) задається ім'я таблиці і вибирається можливість її зміни після закінчення роботи майстра. Для цього в графі Название введіть ім'я таблиці.
рис.4
В групі Что вы хотите делать дальше? активуйте:
• Немедленно вставить данные — для продовження роботи і відкриття таблиці введення даних;
• Модифицировать дизайн таблицы — для збереження і редагування в конструкторі таблиць;
• Создать форму на основе данной таблицы — для створення форми на основі цієї таблиці. Форма створюється в текстовому документі з останніми використаними параметрами майстра форм.
11. Для завершення роботи майстра натисніть кнопку Готово.
12. Відкриється вікно таблиці (рис.5), готове для введення даних.
рис.5
Як створити таблицю в режимі конструктора
1. У вікні відкритої бази даних клацніть по елементу Таблицы в області База даних.
2. В області Задачи двічі клацніть по рядку Создать таблицу в режиме дизайна.
3. У вікні конструктора таблиці натисніть праву кнопку миші на першій колонці і виберіть в контекстному меню пункт Первичный ключ (рис.6).
Примітка. В Base первинний ключ необхідний для редагування вмісту таблиці. Він має унікальне значення для кожного запису даних.
рис.6
4. У колонці Название поля натисніть першу комірку і введіть потрібне ім'я.
Примітка. Імена колонок не повинні повторюватися.
5. Натисніть в першій комірці Тип поля і, розкривши список, оберіть, яким буде тип поля: тестом, числом, датою і т.д.
6. В групі Свойства поля виберіть потрібні параметри для полів Обязательное, Длина, Значение по умолчанию, Число десятичных знаков и Пример формата.
7. Повторіть операцію для кожного нового поля.
8. Натисніть кнопку Сохранить і у вікні введіть ім'я таблиці.
9. Закрийте вікно Сохранить как кнопкою ОК.
10. Закрийте таблицю.
Як створити представлення таблиць
Представлення таблиці — це запит, який зберігається базою даних. Деякі типи баз даних підтримують представлення таблиць, і для більшості операцій в базах даних представлення можна використовувати так само, як і таблицю.
1. У вікні відкритої бази даних натисніть елемент Таблицы в області База данных.
2. В області Задачи натисніть рядок Создать представление.
3. У вікні Конструктор представлений у віконці Добавить таблицы (рис.7) виберіть таблиці для поточної задачі.
рис.7
4. У вікні бази даних відобразяться табличні блоки запиту (рис.8).
рис.8
Примітка. Вибрані таблиці будуть показані у верхній частині вікна конструктора запитів. Розмір і порядок розташування вікон можна змінювати.
Представлення конструктора дозволяє створювати і редагувати запити бази даних.
Створення таблиці шляхом копіювання існуючої таблиці
Якщо таблиця, яку потрібно створити схожа на вже існуючу, то її можна отримати шляхом копіювання, а потім внесення змін.
1. Натисніть елемент Таблицы у вікні База данных, щоб побачити існуючі таблиці.
2. Натисніть правою кнопкою миші на потрібній таблиці. У контекстному меню виберіть Копировать.
3. Розмістіть курсор миші нижче цієї таблиці, натисніть правою кнопкою і виберіть пункт Вставить з контекстного меню. Відкриється вікно Копирование.
4. Змініть ім'я таблиці і натисніть Далее.
5. Натисніть кнопку > для переміщення всіх полів з лівого вікна в праве і натисніть Далее.
6. Так як всі поля вже мають необхідний формат, то не треба вносити жодних змін. Проте, якщо зміни потрібні, то це треба зробити зараз. (Після створення таблиць за допомогою майстра можливості їх зміни обмежені. У будь-якому випадку не можна змінювати первинний ключ. Можливо додавати нові поля і видаляти існуючі поля. Можна змінювати тип поля при його створенні, а також і пізніше, якщо це не первинний ключ. Після занесення даних в базу даних, при видаленні поля будуть вилучені всі дані, які знаходяться в ньому. При створенні нової таблиці треба звертати увагу на створення полів з правильними іменами, довжиною і форматом до занесення в них даних.) Натисніть кнопку Готово. Буде створена нова таблиця.
Введення даних
1. У вікні відкритої бази даних натисніть елемент Таблицы в області База данных.
2. В області Таблицы двічі клацніть по назві потрібної таблиці.
3. У вікні таблиці внесіть потрібні дані до комірок таблиці.
Примітка. У кожне поле можна вводити дані, відповідні заданому типу. Неможливо ввести текст в числове поле.
4. Збережіть внесені дані і закрийте вікно таблиці.
Створення зв'язків
Щоб приступити до створення зв'язків, виберіть пункт меню Сервис — Связи (рис.9)
рис.9
Слід пам'ятати, що створювати або змінювати зв'язки між відкритими таблицями не можна. Тому спочатку необхідно закрити всі раніше відкриті таблиці бази даних і відкрити вікно бази даних.
Якщо в базі ще не визначені зв'язки між таблицями, автоматично відкриється діалогове вікно Добавить таблицы (рис. 10).
рис.10
У відкритому вікні Добавить таблицы слід виконати подвійні натискання по назвах таблиць, які беруть участь в зв'язку, а потім закрити його. Крім того, можна вибрати потрібні таблиці та натиснути кнопку Добавить.
Далі є два варіанти створення зв'язків. Вибираємо пункт меню Вставка — Создать связь. З'являється модальний діалог (рис.11).
рис.11
В ньому ми здійснюємо всі необхідні налаштування і в результаті отримуємо відображення всіх таблиць і зв'язків між ними (рис.12).
рис.12
У діалоговому вікні (див. рис. 11) вибираються таблиці, визначаються включені поля, задаються параметри оновлення (ці параметри починають діяти, якщо змінені поля первинного ключа) і вилучення (ці параметри починають діяти при вилученні поля первинного ключа). Можна задати наступні параметри оновлення:
● Без действия — вказується, що будь-яка зміна первинного ключа не повинна зачіпати останні зовнішні ключові поля.
●Обновление каскадом — відбувається оновлення всіх зовнішніх ключових полів при зміні відповідного первинного ключа (оновлення каскадом).
● Установить нуль — якщо відповідний первинний ключ змінений, цей параметр використовується для задання значення "ПУСТО" всім зовнішнім ключовим полям. Це значення вказує, що поле порожнє.
● Установить по умолчанию — якщо відповідний первинний ключ змінений, цей параметр використовується для задання значення за замовчанням всім зовнішнім ключовим полям. При створенні відповідної таблиці значення за умовчанням зовнішнього ключового поля визначається при заданні властивостей даного поля.
Аналогічний зміст мають параметри вилучення.
Створити зв'язок можна і таким чином: натисніть ім'я поля в таблиці, утримуючи кнопку миші, і перетягніть ім'я поля на ім'я поля іншої таблиці. Якщо відпустити кнопку миші, з'являється лінія, яка сполучає ці два поля в двох вікнах.
Щоб вилучити зв'язок між двома таблицями, натисніть сполучну лінію і натисніть клавішу DELETE, або виділіть сполучний вектор за допомогою клавіші TAB, викличте контекстне меню, натиснувши клавіші Shift+F10, і виберіть команду Удалить.
Зв'язок між таблицями можна редагувати, для цього можна скористатися контекстним меню зв'язку.
Сортування та пошук даних у таблицях
Як сортувати дані в таблиці
1. У вікні відкритої бази розкрийте вікно потрібної таблиці.
2. Натисніть ім'я потрібного стовпця в таблиці і кнопку Сортировать на панелі Данные таблицы.
3. У вікні Сортировка (рис.13) задайте умови сортування для даних, що відображуються. Для цього відкрийте перший список в колонці Имя і виберіть поля даних, вміст яких необхідно відсортувати.
рис.13
4. Потім активуйте перший список в колонці Порядок і виберіть порядок сортування: по возрастанию або по убыванию.
5. Повторіть при необхідності дану інструкцію до наступних рядків Имя і Порядок.
6. Закрийте вікно кнопкою ОК.
Як застосувати швидке сортування
Окрім сортування по декількох полях, в таблиці можна використовувати швидке сортування по одній умові: по возрастанию або по убыванию.
1. У вікні відкритої бази розкрийте вікно потрібної таблиці.
2. Клацніть по імені потрібного стовпця в таблиці і по відповідній кнопці на панелі Данные таблицы: Сортировать по возрастанию або Сортировать по убыванию.
Як відмінити застосування сортування в таблиці
1. У вікні відкритої бази розкрийте вікно потрібної таблиці.
2. Натисніть кнопку Удалить фильтр/сортировку на панелі Данные таблицы.
Пошук даних у таблицях
У таблицях баз даних можна шукати певні значення по полях даних, списках і прапорцях поточної таблиці.
1. У вікні відкритої бази натисніть кнопку Найти запись на панелі Данные таблицы.
2. У вікні Поиск записи (рис.14) наберіть в полі Текст умову пошуку або виберіть його із списку (якщо пошук вже здійснювався раніше).
рис.14
Примітка. Якщо в таблиці була виділена комірка з текстом, то вона автоматично відобразиться в даному полі.
3. Якщо необхідно шукати порожні або заповнені комірки, активуйте:
• Содержимое поля NULL — для пошуку порожніх полів;
• Содержимое поля не NULL — для пошуку полів з будь-якими даними.
4. У групі Область поиска вкажіть поля, в яких буде відбуватися пошук. Для цього виберіть:
• Все поля — для пошуку по всіх полях таблиці;
• В отдельном поле — для пошуку по певному полю даних. Поле вибирається в списку праворуч від даного пункту.
5. В групі Настройки визначите параметри відповідності вмісту поля умові пошуку. Для цього відкрийте список Положение і виберіть:
• где-либо в поле — для пошуку елементів в будь-якому місці поля;
• в начале поля — для пошуку елементів лише на початку поля;
• в конце поля — для пошуку елементів в кінці поля;
• все поле — для пошуку полів, які співпадають з шуканим елементом.
6. При необхідності активуйте наступні пункти:
• Применить формат поля — для обліку при пошуку всіх форматів полів в поточній таблиці;
Примітка. Пошук по джерелу даних таблиці виконуватиметься застосовуючи задане тут форматування. В іншому випадку пошук здійсниться із застосуванням форматування, яке збережене в базі даних. Рекомендується виконувати пошук з використанням форматування поля.
• Учитывать регистр — для обліку при пошуку рядкових і прописних букв;
• Обратный поиск — для пошуку у зворотньому напрямі, від останнього запису до першого;
• Сверху — для запуску пошуку з першого запису;
• Выражение символа шаблона — для використання підставних знаків («пробел» — для одного довільного символу, * — для нуля або більше довільних символів);
• Регулярное выражение — для пошуку з регулярними виразами;
Примітка. Пошук з використанням регулярних виразів точніший в порівнянні з пошуком на основі підставних знаків.
• Поиск подобных — для пошуку слів, подібних до тексту в полі Текст. При цьому відкриється вікно, в якому необхідно буде задати кількість неспівпадаючих, зайвих і бракуючих букв. Також можна комбінувати ці параметри.
7. На рядку Состояние відображуватимуться знайдені записи. Коли пошук досягне кінця (або початку) таблиці, він автоматично продовжиться в протилежну сторону.
Примітка. У об'ємних базах даних пошук може затягнутися. При цьому на рядку стану відобразиться інформація про стан пошуку.