Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Оценка эффективности работы с данными



При создании физической модели для реляционной СУБД Access автоматически индексируются первичные ключи.

При формировании доменов было предусмотрено для каждого атрибута определенное количество символов исходя из предположения о максимально возможном их количестве при анализе предметной области.

Объем внешней памяти, необходимый для функционирования системы, складывается из двух составляющих: памяти, занимаемой модулями СУБД (ядро, утилиты, вспомогательные программы), и памяти, отводимой под данные (ПД). Наиболее существенными обычно являются ПД. Объем ПД, требуемый для хранения данных, можно приблизительно оценить по формуле

,

Где – длина записи в i-й таблице (в байтах);

Ni – примерное (максимально возможное) количество записей в i-й таблице;

Na – количество записей в архиве i-й таблицы.

Коэффициент 2 перед суммой необходим для того, чтобы выделить памяти для хранения индексов, промежуточных данных, для выполнения объёмных операций (например, сортировки) и т.п.

Рассчитаем приблизительно, какой объем памяти необходим для хранения данных в базе “Учет материальных ценностей” за первый год. Предположим, что в базе хранится информация о 1000 книг (по 1 кбайту на каждую книгу), 3000 накладных (по 1 кбайту на каждую накладную), 3000 счёт-фактур (по 1 кбайту на каждую счёт-фактуру), 50 Поставщиков (по 1 кбайту на каждого поставщика), 50 покупателей (по 1 кбайту на каждого покупателя). Тогда объем памяти для хранения данных приблизительно составит

ПД=2*(1000*1+1*3000+1*3000+50*1+50*1)= 14200 кбайтов.


 

ЗАКЛЮЧЕНИЕ

Организация автоматизированных информационных систем занимает значительное место в современном мире, нишу в котором теперь будет занимать спроектированная база данных «Учёт материальных ценностей».

Роль данной системы заключалась в автоматизации учета всех операций по обороту книг в книжном мелкооптовом магазине, а также в хранении данных, выполнении и редактировании, поиске и обработке, сокращении временных затрат, повышении эффективности работы, уменьшении числа ошибок, возникающих в процессе работы с данными.

Также причинами, по которым было необходимо создание базы данных «Учёт материальных ценностей» явилось:

· оперативный доступ к данным по книгам, покупателям, поставщикам, накладным и счёт-фактурам, возможность каждодневного их заполнения и, при необходимости, редактирования;

· быстрый и удобный доступ к справочникам, возможность его пополнения и изменения.

Созданная база данных отвечает всем критериям, также спроектированная база данных соответствует ранее выдвинутой главной цели проекта, следовательно, можно говорить о соответствии заявленных требований полученным результатам.

В процессе работы было выполнено обоснование необходимости использования базы данных «Учёт материальных ценностей», была описана ее предметная область, также были построены концептуальная, логическая и физическая модели базы данных. Была проведена реализация сформированных моделей в среде СУБД MS Access, сформированы запросы, отчеты, главная кнопочная форма. Поэтому база данных «Учёт материальных ценностей», в конечном счете, сможет упростить процедуры учета, хранения, редактирования, поиска данных.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Рудикова, Л. В. Проектирование баз данных: учеб. Пособие /Л.В. Рудикова. – Минск: ИВЦ Минфина, 2009. – 352 с.

2. Кузнецов, С.Д. Основы баз данных: учеб. Пособие / С.Д. Кузнецов. – М.: Интернет-УИТ

3. Моисеенко, С. И. SQL. Задачи и решения / С.И. Моисеенко. – СПб.: Питер, 2006. – 1168 с.

4. Гарсиа-Молина, Г. Системы баз данных. Полный курс: [пер. с англ.] / Г. Гарсиа-Молина, Дж. Ульман, Дж. Уидом. – М.: Вильямс, 2003. – 1088 с.

5. Коннолли, Т. Базы данных: проектирование, реализация и сопровождение. Теория и практика: [пер. с англ.] / Т. Коннолли, К. Бегг. – 2-е изд. – М.: Вильямс, 2000. – 1120 с.

6. Вейскас, Дж. Эффективная работа с Microsoft Office Access 2003: [пер. с англ.] / Дж. Вейскас. – СПб.: Питер, 2005. – 1168 с.

7. Коннолли, Т. Базы данных: проектирование, реализация и сопровождение. Теория и практика: [пер. с англ.] / Т. Коннолли, К. Бегг. – 3-е изд. – М.: Вильямс, 2003. – 1440 с.

8. Роб, П. Системы баз данных: проектирование, реализация, управление: [пер. с англ.] / П. Роб, К. Коронел. – 5-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2004. – 1040 с.


ПРИЛОЖЕНИЕ А. Код генерации базы данных Access

Dim ERwinWorkspace As Workspace

Dim ERwinDatabase As Database

Dim ERwinTableDef As TableDef

Dim ERwinQueryDef As QueryDef

Dim ERwinIndex As Index

Dim ERwinField As Field

Dim ERwinRelation As Relation

 

Set ERwinDatabase = ERwinWorkspace.OpenDatabase(" H: \Курсовая СБД\Абашев\база.mdb" )

 

' CREATE TABLE Книги

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Книги" )

Set ERwinField = ERwinTableDef.CreateField(" КодКниги", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" Название", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" Автор", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" Издательство", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ГодИзд", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КолСтр", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" СтоимПриобр", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КрСодерж", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КомпактД", DB_OLE)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" КодКниги" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодКниги: " )

Set ERwinField = ERwinQueryDef.Fields(" Название" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " Название: " )

Set ERwinField = ERwinQueryDef.Fields(" Автор" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " Автор: " )

Set ERwinField = ERwinQueryDef.Fields(" Издательство" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " Издательство: " )

Set ERwinField = ERwinQueryDef.Fields(" ГодИзд" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ГодИзд: " )

Set ERwinField = ERwinQueryDef.Fields(" КолСтр" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КолСтр: " )

Set ERwinField = ERwinQueryDef.Fields(" СтоимПриобр" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " СтоимПриобр: " )

Set ERwinField = ERwinQueryDef.Fields(" КрСодерж" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КрСодерж: " )

Set ERwinField = ERwinQueryDef.Fields(" КомпактД" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КомпактД: " )

 

' CREATE INDEX XPKКниги

Set ERwinTableDef = ERwinDatabase.TableDefs(Книги)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKКниги)

Set ERwinField = ERwinIndex.CreateField(" КодКниги" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE TABLE Накладные

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Накладные" )

Set ERwinField = ERwinTableDef.CreateField(" КодНакл", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КодПоставщика", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ДатаНакл", DB_DATETIME)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" КодНакл" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодНакл: " )

Set ERwinField = ERwinQueryDef.Fields(" КодПоставщика" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодПоставщика: " )

Set ERwinField = ERwinQueryDef.Fields(" ДатаНакл" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ДатаНакл: " )

 

' CREATE INDEX XPKНакладные

Set ERwinTableDef = ERwinDatabase.TableDefs(Накладные)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKНакладные)

Set ERwinField = ERwinIndex.CreateField(" КодНакл" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE TABLE Покупатели

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Покупатели" )

Set ERwinField = ERwinTableDef.CreateField(" КодПокупателя", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" НазвОрг", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ЮрАдресПокуп", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ИННПокуп", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ФИО", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" Телефон", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" БанкПокуп", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" НомСчётаПокуп", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" КодПокупателя" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодПокупателя: " )

Set ERwinField = ERwinQueryDef.Fields(" НазвОрг" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " НазвОрг: " )

Set ERwinField = ERwinQueryDef.Fields(" ЮрАдресПокуп" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ЮрАдресПокуп: " )

Set ERwinField = ERwinQueryDef.Fields(" ИННПокуп" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ИННПокуп: " )

Set ERwinField = ERwinQueryDef.Fields(" ФИО" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ФИО: " )

Set ERwinField = ERwinQueryDef.Fields(" Телефон" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " Телефон: " )

Set ERwinField = ERwinQueryDef.Fields(" БанкПокуп" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " БанкПокуп: " )

Set ERwinField = ERwinQueryDef.Fields(" НомСчётаПокуп" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " НомСчётаПокуп: " )

 

' CREATE INDEX XPKПокупатели

Set ERwinTableDef = ERwinDatabase.TableDefs(Покупатели)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKПокупатели)

Set ERwinField = ERwinIndex.CreateField(" КодПокупателя" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE TABLE Поставщики книг

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Поставщики книг" )

Set ERwinField = ERwinTableDef.CreateField(" КодПоставщика", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" НаимПоставщика", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ИННпост", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" ЮрАдресПост", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" БанкПост", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" НомСчётаПост", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" КодПоставщика" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодПоставщика: " )

Set ERwinField = ERwinQueryDef.Fields(" НаимПоставщика" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " НаимПоставщика: " )

Set ERwinField = ERwinQueryDef.Fields(" ИННпост" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ИННпост: " )

Set ERwinField = ERwinQueryDef.Fields(" ЮрАдресПост" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " ЮрАдресПост: " )

Set ERwinField = ERwinQueryDef.Fields(" БанкПост" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " БанкПост: " )

Set ERwinField = ERwinQueryDef.Fields(" НомСчётаПост" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " НомСчётаПост: " )

 

' CREATE INDEX XPKПоставщики книг

Set ERwinTableDef = ERwinDatabase.TableDefs(Поставщики книг)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKПоставщики книг)

Set ERwinField = ERwinIndex.CreateField(" КодПоставщика" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE TABLE Строки накладных

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Строки накладных" )

Set ERwinField = ERwinTableDef.CreateField(" КодКниги", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КодНакл", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КоличествоКниг", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" КодКниги" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодКниги: " )

Set ERwinField = ERwinQueryDef.Fields(" КодНакл" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодНакл: " )

Set ERwinField = ERwinQueryDef.Fields(" КоличествоКниг" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КоличествоКниг: " )

 

' CREATE INDEX XPKСтроки накладных

Set ERwinTableDef = ERwinDatabase.TableDefs(Строки накладных)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKСтроки накладных)

Set ERwinField = ERwinIndex.CreateField(" КодКниги" )

ERwinIndex.Fields.Append ERwinField

Set ERwinField = ERwinIndex.CreateField(" КодНакл" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE TABLE Строки счёт-фактур

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Строки счёт-фактур" )

Set ERwinField = ERwinTableDef.CreateField(" КодКниги", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" УникНомер", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" Количество", DB_LONG)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" КодКниги" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодКниги: " )

Set ERwinField = ERwinQueryDef.Fields(" УникНомер" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " УникНомер: " )

Set ERwinField = ERwinQueryDef.Fields(" Количество" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " Количество: " )

 

' CREATE INDEX XPKСтроки счёт-фактур

Set ERwinTableDef = ERwinDatabase.TableDefs(Строки счёт-фактур)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKСтроки счёт-фактур)

Set ERwinField = ERwinIndex.CreateField(" КодКниги" )

ERwinIndex.Fields.Append ERwinField

Set ERwinField = ERwinIndex.CreateField(" УникНомер" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE TABLE Счёт-фактуры

Set ERwinTableDef = ERwinDatabase.CreateTableDef(" Счёт-фактуры" )

Set ERwinField = ERwinTableDef.CreateField(" УникНомер", DB_TEXT, 20)

ERwinField.Required = True

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" Дата", DB_DATETIME)

ERwinTableDef.Fields.Append ERwinField

Set ERwinField = ERwinTableDef.CreateField(" КодПокупателя", DB_TEXT, 20)

ERwinTableDef.Fields.Append ERwinField

ERwinDatabase.TableDefs.Append ERwinTableDef

Set ERwinField = ERwinQueryDef.Fields(" УникНомер" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " УникНомер: " )

Set ERwinField = ERwinQueryDef.Fields(" Дата" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " Дата: " )

Set ERwinField = ERwinQueryDef.Fields(" КодПокупателя" )

Call SetFieldProp(ERwinField, " Caption", DB_TEXT, " КодПокупателя: " )

 

' CREATE INDEX XPKСчёт-фактуры

Set ERwinTableDef = ERwinDatabase.TableDefs(Счёт-фактуры)

Set ERwinIndex = ERwinTableDef.CreateIndex(XPKСчёт-фактуры)

Set ERwinField = ERwinIndex.CreateField(" УникНомер" )

ERwinIndex.Fields.Append ERwinField

ERwinIndex.Primary = True

ERwinTableDef.Indexes.Append ERwinIndex

 

' CREATE RELATIONSHIP Выдаётся

Set ERwinRelation = ERwinDatabase.CreateRelation(Выдаётся, Поставщики книг, Накладные)

Set ERwinField = ERwinRelation.CreateField( " КодПоставщика" )

ERwinField.ForeignName = КодПоставщика

ERwinRelation.Fields.Append ERwinField

ERwinDatabase.Relations.Append ERwinRelation

 

' CREATE RELATIONSHIP Хранят

Set ERwinRelation = ERwinDatabase.CreateRelation(Хранят, Накладные, Строки накладных)

Set ERwinField = ERwinRelation.CreateField( " КодНакл" )

ERwinField.ForeignName = КодНакл

ERwinRelation.Fields.Append ERwinField

ERwinDatabase.Relations.Append ERwinRelation

 

' CREATE RELATIONSHIP Имеют

Set ERwinRelation = ERwinDatabase.CreateRelation(Имеют, Книги, Строки накладных)

Set ERwinField = ERwinRelation.CreateField( " КодКниги" )

ERwinField.ForeignName = КодКниги

ERwinRelation.Fields.Append ERwinField

ERwinDatabase.Relations.Append ERwinRelation

 

' CREATE RELATIONSHIP Включают

Set ERwinRelation = ERwinDatabase.CreateRelation(Включают, Книги, Строки счёт-фактур)

Set ERwinField = ERwinRelation.CreateField( " КодКниги" )

ERwinField.ForeignName = КодКниги

ERwinRelation.Fields.Append ERwinField

ERwinDatabase.Relations.Append ERwinRelation

 

' CREATE RELATIONSHIP Содержат

Set ERwinRelation = ERwinDatabase.CreateRelation(Содержат, Счёт-фактуры, Строки счёт-фактур)

Set ERwinField = ERwinRelation.CreateField( " УникНомер" )

ERwinField.ForeignName = УникНомер

ERwinRelation.Fields.Append ERwinField

ERwinDatabase.Relations.Append ERwinRelation

 

' CREATE RELATIONSHIP Выписываются

Set ERwinRelation = ERwinDatabase.CreateRelation(Выписываются, Покупатели, Счёт-фактуры)

Set ERwinField = ERwinRelation.CreateField( " КодПокупателя" )

ERwinField.ForeignName = КодПокупателя

ERwinRelation.Fields.Append ERwinField

ERwinDatabase.Relations.Append ERwinRelation

ERwinDatabase.Close

ERwinWorkspace.Close

' Terminating Access Basic DAO Session...


ПРИЛОЖЕНИЕ Б. Формы

 

 

Рисунок Б.1 – Главная кнопочная форма

Рисунок Б.2 – Форма «Книги»

Рисунок Б.3 – Форма «Покупатели»

Рисунок Б.4 – Форма «Поставщики книг»

Рисунок Б.5 – Форма «Накладные»

Рисунок Б.6 – Форма «Счёт-фактуры»


ПРИЛОЖЕНИЕ В. Запросы

Рисунок В.1 – Запрос «Закупленные книги» в режиме Конструктор

 

SELECT Книги.Название, Книги.КодКниги, Sum([Строки накладных].КоличествоКниг) AS Количество, Sum([Строки накладных]! [КоличествоКниг]*[Книги]! [СтоимПриобр]) AS Итого FROM Книги INNER JOIN [Строки накладных] ON Книги.КодКниги = [Строки накладных].КодКниги GROUP BY Книги.Название, Книги.КодКниги;

 

Рисунок В.2 – Запрос «Проданные книги» в режиме Конструктор

SELECT Книги.Название, Книги.КодКниги, Sum([Строки счёт-фактур].Количество) AS Количество, Sum([Строки счёт-фактур]! [Количество]*[Книги]! [СтоимПриобр]*1.2) AS Итого FROM Книги INNER JOIN [Строки счёт-фактур] ON Книги.КодКниги = [Строки счёт-фактур].КодКниги GROUP BY Книги.Название, Книги.КодКниги;

 

Рисунок В.3 – Запрос «Наиболее активные покупатели» в режиме Конструктор

 

SELECT Покупатели.КодПокупателя, Покупатели.НазвОрг, Sum([Количество]+0) AS [Количество книг], Sum([Строки счёт-фактур]! Количество*Книги! СтоимПриобр*1.2) AS [Сумма прибыли] FROM (Покупатели INNER JOIN [Счёт-фактуры] ON Покупатели.КодПокупателя = [Счёт-фактуры].КодПокупателя) INNER JOIN (Книги INNER JOIN [Строки счёт-фактур] ON Книги.КодКниги = [Строки счёт-фактур].КодКниги) ON [Счёт-фактуры].УникНомер = [Строки счёт-фактур].УникНомер GROUP BY Покупатели.КодПокупателя, Покупатели.НазвОрг ORDER BY Sum([Количество]+0) DESC, Sum([Строки счёт-фактур]! Количество*Книги! СтоимПриобр*1.2) DESC;

 

Рисунок В.4 – Запрос «Наиболее популярные книги» в режиме Конструктор

 

SELECT Книги.КодКниги, Книги.Название, Книги.Автор, Sum([Строки счёт-фактур].Количество) AS Продано FROM [Счёт-фактуры] INNER JOIN (Книги INNER JOIN [Строки счёт-фактур] ON Книги.КодКниги = [Строки счёт-фактур].КодКниги) ON [Счёт-фактуры].УникНомер = [Строки счёт-фактур].УникНомер GROUP BY Книги.КодКниги, Книги.Название, Книги.Автор ORDER BY Sum([Строки счёт-фактур].Количество) DESC;

Рисунок В.5 – Запрос «Остаток книг на складе» в режиме Конструктор

 

SELECT Книги.Название, [Закупленные книги]! [Количество]-[Проданные книги]! [Количество] AS [Остаток книг] FROM (Книги INNER JOIN [Закупленные книги] ON Книги.КодКниги = [Закупленные книги].КодКниги) INNER JOIN [Проданные книги] ON Книги.КодКниги = [Проданные книги].КодКниги GROUP BY Книги.Название, [Закупленные книги]! [Количество]-[Проданные книги]! [Количество];

Рисунок В.6 – Запрос «Учёт поставщиков» в режиме Конструктор

SELECT [Поставщики книг].КодПоставщика, [Поставщики книг].НаимПоставщика, Sum([Строки накладных].КоличествоКниг) AS [Количество проданных нам книг], Sum(Книги! СтоимПриобр*[Строки накладных]! КоличествоКниг) AS [Сумма всех поставок] FROM [Поставщики книг] INNER JOIN (Накладные INNER JOIN (Книги INNER JOIN [Строки накладных] ON Книги.КодКниги = [Строки накладных].КодКниги) ON Накладные.КодНакл = [Строки накладных].КодНакл) ON [Поставщики книг].КодПоставщика = Накладные.КодПоставщика GROUP BY [Поставщики книг].КодПоставщика, [Поставщики книг].НаимПоставщика;

Рисунок В.7 – Запрос «Учёт покупателей» в режиме Конструктор

SELECT Покупатели.КодПокупателя, Покупатели.НазвОрг, Покупатели.ЮрАдресПокуп, Покупатели.ФИО, Sum([Строки счёт-фактур]! [Количество]) AS Количество, Sum([Книги]! [СтоимПриобр]*[Строки счёт-фактур]! [Количество]*1.2) AS [Cумма закупок покупателя] FROM (Покупатели INNER JOIN [Счёт-фактуры] ON Покупатели.КодПокупателя = [Счёт-фактуры].КодПокупателя) INNER JOIN (Книги INNER JOIN [Строки счёт-фактур] ON Книги.КодКниги = [Строки счёт-фактур].КодКниги) ON [Счёт-фактуры].УникНомер = [Строки счёт-фактур].УникНомер GROUP BY Покупатели.КодПокупателя, Покупатели.НазвОрг, Покупатели.ЮрАдресПокуп, Покупатели.ФИО;

Рисунок В.8 – Запрос «Итоги за период» в режиме Конструктор

SELECT First(СуммаЗакупокЗаПериод.[Количество книг]) AS [Количесто закупленных книг], СуммаЗакупокЗаПериод.Итого AS [Сумма закупок], СуммаПродажЗаПериод.Количество AS [Количество проданных книг], СуммаПродажЗаПериод.Итого AS [Сумма продаж], [СуммаПродажЗаПериод]! [Итого]-[СуммаЗакупокЗаПериод]! [Итого] AS [Финансовый итог] FROM Книги, СуммаЗакупокЗаПериод, СуммаПродажЗаПериод

GROUP BY СуммаЗакупокЗаПериод.Итого, СуммаПродажЗаПериод.Количество, СуммаПродажЗаПериод.Итого, [СуммаПродажЗаПериод]! [Итого]-[СуммаЗакупокЗаПериод]! [Итого];

ПРИЛОЖЕНИЕ Г. Отчёты

Рисунок Г.1 – Отчёт «Финансовые итоги за день» в режиме Конструктор

Рисунок Г.2 – Отчёт «Финансовые итоги за период» в режиме Конструктор

Рисунок Г.3 – Отчёт «Остаток книг» в режиме Конструктор


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-08-24; Просмотров: 771; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.122 с.)
Главная | Случайная страница | Обратная связь