База данных склад

АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ  ВЫСШЕГО  ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

«Государственный институт экономики, финансов, права и технологий»

КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И ВЫСШЕЙ МАТЕМАТИКИ

 

 

 

КУРСОВАЯ РАБОТА НА ТЕМУ

«БАЗЫ ДАННЫХ «Склад»

 

 

 

 

 

 

Выполнила: Кенарская А.К.

Группа № 204

Курс 2

Проверила: Ломаза З.М.

Оценка:____________

Дата:____________

Подпись:____________

 

 

 

 

Г. Гатчина

2012

 

 Содержание 

Введение………………………………………………………………………3

  1. Теоретическая часть
    1. Роль базы данных в информационной системе…………………………5
    2. Особенности базы данных реляционной модели……………………….6
    3. Возможности СУБД……………………………………………………....9
  2. Практическая часть
    1. Информационно-логическая модель базы данных «Склад»…….…12
    2. Логическая модель базы данных «Склад»……………………….….13
    3. Таблицы базы данных «Склад»……………………………………....14
    4. Описание создания 3-х запросов разного типа в базе данных «Склад»…………………………………………………………….…..17
    5. Описание создания  отчетов в базе данных «Склад»……….………22
    6. SQL и VBA…………………………………………………………….25

Заключение…………………………………………………………...27

Список литературы………………………………………………….28

 

Введение

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

Информация базы данных хранится в одной или нескольких таблицах. Любая таблица с данными состоит  из набора однотипных записей, расположенных  друг за другом. Они представляют собой  строки таблицы, которые можно добавлять, удалять или изменять.

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

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

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

В информационном обществе доминирует производство информационного  продукта, а материальный продукт  становится более информационно-ёмким. Изменятся весь уклад жизни, система ценностей: возрастает значимость культурного досуга, возрастает спрос на знания, от человека требуется способность к интеллектуальному труду и творчеству. В результате появились противоречия между ограниченными возможностями человека по восприятию и переработке информации и существующими массивами хранящейся и передаваемой информации.

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

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

 

1.1 Роль базы данных в информационной системе

Информационная  система( ИС) – программно-аппаратный комплекс, предназначенный для хранения и обработки информации какой-либо предметной области.

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

 В настоящее время  в эксплуатации на крупных  предприятиях находятся комплексные  ИС управления предприятиями  ( КИС, корпоративные системы, ЕRP- системы, такие как R/3 фирмы SAP, OracleE-BusinessSuite, BaanERP. Среди российских разработок приближаются к системам класса  ЕRP «Галактика», «Флагман», «Парус».

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

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

 

1.2 Особенности базы данных реляционной модели

 

Наборы принципов, которые  определяют организацию логической структуры хранения данных в базе, называются моделями данных.  
 
Существуют 4 основные модели данных – списки (плоские таблицы), реляционные базы данных, иерархические и сетевые структуры.

В течение многих лет преимущественно  использовались плоские таблицы (плоские  БД) типа списков в Excel. В настоящее время наибольшее распространение при разработке БД получили реляционные модели данных. Реляционная модель данных является совокупностью простейших двумерных таблиц – отношений(англ. relation), т.е. простейшая двумерная таблица определяется как отношение (множество однотипных записей объединенных одной темой). 
 
От термина relation (отношение) происходит название реляционная модель данных. В реляционных БД используется несколько двумерных таблиц, в которых строки называются записями, а столбцы полями, между записями которых устанавливаются связи. Этот способ организации данных позволяет данные (записи) в одной таблице связывать с данными (записями) в других таблицах через уникальные идентификаторы (ключи) или ключевые поля.

Основные  понятия реляционных БД: нормализация, связи и ключи 
 
1. Принципы нормализации:

  • В каждой таблице БД не должно быть повторяющихся полей;
  •   В каждой таблице должен быть уникальный идентификатор (первичный ключ);
  • Каждому значению первичного ключа должна соответствовать достаточная информация о типе сущности или об объекте таблицы (например, информация об успеваемости, о группе или студентах);
  •   Изменение значений в полях таблицы не должно влиять на информацию в других полях (кроме изменений в полях ключа).
  1. Виды логической связи:

 
Связь устанавливается между двумя  общими полями (столбцами) двух таблиц. Существуют связи с отношением «один-к-одному», «один-ко-многим» и «многие-ко-многим». 
 
Отношения, которые могут существовать между записями двух таблиц:

  • один – к - одному, каждой записи из одной таблицы соответствует одна запись в другой таблице; 
  •   один – ко - многим, каждой записи из одной таблицы соответствует несколько записей  другой таблице; 
  • многие – к - одному, множеству записей из одной таблице соответствует одна запись в другой таблице; 
  •   многие – ко - многим, множеству записей из одной таблицы соответствует несколько записей в другой таблице.

Тип отношения в создаваемой  связи зависит от способа определения  связываемых полей:

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

3. Ключи.  Ключ – это столбец (может быть несколько столбцов), добавляемый к таблице и позволяющий установить связь с  записями в другой таблице. Существуют ключи двух типов: первичные и вторичные иливнешние. 
 
Первичный ключ – это одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах. 
 
Внешний (вторичный) ключ - это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.  
Из двух логически связанных таблиц одну называют таблицей первичного ключа или главной таблицей, а другую таблицей вторичного (внешнего) ключа или подчиненной таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно вывести их в форме, отчете или запросе. 
 
Существует три типа первичных ключей: ключевые поля счетчика (счетчик), простой ключ и составной ключ.  
 
Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение. 
 
Простой ключ. Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как первичный ключ. В качестве ключа можно определить любое поле, содержащее данные, если это поле не содержит повторяющиеся значения или значения Null. 
 
Составной ключ. В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц многие - ко - многим. 
 
Необходимо еще раз отметить, что в поле первичного ключа должны быть только уникальные значения в каждой строке таблицы, т.е. совпадение не допускается, а в поле вторичного или внешнего ключа совпадение значений в строках таблицы допускается. 
 
Если возникают затруднения с выбором подходящего типа первичного ключа, то в качестве ключа целесообразно выбрать поле счетчика. 
 
Программы, которые предназначены для структурирования информации, размещения ее в таблицах и манипулирования данными называются системами управления базами данных (СУБД). Другими словами СУБД предназначены как для создания и ведения базы данных, так и для доступа к данным. В настоящее время насчитывается более 50 типов СУБД для персональных компьютеров. К наиболее распространенным типам СУБД относятся: MS SQL Server, Oracle, Informix, Sybase, DB2, MS Access  и т. д.

 

1.3 Возможности СУБД MS Access

MS Access в настоящее время является одной из самых популярных среди настольных программных систем управления базами данных. Среди причин такой популярности следует отметить:

  • высокую степень универсальности и продуманности интерфейса, который рассчитан на работу с пользователями самой различной квалификации. В частности, реализована система управления объектами базы данных, позволяющая гибко и оперативно переходить из режима конструирования в режим их непосредственной эксплуатации;
  • глубоко развитые возможности интеграции с другими программными продуктами, входящими в состав МSOffice, а также с любыми программными продуктами, поддерживающими технологию OLE.
  • богатый набор визуальных средств разработки.

MS Access - высокопроизводительная (32-разрядная) система управления реляционными базами данных, которая входит в состав профессиональной версии интегрированного пакета MicrosoftOffice.

MS Accessпредназначена для разработки настольных баз данных и создания приложений баз данных архитектуры клиент-сервер, работающих под управлением операционных систем семейства Windows. Эта система доступна для пользователя любого уровня.

MS Access работает с объектами, к которым относятся таблицы, запросы, формы, отчеты, макросы и модули. Все связанные между собой объекты организованы в один файл, называемый базой данных.

Основные разделы главного окна соответствуют типам объектов, которые может содержать база данных MS Access. Это Таблицы, Запросы, Формы, Отчеты, Макросыи Модули.

Интерфейс работы с объектами  базы данных унифицирован. По каждому из них предусмотрены стандартные режимы работы:

  • Создать – предназначен для создания структуры объектов,
  • Конструктор – предназначен для изменения структуры объектов,
  • Открыть – предназначен для работы с объектами базы данных.

 

Важным средством, облегчающим  работу с MS Access для начинающих пользователей, являются мастера – специальные программные надстройки, предназначенные для создания объектов базы данных в режиме последовательного диалога. Для опытных

пользователей существуют возможности  более гибкого управления ресурсами и возможностями объектов СУБД в режиме конструктора.

Специфической особенностью СУБД MS Access является то, что вся информация, относящаяся к одной базе данных, хранится в едином файле. Такой файл имеет расширение .mdb

Группа реляционных СУБД представлена на рынке программных  продуктов очень широко. Это, например, такиесистемы, как Paradox, Clarion, dBASE, FoxBASE, FoxPro, Clipper, Access. Важнейшей характеристикой любой СУБД является используемый в ней тип транслятора (интерпретатор или компилятор). Программы, написанные для системы-интерпретатора, не работают без наличия самой этой системы. В настоящее время скорость работы таких программ не уступает скорости программ, сгенерированных компилятором. Бесспорным преимуществом интерпретаторов для программистов является удобство разработки и отладки программных продуктов, а также освоение языка. Из перечисленных СУБД dBASE, FoxPro, Access являются интерпретаторами, а Clipper – компилятором. В пакетах dBASE и FoxPro имеется компилятор, позволяющий при желании сформировать ЕХЕ-файлы готовых программ. Недостатком систем-компиляторов являются большие суммарные затраты времени на многократную компиляцию и сборку (линковку) исходных модулей программы при ее отладке.

СУБД Access имеет достаточно высокие скоростные характеристики и входит в состав чрезвычайно популярного в нашей стране и за рубежом пакета MicrosoftOffice. Набор команд и функций, предлагаемых разработчикам программных продуктов в среде Access, по мощи и гибкости отвечает большинству современных требований к представлению и обработке данных. В Access поддерживаются разнообразные всплывающие и многоуровневые меню, работа с окнами и мышью, реализованы функции низкоуровневого доступа к файлам, управления цветами, настройки принтера, представления данных в виде электронных таблиц и т. п. Система также обладает средствами быстрой генерации экранов, отчетов и меню, поддерживает язык управления запросами SQL, имеет встроенный язык VisualBasicforApplications (VBA), хорошо работает в сети. СУБД Access позволяет использовать другие компоненты пакета MicrosoftOffice, такие как текстовый процессор WordforWindows, электронные таблицы Excel и т.д.

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

Приведем некоторые из средств MicrosoftAccess, существенно упрощающие разработку приложений.

1. Процедуры обработки  событий и модули форм и  отчетов. На встроенном языке  VBA можно писать процедуры обработки  событий, возникающих в формах  и отчетах. Процедуры обработки  событий хранятся в модулях,  связанных с конкретными формами  и отчетами, в результате чего  код становится частью макета формы или отчета. Кроме того, существует возможность вызова функции VBA свойством события.

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

3. Модель событий. Модель событий, похожая на используемую в языке MicrosoftVisualBasic, позволяет приложениям реагировать на возникновение различных событий, например нажатие клавиши на клавиатуре, перемещение мыши или истечение определенного интервала времени.

4. Использование обработки  данных с помощью VBA. С помощью  языка VBA можно определять и  обрабатывать различные объекты,  в том числе, таблицы, запросы,  поля, индексы, связи, формы, отчеты  и элементы управления.

5. Построитель меню. Предназначен для помощи при создании специальных меню в приложениях. Кроме того, специальные меню могут содержать подменю.

6. Улучшенные средства  отладки. Помимо установки точек  прерывания и пошагового выполнения  программ на языке VBA, можно  вывести на экран список всех  активных процедур. Для этого  следует выбрать команду Вызовы  в меню Вид или нажать кнопку [Вызовы] на панели инструментов.

7. Процедура обработки  ошибок. Помимо традиционных способов  обработки ошибок возможно использование  процедуры обработки события  Error для перехвата ошибок при выполнении программ и макросов.

8. Улучшенный интерфейс  защиты. Команды и окна диалога  за-шиты упрощают процедуру зашиты и смены владельца объекта.

9. Программная поддержка  механизма OLE. С помощью механизма  OLE можно обрабатывать объекты  из других приложений.

10. Программы-надстройки. С  помощью VBA можно создавать программы-надстройки, например нестандартные мастера  и построители. Мастер – средство  MicrosoftAccess, которое сначала задает пользователю вопросы, а затем создает объект (таблицу, запрос, форму, отчет и т.д.) в соответствии с его указаниями. Диспетчер надстроек существенно упрощает процедуру установки программ-надстроек в MicrosoftAccess. 

2.1 Информационно-логическая модель базы данных «Склад»

Информация хранится в  базах данных Access в виде двумерных таблиц.

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

В базе данных «Склад» можно выделить четыре информационных объекта, которые не будут обладать избыточностью, Товары, Сделки, Закупки и Поставщики. Представим состав реквизитов этих объектов в виде названия объекта (перечень реквизитов)»:

  • Товары (Код товара, Название товара, Цена товара)
  • Сделки (Код сделки, Название товара, Дата сделки, Цена товара)       
  • Закупки (Код товара, Название товара, Дата закупки, Сумма закупки, Имя организации)
  • Поставщики (Имя, Фамилия, Организация, Телефон, Название товара)   

 

Для начала рассмотрим связь  между объектами  Поставщики и товар. Поставщик может поставлять несколько товаров, что соответствует многозначной связи. А каждый товар может поставляться множеством поставщиков. Это тоже многозначная связь. Т.е., связь между объектами Поставщики и Товар – « многие-ко-многим». А нам нужна «один-ко-многим».

В МSAccessдля контроля целостности  данных с возможностью каскадного обновления и удаления данных необходимо создать вспомогательный объект связи, который состоит из ключевых реквизитов связываемых объектов  и который может быть дополнен описательными реквизитами. В нашем случае таким объектом для связи служит объект Закупки, реквизитами которого являются: Код товара, Название товара, Дата закупки, Сумма закупки, Имя организации. Каждый поставщик поставляет несколько товаров, поэтому связь между объектами Товар и Закупки также будет «один-ко-многим». В результате получаем информационно-логическую модель базы данных «Склад», где многозначная связь обозначается двойной стрелкой, а связь «один» - одинарной стрелкой.

 

 

 

2.2 Логическая модель базы данных «Магазин»

В реляционной базе данных в качестве объектов рассматриваются отношения, которые можно представить в виде таблиц. Таблицы между собой связываются посредствам общих полей, т.е. одинаковых по форматам и, как правило, по названию, имеющихся в обеих таблицах. Нам надо ввести в таблицы общие поля для обеспечения связности данных. В таблицах  Покупатели и Цены таким полем будет «Код покупателя», в таблицах Продавцы и Товар – «Код товара». Выбор цифровых кодов вместо покупателей, продавцов или товара обусловлен меньшим объемом информации в таких полях: например, число «11» по количеству символов значительно меньше слова «пылесос». В соответствии с этим логическая модель базы данных «Магазин» выглядит так, где жирным шрифтом выделены ключевые поля.

 

 

 

 

Имя

Фамилия

Организация

Телефон

Название товара





Поставщики                                                                                                       Сделки

                                                            Товары

Код товара

Название товара

Цена товара





Код сделки

Название товара

Дата сделки

Цена товара





                Закупки

 

Название товара

Код товара

Сумма закупки

Дата закупки

Имя организации


                                                                                                                                                                                                                       

2.3 Таблицы базы данных «Склад»

 

Загрузив Access, выбрав, в появившемся окне пункт Новая база данных, создадим базу данных «Склад».

Через вкладку таблицы  в окне «Новая таблица», в режиме конструктора определяем поля таблицы 1.1.

В качестве ключевого поля задаем «Код покупателя». Закрываем  таблицу, задав ей имя, Покупатели.

Все таблицы заполняются  в режиме формы. Формы позволяют  отображать данные, содержащиеся в  таблицах или запросах в более  удобном для восприятия виде. При  помощи форм можно добавлять в  таблицы новые данные, а также  изменять и удалять существующие данные.

 

 

Таблица 1.1

 

Аналогично создаются  все таблицы.

Таблица 1.2

В качестве ключевого поля задаем «Код товара».

Таблица 1.3

 

 

Таблица 1.4

В таблицах 1.3-1.4 задавать ключевые поля не надо, т.к. данные во всех полях  могут повторяться.

Далее разрабатываем схему  данных, т.е. создаем связи между  таблицами (это делается до ввода  данных в таблицы в режиме формы).

Схема данных:

 

 

2.4 Описание создания 3-х запросов разного типа в  базе данных « Магазин»

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

В Access можно создавать следующие типы запросов:

  • Запрос на выборку;
  • Запрос с параметрами;
  • Перекрестный запрос;
  • Запрос на изменение (запрос на удаление, обновление и добавление записей, на создание таблицы);
  • Запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).

Запрос на выборку используется наиболее часто. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или из нескольких таблиц и выводятся в определенном порядке. Например, можно вывести на экран данные об продавцах, наименовании товара и их цене ( на основе таблиц : Товар, Продавцы и Цены). Можно также использовать запрос на выборку, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчета и других действий.

Запрос с параметрами – это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос. Например часто требуется данные о том,  кто из Покупателей купил какой-либо товар. И на базе этих данных, постоянных покупателей можно удалить из списка путем запроса на изменение ( на удаление). Фактически запросы с параметрами не являются отдельными запросами, поскольку такие функции можно добавить к запросам на выборку, перекрестным запросам или запросам на изменение.

Для создания запроса  с параметрами о Покупателях, купивших какой либо товар:

  • Открываем вкладку Запросы;
  • Щелкаем по кнопке<Создать>;
  • В появившемся окне выбираем Простой запрос и щелкаем по кнопке <Ок>;
  • В появившемся окне в строке Таблице и запросы выбираем из списка таблицу Покупатели;
  • Переносим все поля из окна «Доступные поля» в окно « Выбранные поля», щелкнув по кнопке>>;
  • В строке Таблицы и запросы выбираем из списка таблицу Товар;
  • Переносим все поля из окна «Доступные поля» в окно « Выбранные поля», щелкнув по кнопке >>;
  • В строке Таблицы и запросы выбираем из списка таблицу Цены;
  • Переносим поле Цены из окна «Доступные поля» в окно « Выбранные поля», щелкнув по кнопке >;
  • Щелкнем по кнопке<Далее>. Выводить надо все поля поэтому еще раз щелкнем по кнопке  <Далее>;
  • В появившемся окне введем имя запроса « Запрос о покупателях»;
  • Щелкнем по кнопке<Готово>. На экране появится таблица с данными запроса. Но нам надо, чтобы при выполнении запроса выяснялись сведения о покупателе. Для этого перейдем в режим конструктора или выполним команду Вид, Конструктор;
  • В строке условия отбора для поля «Фамилия» введем фразу: [Введите фамилию];
  • Выполним запрос, щелкнув по кнопке  Выполнить «!» на панели инструментов, или выполним команду Запрос, Запуск;
  • В появившемся окне введем Фамилию нужного нам покупателя и щелкнем по кнопке<Ок>. На экране появится таблица с данными о Покупателях, которые произвели покупки какого-либо товара;
База данных склад