Выдержка из текста работы
Клиент может подробнее ознакомиться с ценами и предлагаемыми объектами. Также клиент может оформить договор купли-продажи, для осуществления покупки жилья, будь то квартира или коттедж. Договор оформляет агент. После чего выписывается счет за предоставленные услуги. Затем вносится запись в таблице продажа.
Наиболее важными компонентами системы являются:
· клиент;
· агент;
· договор купли-продажи;
Основными процессами данной системы являются:
· ознакомление с объектами, предоставляемыми агентом ;
· оформление документов;
· учет возможности заказа;
Итак, задачей является автоматизация работы пользователя по поиску, просмотру и редактированию информации о клиенте, агенте, договоре купли-продажи. Основной целью является предоставление клиенту, существующие объектов недвижимости, для максимального удовлетворения желаний и потребностей клиента.
Информационно-логическая модель
Для построения модели данных необходимо определить сущности и атрибуты, а так же связи между сущностями. То есть необходимо обозначить какая именно информация будет храниться в проектируемой базе данных.
Сущность – это то, о чем необходимо хранить информацию, что может быть однозначно идентифицировано.
Исходя из поставленной цели и задачи, можно выделить следующие объекты: агент, клиент, объект недвижимости, договор купли-продажи, продажа, счет. Далее следует определить взаимосвязи между ними. Обозначим взаимосвязь объектов в соответствии с поставленной задачей (см. Рис. 1).
Первой нужно выбрать сущность, в которой атрибут, определяющий связь, является первичным ключом. После определения связи связываемый атрибут другой сущности становится внешним ключом.
Затем следует определить свойства (атрибуты) каждой сущности (см. Таблица 1).
Рис. 1. Логическая модель базы данных
Сущность и их свойства
Таблица 1.
Сущность | Атрибуты |
Агент | УК Агента Фамилия Имя Отчество |
Клиент | УК Клиента Фамилия Имя Отчество Адрес Телефон Факс |
Объект недвижимости | УК Объекта недвижимости Наименование объекта Площадь Этаж Количество комнат Страна Область Населенный пункт Район Улица |
Договор купли-продажи | УК Договора купли-продажи Дата заказа УК Клиента УК Агента УК Объекта недвижимости |
Счет | УК Счета Пометка об оплате Дата выписки Сумма УК Договора купли-продажи УК Продавца |
Продажа | УК Продажи Дата продажи Счет |
Физическая модель базы данных
Следующим этапом проектирования базы данных является построение физической модели. Для ее создания необходимо определить типы данных для бедующих столбцов таблиц. Так же необходимо установить ограничения на каскадное обновление таблиц. Они будут определять характер поведения связанных полей (см. Рис. 2)
Рис. 2. Физическая модель базы данных
Создание базы данных в СУБД MS SQL Server
Создание файла базы данных
Рис. 3. Создание файла базы данных
Создание базы данных с помощью программного SQL кода
На языке SQL создание таблиц осуществляется с помощью оператора Create Table. Далее необходимо указать имя будущей таблицы, названия столбцов, их тип данных и возможность наличия значения null. Таким ключевым словом указывается столбец, который может содержать неопределенные значения. Столбцы первичных ключей обязательно имеют значения not null.
Для создания своей базы данных нужно скопировать код базы получившейся в программной среде ERWin в окно нового запроса New Query и запустить его.
Код схемы базы данных:
CREATE TABLE Klient
(UK_Klienta CHAR(3) NOT NULL ,
Familiya CHAR(30) NULL ,
Imya CHAR(30) NULL ,
Otchestvo CHAR(30) NULL ,
Adres CHAR(50) NULL ,
Telefon CHAR(16) NULL ,
Faks CHAR(16) NULL ,
PRIMARY KEY (UK_Klienta)
);
CREATE TABLE Agent
(UK_Agenta CHAR(3) NOT NULL ,
Familiya CHAR(30) NULL ,
Imya CHAR(30) NULL ,
Otchestvo CHAR(30) NULL ,
PRIMARY KEY (UK_Agenta)
);
CREATE TABLE Obeckt_nedvizimosti
(UK_Obekta_nedvishimosti CHAR(3) NOT NULL ,
Naim_obekta CHAR(30) NULL ,
Ploshad CHAR(3) NULL ,
Etash CHAR(3) NULL ,
Kol_komnat CHAR(18) NULL ,
Strana CHAR(30) NULL ,
Oblast CHAR(30) NULL ,
Naselen_punkt CHAR(30) NULL ,
Raion CHAR(30) NULL ,
Ulica CHAR(30) NULL ,
PRIMARY KEY (UK_Obekta_nedvishimosti)
);
CREATE TABLE Dogovor_kupli_prodazi
(UK_Dogovora_kup_prod CHAR(3) NOT NULL ,
Data_zakaza CHAR(18) NULL ,
UK_Klienta CHAR(3) NULL ,
UK_Agenta CHAR(3) NULL ,
UK_Obekta_nedvishimosti CHAR(3) NULL ,
PRIMARY KEY (UK_Dogovora_kup_prod),
FOREIGN KEY (UK_Klienta) REFERENCES Klient(UK_Klienta),
FOREIGN KEY (UK_Agenta) REFERENCES Agent(UK_Agenta),
FOREIGN KEY (UK_Obekta_nedvishimosti) REFERENCES Obeckt_nedvizimosti(UK_Obekta_nedvishimosti)
);
CREATE TABLE Prodaza
(UK_Prodashi CHAR(3) NOT NULL ,
Data_prodashi CHAR(18) NULL ,
Schet CHAR(5) NULL ,
PRIMARY KEY (UK_Prodashi)
);
CREATE TABLE Schet
(UK_Scheta CHAR(3) NOT NULL ,
Pometka_ob_oplate CHAR(18) NULL ,
Data_vipiski CHAR(18) NULL ,
Summa CHAR(18) NULL ,
UK_Dogovora_kup_prod CHAR(3) NULL ,
UK_Prodashi CHAR(3) NULL ,
PRIMARY KEY (UK_Scheta),
FOREIGN KEY (UK_Dogovora_kup_prod) REFERENCES Dogovor_kupli_prodazi(UK_Dogovora_kup_prod),
FOREIGN KEY (UK_Prodashi) REFERENCES Prodaza(UK_Prodashi)
);
Создание диаграммы базы
В базе данных уже созданы таблицы и при помощи первичных и внешних ключей описаны отношения между этими таблицами. Для наглядного представления этой информации. Создадим диаграмму базы данных (см. Рис. 4).
Для этого нужно выбрать команду New Database Diagram из контекстного меню Database Diagram (см. Рис. 5) и в появившемся диалоговом окне добавим в диаграмму все столбцы.
Рис. 4. Создание новой диаграммы
Рис. 5. Диаграмма базы данных
Описание SQL запросов
Существуют четыре основных типа запросов данных в SQL, которые относятся к языку манипулирования данными:
INSERT – добавить строки в таблицу;
UPDATE – изменить строки в таблице;
DELETE – удалить строки в таблице;
SELECT – выбрать строки из таблиц;
Каждый из них имеет различные операторы и функции для произведения каких-то действий с данными.
Запрос INSERT
insert into dbo.Klient
(UK_Kliienta, Familiya, Imya, Otchestvo, Adres, Telefon, Fak)
values (‘914’, ‘Павлюкевич’, ‘Диана’, ‘Даниловна’, ‘Спб, Гражданский, 23’, ‘567345’, ‘567345’)
После этого нажимаем EXECUTE (Рис. 6).
Рис. 6. Результат запроса INSERT
Запрос UPDATE
update dbo.Agent
Set Familiya = ‘Сизакова’
where Familiya = ‘Сизаск’
После этого нажимаем EXECUTE (Рис. 7).
Рис. 7. Результат запроса UPDATE
Запрос DELETE
Для того что бы удалить строки в таблице не обходимо открыть New Query и появившемся окне вести запрос (см. рис 5.4).
delete from dbo.Klient
where UK_Klienta = ‘914’
Рис. 8. Результат запроса DELETE
Запрос SELECT
С помощью команды SELECT осуществляется выборка данных. По этой инструкции ядро базы данных возвращает данные из базы в виде набора записей (см. Рис. 9).
Рис. 9. Результат запроса SELECT
Предикат TOP
Возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Следующая инструкция SQL позволяет получить список даты заказов первых 5, стоящих в списке (см. Рис. 10).
Рис. 10. Предикат TOP.
Операция INNER JOIN
Объединяет записи из двух таблиц, если связующие столбцы этих таблиц содержат одинаковые значения.
Синтаксис:
FROM таблица_1 INNER JOIN таблица_2 ON таблица_1.столбец_1 оператор таблица_2.столбец_2
Ниже перечислены аргументы операции INNER JOIN:
Элемент, Описание, таблица_1, таблица_2, Имена таблиц, записи которых подлежат объединению, столбец_1, столбец_2
Имена объединяемых столбцов. Если эти столбцы не являются числовыми, то должны иметь одинаковый тип данных и содержать данные одного рода, однако столбцы могут иметь разные имена.
оператор
Любой оператор сравнения: "=", "<", ">", "<=", ">=" или "<>".
Операцию INNER JOIN можно использовать в любом предложении FROM. Это самые обычные типы связывания. Они объединяют записи двух таблиц, если связующие столбцы обеих таблиц содержат одинаковые значения.
Данная выборка будет предоставлять информацию о продажах и счетах, которые содержат пометку об оплате (см. Рис. 11).
Рис. 11. Результат выполнения операции INNER JOIN.
Операции LEFT JOIN, RIGHT JOIN
Объединяют записи исходных таблиц при использовании в любом предложении FROM.
Синтаксис:
FROM таблица_1 [ LEFT | RIGHT ] JOIN таблица_2
ON таблица_1.столбец_1 оператор таблица_2.столбец_2
Ниже перечислены аргументы операций LEFT JOIN и RIGHT JOIN:
Элемент, Описание, таблица_1, таблица_2, Имена таблиц, записи которых подлежат объединению, столбец_1, столбец_2
Имена объединяемых столбцов. Столбцы должны иметь одинаковый тип данных и содержать данные одного рода, однако могут иметь разные имена.
Любой оператор сравнения: "=", "<", ">", "<=", ">=" или "<>".
Запрос на получение информации о продавцах и оформленных ими заказах, включив в список продавцов, которые не оформили ни одного заказа.
Рис. 12. Результат операции LEFT JOIN.
Предложение WHERE
Определяет, какие записи из таблиц, перечисленных в предложении FROM, следует включить в результат выполнения инструкции SELECT, UPDATE или DELETE.
Запрос на получение информации об объектах недвижимости, которые находятся в России (см. Рис. 13).
Рис. 13. Результат запроса SELECT
Запрос count
Функция COUNT несколько отличается от всех. Она считает число значений в данном столбце, или число строк в таблице. Когда она считает значения столбца, она используется с DISTINCT чтобы производить счет чисел различных значений в данном поле. Мы могли бы использовать ее, например, чтобы сосчитать даты продажи после 01.01.2012, которые описаны в таблице Продажа (см. Рис. 14).
Рис. 14. Результат запроса COUNT
Запрос на выборку из трех таблиц:
Список использованных источников:
1. Базы данных (электронный ресурс) — http://www.intuit.ru/
2. Карпова «Базы данных, модели, разработка, реализация»
3. Дейт К. Введение в системы баз данных