Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Копіювання таблиці в іншу базу даних

Поиск

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

Индекс (англ. index) — объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет искать строки, удовлетворяющие критерию поиска. Ускорение работы с использованием индексов достигается в первую очередь за счёт того, что индекс имеет структуру, оптимизированную под поиск — например, сбалансированного дерева.

 

Некоторые СУБД расширяют возможности индексов введением возможности создания индексов по столбцам представлений[1] или индексов по выражениям.[2] Например, индекс может быть создан по выражению upper(last_name) и соответственно будет хранить ссылки, ключом к которым будет значение поля last_name в верхнем регистре. Кроме того, индексы могут быть объявлены как уникальные и как не уникальные. Уникальный индекс реализует ограничение целостности на таблице, исключая возможность вставки повторяющихся значений.Содержание [убрать]

1 Архитектура

2 Последовательность столбцов в составном индексе

3 Производительность

4 Ограничения

5 Редкий индекс

6 Примечания

 

[править]

Архитектура

 

Существует два типа индексов: кластерные и некластерные. При наличии кластерного индекса строки таблицы упорядочены по значению ключа этого индекса. Если в таблице нет кластерного индекса, таблица называется кучей[3]. Некластерный индекс, созданный для такой таблицы, содержит только указатели на записи таблицы. Кластерный индекс может быть только одним для каждой таблицы, но каждая таблица может иметь несколько различных некластерных индексов, каждый из которых определяет свой собственный порядок следования записей.

 

Индексы могут быть реализованы различными структурами. Наиболее частоупотребимы B*-деревья, B+-деревья, B-деревья и хеши.

Последовательность столбцов в составном индексе

 

Последовательность, в которой столбцы представлены в составном индексе, достаточно важна. Дело в том, что получить набор данных по запросу, затрагивающему только первый из проиндексированных столбцов, можно. Однако в большинстве СУБД невозможно или неэффективно получение данных только по второму и далее проиндексированным столбцам (без ограничений на первый столбец).

 

Например, представим себе телефонный справочник, отсортированный вначале по городу, затем по фамилии, и затем по имени. Если вы знаете город, вы можете легко найти все телефоны этого города. Однако в таком справочнике будет весьма трудоёмко найти все телефоны, записанные на определённую фамилию — для этого необходимо посмотреть в секцию каждого города и поискать там нужную фамилию. Некоторые СУБД выполняют эту работу, остальные же просто не используют такой индекс.

Производительность

 

Для оптимальной производительности запросов индексы обычно создаются на тех столбцах таблицы, которые часто используются в запросах. Для одной таблицы может быть создано несколько индексов. Однако увеличение числа индексов замедляет операции добавления, обновления, удаления строк таблицы, поскольку при этом приходится обновлять сами индексы. Кроме того, индексы занимают дополнительный объем памяти, поэтому перед созданием индекса следует убедиться, что планируемый выигрыш в производительности запросов превысит дополнительную затрату ресурсов компьютера на сопровождение индекса.

[править]

Ограничения

 

Индексы полезны для многих приложений, однако на их использование накладываются ограничения. Возьмём такой запрос SQL: SELECT first_name FROM people WHERE last_name = 'Франкенштейн';. Для выполнения такого запроса без индекса СУБД должна проверить поле last_name в каждой строке таблицы (этот механизм известен как «полный перебор» или «полный скан таблицы», в плане может отображаться словом NATURAL). При использовании индекса СУБД просто проходит по B-дереву, пока не найдёт запись «Франкенштейн». Такой проход требует гораздо меньше ресурсов, чем полный перебор таблицы.

 

Теперь возьмём такой запрос: SELECT email_address FROM customers WHERE email_address LIKE '%@yahoo.com';. Этот запрос должен нам найти всех клиентов, у которых е-мейл заканчивается на @yahoo.com, однако даже если по столбцу email_address есть индекс, СУБД всё равно будет использовать полный перебор таблицы. Это связано с тем, что индексы строятся в предположении, что слова/символы идут слева направо. Использование символа подстановки в начале условия поиска исключает для СУБД возможность использования поиска по B-дереву. Эта проблема может быть решена созданием дополнительного индекса по выражению reverse(email_address) и формированием запроса вида: select email_address from customers where reverse(email_address) like reverse('%@yahoo.com');. В данном случае символ подстановки окажется в самой правой позиции (moc.oohay@%), что не исключает использование индекса по reverse(email_address).

 

Редкий индекс

 

Редкий индекс (англ. sparse index) в базах данных — это файл с последовательностью пар ключей и указателей.[4] Каждый ключ в редком индексе, в отличие от плотного индекса, ассоциируется с определённым указателем на блок в сортированном файле данных. Идея использования индексов пришла оттого что современные базы данных слишком массивны и не помещаются в основную память. Мы обычно делим данные на блоки и размещаем данные в памяти поблочно. Однако поиск записи в БД может занять много времени. С другой стороны, файл индексов или блок индексов намного меньше блока данных и может поместиться в буфере основной памяти что увеличивает скорость поиска записи. Поскольку ключи отсортированы, можно воспользоваться бинарным поиском. В кластерных индексах с дублированными ключами редкий индекс указывает на наименьший ключ в каждом блоке.

 

 

Конструювання умов відбору записів у запитах

 

Конструктор запитів

Майстер запитів уміє конструювати тільки прості умови відбору. Щоб накласти додаткові обмеження, слід користуватися конструктором запитів, забезпечуючим повне управління параметрами запиту і побудова складних умов відбору даних.

1. Щоб перемкнутися в режим конструктора, виберіть команду Вигляд > Конструктор (View > Design View). Вікно конструктора показано на мал. 17.3. В його верхній частині відображаються списки полів таблиць, до яких звертається запит, і зв'язку між таблицями. Нижня область містить бланк вибору полів таблиць, умов відбору і режимів сортування. Щоб додати в запит ще одне поле, виконайте наступні кроки.

2. Перемістіть покажчик на пункт Ім'я таблиці Контакти.

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

4. В списку, що розкривається, третього осередку третього стовпця бланка виберіть пункт За збільшенням.

 

 

Редагування даних таблиць

 

ТАБЛИЦЯ – об’єкт, який Ви визначаєте і використовуєте для зберігання даних, тобто це поіменоване реляційне відношення, яке зберігає дані про певну сутність предметної області. Таблиця – основа будь-якої бази даних;

Розглянемо структуру таблиці. Більшість баз даних мають табличну структуру. Як ми знаємо, в табличній структурі адрес даних визначається перетином стрічок і стовпців. В базах даних стовпці називаються полями, а стрічки – записами. Поля формують структуру бази даних, а записи складають інформацію, яка в ній міститься. Кожна таблиця ідентифікується унікальним ім’ям, довжина якого може досягати 64 символи, крім того, всередині імені забороняється використовувати символи “!”, “.”, “[”, “]” чи “’”. Таке саме обмеження накладається на довжину полів. Обсяг бази даних в Access обмежений одним гігабайтом, тобто сумарний обсяг усіх таблиць та інструментальних засобів для роботи з ними не повинен перевищувати цього значення.

 

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

 

Поле — це мінімальна (але найважливіша) порція інформації в записі, над якою визначені операції введення, виведення, перетворення тощо. Воно має ім'я, значення, характеризується типом i низкою додаткових властивостей.

 

Нижче наведено приклади типів, назв i значень полів.

Назви полям дає користувач, назви типів є стандартні, а значення полів випливають зі змісту конкретної задачі.

 

Для зміни властивостей полів треба перейти в режим Конструктора клацнувши на кнопці Вид. Щоб вставити нове поле, треба встановити показник миші на маркер поля і натиснути клавішу INSERT. Щоб видалити поле, його треба виділити і натиснути клавішу DELETE. Закінчивши створення структури, можна клацнути на кнопці Вид і перейти в Режим таблиці для заповнення її даними.

 

Очевидною унікальною властивістю кожного поля є його Ім'я. Крім імені в полі є ще властивість Підпис. Підпис – це та інформація, що відображається в заголовку стовпця. Її не треба плутати з іменем поля, хоча якщо підпис не заданий, то в заголовку відображається ім'я поля. Різним полям, наприклад, можна задати однакові підписи. Це не перешкодить роботі комп'ютера, оскільки поля при цьому як і раніше зберігають різні імена.

 

Різні типи полів мають різне призначення і різні властивості.

 

1. Основна властивість текстового поля – розмір.

 

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

 

3. Поля для введення дат чи часу мають тип Дата/час.

 

4. Для введення логічних даних, що мають тільки два значення (Так чи Ні; 0 чи 1; Істина чи Неправда і т.п.), служить спеціальний тип – Логічне поле. Неважко догадатися, що довжина такого поля завжди дорівнює 1 байту, оскільки цього більш ніж досить, щоб виразити логічне значення.

 

5. Особливий тип поля – Грошовий. З назви ясно, які дані в ньому зберігають. Грошові суми можна зберігати й у числовому полі, але в грошовому форматі з ними зручніше працювати. У цьому випадку комп'ютер зображує числа разом із грошовими одиницями, розрізняє гривні і копійки, фунти і пенси, долари і центи, загалом, звертається з ними елегантніше.

 

6. У сучасних базах даних можна зберігати не тільки числа і букви, але і картинки, музичні кліпи і відеозаписи. Поле для таких об'єктів називається полем об'єкта OLE.

 

7. У текстового поля є недолік, зв'язаний з тим, що воно має обмежений розмір (не більше 256 символів). Якщо потрібно вставити в поле довгий текст, для цього служить поле типу МЕМО. У ньому можна зберігати до 65535 символів. Особливість поля МЕМО полягає в тому, що реально ці дані зберігаються не в полі, а в іншім місці, а в полі зберігається тільки покажчик на те, де розташований текст.

 

8. Дуже цікаве поле Лічильник. На перший погляд це звичайне числове поле, але воно має властивість автоматичного нарощування. Якщо в базі є таке поле, то при введенні нового запису в нього автоматично вводиться число, на одиницю більше, ніж значення того ж поля в попередньому записі. Це поле зручне для нумерації записів.

 

Отже, структура таблиці — це структура запису, тобто сукупність назв полів, їxніx типів та властивостей, визначених користувачем під час аналізу конкретної задачі. Структура визначає послідовність розташування даних у записі на фізичному носії i вигляд даних на екрані.

 

Рис. 2. Головне вікно програми Access.

 

Роботу з програмою Access розпочинають у головному вікні на закладці Таблиці зі створення структури командою Створити. Є декілька способів створення структури. Ми розглянемо такі два способи:

 

1. використання конструктора таблиці;

 

2. використання майстра бази даних.

 

Найчастіше структуру створюють командою Конструктор таблиці. Користувач у цьому випадку задає:

 

· назви полів методом введення назви;

 

· тип даних методом вибору типу з запропонованого списку;

 

· описи, які є необов'язковими;

 

· додаткові властивості (характеристики) полів (лише у разі потреби) методом заповнення таблиці властивостей:

 

· довжину поля;

 

· значення за замовчуванням;

 

· умови на значення, яке вводитимуть;

 

· формат поля;

 

·

 

 

індексованість.

 

Рис. 3. Вікно конструктора таблиці.

 

У найпростіших БД достатньо задати назви полів i зазначити їxнi типи, оскільки властивості фіксуються автоматично згідно з принципом замовчування.

 

Структуру будь-коли можна модифікувати. У раніше створену структуру нове поле вставляють командою Вставити → Рядки. Виокремлене поле вилучають командою Редагувати → Вилучити рядки. Можна змінити порядок розташування полів, перетягуючи їxнi назви вниз чи вгору.

 

Після створення структури вікно конструктора треба закрити зі збереженням таблиці у файлі на диску з деякою назвою: Оцінки, Зарплатня тощо.

 

Щоб увести дані в таблицю, її потрібно відкрити в режимі таблиці з головного вікна бази даних: Закладка Таблиці → Виберіть назву → Відкрити.

 

Дані в таблицю вводять звичайно з клавіатури (або через буфер обміну). Зовнішньо таблиця подібна до електронної. Ширину стовпців i висоту рядків змінюють методом перетягування розмежувальних ліній. Стовпці можна ховати чи показувати командою Формат → Заховати стовпець/Показати стовпець поля тощо. Щоб деякі стовпці не зміщувались під час перегляду широкої таблиці, їx фіксують на екрані командою Формат → Зафіксувати чи вивільняють — Формат → Вивільнити вci стовпці.

 

Контекстне меню стовпця дозволяє сортувати записи, копіювати, видаляти і переміщати стовпці, керувати їх шириною і режимом відображення.

 

Для створення стандартних баз даних є спеціальні засоби — майстри. Достатньо виконати вказівки майстра i структура бази даних готова.

 

Хід роботи

 

1. Запустіть програму для опрацювання бази даних Access.

 

2. Створіть нову базу даних з іменем файлу — вашим прізвищем: Прізвище БД1.

 

Діалогове вікно Access → Нова база даних → OK → Виберіть свою папку, дайте назву файлу → Створити.

 

3. Розгляньте головне вікно БД. Які закладки є у ньому? Активізуйте закладку Таблиці i виконайте команду Створити структуру.

 

4. Виберіть режим конструктора таблиці.

 

У вікні Нова таблиця виберіть режим Конструктор → OK — відкриється вікно конструктора таблиці.

 

5. Утворіть структуру бази даних.

 

Уведіть назви полів: Номер, Прізвище, Ім'я, Мат, Інф, Фіз, Літ, Мова (чи їм подібні згідно з умовою задачі).

 

Задайте типи полів, користуючись списком типів. Користуйтесь вертикальним прокручуванням робочого поля вікна конструктора, щоб переглянути всю структуру.

 

6. Закрийте вікно конструктора таблиці (але не переплутайте з вікном Access) i збережіть структуру таблиці на диску з деякою назвою, наприклад, Оцінки.

 

Закрити → Так → Дайте назву таблиці → ОК. Відмовтеся поки що від ключового поля.

 

7. Відкрийте створену таблицю для введення даних.

 

Натисніть на кнопку Відкрити в головному вікні БД, де таблиця Оцінки повинна бути вибраною.

 

8. Уведіть у таблицю дані протягом 10 хвилин. Якщо потрібно, зменшіть ширину стовпців.

 

9. Заховайте перший стовпець.

 

10. Поновіть перший стовпець на екрані.

 

11. Вилучіть другий запис з таблиці.

 

12. Доповніть таблицю ще двома записами.

 

13. Увімкніть панель інструментів Таблиця, якщо вона вимкнена.

 

Вигляд → Панелі інструментів → Таблиця.

 

14. Упорядкуйте введені записи за зростанням значень деякого поля.

 

Виокремте поле, клацнувши на назві, i натисніть на стандартній панелі на кнопку Впорядкування (Сортування) за зростанням. У якому полі виконали впорядкування?

15. Упорядкуйте записи за спаданням значень деякого поля.

 

Зауважимо, що в деяких старих локалізованих версіях програми впорядкування відбувається неправильно.

 

16. Модифікуйте структуру таблиці.

 

Перейдіть у режим конструктора структури. Натисніть на кнопку Вигляд або виконайте команду Вигляд → Конструктор. Змініть назву першого поля — напишіть її великими буквами. Зауважимо, що в dBase-системах змінна назви поля веде до втрати даних, а в цій програмі — ні.

 

17. Закрийте свою БД, зберігаючи дані на диску.

 

18. Використайте майстра для створення стандартної БД "Адресна книжка".

 

Файл → Створити нову БД → Перейдіть на закладку Бази даних → Виберіть Адресна книжка.mdz → ОК → Дайте назву файлові, наприклад, Прізвище БД2 → Створити. Як Ви назвали файл?

 

19. Спостерігайте за роботою майстра, який працюватиме за вас.

 

Натискайте на кнопку Далі.

 

Задаючи вигляд оформлення екрана, виберіть стиль Сутінки (але перегляньте й інші картинки-заставки). Які заставки Ви переглянули i яка найбільше сподобалася?

 

Коли майстер запитає про заголовок бази даних, уведіть: Адресна книжка i своє прізвище.

 

Натисніть на кнопку Готово i відкрийте створену БД, якщо вона не відкриється автоматично.

 

20. Розгляньте головну кнопкову форму i натисніть на кнопку введення даних.

 

21. Розгляньте створену БД, яка має вигляд форми на двох стopiнкax, i введіть дані в поля форми.

 

Індекси, дати i номери телефонів вводьте за американськими стандартами.

 

Скільки записів Ви ввели?

 

22. Погортайте записи форми.

 

Користуйтеся кнопками гортання, які є внизу форми.

 

23. Закрийте базу даних.

 

У головній кнопковій формі натисніть на кнопку Вихід.

 

24. Закінчіть роботу. Здайте звіти.

 



Поделиться:


Последнее изменение этой страницы: 2016-04-20; просмотров: 477; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.63.148 (0.01 с.)