Создание базы данных мебельного магазина
Оглавление
Введение 2
1.Проектирование баз
данных. 3
1.1 Построение логической
модели 3
1.2 Логическая модель 3
1.3 Физическая модель 5
2. Разработка приложения
по работе с базой данных. 7
2.1 Назначение 15
2.2 Структура приложения 16
.3 Описание и тестирование
приложения. 17
.4 Руководство
пользователю 18
Заключение 19
Список литературы 20
Листинг программы 20
Введение
Задачей данной курсовой работы является реализация базы данных на тему
«Мебельный магазин».
· разработать физическую и логическую модели, заданной
предметной области;
· выбрать модель данных и разработать концептуальную схему;
· разработать базу данных по выбранной предметной области,
содержащую не менее четырех объектов этой предметной области и не менее
тридцати записей;
· получить доступ к БД средствами Delphi;
· реализовать пользовательский интерфейс;
· создать приложения позволяющие находить необходимые данные;
· реализовать SQL запросы;
1.Проектирование баз данных
.1 Построение логической модели
При выборе предметной области важным фактором было наличие в данной
области всей необходимой информации для создания полноценной БД. Была выбрана
предметная область, связанная с созданием БД «Мебельный магазин». В данной
предметной области было выделено 4 объектов (продукт, трюмо, тумбочка, трельяж)
и выделены их атрибуты.
1. Продукт: серийный номер трюмо, серийный номер тумбочка, серийный
номер трельяж, количество на складе;
2. Трюмо: серийный номер, модель, количество на складе, заказ, цена;
. Тумбочка: серийный номер, модель, количество на складе, заказ,
цена ;
. Трельяж: серийный номер, модель, количество на складе, заказ,
цена.
1.2 Логическая модель
Мебельный магазин
Логическая модель содержит следующие таблицы: продукт,
трюмо, тумбочка, трельяж.
Рассмотрим каждую таблицу в отдельности.
Таблица Продукт содержит следующие поля: серийный
номер трюмо, серийный номер тумбочка, серийный номер трельяж, количество на
складе.
Серийный номер трюмо- это уникальный номер трюмо
который выдается изделию при поступлении его на склад мебельного магазина.
Серийный номер тумбочка - это уникальный номер
тумбочки который выдается изделию при поступлении его на склад мебельного
магазина.
Серийный номер трельяж - это уникальный номер трельяжа
который выдается изделию при поступлении его на склад мебельного магазина.
Таблица трюмо содержит следующие поля: серийный номер,
модель, количество на складе, заказ, цена.
Серийный номер трюмо - это уникальный номер трюмо
который выдается изделию при поступлении его на склад мебельного магазина.
Модель - модель трюмо поступившей на склад мебельного
магазина.
Количество на складе - количество изделий именно
одинаковой модели поступивших на склад мебельного магазина.
Заказ - количество заказанных у мебельного магазина
товаров именно одной модели.
Цена - цена одного комплекта трюмо.
Таблица тумбочка содержит следующие поля: серийный
номер, модель, количество на складе, заказ, цена.
Серийный номер тумбочки - это уникальный номер
тумбочки который выдается изделию при поступлении его на склад мебельного
магазина.
Модель - модель трюмо поступившей на склад мебельного
магазина.
Количество на складе - количество изделий именно
одинаковой модели поступивших на склад мебельного магазина.
Заказ - количество заказанных у мебельного магазина
товаров именно одной модели.
Цена - цена одной тумбочки.
Таблица трюмо содержит следующие поля: серийный номер,
модель, количество на складе, заказ, цена.
Серийный номер трюмо - это уникальный номер трюмо
который выдается изделию при поступлении его на склад мебельного магазина.
Модель - модель трюмо поступившей на склад мебельного
магазина.
Количество на складе - количество изделий именно
одинаковой модели поступивших на склад мебельного магазина.
Заказ - количество заказанных у мебельного магазина
товаров именно одной модели.
Цена - цена одного трюмо.
Входе проектирования базы банных поля были связаны следующим образом
1.3 Физическая модель
Физическую модель при проектировании базы данных проще всего и понятнее
можно представить в виде таблицы.
Название таблицы
|
Имя поля
|
Тип данных поля
|
1. Продукт
|
1. Сер. № трюмо 2. Сер. №
тумбочки 3. Сер. № трельяжа 4. Кол-во на складе
|
Long Integer Long Integer Long
Integer Long Integer
|
2. Трюмо
|
1. Серийный номер 2. Модель
3. Кол-во 4. Заказ 5. Цена
|
Long Integer Alpha Long Integer Long Integer Money
|
3. Тумбочка
|
Long Integer
Alpha Long Integer Long Integer Money
|
4. Трельяж
|
1. Серийный номер 2. Модель
3. Кол-во 4. Заказ 5. Цена
|
Long Integer
Alpha Long Integer Long Integer Money
|
При проектировании баз данных я выбрал 3 типа значений: Long integer, Alpha,
Money.
Long integer
-целочисленный тип значение которого может привышать более 2-х миллионов.
Alpha
- строка символов, не больше 255.
Money
- отображает денежные значение в базе данных.
2. Разработка приложения по работе с базой данных
Для разработки приложения выбрана визуальная среда программирования Borland Delphi 7. Базы данных считаются основным плюсом Delphi. Это действительно так. Хотя этот
язык не создавался специально под данную сферу, реализация работы с данными
здесь просто поражает. Даже специализированные языки для работы с базами данных
(такие, как MS Visual FoxPro) явно уступают по простоте и мощи программирования
этого типа приложений. Delphi
скрывает все сложности и в то же время даёт величайшую мощь. А главное, что всё
это реализовано очень удобно и легко для понимания.
Прежде всего,
создается псевдоним будущей базы данных с помощью утилиты BDE Administrator. Все инструментальные средства баз
данных Borland - Paradox, Database Desktop -
используют SQL Explorer. Все особенности, имеющиеся в Paradox «наследует» SQL Explorer, и поэтому этими же особенностями
обладает и Delphi 7.
Утилита конфигурации SQL Explorer по
умолчанию находится в меню среды разработки Delphi 7. SQL Explorer
вызывается следующим образом Database /
Explorer.
После ее запуска на экране появится следующее окно:
Главное окно программы SQL Explorer состоит
из двух основных областей. В левой части при первоначальном запуске активна
закладка Databases (Базы данных), на которой
отображаются все зарегистрированные в системе псевдонимы баз данных. Справа
выводится информация о выбранной в левой части базе данных.
Работа с псевдонимами БД.
Псевдоним (alias) БД -
специальное имя базы данных, служащее для обозначения каталога, в котором
хранятся таблицы БД.
Наличие псевдонимов позволяет программисту писать приложения, не
задумываясь над тем, куда будут помещены файлы таблиц БД. Псевдоним облегчает
перенос файлов таблиц в другие папки и на другие компьютеры без изменения кода
приложения. После изменения положения файлов достаточно изменить адрес
каталога, на который ссылается псевдоним БД.
Псевдоним для работы с локальными БД имеет всего три параметра. Для
таблиц Paradox можно оставить значения первых двух
параметров Default Driver, Enable BCD по умолчанию.
Третий параметр Path (Путь)
необходимо задать.
Затем необходимо создать таблицы с помощью утилиты Database Desktop.
Borland Database
Desktop доступна в разделе меню Tools / Database Desktop. При разработке новых приложений наиболее удобна база
данных Paradox 7. Таблицы Paradox хранят данные в двух файлах:.DB и.MB. В.DB-файле содержится большинство типов
полей таблицы, такие как: строковые, числовые, даты и т.п. В.MB-файле содержаться части больших полей,
таких как Мемо. Для этого типа поля колонка Size определяет, сколько запоминается в.DB-файле, а остаток сохраняется в.MB-файле. Т. е. колонка Size ни в коей мере не ограничивает
количество данных, которые могут содержаться в поле Мемо. Delphi справляется с проблемой наличия
нескольких файлов автоматически. Некоторые типы данных требуют указания
размера. Это говорит базе данных о наибольшем объеме данных, который может
храниться в поле.
Использование
ключей
Ключи способствуют эффективной работе машины базы данных. Таблицы Paradox поддерживают первичные и вторичные
индексы (ключи). Первичные индексы создаются вводом звездочки (*) в колонке Key. Первичный ключ может состоять
больше чем из одного поля, но они должны идти друг за другом и начинаться с
первого поля таблицы. Хотя в большинстве баз данных не обязательно иметь ключи,
однако на практике хорошо для каждой таблицы иметь свой ключ. Отсутствие ключа
говорит о том, что в таблице нет полей, гарантирующих уникальность каждой
записи. Нужно добавить автоинкрементное поле, если первичный ключ может
повторяться.
Вторичные индексы используются в таблицах Paradox для ускорения поисков и запросов и для изменения
порядка просмотра записей.
Установка
проверок правильности данных
Таблицы Paradox поддерживают множество
характеристик, которые являются правилами проверки правильности данных при
введении их в таблицу. И DBD, и
Delphi поддерживают эти правила. Проверки
правильности данных являются правилами для данных на уровне поля.
Получение доступа к созданной таблице
Простейшим способом обеспечения доступа и манипуляции данными является
использование визуальных компонентов базы данных. Визуальные компоненты базы
данных хранятся на двух страницах библиотеки визуальных компонентов: Data Access и Data Control. Органы
управления на странице Data Access
используются для того, чтобы дать информацию о таблицах базы данных и функциях,
которые должны быть использованы. Страница Data Control содержит ряд визуальных компонентов, которые могут
отображать информацию базы данных или обеспечивать интерфейс для манипуляций
данными.
Первым шагом в создании приложения, обеспечивающего доступ к уже
созданной базе данных должно быть размещение компонента TTable на форме и задание свойств DataBaseName и TableName. Для этого надо сделать следующее:
Обеспечение
связи
Delphi
имеет возможность доступа к информации в базе данных, которая поставляется
рядом компонентов, известных как наборы данных (DataSets), одним из которых является
компонент TTable. Компоненты другого типа, связанные
с данными - это компоненты, которые отображают и манипулируют теми данными,
которые доступны Delphi. Чтобы
обеспечить уровень абстракции для компонентов, которые могут перемещаться по
данным и отображать информацию, был разработан компонент связи TdataSource - источник данных. TdataSource также позволяет узнать, изменялись
ли данные, и определить, каково состояние набора или источника данных.
Управляющие
компоненты для просмотра и модификации данных
Отображение и манипуляцию данными наиболее просто осуществить с помощью
управляющих компонентов, связанных с данными (их называют data-aware или data-bound). Большинство средств управления с
привязкой к данным предназначено для связи полей базы данных с визуальным
компонентом. Все компоненты на странице DataControl, за исключением ТBNavigator, используются для отображения
информации баз данных. Чтобы начать работать с ними добавляется сетка DBGrid.
Delphi
имеет мощное средство управления, которое позволяет перемещаться между
объектами в таблице - навигатор ТВNavigator.
Доступ к полям
Часто бывает так, что программе надо обратиться к полям базы данных.
Свойство Fields набора данных описывает больше, чем
содержащиеся в полях значения. Это свойство содержит также информацию о
структуре таблицы. Например, свойство Fields может дать сведения об именах полей, типе данных в них, размере данных и
их значениях для текущей записи. Объекты TTable имеют массивы полей. Эти массивы можно
модифицировать, используя редактор полей для добавления, удаления и модификации
определений полей.
Модификация полей в таблице
По умолчанию компонент TTable
может использовать все поля связанной с ним таблицы. Кроме того, Delphi 7 позволяет разработчику
модифицировать используемые поля, основанные на вычислениях, и устанавливать
атрибуты для каждого поля. Чтобы запросить редактор полей компонента TTable, дважды щелкните на экземпляре TTable. Это вызовет появление диалогового
окна, которое позволяет вам добавлять, удалять и определять новые поля.
Заголовок окна содержит имя формы и таблицы.
Перемещение по записям
Навигатор обеспечивает возможность перемещения по таблице.
Создание
интерфейса
Для создания интерфейса в работе с Delphi использовались различные визуальные компоненты.
Создание приложений, позволяющих редактировать, находить необходимые
данные.
Редактирование осуществляется следующим способом при помощи
TBNavigator.
Поиск записей
в наборе данных
Для поиска и
вывода информации из базы данных, используем компонент Query, который находится во вкладке BDE.
Компонент Query представляет
не все базу данных, а только ее часть, записи удовлетворяющие запросу.
Свойства этого компонента:
ü имя компонента;
ü записанный на языке SQL запрос к базы данных к таблице;
Код поиска реализованного в курсовом проекте:
procedure TForm1.Button1Click(Sender: TObject);
id:string[4];
begin
id:=InputBox('Введите номер продукта для поиска в
БД’,'');
With form1.Query1 do;.Clear;.Add('SELECT * FROM produkt.db
WHERE id_trumo='+id);;;Query1.RecordCount<>0.DataSet:=Query1(В БД нету такого номера');
ds1.DataSet:=tbl1;;;
Запросы - существенная часть управления базами данных. Для выполнения
запросов к БД в Delphi
используется компонент TQuery.
Основные отличия компонента данных TQuery, возвращающего наборы данных, от выполняющего сходные функции компонента
TTable следующие:
·
набор данных,
возвращаемый TQuery, может быть составлен из записей
нескольких таблиц;
·
в общем случае
набор данных, возвращаемый TQuery,
даже если источником этого набора служит одна таблица БД, предполагает
обращение к подмножеству записей и столбцов, в то время как TTable ориентирован на работу со всеми
записями и полями.
Результирующий набор данных компонента TQuery формируется путем выполнения запроса к БД на языке SQL. Самые большие реляционные базы
данных, такие, как Oracle, Informix, Sybase, так же выполняют запросы, используя SQL.
Писать и исполнять SQL-запросы
в приложениях Delphi можно различными способами. Один
метод - запись текста SQL-команды
в свойство SQL компонента TQuery. В этом случае во время работы приложения Delphi выполнит указанный запрос. Если при
этом соединить компонент TQuery
через TDataSoource с компонентом доступа к данным,
результаты запроса будут показаны в компоненте просмотра данных, связанным с TQuery.
2.1 Назначение
БД - это некоторая целевая модель предметной области. Целевая означает,
что в ней находят отражение только те факты о предметной области, которые
необходимы для функционирования информационной системы. При проектировании эти
факты необходимо выделить и описать, а затем выполнить интерпретацию описаний с
помощью структур данных, допустимых в конкретной СУБД.
Предметная область считается определенной, если известны существующие в
ней объекты, их свойства и отношения.
Выбранная предметная область связанна с созданием БД «Мебельный магазин».
На подготовительном этапе были выявлены основные объекты и потоки данных ПО, по
которым была составлена логическая модель
При проектировании и создании базы данных, я учитывал, чтобы моя база
данных подходила как для малых магазинов, так и для больших торговых
объединений, которые торгуют мебелью.
Созданная мною база данных поможет вести четкий отчет по проданным
товарам, знать сколько того или иного товара лежит на складе.
2.2 Структура приложения
Разработанная мною программа содержит 4 таблицы для отображение наших баз
данных. автоматизация учет мебельный магазин
К каждой таблице разработана своя система редактирования базы, что
позволяет с легкостью вносить , удалять и делать какие либо перемещения по
таблице. Так же на примере первой таблице был создан поиск.
При запуске программы открывается основное окно программы и выводятся
таблицы «мебельного магазина».
Рис. 1 главное окно программы
Для работы с записями используется панель задач (рис. 5)
Рис. 5 Компонент для работы с записями
Для выполнения поиска по базе данных, нужно выполнить следующие действия:
ü нажать кнопку поиск
ü ввести искомое значение
После подтверждения программа автоматически выведет искомое значение на
экран.
Руководство пользователю
Данная программа является закрытой, поэтому изменение свойств,
функционального предназначения или отдельных функций невозможно.
Системные и программные требования. Для нормальной работы программы
необходимо:
1. Процессор Pentium
II 100MHz (минимально) и выше;
2. ОЗУ 8 Mb;
3. 10 Mb свободного
места на диске;
. Операционная система Windows 9X/ME/2000/XP;
Заключение
Данная программа позволяет пользователю оперативно производить мониторинг
поступление продукции на склад магазина мебели и ее продажу. К достоинствам
программы можно отнести:
. программный продукт не требует мощных модификаций компьютера, что
позволяет значительно расширить круг пользователей;
. данная программа может использоваться всеми категориями пользователей,
и проста в работе;
. программа занимает мало места на диске, но имеет большие возможности;
. простота модернизации;
. расширенные возможности поиска и сортировки;
К недостаткам можно отнести:
. довольно простую графику, нет наглядности отображения числовых
значений;
. невозможность работы с сетевыми базами данных.
Этот программный продукт может быть в дальнейшем усовершенствован почти
во всех направлениях, что возможно сделает его конкурентоспособным приложением
БД на рынке ПО.
Данная программа может использоваться как для малых так и для больших
торговых предприятий
Список литературы
1. С.И.
Бобровский. Delphi 7: Учебный курс.-СПб.: Питер, 2004.
2. В.В.
Фаронов. Программирование баз данных в Delphi 7: Учебный курс.-М, 2005.
. Ананьев
А.И., Федоров А.С. Самоучитель Pascal
6.0 - СПБ.: БХВ-Петербург, 1995. - 624 с.: ил.
Листинг программы
unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, XPMan,
DB,;= class(TForm): TDataSource;: TDataSource;: TDataSource;: TDataSource;:
TTable;: TTable;: TTable;: TTable;: TXPManifest;: TQuery;: TDBGrid;: TDBGrid;:
TDBGrid;: TDBGrid;: TDBNavigator;: TDBNavigator;: TDBNavigator;: TDBNavigator;:
TButton;Button1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}TForm1.Button1Click(Sender: TObject);:string[4];:=InputBox('Выборка из БД','Введите номер','');form1.Query1
do;.Clear;.Add('SELECT * FROM produkt.db WHERE
id_trumo='+id);;;Query1.RecordCount<>0.DataSet:=Query1('Такого номера нету');.DataSet:=tbl1;;;.