База данных продуктового магазина

Среда разработки 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.