Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

FROM Tovary




WHERE Kod T LIKE “$_A $ % $$ B_C %”

ESCAPE “$”


Лекція №16. Файлова система. Методи доступу до даних. Оператори SQL для вставки, знищення редагування даних.

Оператори визначення даних дозволяють створювати і видаляти таблиці, змінювати визначення таблиць і додавати правила цілостності.

Створення таблиць.

CREATE TABLE students (surname char(20), name char(10), faculty char(30));

При запуску цього запиту створюється таблиця з ім‘ям students, в якій є поля surname, name, faculty текстового типу.

Вилучення таблиць.

DROP TABLE students

При запуску цього запиту таблиця students знищується.

Оператори маніпулювання даними використовуються для видалення, додавання та пошуку записів в таблицях.

 

Додавання записів.

Щойно створену таблицю students можна заповнити даними.

 

INSERT INTO students

VALUES (“Simpson”, “Bart”,”DKT”)

 

Інструкція VALUES вставляє в таблицю students один рядок, параметри VALUES: VALUES (“Simpson”, “Bart”,”DKT”) записуються у відповідні поля таблиці.

 

Модифікація даних.

UPDATE students

SET name=”Petya”

 

 

Видалення даних.

DELETE FROM students.db

WHERE faculty=”DKT”

Цей запит видаляє всі записи в таблиці, що відповідають обмеженням, заданих інструкцією WHERE. В даному випадку з таблиці students видаляється один рядок.

Пошук даних.

Вибір даних з таблиці здійснюється за допомогою інструкції SELECT.

SELECT surname, name

FROM students

WHERE faculty=’DKT’


Лекція №17. Обмін даними між зовнішним пристроєм та оперативною пам’яттю. Індексування. Хешування.

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

Процес пошуку і представлення даних користувачу виконується в декілька етапів.

Організація доступу до даних

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

Для організації зберігання даних застосовується технологія кластерізації - фізично близьке розташування записів у просторі пам'яті середовища зберігання БД.

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

Компоненти системи БД, які призначені для зберігання даних, мають різну ємкість і різну швидкість доступу до даних.

Xеш-пам'ять - швидка буферна пам'ять відносно невеликого розміру, яка зберігає останні дані до яких виконувався доступ. Вона реалізується апаратними або програмно-апаратними засобами.

Віртуальна пам'ять - це пам'ять, яка моделюється за допомогою апаратних засобів і програмного забезпечення. Вона дозволяє користувачу оперувати з об'ємами даних, які значно перевершують простір пам'яті, що виділяється в оперативній пам'яті, таким чином нібито вони знаходились в оперативній пам'яті.

Організація зберігання даних має таку ієрархію:

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

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

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

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

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

Залежно від організації індексної і основної області розрізняють два типи файлів: зі щільним індексом і з розрідженим індексом. Щільний індекс вміщує індексні записи для всіх значень ключа пошуку в даному файлі. Розріджений індекс вміщує індексні записи тільки для деяких значень ключа пошуку в даному файлі.

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

В індексних файлах зі щільним індексом для кожного запису в основній області існує один запис з індексної області. Всі записи в індексній області впорядковані за значенням ключа. Файли зі щільним індексом називаються індексно-прямими файлами.

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

Розріджений індекс будується для впорядкованих файлів. Файли з розрідженим індексом називаються індексно-послідовними файлами.

Індекси доцільно створювати но стовнцю або групі стовпців у таких випадках:

часто виконується пошук у БД за атрибутами, які перелічені в умові WHERE оператора SELECT; часто виконується об'єднання таблиць за певними атрибутами;

часто виконується сортування таблиць (використання ORDER BY в операторі SELECT).

Індекси не доцільно створювати по стовпцю або групі стовпців у таких випадках:

рідко використовуються для пошуку; містять значення, які часто змінюються, що призводить до частого оновлення індексу і, відповідно, уповільнює роботу;

містять незначну кількість значень. Як правило в БД визначають два види індексів:

індекси, які використовуються запитами для доступу до даних;

індекси, які забезпечують посилкову цілісність між таблицями.

 

 

Лекція №18. Основні правила організації розподілених СКБД. Архітектура БД типу клієнт-сервер.

Якщо з БД працюють одночасно декілька користувачів, то в цьому випадку СУБД повинна забезпечувати коректну паралельну роботу всіх користувачів над одними і тими ж даними. Розрізняють розподілену обробку і розподілені БД.

Режими роботи з базою даних

Розподілена обробка - це обробка з використанням централізованої бази даних, доступ до якої може виконуватись з різних комп'ютерів мережі. Ця топологія часто називається "клієнт-сервер". В цій системі одні вузли - клієнти, а інші - сервери.

Структура інформаційної системи: а - розподілена обробка; б - розподілена база даних

 
 

 

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

Клієнт - це процес, який посилає запит на обслуговування.

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

Розподілена СУБД - це програмна система, яка призначена для управління розподіленими базами даних і яка виконується, і СУБД фіксує зміни БД, які були зроблені цією транзакцією, у зовнішній пам'яті, або, у разі невдачі, жодна зміна не відображається на стані БД. Транзакція розглядається як логічна одиниця роботи з БД. Для того, щоби використання механізмів обробки транзакцій дозволило забезпечити цілісність даних й ізольованість користувачів, транзакція повинна мати такі властивості: атомарність (Atomicity), узгодженість (Cosistency), ізольованість (Isolation), довготерміновість (Durability). Транзакції, які мають ці властивості називаються ACID-транзакціями. Властивості транзакції означають таке:

атомарність означає, що транзакція виконується, як єдина операція доступу до БД і виконується або повністю або не виконується зовсім; узгодженість гарантує взаємну цілісність даних, тобто виконання обмежень цілісності БД після завершення роботи транзакції;

ізольованість означає, що транзакції, які конкурують за доступ до БД, фізично обробляються послідовно, ізольовано одна від одної, але для користувачів це виглядає так, ніби вони виконуються паралельно; довготерміновість означає, що коли транзакція виконана успішно, то всі зміни, які вона зробила в даних, не будуть втрачені ні за яких обставин. Для обробки паралельних транзакцій застосовується серіалізація транзакцій і метод тимчасових міток.

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

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

Для підвищення ступеня паралельності доступу декількох користувачів до однієї БД використовуються такі блокування:

- нежорстке блокування або роздільне блокування (Shared - S-блокування); об'єкт блокується для виконання операції читання; об'єкти в цьому випадку не змінюються у ході виконання транзакції і доступні іншим транзакціям також, але тільки в режимі читання;

- жорстке блокування або монопольне (eXclusive -X-блокування); об'єкт блокується для виконання операції запису, модифікації або вилучення. В цьому випадку виконується монопольне блокування об'єкта і об'єкт залишається недоступним іншим транзакціям до моменту завершення роботи даної транзакції.

 


Лекція №19. Управління доступом в MS SQL Server. Планування доступу.

Система безпеки SQL Server 2000 базується на користувачах і облікових записах. Користувачі проходять наступні два етапи перевірки системою безпеки. На першому етапі користувач ідентифікується по імені облікового запису і паролю, тобто проходить аутентифікацію. Якщо дані введені правильно, користувач підключається до SQL Server. Підключення до SQL Server, або реєстрація, не дає автоматичного доступу до баз даних. Для кожної бази даних сервера реєстраційне ім'я (або обліковий запис — login) повинне відображатися в ім'я користувача бази даних (user). На другому етапі, на основі прав, виданих користувачеві як користувачеві бази даних (user), його реєстраційне ім'я (login) отримує доступ до відповідної бази даних. У різних базах даних login одного і того ж користувача може мати однакові або різні імена user з різними правами доступу.

Для доступу програм до баз даних їм також знадобляться права. Найчастіше програмам видаються ті ж права, які надані користувачам, що запускають ці програми. Проте для роботи деяких програм необхідно мати фіксований набір прав доступу, не залежних від прав доступу користувача. SQL Server 2000 дозволяє надати такі права із застосуванням спеціальних ролей програми.

Отже, на рівні сервера система безпеки оперує наступними поняттями:

· аутентифікація (authentication);

· обліковий запис (login);

· вбудовані ролі сервера (fixed server roles).

На рівні бази даних використовуються наступні поняття:

· користувач бази даних (database user);

· фіксована роль бази даних (fixed database role);

· призначена для користувача роль бази даних (users database role);

· роль програми (application role).

2.1. Режими аутентифікації

SQL Server 2000 може використовувати два режими аутентифікації користувачів:

· режим аутентифікації засобами Windows (Windows Authentication);

· змішаний режим аутентифікації (Windows Authentication and SQL Server Authentication).

Змішаний режим дозволяє користувачам реєструватися як засобами Windows NT, так і засобами SQL Server. Крім того, цей режим пропонує деякі зручності в порівнянні з першим. Зокрема, при аутентифікації тільки засобами домену Windows, якщо користувач не має облікового запису в домені Windows, то він не зможе дістати доступ до сервера баз даних. Змішаний режим аутентифікації дозволяє уникнути цієї проблеми.

При виборі режиму аутентифікації слід виходити як з вимог забезпечення найбільшої безпеки, так і з міркувань простоти адміністрування. Якщо організація невелика і посади адміністратора мережі і адміністратора баз даних суміщає одна людина, то зручніше використовувати аутентифікацію Windows. Якщо ж в організації сотні користувачів і функції системного адміністратора і адміністратора баз даних виконують різні люди, то може з’ясуватися, що аутентифікація засобами SQL Server зручніше. Інакше людині, що займається адмініструванням сервера баз даних, доведеться постійно звертатися до системного адміністратора для створення нового користувача, зміни пароля або для переводу користувача з однієї групи в іншу. До того ж системний адміністратор матиме можливість призначати права доступу на свій розсуд, а це зовсім ні до чого.

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

Мова йде тільки про право підключення користувача до сервера баз даних. Після реєстрації користувача в SQL Server спосіб перевірки прав доступу до конкретної бази даних однаковий для обох режимів аутентифікації.

Режим аутентифікації SQL Server

Для установки з'єднання з сервером SQL Server 2000, що знаходиться в домені, з яким не встановлені довірчі відносини, можна використовувати аутентифікацію SQL Server. Аутентифікація SQL Server також використовується, коли взагалі немає можливості реєструватися в домені. Наприклад, при підключенні до SQL Server 2000 по Інтернету.

При роботі з аутентифікацією SQL Server доступ також надається на основі облікових записів. Але в цьому випадку використовуються облікові записи SQL Server, а не Windows.

Для аутентифікації засобами SQL Server член стандартної ролі сервера sysadmin або securityadmin повинен створити і сконфігурувати для користувача обліковий запис, в який входить ім'я облікового запису, унікальний ідентифікатор SQL Server і пароль. Вся ця інформація зберігатиметься в системній базі master. Створюваний обліковий запис не має відношення до облікових записів Windows.

У цьому режимі при спробі користувача дістати доступ до SQL Server, сервер сам перевіряє правильність імені користувача і пароль, порівнюючи їх з даними в системних таблицях. Якщо дані, введені користувачем, співпадають з даними SQL Server, користувачеві дозволяється доступ до сервера. Інакше спроба доступу відхиляється і видається повідомлення про помилку.

Аутентифікація SQL Server може застосовуватися в наступних випадках:

· для користувачів Novell NetWare, Unix і т. д.;

· при підключенні до SQL Server 2000 через Інтернет, коли реєстрація в домені не виконується;

· під управлінням операційної системи Windows 98.

В цьому випадку адміністратор SQL Server 2000 сам повинен періодично попереджати користувачів про необхідність змінити пароль, щоб забезпечити систему від несанкціонованого доступу, оскільки на відміну від Windows NT, в SQL Server відсутні подібні засоби системи безпеки.

В більшості випадків обліковий запис в SQL Server створюється з метою надання доступу. Але бувають ситуації, коли необхідно заборонити доступ користувачеві або групі. Наприклад, за наявності складної системи безпеки Windows NT доступ зазвичай надається групі користувачів. Проте якщо в групі є людина, якій не можна надавати доступ до SQL Server, його необхідно прибрати з цієї групи. Але такий підхід незадовільний, якщо група призначена не тільки для об'єднання користувачів, що мають доступ до SQL Server, але має ще і якісь додаткові функції. SQL Server дозволяє створити обліковий запис з метою заборони доступу. Це гарантує, що користувач ніяким чином не зможе встановити з'єднання з сервером. Створивши групу Windows і заборонивши їй доступ до SQL Server, можна буде включати в неї користувачів, яким необхідно відмовити в доступі.

Після установки SQL Server створюються дві стандартні облікові записи BUILTINNAdministrators і sa:

BUILT INNAdministrators — це обліковий запис Windows NT, що забезпечує автоматичний доступ всім членам групи Administrators до SQL Server. Обліковий запис BUILTINNAdministrators за умовчанням є членом вбудованої ролі сервера sysadmin. Таким чином, системні адміністратори дістають повний доступ до всіх баз даних. За ситуації, коли функції системного адміністратора і адміністратора баз даних виконують різні люди, швидше за все, слід виключити цей обліковий запис з ролі sysadmin, а можливо, і взагалі видалити.

sa — це спеціальний обліковий запис SQL Server для адміністратора. За умовчанням він привласнений вбудованій системній ролі сервера sysadmin і не може бути змінений. Цей обліковий запис збережений в цій версії SQL Server для збереження сумісності із програмами, написаними для попередніх версій. Хоча sа і має адміністративні права, її не рекомендується використовувати в SQL Server 2000. Замість цього слід створити нових користувачів і включити їх в адміністративну групу sysadmin. Обліковий запис sа потрібно залишити на крайній випадок, коли облікові записи адміністраторів виявляться недоступними або буде загублений пароль.

В процесі установки SQL Server 2000 майстер установки пропонує ввести пароль для облікового запису sa, але він також може бути залишений і порожнім. В цьому випадку слід обов'язково встановити новий пароль відразу ж після установки. У попередніх версіях не було можливості встановлювати пароль облікового запису sa під час установки сервера, і цей пароль завжди був порожнім.




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 617; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.