Курсовой проект по междисциплинарному курсу мдк. 01. 01. Разработка программных модулей Пояснительная записка на тему Проектирование визуальной модели автоматизированной информационной системы Учет товаров
![]()
|
|
| Введение | х |
1. | Глава 1. Описание предметной области | х |
2. | Глава 2. Концептуальная модель баз данных | х |
3. | Глава 3. Логическая модель базы данных | х |
4. | Глава 4. Физическая модель базы данных | х |
5. | Глава 5. Запросы к базе данных в MS Access | х |
6. | Глава 6. Разработка приложения в среде программирования Embarcadero Rad Studio | х |
7. | Техника безопасности | х |
| Заключение | х |
| Список литературы | х |
| Приложение 1. Техническое задание | х |
| Приложение 2. Код программы | х |
| Приложение 3. Тестовые наборы данных | Х |
| Приложение 4. ERD-модель | Х |
| Приложение 5. Словарь данных | Х |
| | |
| | |
Введение
Курсовое проектирование по междисциплинарному курсу МДК.02.02 Технология разработки и защиты баз данных является частью учебного процесса и направлено на формирование у студентов общих и профессиональных компетенций:
ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес.
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество.
ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.
ОК 4. Осуществлять поиск и использование информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития.
ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.
ОК 6. Работать в коллективе и в команде, эффективно общаться с коллегами, руководством, потребителями.
ОК 7. Брать на себя ответственность за работу членов команды (подчиненных), за результат выполнения заданий.
ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.
ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности.
И профессиональных компетенций:
ПК 2.1. Разрабатывать объекты базы данных.
ПК 2.2. Реализовывать базу данных в конкретной СУБД.
ПК 2.3. Решать вопросы администрирования базы данных.
ПК 2.4. Реализовывать методы и технологии защиты информации в базах данных.
И приобретение практического опыта по виду профессиональной деятельности разработка и администрирование баз данных.
Формирование у студентов первоначальных практических профессиональных умений в рамках профессионального модуля ПМ.01 Разработка и администрирование баз данных, по основному виду профессиональной деятельности, обучение основным приемам, операциям и способам выполнения процессов, характерных для соответствующей профессии и необходимых для последующего освоения ими общих и профессиональных компетенций по избранной профессии.
В ходе разработки курсового проекта студент должен:
иметь практический опыт:
- работы с объектами базы данных в конкретной СУБД;
- использования средств заполнения базы данных;
- использования стандартных методов защиты объектов базы данных;
уметь:
- создавать объекты баз данных в современных СУБД и управлять доступом к этим объектам;
- работать с современными Case-средствами проектирования баз данных;
- формировать и настраивать схему базы данных;
- разрабатывать прикладные программы с использованием языка SQL;
- создавать хранимые процедуры и триггеры на базах данных;
- применять стандартные методы для защиты объектов базы данных;
знать:
- основные положения теории баз данных, хранилищ данных, баз знаний;
- основные принципы построения концептуальной, логической и физической модели данных;
- современные инструментальные средства разработки схемы базы данных;
- методы описания схем баз данных в современных СУБД;
- структуры данных СУБД, общий подход к организации представлений, таблиц, индексов и
кластеров;
- методы организации целостности данных; способы контроля доступа к данным и управления привилегиями;
- основные методы и средства защиты данных в базах данных;
- модели и структуры информационных систем;
- основные типы сетевых топологий, приемы работы в компьютерных сетях;
- информационные ресурсы компьютерных сетей;
- технологии передачи и обмена данными в компьютерных сетях;
- основы разработки приложений баз данных
По окончании учебной курсового проектирования необходимо подготовить, оформить, распечатать и сдать пояснительную записку в соответствии с выполненными заданиями.
Целью разработки курсового проекта по МДК.02.02 «Технология разработки и защиты баз данных» является ведение самостоятельной работы и разработки проектных решений по информационному и программному обеспечению.
В процессе разработки курсового проекта необходимо решить следующие задачи:
Разработать базу данных в MS Access.
Спроектировать концептуальную, логическую и физическую модели базы данных.
Разработать интуитивно понятный интерфейс пользователя.
Скомпилировать программный код приложения.
Глава 1. Описание предметной области.
Глава 2. Концептуальная модель баз данных.
![](841410_html_af681b8272ae8427.png)
Рисунок 1. Концептуальная модель базы данных.
Глава 3. Логическая модель базы данных
![](841410_html_28ec9284f84b18bc.png)
Рисунок 2. Логическая модель базы данных.
Глава 4. Физическая модель базы данных
![](841410_html_125dfddb8b74a83.png)
Рисунок 3. Таблица «Категории» в режиме конструктор.
![](841410_html_95bca148d3ffb2.png)
Рисунок 4. Таблица «Товары» в режиме конструктор.
![](841410_html_168240a7478704d9.png)
Рисунок 5. Таблица «Поставщик» в режиме конструктор.
![](841410_html_f9b9fecfd0ceadc6.png)
Рисунок 6. Таблица «Клиенты» в режиме конструктор.
![](841410_html_dafa42d078e6c594.png)
Рисунок 7. Таблица «Приход» в режиме конструктор.
![](841410_html_7a015ffd544cb006.png)
Рисунок 8. Таблица «Список_прихода_товаров» в режиме конструктор.
![](841410_html_10d9ebc4118d12a2.png)
Рисунок 9. Таблица «Расход» в режиме конструктор.
![](841410_html_e5ce8f18fa56cccd.png)
Рисунок 10. Таблица «Список_расхода_товаров» в режиме конструктор.
![](841410_html_757c40ed993b8dce.png)
Рисунок 11. Физическая модель базы данных.
Глава 5. Запросы к базе данных в MS Access
5.1 Простейшие запросы на выборку.
SELECT *
FROM
Товары;
![](841410_html_5e35698189916a77.png)
Рисунок 12. Результат запроса.
SELECT *
FROM клиенты;
![](841410_html_299e717351757b90.png)
Рисунок 13. Результат запроса.
SELECT *
from Приход;
![](841410_html_1fe49588af320da0.png)
Рисунок 14. Результат запроса.
SELECT *
FROM Расход;
![](841410_html_6e145982866b1cee.png)
Рисунок 15. Результат запроса.
SELECT *
FROM Поставщик;
![](841410_html_ec26c80f46cbfd35.png)
Рисунок 16. Результат запроса.
5.2 Операторы Операторы IN, Like, Between, is null.
SELECT наименование, количество, стоимость
FROM товары
WHERE стоимость between 200 and 300;
![](841410_html_20f58b9a759347af.png)
Рисунок 17. Результат запроса.
SELECT * from товары where код_категории in (5,2)
![](841410_html_47da58e518470ce0.png)
Рисунок 18. Результат запроса.
SELECT организация from клиенты where организация like 'М*'
![](841410_html_1b3373ae1149f82e.png)
Рисунок 19. Результат запроса.
SELECT наименование from товары where артикул is null
![](841410_html_4f0b2ae2caf44de1.png)
Рисунок 20. Результат запроса.
SELECT * from товары where количество between 100 and 300
![](841410_html_d44a7fca68613731.png)
Рисунок 21. Результат запроса.
5.3 . Конкатенация. Агрегирование и групповые функции.
SELECT count(*) from товары
![](841410_html_7b0a90e138f9a867.png)
Рисунок 22. Результат запроса.
SELECT Avg(стоимость) AS СредняяЦена
FROM товары;
![](841410_html_e5b8bcc57bf5b677.png)
Рисунок 23. Результат запроса.
SELECT sum(сумма) as ОбщаяСуммаПрихода from приход
![](841410_html_bdb9c4c0c86a981f.png)
Рисунок 24. Результат запроса.
SELECT max(стоимость) from товары
![](841410_html_1861d41bbeab99a9.png)
Рисунок 25. Результат запроса.
SELECT min(Сумма) as МинимальныйРасход from Расход
![](841410_html_63631605ac75f37a.png)
Рисунок 26. Результат запроса.
5.4 Order by, Group by, Having.
SELECT код_накладной,count(*) as Количество_товаров from Список_прихода_товара group by код_накладной
![](841410_html_c93326c6a4fd97f3.png)
Рисунок 27. Результат запроса.
SELECT наименование,max(стоимость) from товары group by наименование having max(стоимость) > 500
![](841410_html_be32240f519c265e.png)
Рисунок 28. Результат запроса.
SELECT * from товары where код_категории = 5 order by наименование
![](841410_html_20209b1ab55a512e.png)
Рисунок 29. Результат запроса.
SELECT min(Организация) from Поставщик having min(организация)
![](841410_html_9a1fb7c413248d3a.png)
Рисунок 30. Результат запроса.
SELECT организация from клиенты where доставка = true order by организация
![](841410_html_d21d1b290d9d91a6.png)
Рисунок 31. Результат запроса.
5.5 Вложенные подзапросы.
SELECT * from поставщик where код_поставщика = (select код_поставщика from товары where код_товара = 5)
![](841410_html_71febebba9db3f58.png)
Рисунок 32. Результат запроса.
SELECT * from список_расхода_товаров where код_накладной = (select код_накладной from расход where сумма = (select max(сумма) from расход))
![](841410_html_bdbfc0d95c3ca5b7.png)
Рисунок 33. Результат запроса.
SELECT категория from категории where код_категории = (select код_категории from товары where код_товара = 68)
![](841410_html_68d4fec2c27b6209.png)
Рисунок 34. Результат запроса.
SELECT * from товары where код_категории = (select код_категории from категории where категория = "Для окон и зеркал") order by код_товара
![](841410_html_c7eb7203f7afd5be.png)
Рисунок 35. Результат запроса.
SELECT * from товары where код_поставщика = (select код_поставщика from поставщик where код_поставщика = (select код_поставщика from приход where код_накладной = 2))
![](841410_html_80371248d5d1dd51.png)
Рисунок 36. Результат запроса.
5.6 Связанные подзапросы.
SELECT Организация, адрес, телефон from клиенты, расход where Клиенты.код_клиента = Расход.код_клиента
![](841410_html_40c54a70112ceb3c.png)
Рисунок 37. Результат запроса.
SELECT * from приход, список_прихода_товара where приход.код_накладной = список_прихода_товара.код_накладной
![](841410_html_ed2d19218703b3d8.png)
Рисунок 38. Результат запроса.
SELECT * from товары, категории where товары.код_категории = категории.код_категории and категории.категория = "для пола"
![](841410_html_d80c0e7685ee21ea.png)
Рисунок 39. Результат запроса.
SELECT * from поставщик,приход where поставщик.код_поставщика = приход.код_поставщика and приход.код_накладной = 2
![](841410_html_2dac493119bc020e.png)
Рисунок 40. Результат запроса.
SELECT count(*) from расход, список_расхода_товаров where расход.код_накладной = список_расхода_товаров.код_накладной and расход.код_накладной = 3
![](841410_html_ab42e4b714d786e5.png)
Рисунок 41. Результат запроса.
5.7 Оператор Exists.
SELECT Категория
FROM Категории
WHERE Exists (SELECT Код_категории FROM Категории WHERE Категория = "Для посуды")
![](841410_html_4ba31e21d7e1f190.png)
Рисунок 42. Результат запроса.
SELECT Код_Клиента, Организация, Адрес, Телефон, Доставка
FROM Клиенты
WHERE EXISTS (SELECT Организация FROM Клиенты WHERE телефон = '89652685256');
![](841410_html_2f365b054060d7e5.png)
Рисунок 43. Результат запроса.
SELECT *
FROM расход
WHERE exists(select код_накладной from расход where дата_расхода between #01/01/2018# and #09/01/2018#)
![](841410_html_c4d6bd983a0bf645.png)
Рисунок 44. Результат запроса.
SELECT код_накладной from приход where exists(select код_накладной from приход where сумма > 100000)
![](841410_html_9d273d5da5ee9fef.png)
Рисунок 45. Результат запроса.
SELECT *
FROM расход
WHERE exists(select код_накладной from расход where дата_расхода between #01/01/2018# and #02/01/2018#)
![](841410_html_9c2eed8cbae6911a.png)
Рисунок 46. Результат запроса.
5.8 Операторы сравнения IN, ANY, ALL.
SELECT * from приход where сумма = any(select max(сумма) from приход)
![](841410_html_f6762f8cca8929aa.png)
Рисунок 47. Результат запроса.
SELECT *
FROM товары
WHERE стоимость = all(select стоимость from товары where стоимость >600);
![](841410_html_978bf504d3f5e586.png)
Рисунок 48. Результат запроса.
SELECT категория from категории where код_категории in (select код_категории from товары where товары.код_категории = категории.код_категории)
![](841410_html_99604ac9b1c3a43d.png)
Рисунок 49. Результат запроса.
SELECT count(*) from товары where срок_годности = all(select min(срок_годности) from товары )
![](841410_html_3287b55b36c4db4.png)
Рисунок 50. Результат запроса.
SELECT *
FROM товары
WHERE срок_годности >any (select срок_годности from товары where код_категории = 5);
![](841410_html_d80d36509f7b07d1.png)
Рисунок 51. Результат запроса.
5.9 Соединение таблиц.
SELECT расход.код_накладной, список_расхода_товаров.код_товара, список_расхода_товаров.количество, расход.сумма
FROM расход INNER JOIN список_расхода_товаров ON расход.код_накладной = список_расхода_товаров.код_накладной;
![](841410_html_742f0ffa3c748115.png)
Рисунок 52. Результат запроса.
SELECT категории.категория, товары.наименование
FROM категории INNER JOIN товары ON категории.код_категории = товары.код_категории;
![](841410_html_cbf3607ed04fe71f.png)
Рисунок 53. Результат запроса.
SELECT приход.код_накладной, приход.дата_прихода, приход.сумма, поставщик.организация
FROM поставщик INNER JOIN приход ON поставщик.код_поставщика = приход.код_поставщика
ORDER BY приход.дата_прихода;
![](841410_html_98a5fee568946201.png)
Рисунок 54. Результат запроса.
SELECT расход.код_накладной, расход.дата_расхода, расход.сумма, клиенты.организация, клиенты.доставка
FROM расход INNER JOIN клиенты ON расход.код_клиента = клиенты.код_клиента;
![](841410_html_e732f60db4eea3ed.png)
Рисунок 55. Результат запроса.
SELECT поставщик.организация, товары.наименование
FROM поставщик INNER JOIN товары ON поставщик.код_поставщика = товары.код_поставщика;
![](841410_html_e3fe264ebadc712d.png)
Рисунок 56. Результат запроса.
5.10 Внешнее соединение таблиц.
SELECT расход.код_накладной, расход.дата_расхода, расход.сумма, клиенты.организация
FROM расход LEFT JOIN клиенты ON расход.код_клиента = клиенты.код_клиента;
![](841410_html_1bad4e224f487f08.png)
Рисунок 57. Результат запроса.
SELECT приход.код_накладной, приход.дата_прихода, приход.сумма, поставщик.организация
FROM поставщик LEFT JOIN приход ON поставщик.код_поставщика = приход.код_поставщика;
![](841410_html_3f318351cd809a0a.png)
Рисунок 58. Результат запроса.
SELECT расход.код_накладной, расход.дата_расхода, расход.сумма, клиенты.организация
FROM расход RIGHT JOIN клиенты ON расход.код_клиента = клиенты.код_клиента;
![](841410_html_d26f388f05b7b9c5.png)
Рисунок 59. Результат запроса.
SELECT приход.код_накладной, список_прихода_товара.код_товара, список_прихода_товара.количество, приход.сумма
FROM приход LEFT JOIN список_прихода_товара ON приход.код_накладной = список_прихода_товара.код_накладной;
![](841410_html_98d83eff359b6516.png)
Рисунок 60. Результат запроса.
SELECT поставщик.организация, товары.наименование
FROM поставщик RIGHT JOIN товары ON поставщик.код_поставщика = товары.код_поставщика;
![](841410_html_32b95a64f91cda9d.png)
Рисунок 61. Результат запроса.
5.11 Оператор объединения Union.
SELECT * from поставщик UNION select * from приход;
![](841410_html_4e50ae94860868ef.png)
Рисунок 62. Результат запроса.
SELECT код_накладной, дата_расхода, сумма from расход UNION select * from список_расхода_товаров;
![](841410_html_d2a556839596e4d2.png)
Рисунок 63. Результат запроса.
SELECT категория from категории where код_категории = (select код_категории from товары where код_товара = (select код_товара from товары where стоимость = (select max(стоимость) from товары))) UNION select наименование from товары where код_товара = (select код_товара from товары where стоимость = (select max(стоимость) from товары));
![](841410_html_800c884a9924e92e.png)
Рисунок 64. Результат запроса.
SELECT артикул, наименование, стоимость from товары where стоимость = (select max(стоимость) from товары) UNION select артикул, наименование, стоимость from товары where стоимость = (select min(стоимость) from товары);
![](841410_html_f2d68c996405ed05.png)
Рисунок 65. Результат запроса.
SELECT * from расход UNION select код_клиента, организация, адрес, телефон from клиенты;
![](841410_html_818ed00a8f86bbc5.png)
Рисунок 66. Результат запроса.
5.12 Операторы INSERT, DELETE, UPDATE.
INSERT INTO товары1
SELECT *
FROM товары
WHERE стоимость>200;
![](841410_html_57808f0108746d98.png)
Рисунок 67. Результат запроса.
INSERT INTO клиенты1
SELECT *
FROM клиенты
WHERE доставка=True;
![](841410_html_49104da3cf9e95b6.png)
Рисунок 68. Результат запроса.
DELETE *
FROM клиенты1;
![](841410_html_4883211862ddaf1b.png)
Рисунок 69. Результат запроса.
DELETE *
FROM товары1;
![](841410_html_8c424cc5325507d8.png)
Рисунок 70. Результат запроса.
UPDATE товары1 SET количество = 0
WHERE срок_годности='18 месяцев';
![](841410_html_52114f0c3bc4d400.png)
Рисунок 71. Результат запроса.
5.13 Оператор INSERT, DELETE, UPDATE с вложенными подзапросами.
INSERT INTO поставщик1
SELECT *
FROM поставщик
WHERE код_поставщика = (select код_поставщика from приход where поставщик.код_поставщика = приход.код_поставщика);
![](841410_html_1781b0e3ce99c434.png)
Рисунок 72. Результат запроса.
INSERT INTO клиенты1
SELECT *
FROM клиенты AS A
WHERE код_клиента = (select код_клиента from расход as B where A.код_клиента=B.код_клиента );
![](841410_html_9769482673040eb0.png)
Рисунок 73. Результат запроса.
UPDATE товары1 SET стоимость = стоимость*0.2
WHERE код_поставщика in (select код_поставщика from поставщик where организация = 'БиоЮни');
![](841410_html_53d1786fef920b45.png)
Рисунок 74. Результат запроса.
UPDATE клиенты1 SET доставка = true
WHERE код_клиента = (select код_клиента from расход where сумма >100000 );
![](841410_html_398a62583e6fe471.png)
Рисунок 75. Результат запроса.
DELETE *
FROM товары1 AS a
WHERE код_поставщика = (select код_поставщика from поставщик as b where a.код_поставщика = b.код_поставщика );
![](841410_html_8c424cc5325507d8.png)
Рисунок 76. Результат запроса.
5.14 Создание таблиц БД. Использование индексаций для быстрого доступа к данным.
create table расход1 (номер_накладной integer,дата_расхода date, сумма integer)
![](841410_html_a44a5739951b1944.png)
Рисунок 77. Результат запроса.
drop table расход1
![](841410_html_fa6e2267df2df633.png)
Рисунок 78. Результат запроса.
![](841410_html_b39e65794690d96b.png)
Рисунок 79. Идекс поля «Артикул» до создания запроса.
create index артикул on товары1(артикул)
![](841410_html_5dea044e430878fe.png)
Рисунок 80. Индекс поля «Артикул» после применения запроса.
drop index артикул on товары1
![](841410_html_b39e65794690d96b.png)
Рисунок 82. Индекс поля «Артикул» после применения запроса.
![](841410_html_fa6e2267df2df633.png)
Рисунок 83. Список таблиц до применения запроса.
drop table Товары1
![](841410_html_79248d41bda92da3.png)
Рисунок 84. Список таблиц после применения запроса.
Глава 6. Разработка приложения в среде программирования Embarcadero Rad Studio.
Запускаем Embarcadero RAD Studio выбираем File->New->VCL Forms Application – Delphi.
Стартовая форма – авторизация. Размещаем на форме 2 компонента TEdit, 2 TLable и 1 TButton.
Для использования данных из базы нужно ее подключить. Создадим модуль данных, где будут размещаться все невидимые для пользователя компоненты. Здесь будут располагаться следующие компоненты: ADOConnection, ADOTable, DataSource и ADOQuery.
![](841410_html_6520eed7c44d7373.png)
Рисунок 85. DataModuleUnit.
Настраиваем подключение между формами Alt + F11 или File -> Use Unit.
Настраиваем компонент ADOConnection. В Object Inspector выбираем свойство Connection String. Выбираем провайдера и нужную базу данных.
![](841410_html_bff119ff43946a6c.png)
Рисунок 86. Настройка ADOConnection.
У свойства LoginPromt убираем галочку.
![](841410_html_e5aa57be9fc8472.png)
Рисунок 87. Настройка ADOConnection.
![](841410_html_f19ab784dc59db03.png)
Глава 7. Техника безопасности
Заключение
В настоящее время наблюдается высокая степень информатизации и компьютеризации образования и общества в целом. Для оперативного, гибкого и эффективного документооборота выделяются автоматизированные системы, ядром которых является база данных. При большом объеме информации и сложности, производимых с ней операций проблема эффективности средств организации хранения и передачи данных приобретает особое значение.
Для решения одной из таких проблем была поставлена цель: разработать автоматизированную информационную систему учета товара на складе. В данной работе изучались методический материал для разработки системы, обобщался опыт по их созданию, и разрабатывалась сама система.
Для достижения поставленной цели и решения поставленных задач была проделана следующая работа:
изучена предметная область учета с применением методологии системного анализа;
изучена и проанализирована учебная литература по теме курсовой работы;
обоснован выбор проектных решений;
была спроектирована сама система, предназначенная для автоматизации учета;
проведено тестирование и апробация разработанной системы.
Проведение структурного анализа позволило избежать ошибок при построении реальной системы, от которого зависит качество и функционирование системы в дальнейшем.
Основой системы послужила база данных разработанная в среде MS Access.
Для построения адекватной базы данных были разработаны концептуальная и логическая модели предметной области. Эти модели позволили выявить основные структуры данных и их логические связи, проанализировать потоки данных и выявить структуру разрабатываемой системы.
При разработке структуры автоматизированной системы учитывались следующие требования по реализации проекта: программа предназначается в помощь сотрудникам склада; система планируется для использования при автоматизации учета товара.
Разработка системы управления базами данных включает: разработку экранных форм, которые отображают и выводят информацию, запросов, которые позволяют пользователю получить нужные данные, отчётов, которые предназначены для создания документов и впоследствии могут быть распечатаны.
Из анализа проведённой работы можно сделать следующие выводы:
разработка такой системы и их внедрение позволяет пользователям получать интересующую их информацию по документам за короткий промежуток времени;
разработка таких систем является перспективным направлением в автоматизации учета товара.
Практическая ценность работы: во-первых, был получен опыт разработки автоматизированных систем; во-вторых, склад получил в свое распоряжение и сможет использовать данную систему автоматизации учета. При дальнейшем развитии систему можно видеть с дополнением и обновлением информации, совершенствованием системы.
Список литературы
Андерсен В. Microsoft Access 2010. – М.: Астрель, 2017. – 572 с.
Книг должно быть не меньше 15!!! И год выпуска 2015-2019
+ссылки на интернет источники не менее 10!!
Приложение 1. Техническое задание
(без рамок!!!)
Здесь пишем код с выравниванием по ширине текста и размером шрифта 12, интервал одинарный.
Пример технического задания можно посмотреть тут:
http://www.rema44.ru/resurs/study/ofdoc/ofdoc.html
Приложение 2. Код программы
(без рамок!!!)
Здесь пишем код с выравниванием по ширине текста и размером шрифта 12, интервал одинарный.
Приложение 3. Тестовые наборы данных
Тестов должно быть 5-7 штук!!!!