НОУ ІНТУЇТ | лекція | Системи управління базами даних

  1. Організація захисту даних в СУБД MS Access MS Access забезпечує два традиційні способи захисту бази...
  2. Засоби макропрограмування в MS Access
  3. Розробка програмних додатків для MS Access

Організація захисту даних в СУБД MS Access

MS Access забезпечує два традиційні способи захисту бази даних. Найпростіший спосіб захисту - це установка пароля, необхідного при відкритті бази даних. Тоді при кожному відкритті бази даних буде з'являтися діалогове вікно, в якому потрібно ввести пароль. Цей спосіб досить надійний, т. К. MS Access шифрує пароль, і до нього немає прямого доступу при читанні файлу бази даних. Після відкриття бази даних все її об'єкти стають повністю доступними протягом сеансу роботи з базою. Можна вважати цей захід захисту достатньою для баз даних, які спільно використовуються невеликою групою користувачів або встановлені на автономному комп'ютері.

Набагато більш надійним і гнучким способом організації захисту є захист на рівні користувачів. Такий спосіб захисту дозволяє обмежити можливість отримання або зміни тієї чи іншої інформації в базі даних для конкретного користувача.

За замовчуванням в базі визначені дві групи користувачів: Admins і Users. Для кожної групи задаються дозволу на доступ до об'єктів бази даних (права доступу). Члени групи Admins, як правило, мають дозволу на доступ до всіх об'єктів бази даних. Оскільки група Users об'єднує всіх користувачів, має сенс їй привласнювати певний мінімальний набір прав. Можна створювати власні облікові записи груп, надаючи цим групам відповідні дозволи і додаючи в групи користувачів, виходячи з функціональної специфіки предметної області. Один і той же користувач може бути членом різних груп.

Як групам, так і користувачам надаються дозволи на доступ, що визначають допустимі для них дії по відношенню до кожного об'єкта бази даних. Набір можливих прав, очевидно, визначається специфікою об'єкта. При запуску MS Access від користувачів потрібно ідентифікувати себе і ввести пароль.

Додаткові режими роботи з базою даних

До цих можливостей відносяться створення резервної копії, відновлення та стиснення баз даних, документування об'єктів бази даних.

При практичної експлуатації бази даних MS Access виникає необхідність загального копіювання БД, відновлення БД після збоїв, стиснення БД і нарешті, реплікації - режиму отримання поточної копії з можливістю експлуатації її на переносному або ізольованому комп'ютері з подальшою синхронізацією існуючих копій БД.

Стиснення БД зазвичай виконується при інтенсивній модифікації БД або в процесі розробки нових об'єктів (таблиць, форм, звітів, запитів, модулів), або в процесі додавання і видалення даних. У цих випадках всі видаляються об'єкти і даних видаляються логічно, т. Е. Фізично вони залишаються всередині файлу бази даних, але у вікні бази даних вони відсутні. Файл бази даних істотно розростається, і робота з базою значно ускладнюється.

Відновлення бази використовується після порушення цілісності файлу БД, а перетворення бази необхідно для роботи з базами, створеними в попередніх версіях MS Access.

Поділ бази даних на клієнтське і серверне додатки може знадобитися з різних причин. Серверна база даних містить таблиці і зберігається на файловому сервері. У клієнтській базі даних, яка містить посилання на таблиці серверної бази даних, зберігаються всі форми, запити, звіти, макроси і модулі. Клієнтська база даних встановлюється на робочих станціях користувачів. Такий поділ забезпечує найбільш ефективний спосіб експлуатації системи:

  • користувачі не можуть вносити зміни в структуру таблиць і їх взаємозв'язку;
  • коли користувач відкриває форму, ця форма відкривається локально на комп'ютері користувача, а не передається по мережі. По мережі передаються тільки дані в зв'язаних таблицях.

Розділити базу даних можна вручну або за допомогою службового програми "Роздільник баз даних".

Засоби макропрограмування в MS Access

У відповідь на певні дії користувача можуть виконуватися процедури обробки подій, наприклад, натискання на деяку кнопку форми може ініціювати автоматичне створення нової таблиці певної структури. Основний набір засобів MS Access, розглянутий вище, орієнтований на користувачів, які не володіють мовами програмування. Користувачі, знайомі з мовами програмування, можуть використовувати макроси і модулі (процедури на мові Visual Basic for Application, VBA). З їх допомогою можна істотно розширити функціональні можливості створюваного додатка і налаштувати його на потреби кінцевих користувачів.

У MS Word і MS Excel є засіб автоматичного запису макросів - макрорекордер. Після включення запису макросу можна створити процедуру, виконавши необхідні дії і зупинивши запис макросу. Всі дії користувача, виконані між включенням і вимиканням записи макросу, перетворюються в текст процедури VBA. Цей текст потім можна переглянути і відредагувати за допомогою редактора VBA. Виконання записаної процедури рівносильно повторення дій користувача. У MS Access засобів автоматичного запису макросів немає. Автоматична генерація коду VBA відбувається тільки при створенні об'єктів в режимі майстра.

Макрос в MS Access являє собою структуру, що складається з однієї або декількох макрокоманд СУБД Access, які виконуються або послідовно, або в порядку, визначеному деякими заданими в макросі умовами. За допомогою макросів можна виконати практично всі дії з об'єктами MS Access. Основне призначення макросів - це створення інтерфейсу додатку. За допомогою макросів можна розташувати на екрані меню та панелі інструментів, зручні для застосування.

Макроси легко створювати - для цього не потрібно вивчати синтаксис мови програмування, а достатньо знати лише основні прийоми роботи в MS Access. Однак використання макросів має і деякі недоліки, а саме: можливості макрокоманд обмежені в порівнянні з можливостями мови VBA; процедури VBA виконуються швидше; макроси є об'єктами, що існують окремо від форм і звітів, в яких вони використовуються, і тому при збільшенні кількості макросів їх підтримка стає досить трудомісткою. Тим не менш, у багатьох випадках використання макросів цілком виправдане, т. К. Це істотно спрощує і прискорює розробку програми. За допомогою макросів можна створювати невеликі однопользовательские додатки, проте якщо швидкість роботи програми критична, краще застосовувати процедури VBA.

Якщо кількість макросів виявилося дуже великим, можна об'єднати кілька макросів в групу макросів. Рекомендується, наприклад, все макроси, пов'язані з подіями в формі або звіті, об'єднувати в групу макросів, що відповідає даній формі або звіту відповідно. При цьому кожен макрос групи повинен мати своє ім'я, а ім'я об'єднаного об'єкта буде ім'ям групи макросів.

Робота по створенню і запуску макросів виконується так само, як і робота з будь-яким об'єктом бази. Відмінності визначаються типом об'єкта. Макрос створюється і редагується в режимі конструктора. У вікні конструктора вибирається макрокоманда зі списку всіх макрокоманд. Дії можна згрупувати за категоріями: робота з даними; виконання; робота з об'єктами; імпорт / експорт даних і об'єктів, настройка інтерфейсу програми. У категорію роботи з даними входить набір макрокоманд, що забезпечують відбір даних (фільтрація записів у формах і таблицях), переміщення за даними і елементам управління, а також оновлення даних в активних формах, таблицях і запитах. До категорії виконання можна віднести виконання команд, макросів, процедур або запитів, запуск іншої програми, переривання виконання і завершення роботи в MS Access. Для настройки інтерфейсу можна вивести на екран або, навпаки, приховати вбудовану або призначену для користувача панель інструментів, подати звуковий сигнал і т. П.

Найбільш велика категорія макрокоманд - це макроси роботи з об'єктами. MS Access складається з декількох компонентів, кожен з яких надає власний набір об'єктів, інформація про яких міститься в бібліотеках об'єктів. Наприклад, бібліотека об'єктів MS Access зберігає інформацію про об'єкти, призначених для відображення даних, для роботи з додатком. Зокрема, це об'єкти форми або звіту. Дії для цих об'єктів дозволяють в першу чергу виконувати копіювання, перейменування і збереження об'єктів. Бібліотека об'єктів DAO (Data Access Objects) надає об'єкти доступу до даних, які дозволяють маніпулювати даними з Visual Basic, т. Е. Управляти базами даних з усіх програм, VBA.

Після вибору макроси автоматично висвічується список аргументів, який залежить від обраної макрокоманди і може бути відсутнім, якщо макрокоманда не має аргументів. У макросах використовується послідовний порядок виконання макрокоманд. Однак цей порядок може бути змінений за допомогою умов виконання або пропуску макрокоманд. Умови задаються у вигляді виразів у вікні конструктора макросів після натискання піктограми умови Після вибору макроси автоматично висвічується список аргументів, який залежить від обраної макрокоманди і може бути відсутнім, якщо макрокоманда не має аргументів на вкладці конструктора макросів.

Виконання макросу ініціюється натисканням на кнопку Виконати Виконання макросу ініціюється натисканням на кнопку Виконати .

Можна натиснути кнопку Виконати макрос Можна натиснути кнопку Виконати макрос   , Розташовану в групі Макрос вкладки Робота з базами даних , Розташовану в групі Макрос вкладки Робота з базами даних. У цій групі розташовані різні піктограми для роботи з макросами і процедурами Visual Basic ( ріс.8.26 ).

Найбільш часто макроси використовуються в додатку MS Access для обробки подій об'єктів. Події - це будь-які дії, які розпізнаються об'єктом, які відбуваються в результаті маніпуляцій користувача, виконання інструкцій VBA або генеруються системою. Прикладом події є висновок форми на екран або натискання кнопки. Для кожного об'єкта бази визначені свої власні події, перелік яких розміщений на вкладці Події діалогового вікна властивостей об'єкта ( ріс.8.27 ).


Мал.8.26.

Група Макрос вкладки Робота з базами даних
Мал. 8.27. Події елемента Кнопка

Кожному події можна призначити макрос або процедуру VBA, які будуть автоматично виконуватися у відповідь на подію, що відбулася. Практично програмування в MS Access зводиться до написання макросів або процедур, що обробляють події, т. Е. Програмується реакція об'єктів на події.

У формі Дзвінки абонентів ( ріс.8.28 ) Розміщена додаткова командна кнопка Додати дзвінок (ім'я кнопки n_call), при натисканні на яку відкривається форма Новий дзвінок в режимі додавання даних. При цьому відкриття форми супроводжується звуковим сигналом. Для виконання перерахованих дій створений макрос new_call ( ріс.8.29 ) З двох макрокоманд - відкриття форми і подачі сигналу. Аргументи макрокоманди Відкрити форму вказують на ім'я відкривається форми Новий дзвінок і режим даних Додавання. Зазначений макрос виконується автоматично при виникненні події Натискання кнопки ( ріс.8.27 ).

Натискання на кнопку Новий дзвінок ( ріс.8.28 ) Відкриває ту ж форму, але в режимі перегляду даних. Для додавання нового запису в цьому випадку необхідно перейти до останньої записи форми.


Мал.8.28.

Модифікована складова форма
Мал. 8.29. Макрос відкриття форми

Розробка програмних додатків для MS Access

Для програмування в MS Access використовується процедурний мову Visual Basic for Applications (VBA) з додаванням об'єктних розширень і елементів SQL (більш докладно про мову VBA см. Розділ 3). Мова програмування VBA є загальним інструментом для всіх додатків MS Office, що дозволяє вирішувати будь-які завдання програмування, починаючи від автоматизації дій конкретного користувача і закінчуючи розробкою повномасштабних додатків, що використовують MS Office в якості середовища розробки.

Код VBA в додатку MS Access міститься в модулях. Модулі є такими ж об'єктами MS Access, як таблиці, запити, форми, звіти і макроси. Основний зміст модулів - це процедури на мові VBA. Модулі, на відміну від макросів, є більш потужним засобом розробки програмних розширень в середовищі MS Access. Застосування модулів вимагає від користувача навичок програмування, а також знання основних принципів об'єктно-орієнтованого програмування.

Якщо в базі даних існують макроси, то вони можуть бути перетворені в процедури на VBA. Це стосується як макросів, пов'язаних з подіями в формах і звітах, так і загальних макросів, не пов'язаних з формами та звітами. Всі вони перетворюються в окремі модулі, причому макроси, що виконуються при виникненні подій, перетворюються в процедури обробки подій. на ріс.8.30 наведено перетворений в процедуру макрос new_call, показаний на ріс.8.29 . На вкладці Події для кнопки n_call ( ріс.8.27 ) В рядку, що відповідає події Натискання кнопки, замість назви макросу буде знаходитися текст [Процедура обробки подій], що означає виклик процедури натискання на кнопку n_call.

Процес створення програмних розширень в середовищі MS Access передбачає активне використання технології об'єктно-орієнтованого програмування (ООП). Кожен об'єкт бази даних характеризується набором властивостей, методів і подій. Велика кількість різноманітних подій визначено для форм, звітів і елементів управління, які використовуються в них. У процесі роботи програми при виникненні події запускаються спеціально розроблені програми - обробники подій (подієві процедури). Робота програміста, по суті, зводиться до визначення тієї події, що потрібно обробити програмою, і програмування реакції на подію, а також до створення нових об'єктів, опису їх властивостей, методів і подій.


Мал.8.30.

Макрос, перетворений в процедуру

Існують два типи модулів: стандартні модулі і модулі класу. Стандартні модулі містять загальні процедури, які не пов'язані з конкретним об'єктом, наприклад, формою або звітом. Загальні процедури можуть викликатися з інших модулів і використовуватися при обробці подій різних об'єктів, для обчислення значень в різних запитах або формах і т.д. Стандартні модулі застосовуються також для оголошення глобальних (тобто доступних у всіх модулях програми) змінних і констант. Модуль класу відрізняється від стандартного модуля тим, що, крім процедур, він містить опис об'єкта і використовується для роботи з об'єктом. Прикладами модулів класу є модулі форм і звітів. Модулі форм і звітів пов'язані з конкретною формою або звітом і містять процедури обробки подій, що запускаються у відповідь на їх виникнення у формі або звіті (відгуки на подію). Для створення стандартного модуля використовується об'єкт Модулі в списку об'єктів бази даних. Стандартний модуль або модуль класу можна створити при виборі відповідного рядка в списку нових об'єктів база даних. Модуль форми створюється і зв'язується з формою при створенні першої процедури обробки подій для цієї форми або одного з елементів управління форми або ж при натисканні кнопки Існують два типи модулів: стандартні модулі і модулі класу Переглянути код в режимі конструктора форми. Все сказане відноситься і до модулів звіту.

Найважливішою частиною об'єктно-орієнтованого програмування в MS Access є програмування доступу до даних, яке можливо завдяки використанню об'єктів DАО. За допомогою цих об'єктів, їх властивостей і методів можна створювати базу даних, змінювати структуру таблиць і запитів, встановлювати і змінювати зв'язки між даними, а також витягувати, додавати, видаляти і змінювати дані в базі MS Access. Об'єкти DAO дозволяють встановлювати зв'язок із базами даних з будь-яких додатків MS Office або працювати з даними файлів різних форматів (наприклад, MS Excel, dBase або Paradox), підключатися до баз даних на віддалених серверах і розробляти клієнт-серверні додатки, використовуючи джерела даних ODBC.

Питання для самоперевірки

  • Які основні функції баз даних?
  • Які існують типи організації баз даних?
  • Як організована реляційна база даних?
  • Перерахуйте об'єкти бази даних.
  • Вкажіть відмінності між таблицями і запитами, між формами і звітами.
  • Які об'єкти бази даних використовуються для зберігання даних?
  • Що таке поле таблиці?
  • Поняття записи таблиці.
  • Які типи полів допустимі в таблицях бази даних?
  • Які властивості полів дозволяють обмежити введення даних?
  • З якою метою використовуються екранні форми?
  • Перерахуйте способи створення форм.
  • Які розділи може містити форма?
  • Як заблокувати внесення змін до поля форми?
  • Які способи захисту даних існують в настільних СУБД (на прикладі Access)?
Які існують типи організації баз даних?
Як організована реляційна база даних?
Які об'єкти бази даних використовуються для зберігання даних?
Що таке поле таблиці?
Які типи полів допустимі в таблицях бази даних?
Які властивості полів дозволяють обмежити введення даних?
З якою метою використовуються екранні форми?
Які розділи може містити форма?
Як заблокувати внесення змін до поля форми?
Які способи захисту даних існують в настільних СУБД (на прикладі Access)?

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

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: