
- •Оглавление
- •Введение
- •Разработка структуры базы данных
- •Инфологическое проектирование
- •Логическая структура базы данных
- •Физическая структура базы данных
- •Реализация проекта бд
- •Создание таблиц
- •Создание представлений (готовые запросы)
- •Создание процедур
- •Руководство пользователя
- •Заключение
- •Список использованной литературы
Реализация проекта бд
Создание таблиц
Отношение 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);
Отношение 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);
Отношение Personal (Персонал)
create 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);
Отношение kat (Категории номеров)
create table kat (id_kat int identity(1,1) not null primary key, nazvn varchar(50) not null);
Отношение 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);
Создание представлений (готовые запросы)
Ведение списка постояльцев
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_k
GROUP BY dbo.kl.f, dbo.kl.i, dbo.kl.o, dbo.kl.dr, dbo.job.dz
HAVING (COUNT(dbo.job.id_k) > 1)
Учет забронированных мест
select id_n as [Номер], kat.nazvn as [Категория]
from nomer, kat, job
where nomer.id_n = job.id_n
order by id_n
Ведение архива выбывших постояльцев за последний год
select f as [Фамилия], i as [Имя], o as [Отчество], getdate() as [Сегодня], job.dv as [Дата выселения]
from kl, job
where job.dv < getdate() and job.id_k = kl.id_k
order by f
Получение списка свободных номеров
select id_n as [Номер], kat.nazvn as [Категория]
from nomer, kat, job
where nomer.id_n != job.id_n
order by id_n
Полученеи списка номеров, освобождающихся сегодня
select nomer.id_n as [Номер], kat.nazvn as [Категория], getdate() as [Сегодня], dateadd(day, 1, current_timestamp) as [Завтра]
from nomer, kat, job
where job.dv = getdate() or job.dv=dateadd(day, 1, current_timestamp) and
nomer.id_kat = kat.id_kat and
job.id_n = nomer.id_n
Выдача информации по конкретному номеру
select nomer.id_n as [Номер], kat.nazvn as [Категория], nomer.cc as [Стоимость за сутки], nomer.km as [Количество мест]
from kat, nomer
where kat.id_kat = nomer.id_kat
Автоматизация выдачи счетов на оплату
SELECT kl.f AS [Фамилия], kl.i AS [Имя], kl.o AS [Отчество], nomer.id_n AS [Номер], job.kd * nomer.cc AS [Сумма]
FROM kl, nomer, job, kat
WHERE kl.id_k = job.id_k AND nomer.id_kat = kat.id_kat and nomer.id_n = job.id_n
Проверка наличия брони по имени клиента
select kl.f as [Фамилия], kl.i as [Имя], kl.o as [Отчество], nomer.id_n as [Номер]
from kl, nomer, job, personal, kat
where kl.id_k = job.id_k and
nomer.id_kat = kat.id_kat and
job.id_p = personal.id_p
Создание процедур
Процедура «Броня»
ALTER PROCEDURE Броня
(
@parameter1 varchar(50) = ''
)
AS
selectФамилия, Имя, Отчество, Номер
from"Наличие брони по имени клиента"
whereФамилия = @parameter1
RETURN
Вызов процедуры
Dim a = InputBox("Введите фамилию клиента или название организации")
Dim db As New DataClasses1DataContext
Dim b = db.Броня(a)
Броня.DataGridView1.DataSource = b
Броня.Show()
Процедура «Клиент»
ALTERPROCEDUREКлиент
(
@parameter1varchar(50) = ''
)
AS
selectФамилия, Имя, Отчество, "Дета рождения", Телефон, Паспорт
from"Информация о клиенте"
whereФамилия = @parameter1
RETURN
Вызов процедуры
Dima=InputBox("Введите фамилию клиента")
Dim db As New DataClasses1DataContext
Dim b = db.Клиент(a)
клиент.DataGridView1.DataSource = b
клиент.Show()
Процедура «Номер»
ALTER PROCEDURE Номер
(
@parameter1 int = ''
)
AS
selectНомер, Категория, "Стоимость за сутки", "Количество мест"
from"Информация по конкретному номеру"
whereНомер = @parameter1
RETURN
Вызов процедуры
Dim a = InputBox("Введите значение номера")
Dim db As New DataClasses1DataContext
Dim b = db.Номер(a)
номер.DataGridView1.DataSource = b
номер.Show()
Процедура «Счет»
ALTER PROCEDURE Счет
(
@parameter1 int = ''
)
AS
select Фамилия, Имя, Отчество, Номер, Сумма
from "Выдача счетов на оплату"
where Номер = @parameter1
RETURN
Вызов процедуры
Dima=InputBox("Введите значение номера")
Dim db As New DataClasses1DataContext
Dim b = db.Счет(a)
счет.DataGridView1.DataSource = b
счет.Show()