Слайд 1Спецкурс “Основи баз даних”
Розділ 4.
Операції з таблицями
За підручником
І. О. Завадського
Слайд 2Повторення
Що є основним об'єктом у реляційній
базі даних?
Що таке ключ?
Які функції
виконує розробник бази даних, а які — її користувач?
Для чого
призначено систему керування базами даних?
Слайд 3Мотивація навчання
Після того як для предметної області побудовано модель «сутність-зв'язок»,
можна переходити до роботи з системою керування базами даних.
Найперше
завдання, що його ви як розробник БД маєте виконати в системі, — це створення бази даних та проектування її схеми у відповідності до моделі «сутність-зв'язок».
Кожній сутності цієї моделі має відповідати таблиця в базі даних. Сьогодні ви навчитеся створювати таблиці та настроювати їхні параметри. Крім того, почнете працювати з базою даних як користувач, увівши інформацію про декілька об'єктів. Всі ці дії ви виконуватимете у найпопулярнішій серед початківців СКБД Microsoft Access.
Слайд 4Створення бази даних у СКБД MS Access
Система керування базами даних
Microsoft Access входить до складу пакета прикладних програм Microsoft Office.
її ярлик має вигляд ключа (що символізує, скоріш за все, ключ до сховища, де зберігаються дані), а запускають цю програму так само, як і інші офісні застосунки: за допомогою меню Пуск або ярлика на робочому столі.
Слайд 5Створення бази даних у СКБД MS Access
Для створення бази даних
використовують значок Новая база данных у вікні Приступая к работе
або команду Создать кнопки Office.
Слайд 6Створення бази даних у СКБД MS Access
Після виконання цієї команди
буде відображено область завдань Новая база данных, де потрібно ввести
ім'я файлу у відповідне поле та клацнути кнопку Создать.
Слайд 7Створення бази даних у СКБД MS Access
Після створення БД буде
відразу створено та відкрито таблицю, яка має стандартну назву Таблица1.
Файл бази даних має розширення accdb.
Завдання 4.1
Створіть у вказаній вчителем папці базу даних школа.
Слайд 8Основні об'єкти бази даних Microsoft Access
Усього в базах даних Microsoft
Access є сім основних різновидів об'єктів, з чотирма з яких
ми працюватимемо.
Слайд 9Основні об'єкти бази даних Microsoft Access
Підкреслимо, що з цих чотирьох
компонентів два — таблиці і запити — є елементами самої
реляційної моделі даних, а отже, і будь-якої реляційної бази даних, незалежно від того, у якій СКБД її створено.
Натомість форми і звіти — це компоненти, специфічні для баз даних Microsoft Access.
Переважна більшість реляційних СКБД не надає засобів для створення форм і звітів; це завдання, як правило, покладається на розробників прикладних програм, що використовують бази даних.
Слайд 10Область переходів
Для створення всіх об'єктів бази даних використовують стрічку Создание,
а вже створені об'єкти розташовано в області переходів у лівій
частині вікна програми
Кнопка Відкрити/закрити межі області переходів
а - відкрита
б - закрита
Слайд 11Створення таблиць
Кожній сутності в моделі «сутність-зв'язок» має відповідати таблиця в
реляційній базі даних.
Назва сутності збігається з назвою таблиці з
тією лише відмінністю, що назву таблиці записують, як правило, у множині.
Атрибутам сутності відповідають стовпці таблиці, які називають також полями, а інформацію про кожен об'єкт сутності записують в окремому рядку таблиці, який в реляційних БД називають записом.
Таким чином, в окремій клітинці таблиці міститься інформація про значення одного параметра одного об'єкта.
Відповідність між сутністю і таблицею:
а — сутність у моделі «сутність-зв'язок»;
б — таблиця в реляційній БД
а)
б)
Слайд 12Типи полів
Оскільки в кожному полі таблиці зберігаються значення того самого
параметра різних об'єктів, всі ці значення мають однаковий тип, наприклад
числовий, текстовий або дата/час.
Інакше кажучи тип має саме поле. Коли ви створюєте в базі даних таблицю необхідно вказати назви й типи полів, вибрати ключові поля, а також задати назву самої таблиці.
Крім того, для деяких полів варто задати додаткові параметри.
Слайд 13Способи створення таблиць
У більшості СКБД немає жодного зі щойно
згаданих способів створення таблиць. Замість них застосовують команду CREATE TABLE
мови SQL. Нею можна скористатися і в СКБД Microsoft Access.
Слайд 14Визначення назв і типів полів
Найуніверсальнішим та, мабуть, найзручнішим способом створення
таблиці є використання конструктора, тому надалі ми розглядатимемо саме його.
Вигляд вікна конструктора таблиці подібний до зображеного на рис.
У цьому вікні є три стовпці.
Слайд 15Визначення назв і типів полів
У Microsoft Access існує 10 стандартних
типів даних.
Слайд 16Визначення назв і типів полів
Призначення чотирьох із них — текстового,
числового, грошового і дати/часу — цілком зрозуміле.
Звернімо ще увагу
на тип Счетчик, значеннями якого є цілі числа. У полях цього типу користувач не може вводити й змінювати дані, проте їх автоматично вводитиме СКБД під час створення нових записів.
Фактично СКБД за допомогою полів-лічильників нумерує записи послідовними значеннями 1, 2, 3, ... . Поля-лічильники, як правило, є ключовими. їх використовують для створення допоміжних кодів, що ідентифікують записи, у тому випадку, коли значення коду не важливе, а важливо лише, щоб ці значення для різних записів були різними.
Зокрема такий тип матиме поле код у таблиці Учні. Загалом у цій таблиці є п'ять полів: лічильник код, текстові поля прізвище, ім'я та стать, а також поле дата народження типу Дата/Час.
Слайд 17Поле типу MEMO, як і текстове поле, містить послідовність символів.
Однак у поле MEMO ви можете ввести до 65536 символів,
у той час як у текстове поле — не більше 255.
Тип Логический (Логічний) може мати два значення: ІСТИНА та ХИБНІСТЬ, що відображаються в таблиці як встановлений чи знятий прапорець. Цей тип може мати, наприклад, поле подружній стан (одружений -ІСТИНА, неодружений — ХИБНІСТЬ)
Поле об'єкта OLE призначене для зберігання об'єктів найрізноманітніших типів: зображень, аудіо- та відеозаписів, форматованого тексту, що можуть бути вбудованими в БД, а можуть зберігатися в окремих фійлах.
Визначення назв і типів полів
Слайд 18Визначення додаткових параметрів полів
Для кожного поля, крім його типу, можна
задати й інші параметри, зокрема максимально допустиму кількість символів у
рядку, який зберігається в текстовому полі.
Для цього слід виділити поле (зліва від виділеного поля в Access 2003 відображається позначка ► , а в Access 2007/2010 воно підсвічується жовтим) та визначити параметри в області Свойства поля, що розташована внизу вікна конструктора таблиці.
Так, на рис. видно, що для поля стать задано максимальну допустиму кількість символів 1 — це значення параметра Размер поля (Розмір поля), оскільки для збереження відомостей про стать достатньо одного символу: «ч» або «ж».
Слайд 19Створення ключа таблиці
Коли ви визначите назви, типи та додаткові параметри
полів таблиці, слід вказати, з яких полів складається її ключ.
Для цього ключові поля потрібно виділити та клацнути кнопку (Ключове поле) на панелі інструментів.
Якщо ключове поле одне, то виділити його дуже просто: достатньо клацнути на ньому.
Якщо ключ складається з кількох полів, то потрібно клацнути індикатор кожного з них, утримуючи клавішу Ctrl.
Коли ви клацнете кнопку, зліва від виділених полів з'явиться позначка у вигляді ключа. На рис. така позначка є біля поля код у таблиці Учні.
Слайд 20Надання таблиці назви
Задавши ключові поля, закрийте вікно конструктора таблиці кнопкою
.
Буде виведено запит, чи потрібно
зберегти зміни у структурі таблиці. Клацніть кнопку Да. Нарешті буде відображено вікно Сохранение, де слід ввести назву таблиці та клацнути кнопку ОК.
Слайд 21Операції з наявними таблицями
Значок новоствореної таблиці з'явиться на вкладці Таблицы
головного вікна бази даних Access 2003 або області переходів Access
2007/2010. Таблицю можна видалити, перейменувати, скопіювати, можна також змінити її структуру. Усі ці дії виконують за допомогою команд контекстного меню, яке відобразиться, якщо клацнути значок таблиці правою кнопкою миші.
Щоб видалити таблицю, виберіть у контекстному меню її значка команду Удалить. Можна також виділити значок таблиці і клацнути кнопку X (Видалити).
Для перейменування таблиці застосовують команду Переименовать.
Щоб створити копію таблиці, в Access 2003 слід вибрати з контекстного меню її значка команду Сохранить как і у вік ні, що з'явиться, ввести ім'я копії таблиці. У Access 2007/2010 аналогічна команда — Office ► Сохранить как ► Сохранить объект как.
Для змінення структури таблиці призначено команду Конструктор, що відкриває таблицю в уже знайомому вам вікні конструктора.
Слайд 22Завдання 4.2
Створіть у базі даних школа таблиці Учні, Класи та
Учителі, які відповідатимуть моделі «сутність-зв'язок». Визначте самостійно, які типи повинні
мати поля цих таблиць. Для поля стать задайте розмір 1 символ («ч» або «ж»).
Завдання 4.3
Перейменуйте базу даних школа на школи та створіть у ній таблиці Предмети, Школи, Директори .
У таблиці Директори створіть тільки одне поле — паспорт, і зробіть його ключовим.
Слайд 23Уведення та редагування даних
Досі ви виконували роль розробника бази даних,
а тепер трохи попрацюєте як користувач.
Нагадаємо, що розробник працює
зі схемою бази даних, а користувач — із самими даними.
Створення таблиць, визначення їх полів тощо — це був один з етапів розробки схеми БД.
Зараз, коли в базі даних школа вже є кілька таблиць, можна ввести в кожну з них інформацію про кілька об'єктів.
Слайд 24Уведення та редагування даних
Уведення даних
Щоб відкрити таблицю для введення даних,
у головному вікні БД або в області переходів потрібно двічі
клацнути її значок.
Наприклад, клацнувши значок таблиці Учні, ви побачите таку таблицю, як на рис.
У цій таблиці є заголовок з назвами полів та один порожній запис, у який ви можете ввести дані щодо одного учня. Коли ви почнете введення, з'явиться другий запис, коли почнете вводити дані в другий запис – з'явиться третій і т.д.
Слайд 25Уведення даних
Уведення даних у кожне поле варто завершувати натисканням клавіші
Enter — тоді курсор буде переведено до наступного поля цього
ж запису, а з останнього поля — до першого поля наступного запису.
Зазначимо, що у вікні введення даних зліва від кожного запису розміщено його індикатор - квадрат, на якому можуть зображуватися різні позначки (зірочка), а внизу вікна - навігаційні елементи, за допомогою яких переміщуються записами.
Індикатор запису
Навігаційні елементи
Слайд 26Відповідність даних схемі БД
СКБД стежить за тим, щоб дані в
базі узгоджувалися з її схемою. Зокрема, дані мають відповідати типам
полів, тож якщо ви спробуєте ввести в поле дата народження замість дати слово, буде відображено повідомлення про помилку ( рис. справа).
Ще одна вимога, за виконанням якої стежить СКБД, — унікальність значень ключа.
Якщо ви не дотрималися цієї вимоги, наприклад, спробували ввести дані про двох вчителів з однаковим паспортом, буде відображено таке повідомлення про помилку, як на рис.( знизу)
Слайд 27Null-значення
Під час уведення даних у таблицю деякі клітинки можна залишати
порожніми. Потреба в цьому може виникнути з кількох причин, скажімо
тому, що ви не знаєте, коли народився той чи інший учень і відкладаєте введення цієї інформації на потім.
Якщо клітинка порожня, то це означає, що значення певного параметра якогось об'єкта не існує. Така ситуація загрожує непередбачуваними наслідками: наприклад, неможливо сказати, істинним чи хибним буде вираз кількість учнів>20, якщо значення кількість учнів неіснуюче.
Щоб уникнути подібної непередбачуваності, СКБД у порожні клітинки записує спеціальне невідображуване значення Null, яке ще називають порожнім значенням.
Ключові поля не можуть містити порожніх значень; якщо ви спробуєте залишити порожньою клітинку ключового поля, буде виведено повідомлення про помилку.
Слайд 28Переміщення таблицею
Коли таблицю відкрито в режимі введення даних, один із
записів вважається поточним.
У Access 2003 на індикаторі поточного запису
є позначка, а в Access 2007/2010 індикатор виділено жовтим .
В одному з полів поточного запису розташовано курсор - саме це поле доступне для редагування.
Переміщуватися між записами та полями можна за допомогою клавіш керування курсором або миші.
Якщо записів у таблиці багато, для швидкого переходу між ними варто скористатися навігаційними елементами, що містяться внизу вікна введення даних:
Щоб перейти до наступного або попереднього запису, клацніть відповідно кнопку або ;
Щоб зробити поточним перший або останній запис у таблиці, клацніть відповідно кнопку або ;
щоб перейти до запису з певним номером, введіть цей номер у текстове поле;
для створення нового запису клацніть кнопку .
Слайд 29Виділення фрагментів таблиць
У таблиці бази даних Microsoft Access можна виділяти
фрагменти кількох типів:
щоб виділити один запис, слід клацнути його індикатор;
щоб
виділити кілька суміжних записів, слід протягнути курсор миші по їхніх індикаторах;
щоб виділити кілька несуміжних записів, потрібно почергово клацнути їхні індикатори, утримуючи клавішу Ctrl;
виділити частину значення поля можна встановивши на цьому значенні курсор та протягнувши його над потрібними символами;
для виділення цілого значення поля, значень кількох полів одного або різних записів потрібно скористатися табличним курсором , що відображається у разі підведення курсору до лівого верхнього кута клітинки.
Слайд 30Редагування даних
Уведені в таблицю дані (цілі записи, значення окремих полів
або фрагменти цих значень) можна вирізати за допомогою клавіш Ctrl+X
або кнопки
(Вирізати), копіювати в буфер обміну, використовуючи клавіші Ctrl+C або кнопку (Копіювати), та вставляти з нього за допомогою клавіш Ctrl+V або кнопки (Вставити), не забуваючи, звичайно, що будь-які значення мають відповідати типам полів, а значення ключових полів ще й не повинні повторюватися.
Значення поля можна відредагувати, клацнувши у відповідній клітинці. Зверніть увагу, що коли ви почнете вводити або редагувати дані, на індикаторі поточного запису буде відображено значок
Слайд 31Редагування даних
Якщо на індикаторі поточного запису відображено значок
, то це означає, що в записі є незбережені зміни.
І тільки коли ви перейдете до іншого запису, введення поточного запису вважатиметься завершеним, зроблені вами зміни збережуться в базі даних, а індикатор поточного запису знову набуде вигляду .
Такі обмеження цілісності, як унікальність значень ключа, перевіряються саме тоді, коли запис зберігається в базі даних, а не під час його редагування.
Цілі записи можна видаляти за допомогою команди Удалить контекстного меню індикатора запису.
Якщо ви хочете видалити відразу кілька записів, їх потрібно попередньо виділити, протягнувши курсор миші по індикаторах цих записів.
Слайд 32Завдання
Завдання 4.4
Уведіть у базу даних школа інформацію про такі
об'єкти:
класи 10А, 11А і 11Б;
учителі:
Михайлюк Дмитро Семенович, чоловік, паспорт СН
410268, математик;
Сошко Катерина Миколаївна, жінка, паспорт СР 652320, біолог;
Корбут Василь Петрович, чоловік, паспорт СО 211517, математик;
Томчишин Віктор Георгійович, чоловік паспорт КН 200125, історик;
Петрова Ніна Володимирівна, жінка, паспорт СО 927453, фізик;
учні:
Шпак Максим, 11.12.1996, хлопець;
Хоменко Ірина, 9.09.1995, дівчина;
Недригайло Петро, 1.07.1995, хлопець;
Буджак Оксана, 14.01.1996, дівчина.
Завдання 4.5
Уведіть у базу даних школи інформацію про такі об'єкти:
директор з паспортом СН 410268;
школи:
Сомівська гімназія, розташована по вул. Гнатюка, 27;
ЗОШ №77, розташована по вул. Садовій, 14;
предмети :
біологія,
математика,
хімія,
фізика,
українська мова.
Слайд 33Збереження та відкриття бази даних
Можливо, ви помітили, що коли ви
завершуєте введення даних у таблицю та закриваєте її вікно, кнопка
(Зберегти) стає неактивною. Це пояснюється тим, що база даних завжди перебуває у збереженому стані. Працюючи з БД, вам не потрібно періодично зберігати її, адже про це піклується сама СКБД.
Команду Office ► Сохранить как у Access призначено не для збереження бази даних, а для копіювання її таблиць та інших об'єктів.
СКБД зберігає базу даних автоматично насамперед тому, що з нею можуть працювати одночасно кілька клієнтів (користувачів чи програм) і всі вони мають бачити БД в однаковому стані. А значить, не можна допускати ситуації, коли клієнт внесе зміни в базу, але не збереже їх: тоді він бачитиме одні дані, а інші клієнти — інші.
Відкривають базу даних в Microsoft Access так само, як і документи в інших офісних програмах: за допомогою кнопки (Відкрити) або команди Открыть кнопки Office.
Під час відкриття БД буде відображено одне або кілька вікон застережень з інформацією про те, що файл БД не є безпечним, може містити шкідливий код і т. п. В усіх таких вікнах потрібно підтверджувати свій намір відкрити базу, клацаючи кнопки Открыть, Да або ОК.
Слайд 34Висновки
Кожній сутності в моделі «сутність-зв'язок» має відповідати таблиця в реляційній
базі даних. Атрибутам сутності відповідають стовпці таблиці, які називають полями,
а інформацію про кожен об'єкт сутності записують в окремому рядку таблиці, який в реляційних БД називають записом.
Під час створення в базі даних таблиці необхідно вказати назви і типи полів, вибрати ключові поля, а також задати назву таблиці.
Наявну в базі даних таблицю можна видалити, перейменувати, скопіювати, можна також змінити її структуру.
Щоб увести в таблицю дані про набір об'єктів, у головному вікні БД потрібно двічі клацнути її значок та ввести інформацію про кожен об'єкт в окремому записі.
СКБД забезпечує автоматичне збереження даних, що містяться в таблицях.
Слайд 35Завдання для самостійного виконання
Створіть бази даних і таблиці в
них відповідно до всіх моделей «сутність-зв'язок», які ви розробляли, виконуючи
самостійні завдання до розділів 2 і 3.
Уведіть у кожну таблицю баз даних, створених у попередньому завданні, відомості про два-три об'єкти.
Слайд 36Завдання для досліджень
Що станеться, коли в таблиці, у яку вже
введено дані, змінити набір полів або їхні типи?
Навчіться створювати таблиці
за допомогою майстра таблиць. Які переваги та недоліки має цей засіб порівняно з конструктором таблиць?
Створіть таблицю, у яку неможливо було б увести більше двох записів.
Чи можуть існувати:
однойменні поля в одній таблиці;
поля з однаковими назвами та типами даних в одній таблиці;
однойменні таблиці в одній БД?
Знайшовши відповіді на ці питання експериментально, спробуйте аргументувати, чому СКБД дозволяє чи не дозволяє створювати однойменні об'єкти в кожному з зазначених випадків.