Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Готовий / Курсова бази даних готельного комплексу.doc
Скачиваний:
578
Добавлен:
20.02.2016
Размер:
366.59 Кб
Скачать

2.2 Розробка сценаріїв для створення бази даних і базових таблиць

конецформыначалоформыДлДля того щоб створити базу даних, варто скористатися оператором Transact-SQL CREATE DATABASE. Незважаючи на те що це один з найскладніших способів, він дозволяє досягти найбільшої гнучкості. Слід зазначити, що це не єдина перевага для створення бази даних. Оскільки мова побудови запитів SQL є міжнародним стандартом, знання базового синтаксису його операторів допоможе при переході на іншу СУБД.

Код створення бази даних представлений у додатку.

Проаналізуємо код Transact-SQL для створення бази даних (додаток В)

В рядку "USE master" вказується необхідність використання при виконанні всіх наступних операторів Transact-SQL бази даних master.

Команда GO використається в тих випадках, коли необхідно негайно виконати який-небудь фрагмент коду Transact-SQL не чекаючи виконання всього блоку. Команда GO є однієї з особливостей всіх версій SQL Server

Розташований в наступному рядку оператор DDL, "CREATE DATABASE Hotel" використовується для створення бази даних. Єдиним параметром, що передається цьому операторові, є її ім'я бази даних - "Hotel".

"ON PRIMARY (NAME = 'Hotel_Data', вказується використовувана група файлів, а також ім'я файлу даних. Відкриваюча кругла дужка позначає початок визначення параметрів файлу даних. Параметр NAME = дозволяє задати ім'я, що буде використатися MS SQL Server при звертанні до файлу даних.

FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ Hotel_Data.MDF',

визначається місце розташування файлу даних.

Для визначення початкового розміру файлу даних, а також параметрів його приросту вказується "SIZE = 5MB", і FILEGROWTH = 10%). Закриваюча кругла дужка позначає закінчення визначення параметрів файлу даних.

В наступному рядку LOG ON (NAME = 'Hotel_Log', вказуються параметри журналу транзакцій. Параметр NAME = дозволяє задати ім'я, що буде використатися MS SQL Server при звертанні до журналу транзакцій.

FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ Hotel_Log.LDF', визначені параметри журналу транзакцій повністю аналогічні відповідним параметрам файлу даних .

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

Важливим елементом розроблювальної бази даних є таблиці, які зберігають інформацію про клієнтів, співробітників готель, різні види адрес (домашня, службова), замовлення і т.д. Будь – які об’єкти не можуть зберігати дані, але вони можуть звертатися до таблиць.

Таблиці SQL Server 2005 мають таку ж структуру як інші таблиці інших баз даних. Таблиця складається зі стовпців і рядків.

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

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

Для створення таблиць за допомогою Transact-SQL використовується команда CREATE TABLE.

Таблиця Person призначена для збереження інформації про різних людей (клієнтів та співробітників). Дана таблиця буде складатися з наступних стовпців: ідентифікаційним стовпець PersonID, а також стовпців FirstName, SurName, Address, що зберігатимуть ім'я, прізвище та адресу відповідно. Код створення таблиці Person представлений у додатку Г

USE Hotel в даному рядку вказується необхідність використання при виконанні всіх наступних операторів Transact-SQL бази даних Hotel.

Оператор DDL, "CREATE TABLE Person" призначена для створення таблиці Person.

Визначений стовпець PersonID є ідентифікаційним стовпцем таблиці Person. Розташований наприкінці цього рядка оператор NOT NULL, визначає обмеження, відповідно до якого стовпець PersonID не може зберігати значення NULL. Подібне обмеження накладається на всі ідентифікаційні стовпці й первинні ключі таблиць.

Далі визначається ім'я обмеження первинного ключа таблиці Person.

В наступних рядках коду визначаються стовпці FirstName, SurName, Address. Вони призначений для зберігання даних типу VARCHAR довжиною до 50 символів й, подібно стовпцю Personl, не може зберігати значення NULL.

В курсовій роботі були застосовані довідкові таблиці - Country, City, AddressType, Paymant, Comfort, Post. Ця назва, з одного боку, виправдується наявністю в них лише декількох стовпців. Ці таблиці використовуються для зберігання різних типів даних (наприклад таблиця AddressType використовується для збереження різних типів адрес, які може мати людина, наприклад домашню та службову). Перевага використання довідкових таблиць полягає в тому, що, якщо згодом буде потрібно додати ще кілька типів даних, це можна зробити без зміни моделі даних.

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

Таблиця Country використовується для зберігання різних назв країн, в яких може проживати людина. Дана таблиця міститиме 2 стовпці: ідентифікаційний стовпць CountryID, та Description, де і представлено перелік різних країн.

Створення таблиці Country реалізується за допомогою наступного коду CREATE TABLE Country (додаток Г )

Проаналізуємо даний код: оператор DDL, "CREATE DATABASE Country" призначений для створення таблиці Country, стовпець CountryID є ідентифікаційним стовпцем таблиці Country. Розташований наприкінці оператор NOT NULL, визначає обмеження, відповідно до якого стовпець CountryID не може зберігати значення NULL. Далі представлене обмеження первинного ключа таблиці Country. конецформыначалоформыВ наступному рядку В наступному рядку визначається другий стовпець таблиці Country, що має ім'я Description. Він призначений для зберігання даних типу VARCHAR довжиною до 50 символів й, не може зберігати значення NULL.

Таблиця City використовується для зберігання назв міст, в яких може проживати людина. Ця таблиця , також складається з 2 стовпців: CityID, що є ідентифікаційним стовпцем таблиці City, та стовпця Description, який призначений для переліку назв міст.

Створення таблиці City реалізується наступним чином за допомогою коду CREATE TABLE City(див. додаток Г)

Оголошення таблиці City багато в чому подібно оголошенню попередньої таблиці Country.

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

Код створення таблиці AddressType представлений у додатку Г:

Майже всі характеристики таблиць Country і City повністю збігаються з характеристиками таблиці AddressType,

Таблиця Address використається для зберігання адрес людини Таблиця складається з наступних стовпців PersonID, AddressTypeID, CatyID, CountryID, Address. Стовпці PersonID, AddressTypeID, CatyID, CountryID є ідентифікаційними стовпцями. Стовпець Address при значений для виводу адрес.

Код створення таблиці Address представлений наступним чином:

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

Необхідно також створити таблицю Post. Ця таблиця призначена для зберігання назв посад, які може займати співробітник в готелі. Код за допомогою якого була створена дана таблиця приведений в додатку Г

Оголошення таблиці Post багато в чому подібно оголошенню таблиць Country, AddressType та City.

Наступна таблиця яку необхідно створити – таблиця Employee. В курсовій роботі вона використовується для збереження інформації про співробітників готелю Дана таблиця маститиму 7 стовпців: EmployeeID, PersonID, TypeHotelRoom, IdentCodeEmployee, PostID, TypeHotelRoomID, Salary. Код створення таблиці Employee представлений у додатку Г.

Оператор CREATE TABLE, вказує на необхідність створення нової таблиці з ім'ям Employee.

Далі визначається перший стовпець таблиці Employee. Це стовпець типу INT, що носить ім'я EmployeeID. Стовпець EmployeeID є ідентифікаційним стовпцем таблиці Employee. Оператор NOT NULL, визначає обмеження, відповідно до якого стовпець EmployeeID не може зберігати значення NULL.

Наступний крок визначання ім'я обмеження первинного ключа таблиці Employee. Визначаємо власне ім'я обмеження первинного ключа - PK_ EmployeeID.

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

Необхідно, також, вказати стовпці, що належатимуть таблиці Employee, ці стовпці матимуть ім'я PersonID, TypeHotelRoom, IdentCodeEmployee, PostID, TypeHotelRoomID, Salary відповідно. Вони подібно стовпцю Employee, не можуть зберігати значення NULL.

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

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

Необхідно вказати, що створений зовнішній ключ таблиці Employee буде посилатися на стовпець PersonID таблиці Person.

Наступний крок - вказується необхідність додавання в таблицю Employee обмеження з ім'ям FK_Employee_Post. Та визначається тип обмеження FK_Employee_ Post.

Далі вказується, що створений зовнішній ключ таблиці Employee буде посилатися на стовпець PostID таблиці Post.

Для таблиці Emploee необхідно створит унікальне індексування. Реалізується за наступним кодом CREATE UNIQUE NONCLUSTERED INDEX представленого у додатку Г.

Щоб зберегти та відобразити інформацію про клієнтів готелю необхідно в базі даних створити таблицю Client. Дана таблиці призначена для збереження інформації про клієнта, вона буде включати стовпці: PersonID, AddressID, OrderrID,ClientID.

Для створення цієї таблиці використовується наступний код CREATE TABLE Client представлений у додатку Г.

Оголошення таблиці Client багато в чому схоже до оголошення таблиці Employee.

Наступним кроком в розробці проекту є створення таблиці Orders, яка буде зберігати інформацію про клієнтські замовлення. Але так, як дана таблиця є зв’язаною з таблицями Comfort, Payment, TypeHotelRoom, то спочатку необхідно створити визначені таблиці.

Таблиця TypeHotelRoom призначена для збереження інформації про тип номерів готелі. Дана таблиця буде включати наступні стовпці TypeHotelRoomID, Decription, PostID, EmployeeID. TypeHotelRoomID представляє собою ідентифікаційний стовпець. В стовпці Decription призначений для виведення типів номерів представлених у готелі

Створення цієї таблиці реалізується за допомогою коду CREATE TABLE TypeHotelRoom, представленого в додатку Г.

Таблиця Comfort є довідкові таблицею вона призначена для збереження інформації про тип комфортності номерів готельного комплексу дана таблиця складається з двох стовпців Comfort ID, та Description, де і представлено перелік різних типів комфортності готельних номерів.

Створення таблиці Comfort реалізується за допомогою коду CREATE TABLE Comfort представленому в додатку Г.

Майже, всі характеристики раніше використаних довідкових таблиць повністю збігаються з характеристиками таблиці Comfort.

Наступна таблиця яка є необхідною в даній роботі – це таблиця Payment, яка зберігає тип оплати клієнтами готельних послуг. Створення таблиці Payment реалізується з використанням коду CREATE TABLE Payment (додаток Г)

Оголошення цієї таблиці подібне оголошень всіх раніше використаних довідкових таблиць.

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

Оператор CREATE TABLE, вказує на необхідність створення нової таблиці з ім'ям Orders.

Далі вказується, що первинний ключ таблиці Orders, що був визначений. Ключове слово CLUSTERED установлює порядок фізичного зберігання даних.

Необхідно, також визначити стовпці таблиці Orders, які мають назви TypeHotelRoomID, ClientID, ComfortID, PaymantID, TimeResidence відповідно. Вони не можуть зберігати значення NULL.

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

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

Вказується, що створений зовнішній ключ таблиці Orders буде посилатися на стовпець TypeHotelRoom ID таблиці TypeHotelRoom.

Аналогічно оголошенню обмеження FK_Orders_TypeHotelRoom в таблицю Orders додаються обмеження FK_Orders_Client, FK_Orders_Comfort, CONSTRAINT FK_Orders_Paymant.

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