46625 (607882), страница 2

Файл №607882 46625 (Автоматизация продажи и учета лекарственных средств) 2 страница46625 (607882) страница 22016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

В первой нормальной форме ER-схемы устраняются повторяющиеся атрибуты или группы атрибутов, т.е. производится выявление неявных сущностей, "замаскированных" под атрибуты.

Во второй нормальной форме устраняются атрибуты, зависящие только от части уникального идентификатора. Эта часть уникального идентификатора определяет отдельную сущность.

В третьей нормальной форме устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности.

Диаграмма представлена в Приложении 2.

3. СОЗДАНИЕ ПРИЛОЖЕНИЯ В DELPHI

3.1 Работа с утилитой BDE Administrator

Назначение BDE Administrator

В Delphi для доступа к базам данных из приложения, как известно использует-ся цепочка "Приложение -> BDE -> База данных". Это означает что при любом обра-щении к БД из приложения реально адресуется BDE (напомним, это аббревиатура Borland Database Engine, машины баз данных фирмы Borland). BDE, используя соб-ственные функции, связывав непосредственно с базой данных. Действия, осуществля-емые при этом ВDE мы здесь обсуждать не будем, поскольку эта тема отдельного рассмотрения.

Для работы с конкретной базой данных BDE, во-первых, должна знать:

• где БД физически расположена;

• параметры этой БД;

• общие параметры драйвера БД того типа, к которому принадлежит. обрабатываемая БД;

• общие системные установки.

Параметры драйвера БД определяют параметры конкретной БД, знача которых не указаны.

Системные установки являются общими для всех драйверов.

Замечание. Те, кто работал с Delphi версий 1 и 2, будут поначалу неприятно удивлены, не обнаружив в 3-ей версии BDE Configuration Utility. Именно её функции и выполняет в Delphi 3 утилита BDE Administrator. Несомненно, что вы найдете в ней много общего с BDE Configuration Utility.

Создание псевдонима БД

Параметры БД и ее местоположение определяются псевдонимом БД. Псевдоним - это некоторое имя (псевдоним БД). Именно этот псевдоним и используют при логическом обращении к БД компоненты типа “набор данных” приложения Delphi, например ТТаble и TQuery. BDE считывает параметры поставленные в соответствие данному псевдониму, что во многом определяет ее дальнейшие действия по физической работе с БД.

Псевдонимы баз данных определяются в утилите BDE Administrator. Для того, чтобы определить псевдоним, необходимо:

1. Выбрать элемент меню Object \ New;

2. Выбрать в появившемся окне имя драйвера базы данных (STANDARD для Paradox и dBase, MSACCESS для Microsoft Access, ORAC INTRBASE, SYBASE, MSSQL, INFORMIX, DB2 соответственно для данных Oracle, InterBase, Sybase, MS SQL Server, Informix, DB2 и, если установлен, драйвер ODBC);

3. Ввести имя псевдонима в левом окне;

4. Определить необходимые параметры псевдонима в правом окне

5. Щелкнуть по псевдониму правой кнопкой мыши и выбрать всплывающем меню элемент Apply для подтверждения или Cancel отказа.

3.2 Создание таблиц базы данных

Объявление полей

Для создания таблиц базы данных необходимо запустить утилиту Database Desktop(DBD). После запуска утилиты установим рабочий псевдоним утилиты. Это псевдоним, с которым утилита работает по умолчанию. Если рабочий псевдоним не установлен, придется при работе с DBD всякий раз указывать псевдоним, что отнимает время.

Для установки рабочего псевдонима нужно выбрать элемент главного меню File| Working Directory и в выпадающем списке Aliases выбрать имя псевдоним РRОВА, после чего нажать кнопку ОK.

Для создания таблицы БД нужно выбрать элемент главного меню File| New| Table. В появившемся окне Create Table оставляем без изменения тип создаваемой таблицы (Paradox 7) и нажимаем кнопку Ok . После этого появится окно определения структуры таблицы БД.

Каждая строка таблицы соответствует полю. Назначения столбцов:

Fields Name -имя поля;

Туре - тип поля;

Size - размер поля (для строковых полей, поскольку иные поля подразумевают размер, определяемый типом поля);

Кеу - содержит звездочку '*', если поле входит в состав первичного ключа. Если в первичный ключ входит несколько полей, они должны определяться в той последовательности, в которой они присутствуют в первичном ключе. Кроме того, все поля, входящие в состав первичного индекса, должны определяться перед иными полями, то есть быть в списке полей наверху.

Определим поля, входящие в таблицу "Товары". Введем Тоvаrу в столбец field Name. Для того, чтобы определить тип поля, щелкните по столбцу

Туре и нажмите клавишу пробела. В ответ на это будет выдан список типов полей, из которых необходимо произвести выбор нужного типа.

Таблица 1 Лекарства

Номер

Название полей

Тип поля

Ключ

1

Код лекарства

N

*

2

Название лекарства

A

3

Срок годности

D

4

Упаковка

A

5

Вес

N

В таблице 1 поля имеют тип:

Код лекарства (N) имеет числовой тип, Название лекарства (А) символьные значения, Срок годности (D) дата, Упаковка (А) символьные значения, Вес (N) числовой тип .

Поле Код лекарства является ключевым(*).

Таблица 2 Предприятие:

Номер

Название полей

Тип поля

Ключ

1

Код предприятия

N

*

2

Название предприятия

A

3

Адрес предприятия

А

В таблице 2 поля имеют тип:

Код предприятия (N) имеет числовой тип, Название предприятия (А) символьные значения, Адрес предприятия (А)

Поле Код предприятия является ключевым(*).



Таблица 3 Накладная:

Номер

Название полей

Тип поля

Ключ

1

Номер накладной

N

*

2

Код предприятия

N

3

Дата накладной

D

В таблице 3 поля имеют тип:

Номер накладной (N) имеет числовой тип, Код предприятия (N)

числовой тип,

Дата накладной (D) дата.

Поле Номер Накладной является ключевым(*).



Таблица 4 Поступление:

Номер

Название полей

Тип поля

Ключ

1

Номер накладной

N

2

Код предприятия

N

3

Код лекарства

N

4

Код поступления

N

*

5

Цена за ед. лекарства

N

6

Кол-во лекарства

N


В таблице 4 поля имеют тип:

Номер накладной (N) числовой тип, Код предприятия (N) имеет числовой тип, Код лекарства (N) имеет числовой тип, Код поступления (N) имеет числовой тип, Цена за ед. лекарства (N) имеет числовой тип, Кол-во лекарства (N) имеет числовой тип.

Поле Код поступления является ключевым(*).



Таблица 5 Продажа:

Номер

Название полей

Тип поля

Ключ

1

Код лекарства

N

2

Номер чека

N

*

3

Дата продажи

D

4

Цена за ед. продукта

N

5

Кол-во проданных лекарств

N

В таблице 5 поля имеют тип:

Код лекарства (N) имеет числовой тип, Номер чека (N) имеет числовой тип, Дата продажи (D) дата, Цена за ед. продукта (N) имеет числовой тип, Кол-во проданных лекарств (N) числовой тип.

Поле Номер чека является ключевым(*).

Связи в базе организованны по соотношению один ко многим.

Для установления связей между таблицами открывали дочернюю таблицу

И выбирали в спадающем списке Table properties пункт Referential Integrity.

Связь таблицы Предприятие с таблицей Накладная.

Связь таблицы Лекарства с таблицей Продажа.

Связь таблицы Лекарства с таблицей Поступление.

По такому же принципу сделана связи с таблицей Накладная Поступление.

3.3 Организация пользовательского интерфейса



Интерфейс программы “Лекарственные средства” представлен на первой форме. Для удобства работы с базой при наведении курсора на объект появляются подсказки в статусной строке. Также присутствуют кнопки, для управления базой данных. В первой форме предусмотрен поиск позволяющий искать нужную запись.



Процедуры кнопок формы1:

Кнопка добавление:

procedure TForm1.Button1Click(Sender: TObject);

begin

If table1.State = dsBrowse then

table1.insert;

end;

Кнопка Изменения:

procedure TForm1.Button2Click(Sender: TObject);

begin

If table1.State = dsBrowse then

table1.edit;

end;

Кнопка Удаления:

procedure TForm1.Button3Click(Sender: TObject);

begin

If table1.State = dsBrowse then

If Messagedlg('',mtconfirmation,[mbYes,mbNo],0)=mrYes then

table1.delete;

end;

Процедура на кнопку поиск:

procedure TForm1.Table1FilterRecord(DataSet: TDataSet;

var Accept: Boolean);

begin

Accept:=Dataset['Name_lek'] = Edit1.text;

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

Table1.Filtered:=CheckBox1.Checked;

Table1.Filtered:=true;

end;

Форма 2 на которой находятся таблицы Предприятие и Накладная.

Процедуры кнопок Формы 2:

Процедура кнопки перехода на Форму1:

Характеристики

Тип файла
Документ
Размер
14,14 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7115
Авторов
на СтудИзбе
255
Средний доход
с одного платного файла
Обучение Подробнее