Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Таблиці. Якщо вам доводилося працювати з SQL, то ви знаєте, що таке таблиця






Якщо вам доводилося працювати з SQL, то ви знаєте, що таке таблиця. Якщо ви переходите на Visual Basic або Access c одній з традиційних систем управління базами даних, буде потрібно деякі пояснення. To, що в xBase вважається базою даних, в Access називається таблицею. У Visual Basic і Access таблиці складають лише частину компонентів, з яких складається база даних. Повноцінна база даних Access містить і інші об'єкти - інші таблиці, запити, форми і т. д. Таблиці не зберігаються в окремих файлах, а є невід'ємною частиною бази даних. Щоб відкрити таблицю, необхідно заздалегідь відкрити батьківську базу даних. Таблиці є найбільш важливим компонентом бази даних, саме в них зберігаються дані. Якщо вам не доводилося працювати з базами даних, але у вас є деякий досвід спілкування з Excel, можете розглядати таблицю як робочий лист. Якщо продовжити аналогію з електронними таблицями, рядки відповідають записам, а стовпці - полям. Я поясню сказане на прикладі простої таблиці.

Назва Автор
за п'ять хвилин Ф. Блоггз
Астрофізика для чайників Дж. Доуу
Як заробити мільярд Б. Гейтс

 

Якщо не рахувати назв стовпців, в таблиці є присутній три рядки, кожна з яких відноситься до окремої книги. Іншими словами, наша таблиця складається з трьох записів. Кожен запис має різні атрибути, або властивості - назву і ім'я автора. Полів всього два - " Назва" і " Автор". Зрозуміло, справжні бази даних містять набагато більше записів і складаються з більшої кількості полів.

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

Запити

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

1. Відкрийте приклад з підрозділу " Використання елементу даних".

2. У вікні властивостей заміните значення властивості RecordSource наступним: select * from [Authors] where [Author] = " Blaha, Stephen"

3. Виконаєте команду Run > Start.

Результат запиту виглядає так:

 

Ім'я автора Номер
Blaha, Stephen  

 

Результат запиту дуже схожий на таблицю; фактично він є підмножиною записів таблиці. У термінології Visual Basic і Access така підмножина називається " Динамічним набором". Дані, що входять в динамічний набір, насправді не існують - вони лише тимчасово витягаються з таблиці (чи таблиць), що цікавить вас, а при збереженні запиту записується лише критерій вибірки (у нашому прикладі критерій - це автор з ім'ям Stephen Blaha). Визначення " динамічний" означає, що при зміні таблиці склад набору може змінитися, але запит залишиться тим же. Оскільки динамічний набір є підмножиною записів існуючої таблиці, ви можете змінити що входять в нього дані - це приведе до зміни даних початкової таблиці. Слід врахувати, що на редагування даних в динамічних наборах накладаються деякі обмеження, наприклад забороняється вносити зміни, загрозливі цілісності даних. Наприклад, якщо таблиця з іменами авторів не повинна містити імен, що повторюються, ви не зможете створити новий запис для книги, написаної тим же автором.

Запити складають надзвичайно важливу частину Visual Basic і Access. Ви можете не лише змінювати дані в динамічному наборі, але і звертатися із запитом до самого запиту (сподіваюся, ви розумієте, що мається на увазі). Скажімо, якщо динамічний набір містить назви декількох книг, написаних Стівеном Блахом, критерій можна посилити і обмежити його однією-двома назвами. Виникає принципове питання - чом би не поставити назви книг на перше місце і не замінити два запити одним? Звичайно, це цілком допустимо, і більше того, в багатьох ситуаціях поступати слід саме так, Проте витонченість запитів Access якраз і полягає в тому, що послідовні запити дозволяють поступово звужувати динамічний набір і переглядати результати проміжних запитів. Запити стають " багатошаровими", а в багатьох ситуаціях саме це і потрібно.

Попутно виникає ще один, не менш важливе питання. Чи варто возитися із запитом, якщо ви можете проглянути таблиці і " вручну" вибрати з неї усі книги Стівена Блаха? Якщо таблиця складається всього з трьох записів, таке зауваження виглядає цілком обґрунтованим. Але якщо в базі зберігається декілька десятків, сотень і навіть тисяч записів, використання запитів дозволяє легко виділити інформацію, що цікавить вас. Зазвичай в запити входить інформація з декількох таблиць - це дозволяє переглядати і змінювати дані з логічно пов'язаних, але проте різних таблиць на одній формі Visual Basic.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.