- •Технікум промислової автоматики
- •«Затверджую»
- •5.05010101 «Обслуговування програмних систем і комплексів»
- •Пояснювальна записка
- •Функції самостійної роботи:
- •Види самостійної роботи:
- •Теми, які виносяться на самостійне вивчення:
- •Тема 1 «Файлові системи» План
- •Література
- •Структури файлів
- •Іменування файлів
- •Захист файлів
- •Області застосування файлів
- •Тема 2 «Компоненти середовища системи керування базами даних (скбд)» План
- •Література
- •Апаратне забезпечення
- •Програмне забезпечення
- •Процедури
- •Користувачі
- •Тема 3 «Трьохрівнева архітектура системи керування базами даних» План
- •Література
- •Тема 4 «Головні переваги та недоліки ранніх скбд» План
- •Література
- •Тема 5 «Об'єктно-орієнтована модель даних» План
- •Література
- •Недоліки об'єктно-орієнтованих баз даних:
- •Тема 6 «Фундаментальні властивості відношень в реляційній моделі даних» План
- •Література
- •1. Відсутність кортежів-дублікатів
- •2. Відсутність впорядкованості кортежів
- •3. Відсутність впорядкованості атрибутів
- •4. Атомарність значень атрибутів
- •Тема 7 «Обмеження цілісності за станом» План
- •Література
- •Тема 8 «Дванадцать правил е. Ф. Кодду» План
- •Література
- •Правило інформації
- •Правило гарантійного доступу
- •Правило підтримки недійсних значень
- •Правило дінамічного каталогу, заснованого на реляційній моделі
- •Правило вичерпної підмови даних
- •Тема 9 «Функціональна модель даних. Модель семантичних об’єктів» План
- •Література
- •Магазин
- •Продавец
- •Тема 10 «Аномалії оновлення в базі даних» План
- •Література
- •Відношення «Співробітники»
- •Відношення «Відділення»
- •Відношення «Співробітники в відділеннях»
- •1. Аномалії вставки
- •2. Аномалії знищення
- •Аномалії модифікації
- •Тема 11 «Історія створення та виникнення мови запитів sql. Основні поняття sql» План
- •Література
- •Тема 12 «Типи даних в sql. Робота з оператором Where» План
- •Література
- •Типи даних в sql
- •Обрання рядків з використанням оператора where
- •Тема 13 «Сортування результатів – оператор Order by» План
- •Література
- •Відношення «Співробітники»
- •Відношення «Об’єкт нерухомості»
- •Тема 14 «Організація реляційних баз даних. Створення бази даних в скбд Access» План
- •Література
- •Організація реляційних баз даних
- •1. Визначення мети створення бази даних
- •Визначення таблиць, які повинна містити база даних
- •Визначення необхідних в таблиці полів
- •Завдання індівідуальних значень кожному полю
- •Визначення зв’язків між таблицями
- •6. Відновлення структури бази даних
- •7. Додавання даних та створення інших об’єктів бази даних.
- •Створення бази даних в скбд ms Access
- •Створення таблиць та зв’язків між таблицями в скбд Access
- •Визначення полів
- •Визначення первинного ключу
- •Визначення властивостей полів
- •Символи масок внесення
- •Встановлення зв’язків між таблицями
- •Тема 15 «Створення запитів в скбд ms Access» План
- •Література
- •Типи запитів, які підтримуються в скбд ms Access
- •Тема 16 «Внутрішні запити» План
- •Література
- •Тема 17 «Використання ключових слів Any та All» План
- •Література
- •Тема 18 «Створення форм в скбд Access» План
- •Література
- •Приклад створення простої автоформи:
- •Приклад створення форми за допомогою «Мастера форм»:
- •Створення форм за допомогою режиму конструктора
- •Тема 19 «Створення фільтрів в скбд ms Access» План
- •Література
- •1.Фільтр по выделенному фрагменту
- •2. Використання поля «Фильтр для»
- •3. «Звичайний фільтр»
- •4. «Розширенный фільтр»
- •Збереження фільтру як запиту
- •Використання запиту в якості фільтру
- •Тема 20 «Створення звітів в скбд Access» План
- •Література
- •Тема 21 «Створення макросів в скбд Access» План
- •Література
- •Макрокоманди, їх призначення та аргументи:
- •Збереження макросів
- •Виконання макроса
- •Редагування макросів
- •Копіювання макросів
- •Тема 22 «Системний каталог» План
- •Література
- •Зміст системного каталогу
- •Тема 23 «Властивості компонента tadoTable» План
- •Література
- •Тема 24 «Методи компонента tadoTable» План
- •Література
- •Тема 25 «Керування відображенням даних» План
- •Література
Зміст системного каталогу
Кожна таблиця системного каталогу містить інформацію про окремий структурний елемент БД. В склад майже всіх комерційних реляційних СУБД входять, з невеликою різницею, системні таблиці, кожна з яких описує один з наступних п’яти елементів:
Таблиці. В каталозі описується кожна таблиця бази даних: вказується її ім’я, власник, кількість стовпців, які в ній містяться, їх розмір та т. д.
Стовпці. В каталозі описується кожен стовпець бази даних: приводиться ім’я стовпця, ім’я таблиці, до якої він належить, тип даних стовпця, його розмір, дозволені або ні значення null та т. д.
Користувачі. В каталозі описується кожен зареєстрований користувач бази даних: вказується ім’я користувача, його пароль в зашифрованому вигляді та інші дані.
Уявлення. В каталозі описується кожне уявлення, яке є в базі даних: вказуються його ім’я, ім’я власника, запит, який є визначенням уявлення, та т. д.
Привілегії. В каталозі описується набір привілегій, наданих в базі даних: приводяться імена тих, хто надав привілегії, та тих, кому вони надані, вказуються самі привілегії, об’єкт, на які вони розповсюджуються, та т. д.
Ось приклади декількох запитів, які використовуються для вилучення інформації про структуру бази даних з уявлень системного каталогу, визначених в стандарті SQL2:
Вивести імена всіх таблиць та уявлень користувача, який працює в теперішній момент з базою даних.
SELECT TABLE_NAME
FROM TABLES
Вивести ім’я, позицію та тип даних для кожного стовпця у всіх уявленнях.
SELECT TABLE_NAME, С.COLUMN_NAME, ORDINAL_POSITION, DATAJTYPE
FROM COLUMNS
WHERE (COLUMNS.TABLE_NAME IN (SELECT TABLE_NAME FROM VIEWS))
Визначити, скільки стовпців є в таблиці STUDENTS.
SELECT COUNT(*)
FROM COLUMNS
WHERE (TABLE_NAME = 'STUDENTS')
Контрольні питання:
Що розуміється під поняттям системного каталога?
Що повинна зробити СКБД для того, щоб опрацювати двотабличний оператор SELECT?
Які елементи описує кожна системна таблиця?
Тема 23 «Властивості компонента tadoTable» План
Властивості компонента TADOTable.
Призначення властивостей компонента TADOTable.
Література
Гофман В. Э. «Работа с базами данных в Delphi». Санкт-Петербург: БХВ. 2001 р.
Флёнов М. «Библия Delphi». 3-е издание. БХВ-Петербург 2011 г.
Рубанцев В. «Delphi в примерах, играх и программах». 2011 г.
Понамарёв В. «Базы данных в Delphi 7. Самоучитель». Питер. 2003 г.
Бобровский С. «Delphi 7. Учебный курс». Питер. 2004 г.
http://citforum.ru
Компонент TADOTable має безліч корисних властивостей. Більшість з них прості у використанні, тому щоб не писати безліч прикладів на їх використання, в цій темі коротко будуть описані основні з них.
MasterSource - в цій властивості вказується головна, по відношенню до поточної таблиці. Більш детально ця властивість буде розглядатися на практиці, коли будуть розглядатися пов'язані таблиці.
ReadOnly - якщо ця властивість дорівнює true, то таблицю не можна редагувати. В цьому випадку дані тільки відображаються. Обов'язково треба встановлювати цю властивість для тих таблиць, де дані не повинні змінюватися і користувач не повинен вносити в них зміни.
TableDirect - ця властивість відображає, який відбуватиметься доступ до таблиці. Якщо цей параметр дорівнює true, то відбуватиметься прямий доступ до таблиці за ім’ям. Якщо false, то непомітне для користувача буде відбуватиметься спеціальний SQL-запит до бази даних. Не усі бази даних дозволяють працювати через прямий доступ, тому ця властивість за умовчанням дорівнює false.
TableName - ім'я таблиці, дані якої треба обробляти.
CacheSize - розмір кеш пам'яті. Якщо встановити число 50, то при першому підключенні до таблиці компонент вибере перші 50 рядків і помістить їх в локальній пам'яті, що прискорить доступ до них.
CanModify - властивість схожа на ReadOnly і вказує на можливість редагування даних таблиці.
CommandTimeout - час очікування виконання команди. Коли компонент направляє команду базі даних, то він запускає таймер очікування, по завершенню якого (якщо команда не виконалася) відбувається повідомлення про помилку.
Connection - тут вказується компонент TADOConnection, через який відбувається підключення.
ConnectionString – рядок підключення до бази даних.
CursorLocation – розташування курсору, який зчитує дані та вказує поточну позицію в таблиці. Курсор може знаходитися на сервері або на машині клієнта.
CursorType – тип курсора. Можливий один з наступних варіантів:
- ctUnspecified розташування курсору не вказане
- ctOpenForwardOnly – курсор може рухатися тільки вперед.
- ctKeyset при цьому курсорі зміни, які будуть занесені одним користувачем, не будуть видні іншим підключеним до цієї таблиці. Якщо з однією таблицею працюють одночасно декілька користувачів, то при такому курсорі для відображення змін інших користувачів треба відключитися від бази та підключитися до неї знов.
- ctDynamic динамічний курсор, при якому зміни одного користувача бачать всі інші.
- ctStatic статичний курсор. Зміни одного користувача не можуть бачити інші.
Увага!!! Якщо курсор розташований на клієнтові, то можна використовувати тільки статичний курсор. Не усі типи курсорів можуть працювати з певною базою даних. Одна база даних може підтримувати один тип, а інша може підтримувати все.
Filter – рядок фильтру.
Filtered – є або ні таблица фільтруємою. Якщо встановити false, то рядок фільтру (filter) ігнорується.
IndexFieldNames – ім’я індексованої колонки. Індекси використовуються для сортування даних або для зв’язка між таблицями.
RecNo - номер поточного обраного рядка.
RecordCount – кількість рядків в таблиці.
Sort - рядок, в якому вказується тип сортування (за збільшенням або зменшенням).
Active – якщо ця властивість дорівнює true, то таблиця відкрита.
AggFields – тут зберігаються всі агрегатні поля.
AutoCalcFields – якщо тут true, то треба автоматично перераховувати поля.
Bof – на цю властивість впливати неможна, але якщо воно дорівнює true, то ми знаходимося в початку файлу.
Bookmark - тут знаходиться поточна закладка.
Eof - на цю властивість впливати неможна, але якщо воно дорівнює true, то ми знаходимося в кінці файлу.
FieldCount – тут зберігається кількість полів в таблиці.
Fields – через це поле можна отримати доступ до значень полів.
FieldValues – за допомогою цієї властивості можна легко отримати доступ до будь-якого значення вказаного поля. Ім’я поля треба вказувати в квадратних дужках. Наприклад, Table1.FieldValues[‘Телефон’]:='3346598';
FilterOption – налаштування фільтру. Тут можна вказувати наступні параметри:
- foCaseInsensitive фільтр буде не чутливий до регістра.
- foNoPartialCompare якщо стоїть цей параметр, то порівняння відбуватимуться з точною копією вказаного значення у фільтрі. Якщо параметр не вказаний, то у фільтр потраплятимуть рядки, що містять значення у фільтрі, але що не є його точною копією. Наприклад, якщо у фільтрі вказано показувати слова «са», то у фільтр потраплять усі слова що починаються на «са» (самокат, ….).
Modified – якщо ця властивість дорівнює true, то в таблицю були внесені зміни.
Контрольні питання:
Які властивості може мати компонент ADOTable?
Яке призначення має кожна властивість компонента ADOTable?
