Лабораторна робота №2, Створення бази даних в середовищі СКБД Microsoft SQL Server 2008
« НазадЗМІСТЛабораторна робота №2. 3 2.1. «Створення бази даних в середовищі СКБД Microsoft SQL Server 2008». 3 2.2. Від’єдання бази даних від сервера. 15 2.3. Під’єдання бази даних від сервера. 18 Лабораторна робота №2.2.1. «Створення бази даних в середовищі СКБД Microsoft SQL Server 2008»Мета лабораторної роботи: вивчити архітектуру та функціональні можливості сучасних реляційних СКБД на прикладі Microsoft SQL Server 2008 та набути практичних навичок створення бази даних в середовищі данної СКБД. Наведена нижче інструкція до лабораторної роботи показана на прикладі вирішення наступної задачі. Фірма спеціалізується на продажу автомобілів іноземного виробництва. Продажу організують менеджери фірми через філіали, що знаходяться у регіонах. Дані про характеристики автомобілів та їх наявність на складі ведеться централізовано, доступ до неї мають всі менеджери. При проектуванні БД врахувати наявність в ній таких атрибутів: код автомобіля (Kod_avto, Number(3) ), назва автомобіля (Name_avto, CHAR(10) ), код моделі (Kod_mod, Number(3) ), назва моделі (Name_mod, CHAR(10) ), код типу двигуна (Kod_dw, Number(3) ), об”єм двигуна (Litraz, Number(2,1) ), ціна (Cina, Number(6) ), наявність на складі (кількість) (Kol_S, Number(2) ), код філії (Kod_fil, Number(4) ), назва філії (Name_fil, CHAR(4) ), код регіону (Kod_reg, Number(2) ), назва регіону (Name_reg, CHAR(14) ), код менеджера (Kod_men, Number(3) ), ПІБ менеджера (Name_men, CHAR(10) ), дата продаж (Date_p, D(8) ) кількість продано (Kol_P, Number(1) ). ХІД РОБОТИ: Для створення БД в СКБД Microsoft SQL Server необхідно завантажити SQLServerManagementStudio (Пуск/Все программы/MicrosoftSQLServer 2008/SQLServerManagementStudio) – тонкий клієнт для роботи з MicrosoftSQLServer. У вікні, що зявиться (рис. 1) ннеобхідно вказати: - Тип сервера (Server type) – Database Engine/ - Ім’я сервера (Server name) – місце розташування Microsoft SQL Server. - Аутентифікація (Authentification) вказується метод авторизації. Є два віріанти: Database Authentication і Windows Authentication. Якщо був обраний метод авторизації DatabaseAuthentication, то в полях UserName і Password необхідно ввести відповідно ім’я користувача та пароль. При використанні методу WindowsAuthentication з’єднання із СКБД Microsoft SQL Server буде відбуватися з користувачем, який увійшов до ОС Windows. В обох випадках користувач повинен мати права на створення БД. Рис. 1 - Вікно з’єднання із Microsoft SQL Server Після заповнення всіх необхідних полів натисність Соединить (Connect). Якщо з’єднання пройшло успішно, то зліва у вікні Обозреватель объектов (ObjectExplorer) з’явиться структура SQLServer(Рис. 2). Рис. 2 - Вікно Microsoft SQL Server Management Studio після з’єднання із Microsoft SQL Server Для створення БД є два способи: через конструктор Object Explorer чи з використанням операторів Trasact-SQL. Перший спосіб створення БДчерез конструктор Object Explorer - натиснути праву кнопку мишки на рядку Базы данных (Databases) і обрати опцію Создать базу данных (NewDatabase). У наступному вікні в полі Databasename ввести ім’я нової БД та натиснути ОК (Рис. 3). Рис. 3 - Створення нової БД в середовищі Microsoft SQL Server Підтвердженням успішного створення БД буде поява назви вказаної БД серед списку баз даних Базы данных (Databases) (Рис.4). Рис. 4 - Результат створеної БД Переглянути створення БД AWTO за допомогою операторів мови Transact-SQL можна активізувавши опцію Сценарій в цьому ж вікні (див.рис. 5): Рис. 5 - Сценарій створення БД AWTO за допомогою операторів мови Transact-SQL Другий спосіб створення БДз використанням операторів Transact-SQL: CREATE DATABASE db_name [ON [PRIMARY] {file_spec1}, ….] [LOG ON {file_spec2}, ….] [COLLATE collaction_name] [FOR {ATTACH I ATTACH_REBUILD_LOG} ] Опція ON – задає всі файли БД явно. file_spec – задає додаткові опції такі як логічне ім’я файла, фізичне ім’я та розмір PRIMARY – задає перший найважливіший файл, який містить системні таблиці та іншу внутрішню інформацію про БД. Якщо ця опція відсутня, то перший файл у списку специфікацій використовується як первинний. LOG ON - визначає файл для розміщення протоколу трансакцій. Якщо опція LOG ON відсутня то протокол трансакцій створюється за змовчанням. COLLATE – задає порядок сортування БД. FOR {ATTACH I ATTACH_REBUILD_LOG} – вказує, що БД створена шляхом приєднання набору файлів операційної системи. Приклад створення бази даних без явних специфікацій USE master; CREATE DATABASE awto_N; Система за змовчанням створить два файли: логічний з іменем – avto_N, розмір 2 Мбайта і протокол трансакцій з іменем avto_N_log – розмір 1Мбайт. Максимальна кількість БД, яку може підтримувати SQL Server 2008 становить -32767. В базі даних для зберігання використовуються три типи файлів. Це первинні і вторинні файли та журнали трансакцій. База даних повинна обов’язково містити первинний файл і принаймі один журнал трансакцій. При необхідності можна створити один чи декілька вторинних файлів даних і додаткові файли журналів транзакцій. Первинні файли - містять інформацію запуску бази даних. Також в первинних файлах зберігаються дані. В кожній базі даних є один первинний файл даних. Вторинні файли – містять всі дані, які не помістилися в первинному файлі. Якщо первинний файл має великий розмір достатній для зберінання всієї бази даних, то в такій базі даних вторинні файли не використовуються. Журнали трансакцій містять дані, які необхідні для відновлення бази даних. В кожній базі даних повинен бути як мінімум один журнал трансакцій. Мінімальний розмір файла журналу дорівнює 512 КБ. Наступним кроком після створення БД буде створення таблиць бази даних AWTO. Імена таблиць повинні бути унікальними в одній базі даних, імена стовпчиків теж повинні бути унікальними в межах однієї таблиці. Таблиці також можна створювати двома способами: за допомогою конструктора та з використанням оператора CREATE TABLE. Створення таблиць за допомогою конструктора. 1. Для цього необхідно необхідно натиснути ліву клавішу мишки на імені бази даних і у меню, що з’явиться (рис. 6), вибрати опцію Создать таблицу (CREATE TABLE ) активізувавши правою кнопкую мишки Таблицы ( TABLE). Рис. 6 - Вікно виклику конструктора для створення таблиць 2. У вікні конструктора (рис.7) вводяться імена полів таблиці та їх формати, визначається поле первинного ключа, а також в колонці конструктора «Разрешить значение NULL» дається дозвіл чи заборона нульового значення. Рис. 7 - Вікно конструктора для створення таблиць Аналогічно створюємо таблицю «Довідник регіонів» 3. В нижній половині екрану конструктора зі створення таблиці в розділі «Свойства столбцов» вводиться опис ключового поля в «Спецификация идентификатора / (Идентификатор)» значення «Нет» змінюємо на «Да» для того щоб ідентифікатор коду регіону формувався автоматично. Властивість «Идентифицирующий столбец» (Identity), як правило використовується разом з типом даних int, призначена для автоматичного збільшення на одиницю значення відповідного ключа при дозапису кожного нового рядка в таблицю. Наприклад, регіон, добавлений в таблицю першим, буде мати значенння ідентифікатора - 1, другим – 2, третім – 3, і т.д. 4. Після закриття вікна конструктора вводиться ім’я таблиці. Створена таблиця появиться в дереві оглядача об’єктів в папці «Таблицы». Аналогічно проектуються всі інші таблиці БД. Обов’язковою умовою проектування БД є представлення її в нормалізованому вигляді. Для активізації сценарію створення таблиці на мові Transact-SQL необхідно правою кнопкою мишки в випадаючому меню вибрати: Создать сценарий для таблицы/Используя CREAT/ Новое окно редактора запросов(рис.8). Рис. 8 - Вікно для активізації сценарію зі створення таблиці «Довідник регіонів» (Avto) на мові Transact-SQL Сценарій зі створення таблиць Avto і REGION на мові Transact-SQL відображений відповідно на рис.9, 10. Рис. 10 - Сценарій створення таблиці REGION на мові Transact-SQL Параметр IDENTITY в CREATE TABLE Цей параметр використовується для автоматичного збільшення ідентифікаційного номера в таблиці. Побудова діаграми (схеми) БД. SQL Server підтримує зв’язки між таблицями 1:1 та 1:Б. Необхідною умовою зв’язування двох таблиць є наявність в них спільних атрибута, які представлені одинаковим типом і форматом. Батьківською таблицею є таблиця з первинними ключами, дочірньою – таблиця з відповідними вторинними (зовнішніми) ключами. Для створення діаграми необхідно активізувати опцію Создать диаграмму базы данных ( ), клікнувши правою кнопкою мишки по пункту меню Диаграммы баз данных ( ) (рис.11). Рис. 11 - Вікно для активізації створення діаграми БД Діаграма створюється за допомогою мишки, шляхом об’єднання первинних та вторинних ключів батьківської та дочірньої таблиці за умови що вони представлені одним типом та мають одинакові формати. Діаграма бази даних AWTO наведена на рис. 12. Рис. 12 - Діаграма бази даних AWTO Відмітивши мишкою дугу і активізувавши в меню Вид /Окно свойстваможна задати правила для операцій INSERT і UPDATE (рис.13). Рис. 13 - Вікно для активізації правил виконання операцій INSERT і UPDATE Правила (INSERT) – вказують на те, що відбудеться при спробі вилучити рядок, який задіяний у зв’язку з зовнішнім ключем. Можуть бути задані наступні варіанти цього правила: Нема дії. Повідомлення про те, що вилучення не можливе і інструкція DELETE не виконується. Каскад (CASCADE) - вказує на те, що вилучивши рядок з батьківської таблиці будуть вилучені всі рядки з дочірних (підпорядкованих) таблиць, які мають відповідне значення вторинного (зовнішнього) ключа. Присвоїти NULL. Задає значеня NULL, якщо всі зовнішні ключі можуть вміщувати значення NULL. Присвоїти значення за змовчанням - Задає значення за змовчанням, якщо всі зовнішні ключі в таблиці мають значення за змовчанням. Правила внесення змін UPDATE –вказують на те, що відбудеться при спробі змінити рядок, який задіяний у зв’язку з зовнішнім ключем. Можуть бути задані наступні варіанти цього правила: Нема дії. Повідомлення про, що оновлення не можливе і інструкція UPDATE не буде виконана. Каскад. Оновлює всі відповідні зв’язані поля, які містять дані, що приймають участь у зв’язку з зовнішнім ключем. Тобто зміна значення первинного ключа в батьківській таблиці по каскаду призведе до зміни відповідних вторинних ключів у дочірних таблицях. Присвоїти NULL. Задає значення NULL, якщо зовнішні ключі можуть вміщувати значення NULL. Присвоїти значення за змовчанням. Задає значення за змовчанням, якщо всі зовнішні ключі в таблиці мають значення за змовчанням. Завдання для лабораторної роботи 1. Створити таблиці та побудувати діаграму (схему ) БД в середовищі СКБД Microsoft SQL Server з використанням SQL Server Management Studio. 2. Після створення діаграми БД, запроектованої за індивідуальним завданням, її необхідно завантажити тестовим (контрольним) прикладом, який буде використаний для реалізації запитів до БД в лабораторній роботі №3. Примітка. В першу чергу завантажуються таблиці довідники, що не мають вхідних дуг. Кожна таблиця оперативної інформації повинна містити 30-40 рядків для можливості опрацювання всіх запитів. Для створення резервної копії учбової БД з метою перенесення її на інший компьютер чи відновлення у разі її руйнування необхідно спочатку від’єднати БД від сервера. Сценарій виконання процедури від’єднати наведено в п.2.2. 2.2. Від’єдання бази даних від сервераДля визначення, де фізично зберігається БД, яку ми хочемо від’єднати активізуємо на відповідній БД опцію Свойства (Properties) (рис.14). З’явиться наступне вікно, в якому активізуємо закладинку Файли (Files) (рис.15). Рис. 14 - Вікно активізації параметрів для від’єднання від сервера Рис. 15 - Вікно властивостей бази даних Рис. 16 - Вікно після активізації параметра Файли (Files) В цьому вікні зберігається шлях (Peth) до нашої бази даних. Запам’ятаємо цей шлях і натиснемо Отмена (Cancel) (рис.17). Знову встановлюємо мишку на БД, яку хочемо від’єднати, активізуємо: Задачи (Tasks) /Отсоединить (Detach…) (рис.18).
Рис. 17 - Вікно, в якому вказано директорію, де зберігається база даних, яку будемо від’єднувати Рис. 18 - Вікно для активізації від’єднання БД від сервера У новому вікні (рис.19), активізуємо перемикач Удалить соединение (Drop Connections), для того щоб від’єднати будь-які можливі з’єднання з базою даних і тиснемо ОК. База даних зникне з переліку БД SQL Server.
Рис. 19 - Вікно для вилучення з’єднання БД з сервером 2.3. Під’єдання бази даних від сервераАктивізуємо БД і вибираємо опцію Присоединить (Attach) (рис.20). У наступному вікні (рис.21),натиснувши кнопку добавить, вибираємо базу даних, яку необхідно під’єднати бо сервера і тиснемо ОК. Рис. 20 - Вікно для активізації під’єднання БД з сервером Рис. 21 - Вікно для вибору БД, яку під’єднуємо до сервера У наступному вікні (рис.22) «Присоединение баз данных» тиснемо ОК і наша БД буде під’єднана до сервера. Рис. 22 - Вікно під’єднання бази даних до сервера Для того щоб БД, приєднання якої виконувалось, з’явилась у переліку БД SQL Server, необхідно активізувавши правою кнопкою мишки Бази даних вибрати операцию відновити (див. рис.23). Рис. 23 - Вікно оновлення БД З повагою ІЦ "KURSOVIKS"! |