База данных продуктового магазина
Среда разработки SWI-Prolog. Создание базы данных продуктового магазина с запросами: добавление новых моделей, вывод списка товаров в категориях, изменение стоимости. Результаты ручного выполнения запросов и руководство по сборке и запуску программ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.04.2014 |
Размер файла | 470,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Содержание
Нормативные ссылки
Введение
Постановка задачи
Описание запросов к базе данных
Результаты ручного выполнения запросов и руководство по сборке и запуску на проверку программ
Заключение
Список литературы
Приложение
Нормативные ссылки
ГОСТ Р 1.5-2004 Стандарты национальные Российской Федерации.
Правила построения, изложения, оформления и обозначения
ГОСТ 2.104-68 ЕСКД. Основные надписи
ГОСТ 7.80-2000 СИБИД. Библиографическая запись. Заголовок. Общие
требования и правила составления
ГОСТ 7.82-2001 СИБИД. Библиографическая запись. Библиографическое
описание электронных ресурсов. Общие требования и правила составления
ГОСТ 7.9-95 СИБИД. Реферат и аннотация. Общие требования
ГОСТ 19.001-77 ЕСПД. Общие положения
ГОСТ 19.104-78 ЕСПД. Основные надписи
ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам
ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и
оформлению
ГОСТ 19.402-78 ЕСПД. Описание программы
ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению
Введение
Пролог -- язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
Основными понятиями в языке Пролог являются факты, правила логического вывода и запросы, позволяющие описывать базы знаний, процедуры логического вывода и принятия решений.
Факты в языке Пролог описываются логическими предикатами с конкретными значениями. Правила в Прологе записываются в форме правил логического вывода с логическими заключениями и списком логических условий.
Особую роль в интерпретаторе Пролога играют конкретные запросы к базам знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщённых запросов с переменными в качестве аргументов созданная система Пролог выводит конкретные данные в подтверждение истинности обобщённых сведений и правил вывода.
Факты в базах знаний на языке Пролог представляют конкретные сведения (знания). Обобщённые сведения и знания в языке Пролог задаются правилами логического вывода (определениями) и наборами таких правил вывода (определений) над конкретными фактами и обобщёнными сведениями.
Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи или баз знаний и сам производит логический вывод, а также поиск решения задач, пользуясь механизмом поиска с возвратом и унификацией.
Постановка задачи
Главной задачей курсового проекта является разработка базы данных продуктового магазина с запросами к ней:
Добавление новых моделей
Удаление товаров
Изменение стоимости товара
Вывод списка товаров в категориях
База будет разработана в среде SWI-Prolog .
Описание запросов к базе данных
Запросы:
«Поиск по идентификатору» необходим для того чтобы узнать информацию о товаре.
process(3):-
write('------Поиск по ID------'),nl,nl,
write('Введите ID записи: '),nl,
read(ID),nl,
После выбора на экран выводится:
ID: 2
Название модели: galaxy_note
Производитель: samsung
Дисплей: 5.3
Процессор: samsung_exynos_4210
Камера: 8
Кол-во на складе: 550
Цена: 11500
- «Добавление записи» служит для добавления товара в базу данных.
write('-----Добавление записи-----'),nl,nl,
write('ID записи: '),
read(ID),
write('Название модели: '),
read(MODEL_NAME),
write('Производитель: '),
read(MANUFACTURER),
write('Дисплей: '),
read(DISPLAY),
write('Процессор:'),
read(PROCESSOR),
write('Камера: '),
read(CAMERA),
write('Кол-во на складе: '),
read(KOLVO),
write('Цена за ед. '),
read(PRICE),
assertz(record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE)),nl,nl,
write('Запись добавленна!'),nl,nl,menu
«Поиск по производителю» позволяет найти нужный товар в базе данных.
write('------Поиск по Производителю------'),nl,nl,
write('Поиск по производителю: '),nl,
read(MANUFACTURER),nl,
write('------------------'),
record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE),
nl,write(' ID: '),write(ID),
nl,write(' Название модели: '),write(MODEL_NAME),
nl,write(' Производитель: '),write(MANUFACTURER),
nl,write(' Дисплей: '),write(DISPLAY),
nl,write(' Процессор: '),write(PROCESSOR),
nl,write(' Камера: '),write(CAMERA),
nl,write(' Кол-во на складе: '),write(KOLVO),
nl,write(' Цена: '),write(PRICE),
nl,write('------------------'),
nl,nl,!,menu.
«Удаление записи» позволяет удалить товар из базы данных.
write('------Удаление записи------'),nl,nl,
write('Введите ID записи: '),
read(ID),
A = record(ID,_,_,_,_,_,_,_),
retractall(A),
write('Запись удалена!'),nl,nl,nl,menu.
«Просмотр всех данных» выводит все товары по категориям.
write('------Просмотр всех данных------'),nl,nl,
record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE),
nl,write(' ID: '),write(ID),
nl,write(' Название модели: '),write(MODEL_NAME),
nl,write(' Производитель: '),write(MANUFACTURER),
nl,write(' Дисплей: '),write(DISPLAY),
nl,write(' Процессор: '),write(PROCESSOR),
nl,write(' Камера: '),write(CAMERA),
nl,write(' Кол-во на складе: '),write(KOLVO),
nl,write(' Цена: '),write(PRICE),
nl,write('------------------'),
nl,nl,fail;
menu.
Результаты ручного выполнения запросов и руководство по сборке и запуску на проверку программ
Ввод запросов осуществляется в программе SWI-prolog 6.4.1. После каждого ввода запроса необходимо ставить точку для успешного его выполнения.
База данных магазина
Рисунок 1
Поиск товара.
Рисунок 2
Добавление товара в базу.
Рисунок 3
Удаление товара.
Рисунок 4
Просмотр товаров.
Рисунок 5
Заключение
В данном курсовом проекте по дисциплине «Функциональное и логическое программирование» мы написали запросы на языке пролог, к составленной нами базы данных магазина продуктов. Также мы составили подробное описание выполнения запросов и результат, который они нам дают. В итоге можно сказать с уверенностью, что среда разработки SWI-Prolog является универсальным средством решения подобных задач, главным достоинствами является простота кода, малый листинг программ, скорость выполнения программ, решение является бесплатным и возможна интеграция с объектно-ориентированными средами примером которой может являться одна из самых распространенных с++.
база данный магазин запрос
Список литературы
Братко И. Программирование на языке Пролог для искусственного интеллекта: пер. с англ. - М.: Мир, 1990. - 560 с.: ил.
Братко И. Алгоритмы искусственного интеллекта на языке PROLOG, 3-е издание.: пер. с англ. - М.: ИД «Вильямс», 2004. - 640 с.: ил.
Малпас Дж. Реляционный язык Пролог и его применение: пер. с англ. - М.: Наука, 1990. - 464 с.
Метакидес Г., Нероуд А. Принципы логики и логического программирования. - Пер. с англ. - М.: Факториал, 1998. - 288 с.
Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог: пер. с англ. - М.: Мир, 1990. - 333 с.: ил.
Стобо Дж. Язык программирования Пролог: пер. с англ. - М.: Радио и связь, 1993. - 368 с.: ил.
Хоггер К. Введение в логическое программирование. - Пер. с англ. - М.: Мир, 1988. - 348 с.
Приложение A
Листинг запросов к БД (hhhhhh.pl)
:-dynamic record/8.
record(1,'sensation','htc',4.3,'qualcomm_msm8260',8,100,6600).
record(2,'galaxy_note','samsung',5.3,'samsung_exynos_4210',8,550,11500).
record(3,'galaxy_note_ii','samsung',5.55,'samsung_exynos_4412',8,245,14600).
record(4,'xperia_z_ultra','sony',6.44,'qualcomm_snapdragon_800',8,590,18000).
start:-
write('--------------------------------------------'),nl,
write('--------БД МАГАЗИНА Mobium----------'),nl,
write('--------------------------------------------'),nl,nl,menu.
menu:-
write('Введите номер 1,2,3 или 4'),nl,
write('1. Добавить запись в БД'),nl,
write('2. Удалить запись из БД'),nl,
write('3. Поиск по ID'),nl,
write('4. Просмотр всех записей'),nl,
write('5. Поиск по производителю'),nl,
write('6. Поиск по цене'),nl,
write('7. Завершение работы'),nl,
read(C),nl,
process(C),!.
process(1):-
write('-----Добавление записи-----'),nl,nl,
write('ID записи: '),
read(ID),
write('Название модели: '),
read(MODEL_NAME),
write('Производитель: '),
read(MANUFACTURER),
write('Дисплей: '),
read(DISPLAY),
write('Процессор: '),
read(PROCESSOR),
write('Камера: '),
read(CAMERA),
write('Кол-во на складе: '),
read(KOLVO),
write('Цена за ед. '),
read(PRICE),
assertz(record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE)),nl,nl,
write('Запись добавленна!'),nl,nl,menu.
process(2):-
write('------Удаление записи------'),nl,nl,
write('Введите ID записи: '),
read(ID),
A = record(ID,_,_,_,_,_,_,_),
retractall(A),
write('Запись удалена!'),nl,nl,nl,menu.
process(3):-
write('------Поиск по ID------'),nl,nl,
write('Введите ID записи: '),nl,
read(ID),nl,
write('------------------'),
record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE),
nl,write(' ID: '),write(ID),
nl,write(' Название модели: '),write(MODEL_NAME),
nl,write(' Производитель: '),write(MANUFACTURER),
nl,write(' Дисплей: '),write(DISPLAY),
nl,write(' Процессор: '),write(PROCESSOR),
nl,write(' Камера: '),write(CAMERA),
nl,write(' Кол-во на складе: '),write(KOLVO),
nl,write(' Цена: '),write(PRICE),
nl,write('------------------'),
nl,nl,!,menu.
process(4):-write('------Просмотр всех данных------'),nl,nl,
record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE),
nl,write(' ID: '),write(ID),
nl,write(' Название модели: '),write(MODEL_NAME),
nl,write(' Производитель: '),write(MANUFACTURER),
nl,write(' Дисплей: '),write(DISPLAY),
nl,write(' Процессор: '),write(PROCESSOR),
nl,write(' Камера: '),write(CAMERA),
nl,write(' Кол-во на складе: '),write(KOLVO),
nl,write(' Цена: '),write(PRICE),
nl,write('------------------'),
nl,nl,fail;
menu.
process(5):-
write('------Поиск по Производителю------'),nl,nl,
write('Поиск по производителю: '),nl,
read(MANUFACTURER),nl,
write('------------------'),
record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE),
nl,write(' ID: '),write(ID),
nl,write(' Название модели: '),write(MODEL_NAME),
nl,write(' Производитель: '),write(MANUFACTURER),
nl,write(' Дисплей: '),write(DISPLAY),
nl,write(' Процессор: '),write(PROCESSOR),
nl,write(' Камера: '),write(CAMERA),
nl,write(' Кол-во на складе: '),write(KOLVO),
nl,write(' Цена: '),write(PRICE),
nl,write('------------------'),
nl,nl,!,menu.
process(6):-
write('------Просмотр всех данных------'),nl,nl,
write('Минимальная цена'),nl,
read(MIN),nl,
write('Максимальная цена'),nl,
read(MAX),nl,
record(ID,MODEL_NAME,MANUFACTURER,DISPLAY,PROCESSOR,CAMERA,KOLVO,PRICE),
PRICE>MIN, PRICE<MAX,
nl,write(' ID: '),write(ID),
nl,write(' Название модели: '),write(MODEL_NAME),
nl,write(' Производитель: '),write(MANUFACTURER),
nl,write(' Дисплей: '),write(DISPLAY),
nl,write(' Процессор: '),write(PROCESSOR),
nl,write(' Камера: '),write(CAMERA),
nl,write(' Кол-во на складе: '),write(KOLVO),
nl,write(' Цена: '),write(PRICE),
nl,write('------------------'),
nl,nl,fail,menu.
process(7):-
write('Вы уверенны, что хотите завершить работу? (y/n)'),
read(A),esc(A).
esc(A):-
A == 'y',halt.
esc(A):-
A == 'n',nl,start.
process(C):-
C<1,error.
process(C):-
C>6,error.
error:-write('ERROR! enter number 1,2,3 or 4'),nl,nl,menu.
Размещено на Allbest.ru
Подобные документы
Создание программного комплекса, обеспечивающего использование структурированной базы данных для компьютерного магазина. Язык программирования высокого уровня C++. Требования к составу и параметрам технических средств, к программной документации.
курсовая работа [314,8 K], добавлен 17.02.2010Цель создания базы данных магазина. Понятие и сущность инфологического моделирования, его применение. Особенности разработки базы данных, создание таблиц, схемы данных, запросов, визуальных и печатных форм. Описание процесса работы с базами данных.
курсовая работа [1,9 M], добавлен 15.11.2013Создание программ, позволяющих создавать базы данных. Создание таблицы базы данных. Создание схемы данных. Создание форм, отчетов, запросов. Увеличение объема и структурной сложности хранимых данных. Характеристика системы управления базой данных Access.
курсовая работа [2,1 M], добавлен 17.06.2013Авторизация с каталогами проектирования базы данных магазина. Задачи базы данных: учет всех товаров, поиск и выдача данных о клиентах, адрес, телефоны, цена и наличие товара. Этапы проектирования базы данных. Схема данных, создание запросов и их формы.
реферат [1,6 M], добавлен 22.10.2009Характеристика магазина по сборке компьютеров. Формирование реляционной модели базы данных: заказы, комплектующие, покупатели, продажи; запросы на выборку, формы для ввода данных, кнопочная форма, отчеты для руководителя, счета для покупателей и макросы.
контрольная работа [5,0 M], добавлен 15.08.2009Выполнение операций, хранения, редактирования, систематизации данных. Рассмотрение подсистем разрабатываемой системы управления базами данных продуктового магазина. Разработка алгоритма функционирования системы и приложения для работы с базой данных.
курсовая работа [399,1 K], добавлен 26.08.2019Автоматизация деятельности книжного магазина. Информация базы данных. Заполнение полей таблиц "Книги", "Покупатель", "Поставщик", "Сотрудники". Создание запроса в режиме конструктора. Вывод данных с помощью форм. Разработка приложения СУБД MS Access.
курсовая работа [3,2 M], добавлен 13.01.2015Этапы проектирования базы данных, определение целей и содержание таблиц. Добавление данных и создание других объектов базы данных. Даталогическая модель: структуризация, нормализация, схемы данных. Порядок, принципы создания пользовательского интерфейса.
курсовая работа [1,3 M], добавлен 26.03.2013Анализ предметной области. Требования, предъявляемые при составлении базы данных гостиницы. Реализация процесса поиска необходимой информации. Формирование таблиц, запросов, отчетов и вывод их на печать. Редактирование, добавление и хранение данных.
курсовая работа [2,0 M], добавлен 07.02.2016Описание функционирования магазина мобильных телефонов. Особенности создания базы данных учета товарооборота магазина мобильных телефонов в СУБД Microsoft Access. Концептуальное проектирование системы, инфологическое моделирование предметной области.
курсовая работа [9,5 M], добавлен 11.08.2012