Проектирование и создание базы данных под управлением СУБД MS-ACCESS
БАЛТИЙСКАЯ ГОСУДАРСТВЕННАЯ АКАДЕМИЯ РЫБОПРОМЫСЛОВОГО ФЛОТА
Заочный факультет
Курсовая Работа
по дисциплине
информатика
Выполнил студент Елисеев Роман Игоревич
Специальности «Холодильная, криогенная техника и кондиционирование»
Курс 2
Шифр 10Хзс416
Проверил______________________
Калининград
2012
Содержание
1)Введение……………………………………………………
2)Задание по первой
части курсовой работы………………………
3)Задание по второй
части курсовой работы………………………
4)Список использованной
литературы……………………………………………………
Введение
Системы
управления базами данных (СУБД) - специальные
программные продукты для создания
и работы с базами данных. Базы данных
(БД) - это интегрированный и
реляционная - отношения между данными построены по принципу "один к одному", когда одна запись может быть связана только с одной записью. Форма представления данных в виде таблицы;
иерархическая - отношения между данными построены по принципу "один к многим", когда одна запись взаимосвязана со многими другими. Форма представления данных в виде дерева;
сетевая - принцип организации "многие ко многим", когда одна и та же запись может входить в отношения со многими другими записями в различных вариантах. Форма представления данных в виде графа.
СУБД
Microsoft Access является системой управления
реляционной базы данных, включающих
все необходимые
Visual Basic развился из первоначального языка Basic и в настоящее время содержит несколько сотен команд, функций и ключевых слов, многие из которых связаны непосредственно с графическим интерфейсом пользователя GUI (Graphical User Interface) операционной системы Windows. Используя Visual Basic даже начинающие программисты могут создавать полезные программы, зная лишь несколько ключевых слов. При этом профессиональные программисты имеют все необходимые средства для разработки сложных приложений, функционирующих под управлением Windows. Интегрированная среда разработки приложений Microsoft Visual Basic (в дальнейшем изложении Visual Basic), обладая простыми в обращении средствами визуального проектирования, позволяет в полной мере использовать преимущества графической среды. Windows и быстро конструировать эффективные приложения. Visual Basic — один из первых языков, поддерживающих событийно-управляемое программирование (event-driven programming). Этот стиль хорошо согласуется со стандартом графического пользовательского интерфейса. Традиционно программирование ориентировалось на поэтапное описание конкретного процесса. Однако современные компьютерные приложения слишком сложны и данный стиль программирования для них не подходит. Основная идея событийно-управляемого программирования заключается в том, что вместо скрупулезного описания каждого шага работы приложения достаточно лишь указать, как необходимо реагировать на различные события (действия пользователя): выбор команды, щелчок или перемещение мыши, нажатие клавиш и др. В результате программист создает не одну большую программу, а приложение, состоящее из набора взаимодействующих процедур, управляемых пользователем. Для получения какого-либо конкретного действия должна быть написана соответствующая команда в тексте программы на языке Visual Basic.
Цель работы:
Закрепление
и углубление знаний по информатике,
практических навыков работы на персональном
компьютере и разработки пользовательских
приложений с использованием программных
средств интегрированного пакета MS Office
и современных компьютерных технологий
обработки информации, а также навыков
в составлении текстовой документации.
Задание по первой части курсовой работы
Проектирование и создание базы данных под управлением СУБД MS-ACCESS
на тему: ”Подводное снаряжение”.
Создание базы данных
С помощью конструктора таблиц
создаем две таблицы: таблицу
«Подводное снаряжение» с
Связи - объединения. При выборе в качестве поля связи в главной таблице неключевого поля Access сообщает, что тип отношения не может быть определен. В этом случае между таблицами возможно установление только связи - объединения. Связь - объединение обеспечивает объединение записей двух таблиц, имеющих одинаковые значения в поле связи. Причем производится объединение каждой записи из одной таблицы с каждой записью из другой таблицы при условии равенства значений в поле связи. Результатом объединения записей, который определяется выбором одного из трех способов, может быть:
- объединение только тех записей, в которых связанные поля обеих таблиц совпадают;
- объединение
тех записей, в которых
- объединение
тех записей, в которых
Создание схемы данных начинается в окне БД с выполнения команды Сервис / Схема данных или нажатием соответствующей кнопки. После этого можно выбрать таблицы, включаемые в схему данных, и приступить к определению связей между ними. Устанавливая связи между парой таблиц в схеме данных, надо выделить в главной таблице уникальное ключевое поле, по которому устанавливается связь, и протащить курсор мыши в соответствующее поле подчиненной таблицы.
Поскольку схема строится для нормализованной БД, в открывающемся окне Связи автоматически установится тип отношения 1:М.
Для
такой связи можно задать параметр:
Обеспечение целостности
Структура реляционной базы данных в Access задается схемой данных, которая имеет иерархическую структуру и называется канонической реляционной моделью предметной области.
Схема данных графически отображается в отдельном окне, в котором таблицы представлены списками полей, а связи — линиями между полями разных таблиц.
При построении схемы данных Access автоматически определяет по выбранному полю тип связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом как в главной таблице, так и в подчиненной, Access устанавливает связь типа один к одному. Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является не ключевым или входит в составной ключ. Access устанавливает связь типа один ко многим от главной таблицы к подчиненной.
Кроме указанных типов связей в Access существуют связи-объединения, обеспечивающие объединение записей таблиц не по ключевому полю, а в следующих случаях:
• связываемые записи в обеих таблицах совпадают (связи устанавливаются по умолчанию);
• для всех записей первой таблицы, для которых отсутствуют связи со второй таблицей, устанавливаются связи с пустой записью второй таблицы;
• для всех записей второй таблицы, для которых отсутствуют связи с первой таблицей, устанавливаются связи с пустой записью первой таблицы.
Обеспечение целостности данных
При создании схемы данных пользователь включает в нее таблицы и устанавливает связи между ними. Причем для связей типов один к одному и один ко многим можно задать параметр, обеспечивающий целостность данных, а также автоматическое каскадное обновление или удаление связанных записей.
Обеспечение целостности данных означает выполнение для взаимосвязанных таблиц следующих условий корректировки базы данных:
• в подчиненную таблицу не может быть добавлена запись, для которой не существует в главной таблице ключа связи;
• в главной таблице нельзя удалить запись, если не удалены связанные с ней записи в подчиненной таблице;
• изменение значений ключа связи главной таблицы должно приводить к изменению соответствующих значений в записях подчиненной таблицы.
В случае
если пользователь нарушил эти условия
в операциях обновления или удаления
данных в связанных таблицах, Access
выводит соответствующее
Отметим, что установление между двумя таблицами связи типа один к одному или один ко многим и задание параметров целостности данных возможно только при следующих условиях:
• связываемые
поля имеют одинаковый тип данных,
причем имена полей могут быть
различными;
• обе таблицы сохраняются в одной базе данных Access;
• главная
таблица связывается с
Если
для выбранной связи
В режиме каскадного обновления связанных записей при изменении значения в поле связи главной таблицы Access автоматически изменит значения в соответствующем поле в подчиненных записях.
В режиме каскадного удаления связанных записей при удалении записи из главной таблицы Access выполняет каскадное удаление подчиненных записей на всех уровнях.
К каждой из таблиц созданы формы с аналогичными названиями и различным стилем: стандартным и техническим, вид форм в один столбец и ленточный. Формы выполнены с помощью мастера форм, через формы заполняются таблицы, то есть формируется база данных .
Формы позволяют вводить данные в таблицы базы без непосредственного доступа к самим таблицам.
В отличие
от таблиц, структуру которых лучше
формировать вручную, формы удобно
готовить с помощью средств
Автоформа «в столбец» отображает все поля одной записи — она удобна для ввода и редактирования данных. «Ленточная» автоформа отображает одновременно группу записей — ее удобно использовать для оформления вывода данных. Табличная автоформа по внешнему виду ничем не отличается от таблицы, на которой она основана.
Для создания автоформы следует открыть панель Формы в окне База данных и воспользоваться командной кнопкой Создать. В открывшемся диалоговом окне Новая форма выбирают тип автоформы и таблицу, на которой она основывается. После щелчка на кнопке ОК автоформа формируется автоматически и немедленно готова к работе, т.е. к вводу или отображению данных. Автоформа основывается только на одном объекте, она называется еще простой формой. Если форма основывается на полях из нескольких связанных таблиц, то она называется сложной. Для ее создания используют другие средства.
По таблицам созданы запросы.
Запросы являются мощным средством обработки данных, хранимых в таблицах Access. С помощью запросов можно просматривать, анализировать и изменять данные из нескольких таблиц. Они также используются в качестве источника данных для форм и отчетов. Запросы позволяют вычислять итоговые значения и выводить их в компактном формате, подобном формату электронной таблицы, а также выполнять вычисления над группами записей.
Запросы можно создавать самостоятельно и с помощью мастеров. Мастера запросов автоматически выполняют основные действия в зависимости от ответов пользователя на поставленные вопросы. Самостоятельно разработать запросы можно в режиме конструктора.
В объекте Запросы есть специальный значок Создание запроса в режиме конструктора, который открывает специальный бланк, называемый бланком запроса по образцу. В верхней области отображается структура таблиц, к которым запрос адресован, а нижняя область разбита на столбцы — по одному на каждое поле будущей результирующей таблицы.
Запрос на наименование предприятия выполнен с помощью мастера запросов. В запросе из таблицы «Предприятия – поставщики». Выбрано поле «Наименование предприятия», а из таблицы «Подводное снаряжение» выбраны поля «Наименование снаряжения», «Стоимость» и «Телефон».
Запрос на адрес предприятия выполнен с помощью мастера запросов. В запросе из таблицы «Предприятия – поставщики». Выбрано поле «Адрес предприятия», а из таблицы «Подводное снаряжение» выбраны поля «Наименование снаряжения», «Стоимость» и «Время доставки».
Запрос на адрес предприятия «Москва» выполнен с помощью конструктора запросов. В запросе из таблицы «Предприятия – поставщики». Выбрано поле «Адрес предприятия» и условие отбора «Москва», а из таблицы «Подводное снаряжение» выбраны поля «Наименование снаряжения», «Стоимость» и «Телефон».
Запрос на цену (стоимость) снаряжения менее 1000 руб. выполнен с помощью конструктора запросов. В запросе из таблицы «Предприятия – поставщики». Выбрано поле «Адрес предприятия», а из таблицы «Подводное снаряжение» выбраны поле «Стоимость» и условия отбора <1000 руб, также поля «Наименование снаряжения» и «Телефон».
Таблицы, к которым обращен запрос, можно открыть с помощью контекстного меню. Далее, с помощью двойного щелчка мышью на нужном поле, его можно поместить в столбец нижней части бланка.
Если необходимо, чтобы отобранные в результате выполнения запроса данные, были упорядочены по какому- либо полю, применяют Сортировку, которую можно увидеть в нижней части бланка. Возможна многоуровневая сортировка — сразу по нескольким полям. Вложенность сортировки идет слева направо.
Бывают случаи, когда некоторое поле необходимо в формировании запроса, но нежелательно, чтобы оно появлялось на экране. В таких случаях сбрасывают флажок для этого поля в строке Вывод на экран в нижней части бланка.
Дополнительным средством, обеспечивающим отбор данных по заданному критерию, является Условие отбора. Соответствующая строка также присутствует в нижней части бланка запроса. Для каждого поля можно задать индивидуальное условие, используя логические отношения, причем, заполнение одной строки для разных полей, означает, что они соединены логической операцией AND. Если для одного поля логические отношения расположены в двух строках, они соединены логической операцией OR.
Отчет — это гибкое и эффективное средство для организации просмотра и распечатки итоговой информации. В отчете можно получить результаты сложных расчетов, статистических сравнений, а также поместить в него рисунки и диаграммы.
Пользователь имеет возможность разработать отчет самостоятельно или создать отчет с помощью мастера. Мастер по разработке отчетов выполняет всю рутинную работу и позволяет быстро разработать отчет. После вызова Мастера выводятся диалоговые окна с приглашением ввести необходимые данные, и отчет создается на основании ответов пользователя. Мастер необходим даже для опытных пользователей, так как позволяет быстро разработать макет, служащий основой создаваемого отчета. После этого можно переключиться в режим конструктора и внести изменения в стандартный макет.
В результате выполнения данного задания были закреплены и углублены знания по информатике, в частности при разработке и автоматизации пользовательского приложения с помощью программных средств Microsoft Access, были приобретены и усвоены новые знания по такому мощному пакету прикладных программ как MS Office.
Задание по второй части курсовой работы
Алгоритмизация и программирование в среде Visual Basic
Вариант 3.
Создать файл, содержащий сведения о количестве изделий категорий А, В, С, собранных рабочим за месяц. Каждая запись содержит поля: фамилия сборщика, наименование цеха, количество изделий по категориям, собранных рабочим за месяц.
Считая заданными значения расценок Sa, Sb, Sc за выполненную работу по сборке единицы изделия категорий А, В, С соответственно, получить следующую информацию:
- общее количество изделий категории А, В, С, собранным рабочим цеха Х;
- ведомость заработной платы рабочих цеха Х;
- средний размер заработной платы работников этого цеха.
Создание приложения в среде Visual basik.
1. Постановка задачи.
Исходными
данными является файл, содержащий
сведения о количестве изделий категорий
А, В, С, собранных рабочими за месяц разными
цехами, а также значения расценок Sa, Sb,
Sc по сборке изделий по категориям. Для
хранения и обработки данных используем
массивы данных. Для создания файла, исходные
данные будем вводить с клавиатуры. Для
ввода и обработки массива исходных данных,
наиболее эффективным будет применение
циклического вычислительного процесса.
Вывод результатов обработки будет осуществляться
в созданном приложении на форме. В качестве
цеха Х выбираем электроцех.
2. Разработка интерфейса.
Создаем экранную форму и присвоим ей название Вариант 3 через окно свойств (Properties, свойство Сaption). На форме, с помощью окна инструментов Toolbox, создаем следующие элементы управления. Для отображения текстовой информации используем семь элементов типа Label и с помощью свойства Сaption присваиваем им надписи: фамилия сборщика, наименование цеха, количество изделий категории А, В, С. Под первыми пятью надписями размещаем пять элементов окна списков (list boxes), куда при выполнении программы будем заносить исходные данные. Для этого создаем командную кнопку, элемент CommandButtton1, со свойством Сaption «Ввод исходного файла»
Далее также на форму вводим еще 2 командные кнопки со свойством Сaption «Вычисление средней заработной платы работников и общего кол-ва изделий А, В, С по электроцеху» и «Напечатать для бухгалтерии ведомость зарплаты электроцеха. В дальнейшем на этих кнопках создадим программы-процедуры для вычисления заданных значений. Нажатием на эти кнопки будут запускаться соответствующие программы. Для печати ведомости используем 2 элемента списков list boxes, в свойстве List и категории (List) в окне свойств заносим слова Фамилия и Зарплата в первую строку этих элементов.
Таким образом, имеем
три программы, алгоритмы этих программ
на рис.1.2.3.
3. Составление программы.
В окне программного кода пишем программы, каждого из алгоритмов. Объявление массивов и переменной n – числа рабочих, расценок Sa, Sb, Sc сделаем в разделе ”General” рис. 1, блок 1 с тем, что бы они были действительными для всех процедур “Private”данной формы, тип переменных целочисленный, строковый и численный денежный. Остальные блоки, их программы, располагаем в объекте Command1 _Click, процедура Click. Циклы организуем с помощью конструкции For i = 1 To n … Next i. Программа алгоритма, рис. 1, вводит исходные данные: число рабочих, расценки и в процессе цикла фамилии сборщиков, наименование цехов, количество изделий по категориям. Программу алгоритма рис. 2 располагаем в объекте Command2 _Click, процедура Click. Переменным s, k и m присваиваем изначально значение 0. В процессе выполнения циклов в переменной s будет накапливаться общая сумма выплат по электроцеху, в переменной k число рабочих электроцеха, в переменной m общее кол-во изделий А, В, С по электроцеху. По окончанию циклов общее кол-во изделий А, В, С и средний зарплата r=s/k по электроцеху.выводится через системное окно с помощью функции MsgBox. С помощью конструкции If e(i) = "электроцех" Then s = s + Sa*a(i)+ Sb*b(i)+ Sc*c(i) : k=k+1 Else s=s, проверяется переменная e(i) на принадлежность к электроцеху и в случае совпадения, сумма выплат суммируется в s, при несовпадении значение в s остается прежним. Число рабочих формируется в переменной k.
По
аналогичной конструкции суммируется
кол-во изделий в переменной m. Программу
алгоритма рис. 3 располагаем в объекте
Command3 _Click, процедура Click. Программа
выводит в окна списков (list boxes) List6 и List7
фамилии рабочих электроцеха и их заработную
плату, то есть создает ведомость заработной
платы по электроцеху.
Объявление массивов, блок 1, рис. 1.
Dim n As Integer
Dim Sa As Currency
Dim Sb As Currency
Dim Sc As Currency
Dim d(1 To 25) As String тип переменной строковый, размер массива 25
Dim e(1 To 25) As String тип переменной строковый
Dim a(1 To 25) As Integer тип переменной целочисленный
Dim b(1 To 25) As Integer тип переменной целочисленный
Dim c(1 To 25) As Integer
тип переменной целочисленный
Программа ввода
исходного файла, блок-схема рис.
1
Private Sub Command1_Click()
n = InputBox("Введите число
рaбочих")
Sa = InputBox("Введите расценку Sa")
Sb = InputBox("Введите расценку Sb")
Sc = InputBox("Введите расценку Sc")
For i = 1 To n
d(i) = InputBox("Введите фамилию сборщика", d(i)) блок 4
List1.AddItem "d( " &
i & ")= " & d(i)
e(i) = InputBox("Введите наименование цеха", e(i)) блок 6
List2.AddItem "e( " &
i & ")= " & e(i)
a(i) = InputBox("Введите кол-во изделий А ", a(i)) блок 8
List3.AddItem "a( " &
i & ")= " & a(i)
b(i) = InputBox("Введите кол-во изделий B ", b(i)) блок 10
List4.AddItem "b( " &
i & ")= " & b(i)
c(i) = InputBox("Введите кол-во изделий C ", c(i)) блок 12
List5.AddItem "c( " &
i & ")= " & c(i)
Next i
End Sub
Программа вычисления
средней заработной платы работников
и общего кол-ва изделий А, В, С по электроцеху,
блок-схема рис. 2.
Private Sub Command2_Click()
s = 0: k = 0: m = 0
For i = 1 To n
If e(i) = "электроцех" Then s = s + Sa * a(i) + Sb * b(i) + Sc * c(i) Else s = s блок 3, 4
If e(i) = "электроцех"
Then m = m + a(i) + b(i) + c(i) : k = k + 1 Else m = m
блок 5
Next i
r = s / k
MsgBox "Общее кол-во
изделий А, В, С по
MsgBox "Средняя зарплата
по электроцеху r=" & r
End Sub
Программа печати для
бухгалтерии ведомости зарплаты
электроцеха, блок-схема рис. 3.
Private Sub Command3_Click()
For i = 1 To n
If e(i) = "электроцех" Then List6.AddItem d(i): List7.AddItem Sa * a(i) + Sb * b(i) + Sc * c(i)
блок 2 и 3
Next i
End Sub
4. Сохранение проекта
Для трансляция пректа
в исполняемый ехе-файл используем
опцию File главной панели проекта
и в ней – команда Make Имя файла.
Ехе. Имя файла –это имя проекта бга. Далее
нажимаем опцию “Ок“ и получаем файл
бга, открывая который мы можем запускать
программу.
Распечатка выполнения
программы в Visual Basic ниже.