Разработка базы данных 'Гостиница'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    714,93 Кб
  • Опубликовано:
    2015-02-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка базы данных 'Гостиница'

Оглавление

 

Введение

1. Разработка структуры базы данных

1.1 Инфологическое проектирование

1.2 Логическая структура базы данных

1.3 Физическая структура базы данных

2. Реализация проекта БД

2.1 Создание таблиц

2.2 Создание представлений (готовые запросы)

2.3 Руководство пользователя

Заключение

Список использованной литературы

Приложение

Введение

База данных - важнейший компонент любой информационной системы. База данных позволяет структурировано хранить большие объемы информации конкретного предприятия, что значительно рационализирует ведение отчетов и создание архивов. Оптимизированные базы данных значительно увеличивают производительность, построенных на их использовании, программ.

С развитием информационных технологий и предпринимательства, актуальность использования баз данных значительно увеличилось. Успешные и крупные компании не могут представить свой бизнес без четко построенной информационной системы. Базы данных, построенные на SQL Server, отвечают высоким требованиям производительности и безопасности.

Предметная область: информационная система гостиницы.

Целью данного курсового проекта является реализация программной системы "Гостиница" для автоматизации деятельности и обеспечения хранения, накопления и предоставления информации.

Задачи проекта:

.        Построить инфологическую (концептуальную) модель предметной области

2.      Разработать логическую структуру базы данных

.        Разработать физическую структуру базы данных

.        Разработать пользовательский интерфейс

.        Реализовать проект в конкретной среде

1. Разработка структуры базы данных


1.1 Инфологическое проектирование


Основными задачами этапа инфологического проектирования являются определение предметной области системы и формирование взгляда на неё с позиций сообщества будущих пользователей БД, т.е. информационно-логической модели ПрО.

Инфологическая модель ПрО представляет собой описание структуры и динамики ПрО, характера информационных потребностей пользователей в терминах, понятных пользователю и не зависимых от реализации БД. Это описание выражается в терминах не отдельных объектов ПрО и связей между ними, а их типов, связанных с ними ограничений целостности и тех процессов, которые приводят к переходу ПрО из одного состояния в другое.

Основными подходами к созданию инфологической модели предметной области являются:

. Функциональный подход к проектированию БД ("от задач").

. Предметный подход к проектированию БД ("от предметной области").

3. Метод "сущность-связь" (entity-relation, ER-method).

Мы будем использовать метод "сущность-связь" как наиболее распространённый. Приведём основные термины, которыми мы будем пользоваться:

Сущность - это объект, о котором в системе будут накапливаться данные. Для сущности указывается название и тип (сильная или слабая). Сильные сущности существуют сами по себе, а существование слабых сущностей зависит от существования сильных.

Атрибут - свойство сущности. Различают:

база готовый запрос гостиница

1) Идентифицирующие и описательные атрибуты. Идентифицирующие позволяют отличить один экземпляр сущности от другого. Описательные атрибуты заключают в себе интересующие нас свойства сущности.

) Составные и простые атрибуты. Простой атрибут имеет неделимое значение. Составной атрибут является комбинацией нескольких элементов, возможно, принадлежащих разным типам данных (ФИО, адрес и др.).

) Однозначные и многозначные атрибуты (могут иметь соответственно одно или много значений для каждого экземпляра сущности). Например, дата рождения - это однозначный атрибут, а номер телефона - многозначный.

) Основные и производные атрибуты. Значение основного атрибута не зависит от других атрибутов; значение производного атрибута вычисляется на основе значений других атрибутов. Например, возраст вычисляется на основе даты рождения и текущей даты.

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

Связь - это осмысленная ассоциация между сущностями. Для связи указывается название, тип (факультативная или обязательная), кардинальность (1: 1, 1: n или m: n) и степень (унарная, бинарная, тернарная или n-арная). Инфологическая модель предметной области "Гостиница" представлена на рис. 1.

Рисунок 1. Инфологическая (концептуальная) модель предметной области

1.2 Логическая структура базы данных


На этапе логического проектирования разрабатывается логическая (концептуальная) структура БД. Для реляционной модели существуют формальные правила, которые позволяют преобразовать инфологическую модель ПрО в виде ER-диаграммы в логическую схему базы данных. Кроме получения схемы БД в целом на этом этапе выполняют создание схем отношений и их нормализацию.

Шесть сущностей находятся в третьей нормальной форме, т.е. все атрибуты сущностей содержат атомарные значения (значения в домене не являются ни списками, ни множествами простых или сложных значений); каждый неключевой атрибут полностью зависит от первичного ключа; никакой неключевой атрибут не зависит от другого неключевого атрибута. Логическая структура предметной области "Гостиница" представлена на рис.2.

Рисунок 2 Логическая структура базы данных

 

1.3 Физическая структура базы данных


Этап физического проектирования заключается в определении схемы хранения, т.е. физической структуры БД. Схема хранения зависит от той физической структуры, которую поддерживает выбранная СУБД. Физическая структура БД, с одной стороны, должна адекватно отражать логическую структуруБД, а с другой стороны, должна обеспечивать эффективное размещение данных и быстрый доступ к ним. Результаты этого этапа документируются в форме схемы хранения на языке определения данных (DDL, Data Definition Language) выбранной СУБД. Принятые на этом этапе решения оказывают огромное влияние на производительность системы.

Одной из важнейших составляющих проекта базы данных является разработка средств защиты БД. Защита данных имеет два аспекта: защита от сбоев и защита от несанкционированного доступа. Для защиты от сбоев на этапе физического проектирования разрабатывается стратегия резервного копирования.

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

Каждое реляционное отношение соответствует одной сущности (объекту ПрО) и в него вносятся все атрибуты этой сущности. Для каждого отношения определяются первичный ключ и внешние ключи (в соответствии со схемой БД). В том случае, если базовое отношение не имеет потенциальных ключей, вводится суррогатный первичный ключ, который не несёт смысловой нагрузки и служит только для идентификации записей.

Отношения приведены в табл.1-5. Для каждого отношения указаны атрибуты с их внутренним названием, типом и длиной.

 

Таблица 1. "Клиенты"

Атрибуты

Тип

Ключ

Описание

Id_k

Int

primary

Код категории

F

Varchar (50)


Фамилия

I

Varchar (50)


Имя

O

Varchar (50)

Tel

Varchar (50)


Телефон

Passport

Varchar (50)


Серия и номер паспорта



Таблица 2. "Номера"

Атрибуты

Тип

Ключ

Описание

Id_n

Int

primary

Код номера

Id_kat

Int

Foreign

Код категории

Cc

Money


Стоимость за сутки

Km

Int


Количество мест


Таблица 3. "Персонал"

Атрибуты

Тип

Ключ

Описание

Id_p

Int

primary

Код работника

Fam

Varchar (50)


Фамилия

Im

Varchar (50)


Имя

Ot

Varchar (50)


Отчество

Dolj

Varchar (50)


Должность

Zp

Money


Заработная плата


Таблица 4. "Категории номеров"

Атрибуты

Тип

Ключ

Описание

Id_kat

Int

primary

Код категории

Nazvn

Varchar (50)


Название

 

Таблица 5. "Учет работы"

Атрибуты

Тип

Ключ

Описание

Id_o

Int

primary

Id_n

Int

Foreign

Код номера

Id_k

Int

Foreign

Код клиента

Dz

Datetime


Дата заселения

Dv

Datetime


Дата выселения

Kd

Int


Количество дней

Id_p

Int

Foreign

Код работника



2. Реализация проекта БД


2.1 Создание таблиц


1.      Отношение kl (Клиенты)

create table kl (id_k int identity (1,1) not null primary key, f varchar (50) not null, i varchar (50) not null, o varchar (50) not null, dr datetime not null, tel varchar (50) not null, pasport varchar (50) not null);

2.      Отношение nomer (Номер)

create table nomer (id_n int identity (1,1) not null primary key, id_kat int not null references kat, cc money not null, km int not null char between 1 and 4);

3.      Отношение Personal (Персонал)table personal (id_p int identity (1,1) not null primary key, fam varchar (50) not null, im varchar (50) not null, ot varchar (50), dolj varchar (50) not null, zp money not null);

4.      Отношение kat (Категории номеров)

create table kat (id_kat int identity (1,1) not null primary key, nazvn varchar (50) not null);

5.      Отношение job (Учет работы)

create table job (id_o int identity (1,1) not null primary key, id_n int not null references nomer, id_k int not null references kl, dz datetime not null, dv datetime not null, id_p int not null references personal);

 

2.2 Создание представлений (готовые запросы)


1.      Ведение списка постояльцев

SELECT dbo. kl. f AS Фамилия, dbo. kl. i AS Имя, dbo. kl. o AS Отчество, dbo. kl. dr AS [Дата рождения], dbo. job. dz AS [Дата заселения]

FROM dbo. kl INNER JOIN dbo. job ON dbo. kl. id_k = dbo. job. id_kBY dbo. kl. f, dbo. kl. i, dbo. kl. o, dbo. kl. dr, dbo. job. dz(COUNT (dbo. job. id_k) > 1)

2.      Учет забронированных местid_n as [Номер], kat. nazvn as [Категория]nomer, kat, jobnomer. id_n = job. id_nby id_n

3.      Ведение архива выбывших постояльцев за последний год

select f as [Фамилия], i as [Имя], o as [Отчество], getdate () as [Сегодня], job. dv as [Дата выселения]

from kl, jobjob. dv < getdate () and job. id_k = kl. id_kby f

4.      Получение списка свободных номеровid_n as [Номер], kat. nazvn as [Категория]nomer, kat, jobnomer. id_n! = job. id_nby id_n

.        Полученеи списка номеров, освобождающихся сегодня

select nomer. id_n as [Номер], kat. nazvn as [Категория], getdate () as [Сегодня], dateadd (day, 1, current_timestamp) as [Завтра]nomer, kat, jobjob. dv = getdate () or job. dv=dateadd (day, 1, current_timestamp) and. id_kat = kat. id_kat and. id_n = nomer. id_n

6.      Выдача информации по конкретному номеру

select nomer. id_n as [Номер], kat. nazvn as [Категория], nomer. cc as [Стоимость за сутки], nomer. km as [Количество мест]

from kat, nomerkat. id_kat = nomer. id_kat

7.      Автоматизация выдачи счетов на оплату

SELECT kl. f AS [Фамилия], kl. i AS [Имя], kl. o AS [Отчество], nomer. id_n AS [Номер], job. kd * nomer. cc AS [Сумма]

FROM kl, nomer, job, katkl. id_k = job. id_k AND nomer. id_kat = kat. id_kat and nomer. id_n = job. id_n

8.      Проверка наличия брони по имени клиента

select kl. f as [Фамилия], kl. i as [Имя], kl. o as [Отчество], nomer. id_n as [Номер]

from kl, nomer, job, personal, katkl. id_k = job. id_k and. id_kat = kat. id_kat and. id_p = personal. id_p

Создание процедур

Процедура "Броня"PROCEDURE Броня

(

@parameter1 varchar (50) = ''

)

AS

select Фамилия, Имя, Отчество, Номер

from "Наличие брони по имени клиента"

where Фамилия = @parameter1

RETURN

Вызов процедурыa = InputBox ("Введите фамилию клиента или название организации")

Dim db As New DataClasses1DataContextb = db. Броня (a)

Броня. DataGridView1. DataSource = b

Броня. Show ()

Процедура "Клиент"

ALTER PROCEDURE Клиент

(

@parameter1 varchar (50) = ''

)

AS

select Фамилия, Имя, Отчество, "Дета рождения", Телефон, Паспорт

from "Информация о клиенте"

RETURN

Вызов процедуры

Dim a = InputBox ("Введите фамилию клиента")

Dim db As New DataClasses1DataContextb = db. Клиент (a)

клиент. DataGridView1. DataSource = b

клиент. Show ()

Процедура "Номер"PROCEDURE Номер

(

@parameter1 int = ''

)

AS

select Номер, Категория, "Стоимость за сутки", "Количество мест"

from "Информация по конкретному номеру"

where Номер = @parameter1

RETURN

Вызов процедурыa = InputBox ("Введите значение номера")

Dim db As New DataClasses1DataContextb = db. Номер (a)

номер. DataGridView1. DataSource = b

номер. Show ()

Процедура "Счет"PROCEDURE Счет

(

@parameter1 int = ''

)

AS

select Фамилия, Имя, Отчество, Номер, Сумма

from "Выдача счетов на оплату"

where Номер = @parameter1

RETURN

Вызов процедуры

Dim a = InputBox ("Введите значение номера")

Dim db As New DataClasses1DataContextb = db. Счет (a)

счет. DataGridView1. DataSource = b

счет. Show ()

 

2.3 Руководство пользователя


Приложение не требует инсталляции, пользователю необходимо зaпустить файл Гoстиница. exe. После чего на экран появится главное окно. Пользователь имеет право редактировать данные, используя формы "Категории", "Номера", "Персонал", "Клиенты".

В каждом диaлогoвом oкне есть кнoпки нaвигации, дoбавления новой записи и окно поиска нужной записи.

Также у пользователя существует вoзможность произвести отбор нужных записей с помoщью запросов, работа которых описана выше. Пользователь имеет доступ к отчетaм.

Для выхода из программы необходимо закрыть окно.

Заключение


Курсовая работа выполнена в соответствии с техническим заданием. Разработана и спроектирована автоматизированная информационная система основанная на базе данных "Магазин продуктовый”, содержащая необходимые данные. База данных разработана в программной системе разработки баз данных MS SQL Server Management Studio 2005, что позволяет легко понять ее организацию и простоту управления. Получить необходимую информацию из базы данных можно, используя SQL - запросы. На основе данной автоматизированной информационной системы возможно проектирование подобных баз данных для схожих целей.

Список использованной литературы


1.       Visual Studio.net: разработка приложений для баз данных. - СПб.: БХВ-Петербург, 2011. - 544 с.

2.      Знакомство с MS SQL Server /В. Вшивцев. - И.: Русская редакция, - 2009. - 288 с.

.        Базы данных/А.В. Кузин. - И.: Академия, - 2012. - 320 с.

.        Базы данных/И.П. Карпова. - И.: Питер, - 2013. - 240 с.

.        Введение в программирование на языке MS Visual Basic.net/С.Р. Гуриков. - И.: Дрофа, - 2010. - 528 с.

.        Введение в.net 4.0 и Visual Studio 2010 для профессионалов/Алекс Микки. - И.: Вильямс, - 2010. - 416 с.

Приложение


Рисунок 1 Главное окно

Рисунок 2 Форма "Клиенты"

Рисунок 3 Счет на оплату номера

Рисунок 4 Забронированные номера

Похожие работы на - Разработка базы данных 'Гостиница'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!