Большинство приложений, предназначенных для выполнения полезной работы, используют структурированную информацию или упорядоченные данные. Это могут быть списки заказов, счетов, телефонных номеров и другие формы упорядоченной информации. Для компьютерной обработки таких данных применяются базы данных — специальные файлы, которые позволяют пользователю просматривать, добавлять, изменять, копировать, удалять и сортировать информацию.
Современные технологии компьютеризации проникли во все сферы жизни, включая такие учреждения, как магазины продажи автомобилей. Такие магазины могут использовать компьютерные программы для хранения информации о машинах, клиентах, заказах и других данных. Это позволяет автоматизировать процессы и экономить время.
Целью данного курсового проекта является создание программы, которая упростит работу магазина по продаже автомобилей и сэкономит время. Проект предполагает систематизацию, закрепление и расширение знаний по использованию баз данных с помощью языка программирования Delphi, а также развитие навыков самостоятельной работы.
Microsoft Access — это настольная система управления базами данных реляционного типа. Одним из достоинств Access является простой графический интерфейс, который позволяет создавать базы данных и разрабатывать приложения.
Access — это настольная СУБД, которая отличается от других тем, что все данные хранятся в одном файле, но при этом они распределяются по разным таблицам, как и в любой реляционной СУБД. Вместе с данными в этом файле хранятся и другие объекты базы данных, о которых будет рассказано ниже.
Access предлагает большое количество Мастеров (Wizards), которые облегчают работу с данными и разработку приложений, особенно для неопытных пользователей. Они выполняют основную работу за пользователя и помогают избежать рутины.
Особенности MS Access отличаются от представления об «идеальной» реляционной СУБД. Создание многопользовательской базы данных access и получение одновременного доступа нескольких пользователей к общей базе данных возможно в локальной одноранговой сети или в сети с файловым сервером. Сеть обеспечивает аппаратную и программную поддержку обмена данными между компьютерами. Access следит за разграничением доступа разных пользователей к базе данных и обеспечивает защиту данных. Однако, так как Access не является клиент-серверной СУБД, его возможности по обеспечению многопользовательской работы ограничены. Обычно файл базы данных Access выкладывается на файловый сервер для доступа к данным по сети с нескольких рабочих станций. В такой ситуации обработка данных происходит в основном на клиенте, где запущено приложение. Из-за этого использование Access ограничено при большом количестве пользователей (более 15-20) и большом объеме данных в таблицах, так как это может создать большую нагрузку на сеть.
База данных. Понятие базы данных. Виды баз данных. Объекты для ...
... звуковые, мультимедийные; 3.Распределённая – база данных, разные части которой хранятся на различных компьютерах, объединённых в сеть; 4.Централизованная – база данных, хранящихся на одном компьютере; 5.Реляционная – база данных с табличной организацией данных. Одно из основных свойств ...
В отношении поддержки целостности данных Access отвечает только моделям баз данных небольшой и средней сложности. В нем отсутствуют такие средства, как триггеры и хранимые процедуры, поэтому разработчики вынуждены возлагать поддержание бизнес-логики базы данных на клиентскую программу.
В отношении защиты информации и разграничения доступа Access не обладает надежными стандартными средствами. Стандартные методы включают защиту паролем базы данных и защиту паролем пользователя. Однако специалисту не составит труда снять такую защиту.
Тем не менее, несмотря на известные недостатки, MS Access обладает множеством преимуществ по сравнению с системами подобного класса.
Преимущества использования MS Access
MS Access, являясь продуктом компании Microsoft, получил большую распространенность среди пользователей персональных компьютеров, использующих программное обеспечение и операционные системы данной компании. При этом данное ПО обладает рядом преимуществ, среди которых:
1. Большое количество возможностей при небольшой стоимости
MS Access предоставляет множество возможностей для хранения, обработки и выборки данных из БД, в том числе с использованием вспомогательных средств, таких как мастера. При этом стоимость данного ПО относительно небольшая.
2. Пользовательская ориентированность
Программа MS Access ориентирована на пользователей с разной профессиональной подготовкой. В ней реализованы различные диалоговые средства, помогающие создавать приложения без использования языка SQL и программирования макросов или модулей на языке VBA (Visual Basic for Applications).
3. Импорт/экспорт данных
MS Access обладает широкими возможностями по импорту/экспорту данных в различные форматы, включая таблицы Excel и текстовые файлы, а также практически любые серверные СУБД через механизм ODBC.
4. Встроенные средства разработки приложений
MS Access содержит встроенные функции для разработки приложений, такие как язык макрокоманд и возможность написания кода VBA. Эти инструменты позволяют создавать множество приложений для управления базами данных.
5. Легкость использования
Интерфейс MS Access достаточно прост в использовании и не требует специальных знаний программирования для создания приложений и работы с данными.
Вывод:
MS Access является мощной и удобной системой управления базами данных, которая обладает множеством преимуществ, таких как доступность, небольшая стоимость, разнообразные функции и возможности разработки приложений без программирования на языке SQL.
Исходя из предоставленных данных, Access является гибкой и простой в использовании Системой Управления Базами Данных (СУБД), которая также предоставляет дополнительные возможности в разработке приложений, работающих с базами данных.
Microsoft ActiveX Data Objects (ADO) — компоненты, впервые появившиеся в Delphi версии 5, представляют собой технологию стандартного доступа к реляционным структурам данных от Microsoft. Они аналогичны по назначению и сродни по возможностям BDE.
Работа с Базами данных в Delphi
... же особенностями обладает и Delphi. Алиасы Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то ... использовать Delphi для создания как самых простых приложений, на разработку которых требуется 2-3 часа, так и серьезных корпоративных проектов, предназначенных для работы десятков ...
Архитектура ADO основана на объектной модели компонентов COM (Component Object Model).
Все объекты и интерфейсы ADO являются интерфейсами и объектами COM.
Модель COM является базовой для технологий ActiveX и OLE. Например, объект TObject является базовым объектом для VC L Delphi.
СOM-объекты используются в технологии COM. Они похожи на объекты визуальной библиотеки компонентов Delphi, но не содержат полей, а содержат только свойства, методы и интерфейсы.
Интерфейсы представляют собой группы логически или семантически связанных процедур, обеспечивающих связь между поставщиком услуги (сервером) и его клиентом. Имена интерфейсов начинаются с буквы «I».
Обычный COM-объект включает один или несколько интерфейсов, а также методы, которые позволяют приложению использовать его.
Технология COM имеет два явных преимущества:
- Создание COM-объектов не зависит от языка программирования. Таким образом, они могут быть написаны на различных языках.
- COM-объекты могут быть использованы в любой среде программирования под Windows, включая Delphi, Visual С++, С++ Builder, Visual Basic и многие другие.
Однако, технология COM также имеет недостатки, такие как зависимость от платформы. Она применима только в операционной системе Windows и на платформе Intel.
Технология СОМ (Component Object Model) является одной из основных технологий, используемых в разработке программного обеспечения. Данная технология реализуется с помощью СОМ-библиотек, таких как OLE32.DLL и OLEAUT32.DLL, которые являются частью операционной системы.
СОМ-библиотеки содержат набор стандартных интерфейсов, отвечающих за функциональность СОМ-объекта, а также некоторые функции API, позволяющие создавать и управлять СОМ-объектами.
В Delphi реализация технологии СОМ называется Delphi ActiveX framework, или DAX. Реализация DAX описана в модуле AxCtrls.
Одним из основных интерфейсов, используемых в технологии ADO (ActiveX Data Objects), является интерфейс IConnection. Он выполняет следующие функции:
- Устанавливает связь с сервером базы данных.
- Управляет транзакциями.
- Предоставляет информацию о возникших ошибках (свойство Errors).
- Предоставляет информацию о схеме данных, таких как таблицы и поля.
Еще одним важным интерфейсом является IRecordset, который является аналогом класса TDataSet в Delphi. Он поддерживает текущее положение и перемещение курсора, а также позволяет выполнять операции чтения, изменения и удаления записей.
Для работы с командами источника данных в ADO используются интерфейсы ICommand и IParameter. Они обеспечивают выполнение команд и передачу параметров соответственно. Синтаксис команд может отличаться в зависимости от используемого источника данных.
Для получения и установки параметров, специфических для провайдера данных, используется интерфейс IProperty.
В Delphi 7 для работы с механизмом ADO предоставляется семь стандартных компонентов, которые расположены на закладке ADO палитры компонентов.
Первый компонент, называемый ADOConnection, является аналогом компонента Database из палитры BDE. С помощью компонента ADOConnection можно указывать местоположение базы данных и работать с транзакциями. В окне инспектора объектов отображаются основные свойства компонента ADOConnection.
Защита баз данных
... данной работе я затрагиваю основные аспекты защиты баз данных, их ... регистрироваться все происходящие события, касающиеся безопасности (должен ... эта система. Тогда по аналогии то, что ... данным монитор проверяет допустимость данного обращения (согласованность действия конкретного пользователя со списком разрешенных для него действий). Реализация монитора обращений называется ядром безопасности, на базе ...
Следующий компонент на закладке ADO называется ADOCommand. Он предназначен для выполнения SQL-команды без возврата результирующего набора данных.
Третий компонент закладки ADO — ADODataSet. Его назначение — получение набора данных из одной или нескольких таблиц базы данных. Кроме того, он также позволяет работать с возвращенным набором данных визуальным компонентам, предназначенным для отображения данных. Это наиболее общий компонент для работы с набором данных, который может использоваться вместо компонентов ADOTable, ADOQuery или ADOStoredProc.
Следующий компонент закладки ADO называется ADOTable. Он является аналогом компонента Table, расположенного на закладке BDE, и предназначен для доступа к таблице с помощью механизма ADO. Компонент ADOTable имеет свойства, которые мы уже рассматривали ранее в компонентах Table и ADODataSet, поэтому мы не будем возвращаться к ним еще раз.
Компонент ADOStoredProc предназначен для вызова процедуры, хранимой на сервере базы данных. В отличие от BDE и InterBase хранимые процедуры в ADO могут возвращать набор данных, поэтому компонент такого типа является потомком DataSet и может выступать источником данных в компонентах типа DataSource.
Последний компонент закладки ADO называется RDSConnection. Этот компонент управляет маршалингом данных, когда набор записей переносится из одного компьютера на другой.
ПРИМЕЧАНИЕ: Маршалингом данных называется механизм, который позволяет клиенту получать доступ к объектам, расположенным в другом адресном пространстве или на другом компьютере.
На события в ADO возлагаются те же задачи, что и на события в VCL. Многие из событий ADO имеют аналоги в VCL, и соответствующие компоненты вызывают из событий ADO события VCL.
Все события в ADO условно разделим на несколько групп: события соединения, события транзакции, события выполнения команд. События соединения:
— BeforeConnect: событие, которое происходит перед установлением соединения с базой данных. Здесь можно выполнить необходимые действия или проверки перед подключением.
— AfterConnect: событие, которое происходит после успешного установления соединения с базой данных. Здесь можно выполнить дополнительные действия или инициализацию после подключения.
— BeforeDisconnect: событие, которое происходит перед отключением от базы данных. Здесь можно выполнить необходимые действия или проверки перед отключением.
— AfterDisconnect: событие, которое происходит после успешного отключения от базы данных. Здесь можно выполнить дополнительные действия или очистку после отключения.
Эти события позволяют управлять процессом подключения и отключения от базы данных, а также выполнять дополнительные действия на этих этапах.
События транзакции:
— BeforeStartTransaction: событие, которое происходит перед началом транзакции. Здесь можно выполнить необходимые действия или проверки перед началом транзакции.
— AfterStartTransaction: событие, которое происходит после успешного начала транзакции. Здесь можно выполнить дополнительные действия или инициализацию после начала транзакции.
— BeforeCommit: событие, которое происходит перед фиксацией (коммитом) транзакции. Здесь можно выполнить необходимые действия или проверки перед фиксацией транзакции.
— AfterCommit: событие, которое происходит после успешной фиксации (коммита) транзакции. Здесь можно выполнить дополнительные действия или очистку после фиксации транзакции.
— BeforeRollback: событие, которое происходит перед откатом транзакции. Здесь можно выполнить необходимые действия или проверки перед откатом транзакции.
— AfterRollback: событие, которое происходит после успешного отката транзакции. Здесь можно выполнить дополнительные действия или очистку после отката транзакции.
Каналы передачи данных
... Division Method), при котором каналу выделяется некоторая полоса частот. Канал передачи данных - средства двустороннего обмена данными, включающие АКД и линию передачи данных. По природе физической среды передачи данных (ПД) различают каналы передачи данных на оптических линиях ...
Эти события позволяют управлять процессом транзакций, выполнять дополнительные действия на разных этапах транзакции.
События выполнения команд:
— BeforeExecute: событие, которое происходит перед выполнением команды. Здесь можно выполнить необходимые действия или проверки перед выполнением команды.
— AfterExecute: событие, которое происходит после успешного выполнения команды. Здесь можно выполнить дополнительные действия или обработку результатов выполнения команды.
— BeforeCancel: событие, которое происходит перед отменой выполнения команды. Здесь можно выполнить необходимые действия или проверки перед отменой выполнения команды.
— AfterCancel: событие, которое происходит после успешной отмены выполнения команды. Здесь можно выполнить дополнительные действия или очистку после отмены выполнения команды.
Эти события позволяют управлять выполнением команд, выполнять дополнительные действия на разных этапах выполнения команды.
Все эти события позволяют гибко управлять процессами подключения, транзакций и выполнения команд в ADO, а также выполнять дополнительные действия и обработку данных на разных этапах этих процессов.
В компоненте ADOConnection предусмотрены различные события, которые позволяют отслеживать и контролировать процесс установки и разрыва соединения с базой данных. Эти события включают OnWillConnect, OnConnectComplete и OnDisconnect.
Событие OnWillConnect вызывается перед установкой соединения и предоставляет возможность выполнить определенные действия или проверки перед соединением. Событие OnConnectComplete вызывается после успешной установки соединения и можно использовать его для выполнения дополнительных действий после подключения к базе данных. Событие OnDisconnect активируется при разрыве соединения и позволяет выполнить необходимые действия перед закрытием соединения.
Кроме событий, связанных с соединением, в компоненте ADOConnection также присутствуют события, связанные с транзакциями. Событие OnBeginTransComplete вызывается при выполнении операции BeginTrans, а события OnCommitTransComplete и OnRollbackTransComplete вызываются при выполнении операций CommitTrans и RollbackTrans соответственно.
Для выполнения команд в базе данных также предусмотрены события OnWillExecute и OnExecuteComplete. Событие OnWillExecute вызывается перед выполнением команды, а событие OnExecuteComplete вызывается после выполнения команды. Эти события инкапсулированы в компоненте ADOConnection, а не в ADOCommand, поскольку объект команды в ADO отсутствует.
Компонент ADOConnection также имеет встроенное событие OnlnfoMessage, которое вызывается при получении дополнительной информации с сервера. Формат и назначение этого события зависят от сервера, с которым ведется работа.
Принципы представления данных и команд в компьютере
... и 0[1], которые легко представляются сигналами. Вся информация в компьютере кодируется числами. Независимо от того, графическая, текстовая или звуковая. Представление текстовых данных ... компьютерах Apple. По сравнению с описанным выше, он позволяет хранить независимые фрагменты данных, ... временам действия Совета Экономической Взаимопомощи государств Восточной Европы. Международный стандарт, в котором ...
Компоненты ADODataSet, ADOTable, ADOQuery и ADOStoredProc представляют наборы данных и имеют свои собственные события. События выборки данных включают OnFetchProgress и OnFetchComplete. События изменения положения текущей записи в наборе данных включают OnWillMove, OnMoveComplete и OnEndOfRecordset.
В целом, события в ADO позволяют более гибко управлять процессом работы с базой данных, реагировать на изменения и выполнять дополнительные действия при необходимости. Эти события инкапсулированы в различных компонентах ADO и предоставляют возможность более удобного и эффективного взаимодействия с базой данных.
События OnWillChangeField и OnFieldChangeComplete вызываются до и после изменения текущей записи набора данных. Эти события позволяют программе выполнить определенные действия перед изменением поля и после его завершения. Например, можно проверить введенное значение на корректность или обновить связанные данные.
События OnWillChangeRecord и OnRecordChangeComplete вызываются до и после изменения, добавления или удаления строки в наборе данных. Они также вызываются при отмене этих действий. Эти события позволяют программе выполнить определенные действия перед изменением записи и после ее завершения. Например, можно проверить измененные данные на корректность или обновить связанные данные.
События OnWillChangeRecordset и OnRecordsetChangeComplete вызываются до и после открытия, закрытия, повторного запроса и синхронизации набора данных. Они позволяют программе выполнить определенные действия перед изменением набора данных и после его завершения. Например, можно обновить связанные данные или выполнить дополнительные операции с набором данных.
Многие события в ADO допускают прерывание действия. Эта возможность особенно полезна при асинхронной работе с сервером. Например, можно прервать слишком длительный запрос, если он необходимо прервать.
В ADO также есть возможность асинхронного выполнения операций с сервером. Это позволяет выполнять установку соединения с сервером, выполнение команды и выборку данных асинхронно. Для включения этого режима необходимо установить свойство ConnectOptions компонента ADOConnection в значение coAsyncConnect.
При установлении соединения происходит вызов обработчика события OnWillConnect, после чего управление передается программе. После завершения соединения, как успешного, так и ошибочного, вызывается обработчик события OnConnectComplete.
Некоторые компоненты ADO, такие как ADOCommand, ADODataSet, ADOTable, ADOQuery и ADOStoredProc, выполняют команду на языке SQL. Для асинхронного выполнения команды необходимо установить в свойстве ExecuteOptions значение coAsyncExecute.
При выполнении команды вызывается обработчик события OnWillExecute, после чего управление передается программе. После окончания выполнения команды, как успешного, так и ошибочного, вызывается обработчик события OnExecuteComplete.
Проектирование базы данных ‘Аэропорт’
... курсового проекта является разработка базы данных для компании занимающейся авиагрузоперевозками. Для достижения цели следует решить следующие задачи: Более подробно исследовать объект Аэропорт. Исследовать его работу и организацию рейсов. Структура работы аэропорта ...
SQL (structured query language — «структурированный язык запросов») — это формальный непроцедурный язык программирования, который используется для создания, модификации и управления данными в реляционных базах данных, управляемых соответствующими системами управления базами данных (СУБД).
SQL основывается на исчислении кортежей.
В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language — «структурированный английский язык запросов». Позже по юридическим соображениям [2] язык SEQUEL был переименован в SQL. Когда в 1986 году первый стандарт языка SQL был принят ANSI (American National Standards Institute), официальным произношением стало [,es kju: ‘ el] — эс-кью-эл. Несмотря на это, даже англоязычные специалисты зачастую продолжают читать SQL как сиквел (по-русски часто говорят «эс-ку-эль» или используют жаргонизм «скуль»).
Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Собственно разработкой языка запросов занимались Дональд Чэмбэрлин (Donald D. Chamberlin) и Рэй Бойс (Ray Boyce).
Пэт Селинджер (Pat Selinger) занималась разработкой стоимостного оптимизатора (cost-based optimizer), Рэймонд Лори (Raymond Lorie) занимался компилятором запросов.
Стоит отметить, что SEQUEL был не единственным языком подобного назначения. В Калифорнийском Университете Беркли была разработана некоммерческая СУБД Ingres (являвшаяся, между прочим, дальним прародителем популярной сейчас некоммерческой СУБД PostgreSQL), которая являлась реляционной СУБД, но использовала свой собственный язык QUEL, который, однако, не выдержал конкуренции по количеству поддерживающих его СУБД с языком SQL.
Первыми СУБД, поддерживающими новый язык, стали в 1979 году Oracle V2 для машин VAX от компании Relational Software Inc. (впоследствии ставшей компанией Oracle) и System/38 от IBM, основанная на System/R.является прежде всего информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL можно назвать языком программирования, при этом он не является тьюринг-полным, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.
Изначально SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:
Введение
Структурированный язык запросов (Structured Query Language, SQL) — один из наиболее распространенных языков программирования для управления и манипулирования реляционными базами данных. SQL является мощным инструментом для работы с данными, позволяющий выполнять различные операции, такие как создание новых таблиц, добавление, удаление и изменение записей, выбор данных из таблиц по заданному условию, а также многое другое.
Основные операции
Основными операциями SQL являются:
- создание в базе данных новой таблицы;
- добавление в таблицу новых записей;
- изменение записей;
- удаление записей;
- выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);
- изменение структур таблиц.
Со временем SQL усложнился и обогатился новыми конструкциями. Он обеспечивает возможность работы с новыми хранимыми объектами, как индексы, представления и хранимые процедуры. SQL стал приобретать черты, свойственные языкам программирования.
База данных для магазина музыкальных инструментов
... база данных должна иметь исчерпывающую информацию о товаре, цену товара, сведения о сотруднике, который его продал и о клиенте, купившем его. Во многих музыкальных магазинах сейчас ... на современной базе данных. Использование базы данных и автоматизированной системы для работы с ней существенно сократит время обслуживания клиентов и время работы сотрудников магазина по систематизации информации ...
Использование SQL в современных СУБД
Хотя SQL со временем изменял, он по-прежнему остается единственным механизмом связи между прикладным ПО и базой данных. Современные СУБД предоставляют пользователю различные средства визуального построения запросов.
Типы запросов
Каждое предложение SQL — это запрос данных из базы или обращение к базе данных, которое может привести к изменению данных в базе. Различают следующие типы запросов:
- запросы на создание или изменение в базе данных новых или существующих объектов;
- запросы на получение данных;
- запросы на добавление новых записей;
- запросы на удаление данных;
- обращения к СУБД.
Основным объектом хранения реляционной базы данных является таблица. Поэтому все SQL-запросы — это операции над таблицами. Запросы делятся на запросы, оперирующие самими таблицами (создание и изменение таблиц) и на запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей. Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием типа хранимых в каждом поле значений, связей между таблицами и информации, необходимой для построения индексов.
Запросы первого типа делятся на запросы для создания новых таблиц и запросы для изменения уже существующих таблиц. Запросы второго типа оперируют со строками, и их можно разделить на запросы для выборки, добавления и удаления данных.
Язык SQL (Structured Query Language) является стандартным языком для работы с реляционными базами данных. Он предоставляет набор операторов, инструкций и вычисляемых функций, которые позволяют осуществлять различные операции над данными.
Одной из основных операций языка SQL является запрос, который возвращает некоторый набор строк, с которым можно выполнять операции просмотра, изменения или удаления данных.
Самыми распространенными операторами языка SQL являются операторы определения данных (DDL), операторы манипуляции данными (DML), операторы определения доступа к данным (DCL) и операторы управления транзакциями (TCL).
Операторы DDL позволяют создавать, изменять и удалять объекты базы данных, такие как таблицы, представления, пользователи и другие. Например, оператор CREATE используется для создания новых объектов, оператор ALTER — для изменения существующих, а оператор DROP — для удаления объектов.
Операторы DML позволяют осуществлять манипуляции с данными, такие как чтение, добавление, изменение и удаление. Например, оператор SELECT используется для чтения данных, оператор INSERT — для добавления новых данных, оператор UPDATE — для изменения существующих данных, а оператор DELETE — для удаления данных.
Операторы DCL позволяют определять доступ пользователей к объектам базы данных. Они позволяют предоставлять или отзывать разрешения на выполнение определенных операций с объектами. Например, оператор GRANT используется для предоставления разрешений, оператор REVOKE — для отзыва разрешений, а оператор DENY — для задания запретов.
Курсовая работа создание базы данных mysql
... накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево). Cтруктура MySQL трехуровневая: базы данных — таблицы — записи. Базы данных и таблицы MySQL физически представляются ...
Операторы TCL позволяют управлять транзакциями, которые представляют собой логические единицы работы с данными. Они позволяют применять изменения, откатывать их или разбивать транзакцию на более мелкие участки. Например, оператор COMMIT применяет транзакцию, оператор ROLLBACK откатывает изменения, а оператор SAVEPOINT создает точку сохранения для разделения транзакции.
Использование SQL сводится к формированию выборок строк и выполнению операций над ними. Целью данного курсового проекта является закрепление и углубление знаний, полученных при изучении дисциплины «Базы данных», а также развитие навыков самостоятельной работы при проектировании реляционных баз данных и создании прикладных программ для работы с ними.
Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.
Преобразование концептуальной модели в логическую модель, как правило, осуществляется по формальным правилам. Этот этап может быть в значительной степени автоматизирован.
На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.
Логическая структура реляционной базы данных Access является адекватным отображением полученной информационно-логической модели предметной области. Для канонической модели не требуется дополнительных преобразований. Каждый информационный объект модели данных отображается реляционной таблицей. Структура реляционной таблицы определяется реквизитным составом соответствующего информационного объекта, где каждое поле соответствует одному из реквизитов объекта. Ключевые реквизиты объекта образуют уникальный ключ реляционной таблицы. Для каждого поля задается тип, размер данных и др. свойства. Записи таблицы соответствуют экземплярам объекта и формируются при загрузке таблицы.
Связи между объектами данных реализуются одинаковыми реквизитами — ключами связи в соответствующих таблицах. При этом ключом связи типа 1: М всегда является уникальный ключ главной таблицы (Рисунок 3).
Рисунок 3 — Даталогическая модель
В ходе проектирования БД «Магазин автомобилей » были разработаны следующие таблицы:
- Заказы
- Клиенты
- Каталог
На основании описания предметной области спроектировать базу данных ER-методом с применением диаграмм ER-типа. Разработанные в результате проектирования таблицы находятся в нормальной форме Бойса-Кодда.
Так же требуется разработать программу для работы пользователя с базой данных. Программа должна обеспечивать
а) ввод, редактирование и удаление записей таблиц базы данных без нарушения целостности данных, хранящихся в базе данных;
Магазин продает автомобили по каталогу, в котором имеются данные о ряде моделей. Каталог содержит информацию о названии модели, фирме-изготовителе, мощности двигателя, числе мест в салоне, расходе топлива на 100 км и объеме багажника. Клиенты, просматривая каталог, могут выбрать нужную им модель и оформить заказ.
После оформления заказа магазин получает нужный автомобиль и выписывает клиенту счет. В счете указывается модель автомобиля, его идентификационный номер, номера двигателя и кузова, цвет и цена. Также в счете обязательно указывается дата выписки и дата оплаты. После оплаты счета клиент получает автомобиль, о чем делается отметка в заказе.
Клиенты могут сделать несколько заказов. Для учета продаж каждой модели магазин выпускает ежемесячный отчет, в котором указывается количество проданных автомобилей каждой модели и общая сумма продаж.
Для реализации данной системы необходимо использовать ADO, альтернативу Borland Database Engine (BDE), для более эффективной работы с данными. Также требуется наличие системы управления базами данных, например, Microsoft Office Access 2007, для создания и редактирования баз данных. Отображение зависимостей между объектами базы данных позволяет легко выполнять поддержку базы данных и предотвращать ошибки, связанные с потерей источников записей.
- Частота процессора не менее 500 МГц
- Не менее 256 Мб оперативной памяти
- 1,5-2 Гб свободного места на жёстком диске
- Разрешение экрана не менее 1024×768 точек
- Операционная система Windows XP с SP2, Windows Server 2003 с SP2 [1] или более новые версии.
- Принтер
- Клавиатура
- Мышь
При открытии приложения открывается главное окно программы (Рисунок 4)
Рисунок 4 — Главное окно программы
Нажав на «Оформление заказа» откроется каталог машин для выбора понравившейся машины и оформления заказа (Рисунок 5).
Рисунок 5 — Окно оформления заказа
При выборе машин можно сортировать данные по различным признакам. Для выбора понравившейся машины необходимо кликнуть двойным щелчком по строке таблицы или нажать кнопку «Оформить заказ» откроется форма по управлению заказом (Рисунок 6)
Рисунок 6 — Оформление заказа
Заполнив все необходимые поля формы и нажав на кнопку «ОК» клиенту будет выписан счет (Рисунок 7).
Рисунок 8 — Счет покупателю
Если вернуться к главное форме (Рисунок 4) и нажать на «Управление базой» то выйдет окно для работы с базой данных, ее редактирования и вывода отчетов о продаж, но прежде чем приступить к работе требуется ввести пароль (Рисунок 8).
Введем пароль для входа в базу данных и нажмем «ОК» появиться окно для управления базой
Нажав на кнопку «Редактирование таблиц» появиться форма для удаление, изменения и добавления записей в таблицу
Если вернуться в окно управления базой (Рисунок 9) и нажать на кнопку «Работа с данными» выйдет список форм для открытия. Самой первой формой является форма поиск клиента
Перейдя во вкладку «Продажи» можно увидеть продажи машин по клиентам
Перейдя по вкладку «Поиск автомобиля» откроется форма для поиска нужного автомобиля
Перейдя во вкладку обработка заказов появиться окно для работы с заказами, можно посмотреть обработанные и не обработанные заказы, а так же просроченные заказы
В ходе выполнения курсового проекта была разработана программа для продажи автомобилей, обладающая следующим функционалом:
- просмотр и редактирование данных;
- поиск и редактирование записей о машинах;
- поиск и редактирование записей о клиентах;
- поиск и обработка заказов;
- печать чека;
- просмотр машин в магазине;
- просмотр отчета проданных машин за 30 дней на экране, и вывод этого отчета в файл.
Для управления базой данных использовались следующие источники:
- Карпова Т.С. Базы данных: модели, разработка. — СПб.: Питер, 2001, 304 с.
- Петров В.Н. Информационные системы. — СПб.: Питер, 2002.
- Фаронов В.В. Программирование баз данных в Delphi 7: Учебный курс. — СПб.: Питер, 2004 — 464 с.
- Кренке Д. Теория и практика построения баз данных: [пер. с англ] / Д. Кренке. — 9-е изд. — СПб.: Питер, 2005. — 858 с.
- Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. — СПб.: КОРОНА принт, 2000. — 416 с.
- Карпова Т.С. Базы данных: модели, разработка, реализация. — СПб.: Питер, 2001. — 304с.
- Ульман Дж., Уидом Дж. Введение в системы баз данных. — М.: Лори, 2000. — 374с.
- Мейер Д. Теория реляционных баз данных. — М.: Мир, 1987. — 608с.
- Джексон Г. Проектирование реляционных баз данных для использования с микро-ЭВМ. — М.: Мир, 1991.
- Четвериков В.Н. и др. Базы и банки данных. — М.: Высш. шк., 1987.
- Бойко В.В., Савинов В.М. Проектирование баз данных информационных систем. — М.: Финансы и статистика, 1989.
- Дейт К. Введение в системы баз данных. — К.: Диалектика, 1998.
- Хансен Г., Хансен Д. Базы данных: разработка и управление. — М.: БИНОМ, 1999.
Приложение 1. Исходный код программы
Главная форма программы.
main;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class (TForm): TGroupBox;: TRadioButton;: TRadioButton;: TButton;Button1Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TMainForm;katalog, password;
- {$R *. dfm}TMainForm. Button1Click (Sender: TObject);RadioButton1. Checked. Show. Show;.
Форма ModulBD
Здесь расположены невидимые компоненты, для работы с базой данных
Форма выбора машины по каталогу
katalog;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls;= class (TForm): TDBGrid;: TGroupBox;: TRadioButton;: TRadioButton;: TRadioButton;: TRadioButton;: TGroupBox;: TEdit;: TButton;: TEdit;: TButton;: TButton;FormActivate (Sender: TObject);RadioButton1Click (Sender: TObject);RadioButton2Click (Sender: TObject);RadioButton3Click (Sender: TObject);RadioButton4Click (Sender: TObject);Button1Click (Sender: TObject);Button2Click (Sender: TObject);Button3Click (Sender: TObject);DBGrid1DblClick (Sender: TObject);
{ Private declarations }
{ Public declarations };: TKatalogAvto;main, module, zak;
- {$R *. dfm}TKatalogAvto. FormActivate (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs’);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. RadioButton1Click (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Engine_power DESC ‘);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. RadioButton2Click (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Number_seats DESC ‘);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. RadioButton3Click (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Rashod_topliva DESC’);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. RadioButton4Click (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Volume_trunk DESC’);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. Button1Click (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs WHERE Marka_modeli LIKE »’+Edit1. Text+»’ and Model LIKE »’+Edit2. Text+»»);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. Button2Click (Sender: TObject);. ADOQuery_Katalog. SQL. Clear;. ADOQuery_Katalog. SQL. Add (‘SELECT * FROM Catalogs’);. ADOQuery_Katalog. Active: =True;;TKatalogAvto. Button3Click (Sender: TObject);. Show;;TKatalogAvto. DBGrid1DblClick (Sender: TObject);. Show;. Edit2. Text: = DBGrid1. DataSource. DataSet. Fields [0].
AsString;. Edit9. Text: = DBGrid1. DataSource. DataSet. Fields [1].
AsString;. Edit10. Text: = DBGrid1. DataSource. DataSet. Fields [2].
AsString;;.
Форма оформления заказа
zak;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class (TForm): TButton;: TGroupBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TButton;: TEdit;: TEdit;: TLabel;: TLabel;: TEdit;: TEdit;Button1Click (Sender: TObject);Button2Click (Sender: TObject);Button3Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TZakaz;klient, avto, module, zak2, main, cek;
- {$R *. dfm}TZakaz. Button1Click (Sender: TObject);. Show;;TZakaz. Button2Click (Sender: TObject);_Avto. show;;TZakaz. Button3Click (Sender: TObject);,warehouseid, i: Integer;. ADOQuery_Zakaz. Insert;: =ModuleBD. ADOQuery_Zakaz. RecordCount+1;. ADOQuery_Zakaz. FieldByName (‘id_orders’).
AsInteger: = zakazid;. ADOQuery_Zakaz. FieldByName (‘id_clients’).
AsInteger: = StrToInt (Edit1. Text);. ADOQuery_Zakaz. FieldByName (‘Order_status’).
AsBoolean: =false;. ADOQuery_Zakaz. FieldByName (‘Status_oplati’).
AsBoolean: =false;. ADOQuery_Zakaz. FieldByName (‘Date_vipiski’).
AsString: =Edit7. Text;. ADOQuery_Zakaz. FieldByName (‘Date_oplati’).
AsString: =Edit8. Text;. ADOQuery_Zakaz. FieldByName (‘№_engine’).
AsInteger: = StrToInt (Edit3. Text);. ADOQuery_Zakaz. FieldByName (‘№_kuzova’).
AsInteger: = StrToInt (Edit4. Text);. ADOQuery_Zakaz. FieldByName (‘Color’).
AsString: =Edit5. Text;. ADOQuery_Zakaz. FieldByName (‘Price’).
AsString: =Edit6. Text;. ADOQuery_Zakaz. FieldByName (‘id_cars’).
AsFloat: = StrToFloat (Edit2. Text);. QRLabel13. Caption: =Edit9. Text;. QRLabel14. Caption: =Edit10. Text;. QRLabel15. Caption: =Edit2. Text;. QRLabel16. Caption: =Edit3. Text;. QRLabel17. Caption: =Edit4. Text;. QRLabel18. Caption: =Edit5. Text;. QRLabel19. Caption: =Edit8. Text;. QRLabel20. Caption: =Edit7. Text;. QRLabel12. Caption: =Edit6. Text;. QuickRep1. PreviewModal;;.
Форма ввода пароля для доступа к базе
password;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class (TForm): TEdit;: TButton;Edit1Change (Sender: TObject);Button1Click (Sender: TObject);FormActivate (Sender: TObject);
{ Private declarations }
{ Public declarations };: TPassForm;main, admin;
- {$R *. dfm}TPassForm. Button1Click (Sender: TObject);. visible: = true;. Visible: = false;;TPassForm. Edit1Change (Sender: TObject);Edit1. Text = ‘1’ then begin. Enabled: = true;
- end;;TPassForm. FormActivate (Sender: TObject);. Clear;. Enabled: = false;;.
Форма управления БД
admin;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus;= class (TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;N9Click (Sender: TObject);N1Click (Sender: TObject);N4Click (Sender: TObject);N5Click (Sender: TObject);N6Click (Sender: TObject);N7Click (Sender: TObject);N10Click (Sender: TObject);N8Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TUpravlenie;edit, klient, prodan, avto, zak2, skld, otchet;
- {$R *. dfm}TUpravlenie. N9Click (Sender: TObject);. Close;;TUpravlenie. N1Click (Sender: TObject);. Show;;TUpravlenie. N4Click (Sender: TObject);. Show;;TUpravlenie. N5Click (Sender: TObject);. Show;;TUpravlenie. N6Click (Sender: TObject);_Avto. Show;;TUpravlenie. N7Click (Sender: TObject);. Show;;TUpravlenie. N10Click (Sender: TObject);. Show;;TUpravlenie. N8Click (Sender: TObject);_za_mec. Show;;.
Форма просмотра и редактирования БД
edit;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls;= class (TForm): TDBGrid;: TDBNavigator;: TGroupBox;: TComboBox;: TGroupBox;: TEdit;: TButton;FormActivate (Sender: TObject);ComboBox1Change (Sender: TObject);Button1Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TEditBD;module;
- {$R *. dfm}TEditBD. FormActivate (Sender: TObject);. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Catalogs’);. ADOQuery_Edit. Active: =True;;TEditBD.comboBox1Change (Sender: TObject);ComboBox1. Text=’Клиенты’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Clients’);. ADOQuery_Edit. Active: =True;;ComboBox1. Text=’Каталог’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Catalogs’);. ADOQuery_Edit. Active: =True;;ComboBox1. Text=’Заказы’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Orders’);. ADOQuery_Edit. Active: =True;;;TEditBD. Button1Click (Sender: TObject);ComboBox1. Text=’Клиенты’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Clients WHERE id_clienta LIKE »’+Edit1. Text+»»);. ADOQuery_Edit. Active: =True;;ComboBox1. Text=’Каталог’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Catalogs WHERE id_cars LIKE »’+Edit1. Text+»»);. ADOQuery_Edit. Active: =True;;ComboBox1. Text=’Склад’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Warehouse WHERE id_warehouse LIKE »’+Edit1. Text+»»);. ADOQuery_Edit. Active: =True;;ComboBox1. Text=’Заказы’ then. ADOQuery_Edit. SQL. Clear;. ADOQuery_Edit. SQL. Add (‘SELECT * FROM Orders WHERE id_orders LIKE »’+Edit1. Text+»»);. ADOQuery_Edit. Active: =True;;;.
Форма для поиска клиента
klient;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Grids, DBGrids;= class (TForm): TDBGrid;: TGroupBox;: TEdit;: TButton;: TButton;FormActivate (Sender: TObject);Button1Click (Sender: TObject);Button2Click (Sender: TObject);DBGrid1DblClick (Sender: TObject);
{ Private declarations }
{ Public declarations };: TPoiskKlienta;module, zak;
- {$R *. dfm}TPoiskKlienta. FormActivate (Sender: TObject);. ADOQuery_Klient. SQL. Clear;. ADOQuery_Klient. SQL. Add (‘SELECT * FROM Clients’);. ADOQuery_Klient. Active: =True;;TPoiskKlienta. Button1Click (Sender: TObject);. ADOQuery_Klient. SQL. Clear;. ADOQuery_Klient. SQL. Add (‘SELECT * FROM Clients WHERE Familya LIKE »’+Edit1. Text+»»);. ADOQuery_Klient. Active: =True;;TPoiskKlienta. Button2Click (Sender: TObject);. ADOQuery_Klient. SQL. Clear;. ADOQuery_Klient. SQL. Add (‘SELECT * FROM Clients ‘);. ADOQuery_Klient. Active: =True;;TPoiskKlienta. DBGrid1DblClick (Sender: TObject);. Edit1. Text: = DBGrid1. DataSource. DataSet. Fields [0].
AsString;;.
Форма для вывода продаж по клиентам
prodan;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls;= class (TForm): TDBGrid;FormActivate (Sender: TObject);
{ Private declarations }
{ Public declarations };: TProdano;module;
- {$R *. dfm}TProdano. FormActivate (Sender: TObject);. ADOQuery_Prodano. SQL. Clear;. ADOQuery_Prodano. SQL. Add (‘SELECT id_clienta,Familya, (SELECT Count (id_clients) FROM Orders WHERE (Orders. id_clients=Clients. id_clienta) GROUP BY id_clienta) AS Кол_воМашин FROM Clients’);. ADOQuery_Prodano. Active: =True;;.
Форма для поиска автомобиля
avto;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls;_Avto = class (TForm): TDBGrid;: TGroupBox;: TRadioButton;: TRadioButton;: TRadioButton;: TRadioButton;: TGroupBox;: TEdit;: TButton;: TButton;FormActivate (Sender: TObject);Button1Click (Sender: TObject);RadioButton1Click (Sender: TObject);RadioButton2Click (Sender: TObject);RadioButton3Click (Sender: TObject);RadioButton4Click (Sender: TObject);Button2Click (Sender: TObject);DBGrid1DblClick (Sender: TObject);
{ Private declarations }
{ Public declarations };_Avto: TForm_Avto;module, zak;
- {$R *. dfm}TForm_Avto. FormActivate (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs’);. ADOQuery_Avto. Active: =True;;TForm_Avto. Button1Click (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs WHERE Marka_modeli LIKE »’+Edit1. Text+»»);. ADOQuery_Avto. Active: =True;;TForm_Avto. RadioButton1Click (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Engine_power DESC ‘);. ADOQuery_Avto. Active: =True;;TForm_Avto. RadioButton2Click (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Number_seats DESC ‘);. ADOQuery_Avto. Active: =True;;TForm_Avto. RadioButton3Click (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Rashod_topliva DESC’);. ADOQuery_Avto. Active: =True;;TForm_Avto. RadioButton4Click (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs ORDER BY Volume_trunk DESC’);. ADOQuery_Avto. Active: =True;;TForm_Avto. Button2Click (Sender: TObject);. ADOQuery_Avto. SQL. Clear;. ADOQuery_Avto. SQL. Add (‘SELECT * FROM Catalogs’);. ADOQuery_Avto. Active: =True;;TForm_Avto. DBGrid1DblClick (Sender: TObject);. Edit2. Text: = DBGrid1. DataSource. DataSet. Fields [0].
AsString;. Edit9. Text: = DBGrid1. DataSource. DataSet. Fields [1].
AsString;. Edit10. Text: = DBGrid1. DataSource. DataSet. Fields [2].
AsString;;.
Форма для обработки заказов
zak2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, StdCtrls;= class (TForm): TDBGrid;: TButton;: TButton;: TButton;FormActivate (Sender: TObject);Button2Click (Sender: TObject);Button1Click (Sender: TObject);Button3Click (Sender: TObject);
{ Private declarations }
{ Public declarations };: TZakazi;module, proc;
- {$R *. dfm}TZakazi. FormActivate (Sender: TObject);
- {ModuleBD.
ADOQuery_Zakaz. SQL. Clear;. ADOQuery_Zakaz. SQL. Add (‘SELECT * FROM Orders’);. ADOQuery_Zakaz. Active: =True; };TZakazi. Button2Click (Sender: TObject);. ADOQuery_Zakaz. SQL. Clear;. ADOQuery_Zakaz. SQL. Add (‘SELECT * FROM Orders where Order_status = true’);. ADOQuery_Zakaz. Active: =True;;TZakazi. Button1Click (Sender: TObject);. ADOQuery_Zakaz. SQL. Clear;. ADOQuery_Zakaz. SQL. Add (‘SELECT * FROM Orders where Order_status = false’);. ADOQuery_Zakaz. Active: =True;;TZakazi. Button3Click (Sender: TObject);_Prosrochka. Show;;.
Форма для просмотри и редактирования просроченных заказов
*Orders(Status_oplati=False) AND (Date_oplati=Format (Date ()))
Форма для выбора отчета за месяц
otchet;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;, monthname: string;_za_mec = class (TForm): TComboBox;: TButton;ComboBox1Click (Sender: TObject);Button1Click (Sender: TObject);
{ Private declarations }
{ Public declarations };_za_mec: TOtchet_za_mec;otch;
- {$R *. dfm}TOtchet_za_mec.comboBox1Click (Sender: TObject);ComboBox1. ItemIndex of
: ShowMessage (‘Выберите месяц! ‘);
- : begin month: =’__.01.2014′;
- monthname: =’Январь 2014′;
- end;
- : begin month: =’__.02.2014′;
- monthname: =’Февраль 2014′;
- end;
- : begin month: =’__.03.2014′;
- monthname: =’Март 2014′;
- end;
- : begin month: =’__.04.2014′;
- monthname: =’Апрель 2014′;
- end;
- : begin month: =’__.05.2014′;
- monthname: =’Май 2014′;
- end;
- : begin month: =’__.06.2014′;
- monthname: =’Июнь 2014′;
- end;
- : begin month: =’__.07.2014′;
- monthname: =’Июль 2014′;
- end;
- : begin month: =’__.08.2014′;
- monthname: =’Август 2014′;
- end;
- : begin month: =’__.09.2014′;
- monthname: =’Сентябрь 2014′;
- end;
- : begin month: =’__.10.2014′;
- monthname: =’Октябрь 2014′;
- end;
- : begin month: =’__.11.2014′;
- monthname: =’Ноябрь 2014′;
- end;
Приложение 2. Блок схемы основных форм
Блок-схема оформления заказа
Блок схема ввода пароля для доступа к базе
Блок схема на просмотр и редактирования БД
Блок схема для вывода продаж по клиентам