1. Що таке уявлення? -
Уявлення - це віртуальна ица, вміст якої визначається запитом. Подібно цій таблиці, уявлення складається з набору ічонованних стовпців і рядків ащіх дані, проте воно не зберігається в базі даних. Утворюють уявлення і рядки беруться з таблиць, на які запит, уявлення. Формування рядків і стовпців уявлення здійснюється динамічно при посиланні на нього. Як уявлення для конкретизації, спрощення та налаштування бази для користувача. функціонує як фільтр дл ЛНЦ, що лежать в його основі. Запит, що визначає уявлення, може сс1латься на одну або кілька таблиць і поданні з поточної або з інших баз даних. уявлення визначають засобами розподілених запитів, що використовують дані нз кількох гетерогеннтх джерел.
2. Які функції дозволяють випзлніі. уявлення?
Уявлення дозволяють виконувати кілька функцій:
обмежувати доступну користувачеві область таблиці певними рядками і /
об'єднувати стовпці із11еско.1Ькіх таблиць, представляючи їх в ввде єдиної таблиці;
замінювати детальні відомості агрегованими.
3. В яких використовують
Існує безліч способів використання уявлень: конкретних даних; маніпулювання даними;
настройка вилучення даних; експорт і імпорт даних;
об'єднання секціонірованнтх даних.
4. Назвіть принаймні п'ять які слід враховувати при створенні уявлень.
Необхідно враховувати наступні обмеження:
уявлення можна створювати тільки в поточній БД. Тим часом учениці та подання, на які посилається створюване уявлення, можуть перебувати в інших БД і навіть на інших серверах, якщо визначається за допомогою розподіленого запиту;
імена уявлень повинні відповідати правилам ленним для ідентифікаторів, і повинні бути для кожного Крім того, ім'я уявлення не має збігатися з ім'ям жодної іншої таблиці, якою володіє користувач, який створює уявлення;
можна створювати тавления. із застосуванням інших уявлень і процедур, сси-
з уявленнями пов'язувати правила і визначення DEFAULT;
до подання дозволено прив'язати тригери INSTEAD OF, але неАРГЕН;
в запитах да1Я10ші.х уявлення, не повинно побут укіій ORDER BY,
COMPUTE, COMPUTE BY і ключових слів INTO;
на уявленнях не можна створювати повнотекстові індекси;
заборонено створення тимчасових уявлень, як і уявлень на основі тимчасових таблиць;
не можна видаляти таблиці або подання, задіяні поданні, створеному з конструкції поки це подання не буде видалено або танез бгть прив'язаним до схеми (в результаті зміни). Крім того, заборонено виконання оператх) ра ALTER TABLE для таблиці, задіяної в поданні, прив'язаному до схеми;
не можна виконувати повнотекстові запити до подання. Однак визначення уявлення може включати повнотекстовий запит, якщо він ссьглается на таблицю, налаштовану для повнотекстового індексування.
5. Які інструменти для створення уявлень є в SQL Server?
Enterprise Manager і оператор rransact-SQL CREATE VIEW.
6. Де зберігаються результуючі набори стандартних ованних уявлень? Результуючі набори стандартних уявлень створюються динамічно при зверненні до подання. Результуючі набори індексірованн1х поданні зберігаються в БД.
7. Якого типу індекс слід створити вим при створенні індексованого подання?
Унікальний кластерний індекс.
8. Який оператор (або оператори мови Transact-SQL мьзуется дл шення визначення уявлення або для видалення його з БД?
Для зміни уявлення застосовується оператор ALTER VIEW, а для видалення DROP VIEW.
USE Northwind SELECT *
Який оператор (або оператори мови Transact-SQL) для
і видалення даних через подання? Для оновлення - INSERT, для модифікації - UPDATE, а для видалення - DELETE.
Яким умовам має відповідати щоб через нього можна було
Подання має соответх; твовать наступним вимогам:
в конструкції FROM визначення в ліні я міститься принаймні одна таблиця. Подання не може бути засноване тільки на вираженні;
в списку вибору не використовуються агрегує функції (AVG, COUNT, SUM, MIN, MAX, KULIINC, STDEV, S ШEVP. VAR і VARP) і конструкції GROUP BY, UNION, DISTINCT, TOP. Однак агрегує функції дозволяється застосовувати в підзапиті, визначеному в конструкції FROM за умови, чт аеіие ними значення не змінюються;
в списку вибору не використовуються проізводнге слбцг - результуючий набір стовпців, утворений не за допомогою простгх ссглок на стовпці. а інакше.
12. Яке уявлення вважається оновлюваних Секціонірованние?
вважається оновлюваних Секціонірованние, якщо воно визначено з гою операторів SELECT, результуючі набори которгх об'єднаний! за допомогою оператора UNION ALL. Кожен оператор SELECT посилається на одну з базових таблиць
SQL Server. Ця таблиця може бути як локальної, так і пов'язаної. На таблиці посилаються за допомогою понеіч іt.f імен, а також функцій OPENROWSET або OPENDATASOURCE (але не можна використовувати функцію OPENROWSET або OPENDATASOURCE, задану транзитний запит).
3. Який індекс відображає порядок сортування таблиці Customers?
Індекс PK Customers - кластерний. Якщо таблиця містить кластерний індекс, порядок її сортування збігається дком сортування кластерного індексу.
4. Чи є в таблиці Customers складі. індекс?
Ні, таблиця Customers не містить складеного індексу - кожен її індексний ключ побудований на одному стовпці.
► - Виконання запитів тслютр плану виконання
6, Чому оптимізатор запитів цьому випадку індекс City, а не некластерние індекс City - покриває індекс для даного запиту. Індексним ключем цього індексу є стовпець City. Листовий рівень реву некластерного індексу є індексним ключем кластерного
Вправа 2. Створення орного індексу
► Створення некластерного індексу
7. Чому оптимізатор запитів не використав кластерний індекс Books pk? Індекс IdStatus вирішальним індекс даного запиту. Ключ індексу містить стовпці Title і Sold. Закладкою некластерного індексу є Еш, оскільки кластерний індекс Boohspk використовує TitlelD.
1. Чи може кластерний індекс мул. також унікальним?
Так, унікальні еке може бгть визначено як кластерний або некластерние. Якщо для таблиці, яка не має кластерного індексу, задається обмеження PRIMARYKEY, SQE Server автоматично створює для лого первинного ключа кластерний унікальний індекс.
2. ііе Customers їсть сте;) Н, 1й індекс у стовпці з первинним ключем (Ciisio-merlD) і некластерние індекс у стовпці LastName, буде некластерние індекс
SELECT stomerlD F <0М Customers Ж LastName LIKE ne]
Так, некластерние індекс стовпець LastName в якості свого індексного клю-
ча, і індексні сторінки на рівні В-дерева використовують кластерний індекс-
ний ключ CustomeriD. Отже, некластерние індекс покриває всі одержима запиту.
3. Чи завжди складовою ключ індексу входить в покриває індекс?
Ні, що покриває індекс повинен містити єдиний стовпець. індекс вважається
покриває, коли результуючий набір запиту повністю забезпечується індексом.
Отже, запит єдиного стовпця покривається індексом, цей
стовпець як індексний ключа.
4. Як глобальні 11і1 .-- т заповнення впливає на існуючі вдекси і на нові індекси, для яких немає м. Коефіцієнт заповнення?
Глобальний коефіцієнт заповнення яе г на індекс, при створенні якого не використовується конструкція FILLFACTOR, Якщо ви зміните значення глобального коефіцієнта