Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.Б.Д / лекции / 4БД.doc
Скачиваний:
28
Добавлен:
30.05.2020
Размер:
115.2 Кб
Скачать

4. Лекція

ТЕМА: Створення бази даних і проектування таблиць

МЕТА: Визначити процес створення бази даних. Описати оператори створення, зміни бази даних. Розглянути можливість вказівки імені файлу або декількох файлів для зберігання даних, розмірів і місцеположення файлів. Проаналізувати оператори створення, зміни, видалення призначених для користувача таблиць. Навести опис параметрів для оголошення стовпців таблиці. Дати поняття і характеристика індексів. Розглянути оператори створення і зміни індексів. Визначити роль індексів в підвищенні ефективності виконання операторів SQL.

ПЛАН

1 База даних

1.1 Створення бази даних

1.2 Створення бази даних в середовищі MS SQL Server

1.3 Зміна бази даних

1.4 Видалення бази даних

2 Таблиця

2.1 Створення таблиці

2.2 Зміна таблиці

2.3 Видалення таблиці

2.4 Індекси

2.5 Створення індексу

2.6 Видалення індексу

1 База даних

1.1 Створення бази даних

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

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

Стандарт SQL залишає за розробниками СУБД право вибору конкретного механізму створення і знищення каталогів, проте механізм створення і видалення схем регламентується за допомогою операторів CREATE SCHEMA і DROP SCHEMA. В стандарті також вказано, що в рамках оператора створення схеми повинна існувати можливість визначення діапазону привілеїв, доступних користувачам створюваної схеми. Проте конкретні способи визначення подібних привілеїв в різних СУБД розрізняються.

В даний час оператори CREATE SCHEMA і DROP SCHEMA реалізовані в дуже небагатьох СУБД. В інших реалізаціях, наприклад, в СУБД MS SQL Server, використовується оператор CREATE DATABASE.

1.2 Створення бази даних в середовищі ms sql Server

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

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

<визначення_бази_даних> ::=

CREATE DATABASE ім’я_бази_даних

[ON [PRIMARY]

[ <визначення_файла> [,...n] ]

[,<визначення_групи> [,...n] ] ]

[LOG ON {<визначення_файла>[,...n]} ]

[FOR LOAD | FOR ATTACH ]

Розглянемо основні параметри представленого оператора.

При виборі імені бази даних слід керуватися загальними правилами іменування об'єктів. Якщо ім'я бази даних містить пропуски або будь-які інші неприпустимі символи, воно береться в подвійні лапки або квадратні дужки. Ім'я бази даних повинне бути унікальним в межах серверу і не може перевищувати 128 символів.

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

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

Параметр PRIMARY визначає первинний файл. Якщо він опущений, то первинним є перший файл в списку.

Параметр LOG ON визначає список файлів на диску для розміщення журналу транзакцій. Ім'я файлу для журналу транзакцій генерується на основі імені бази даних, і в кінці до нього додаються символи _log.

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

<визначення_файла>::=

([NAME=логічне_ім’я_файла]

FILENAME=фізичне_ім’я_файла

[,SIZE=розмір_файла ]

[,MAXSIZE={max_розмір_файла |UNLIMITED }]

[, FILEGROWTH=величина_приросту ] )[,...n]

Тут логічне ім'я файлу – це ім'я файлу, під яким він пізнаватиметься при виконанні різних SQL-команд.

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

Параметр SIZE визначає первинний розмір файлу; мінімальний розмір параметра – 512 Кб, якщо він не вказаний, за умовчанням приймаються 1 Мб.

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

При створенні бази даних можна дозволити або заборонити автоматичне зростання її розміру (це визначається параметром FILEGROWTH ) і вказати приріст за допомогою абсолютної величини в Мб або процентним співвідношенням. Значення може бути вказано в кілобайтах, мегабайтах, гігабайтах, терабайтах або відсотках (%). Якщо вказано число без суфікса МБ, КБ або %, то за умовчанням використовується значення MБ. Якщо розмір кроку зростання вказаний у відсотках (%), розмір збільшується на задану частину у відсотках від розміру файлу. Вказаний розмір округляється до найближчих 64 КБ.

Додаткові файли можуть бути включені в групу:

<визначення_групи>::=FILEGROUP ім’я_групи_файлів

<визначення_файла>[,...n]

Приклад 4.1. Створити базу даних, причому для даних визначити три файли на диску С, для журналу транзакцій – два файли на диску С.

CREATE DATABASE Archive

ON PRIMARY ( NAME=Arch1 FILENAME=’c:\user\data\archdat1.mdf’ SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

(NAME=Arch2 FILENAME=’c:\user\data\archdat2.mdf’ SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

(NAME=Arch3 FILENAME=’c:\user\data\archdat3.mdf’ SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

LOG ON

(NAME=Archlog1 FILENAME=’c:\user\data\archlog1.ldf’ SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

(NAME=Archlog2 FILENAME=’c:\user\data\archlog2.ldf’ SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)

Приклад 4.1. Створення бази даних.

Соседние файлы в папке лекции