47517 (608286)

Файл №608286 47517 (ЛИСП-реализация основных операций над базами данных)47517 (608286)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Содержание

Введение 2

1 Постановка задачи 4

2 Математические и алгоритмические основы решения задачи 7

2.1 Выполнение основных операций над базами данных 7

2.2 Скорость операций обновления данных 7

3 Функциональные модели и блок-схемы решения задачи 10

4 Программная реализация решения задачи 13

5 Пример выполнения программы 19

Заключение 23

Список использованных источников и литературы 24

Введение

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

В основе решения многих задач лежит обработка информации. Для облегчения обработки информации создаются информационные системы (ИС). Автоматизированными называют ИС, в которых применяют технические средства, в частности ЭВМ. Большинство существующих ИС являются автоматизированными.

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

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

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

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

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

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

Целью данной курсовой работы является ЛИСП – реализация основных операций над базами данных.

1 Постановка задачи

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

Пример 1.

В таблицу сотрудники (Таблица 1) необходимо добавить данные о новых сотрудниках (Таблица 2):

Таблица 1. Сотрудники

Сотрудники

Зарплата

Петров

5700

Иванов

8200

Сидоров

16100

Николенко

7650

Сотрудники

Зарплата

Сидоренко

12000

Владимиров

8200

Сергиенко

6540

Таблица 2. Новые сотрудники

Решение:

Добавляются данные о новых сотрудниках в начало таблицы 1. В результате получим:

Таблица 3. Результат выполнения операции добавления

Сотрудники

Зарплата

Сидоренко

12000

Владимиров

8200

Сергиенко

6540

Петров

5700

Иванов

8200

Сидоров

16100

Николенко

7650

Пример 2.

Из таблицы сотрудники (Таблица 1) необходимо выбрать всех сотрудников с зарплатой 8200.

Решение:

Просматриваем все записи, и выводим только тех сотрудников, у которых зарплата равна 8200:

Таблица 4. Результат выполнения операции выбора

Сотрудники

Зарплата

Владимиров

8200

Иванов

8200

Пример 3.

Из таблицы сотрудники (Таблица 1) необходимо поменять зарплату Сидоренко на 13000.

Решение:

Просматриваем все записи, находим фамилию Сидоренко и изменяем зарплату 12000 на 13000. В результате получим:

Таблица 5. Результат выполнения операции модификации

Сотрудники

Зарплата

Сидоренко

13000

Владимиров

8200

Сергиенко

6540

Петров

5700

Иванов

8200

Сидоров

16100

Николенко

7650

Пример 4.

Из таблицы сотрудники (Таблица 1) необходимо удалить сотрудников Сидоренко и Владимирова.

Решение:

Просматриваем все записи, находим фамилию Сидоренко – удаляем запись, аналогично удаляем Владимирова.

Таблица 6. Результат выполнения операции удаления

Сотрудники

Зарплата

Сергиенко

6540

Петров

5700

Иванов

8200

Сидоров

16100

Николенко

7650

2 Математические и алгоритмические основы решения задачи

2.1 Выполнение основных операций над базами данных

Опишем, каким образом выполняется запрос пользователя на вставку, удаление и операцию модификации.

В случае операции вставки сначала считываются с файла новые данные для добавления к базе данных. Устанавливается позиция добавления данных. Выполняется операция вставки.

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

Операция модификации может рассматриваться как операция удаления, следующая за операцией вставки. Поэтому правила, применяемые для операций удаления и вставки, также применяются и для операции модификации.

2.2 Скорость операций обновления

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

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

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

Рассмотрим операции обновления и удаления записей из таблицы. Прежде, чем обновить или удалить запись, ее необходимо найти. Если таблица не индексирована, то единственным способом поиска является последовательное сканирование таблицы в поиске нужной записи. В этом случае, скорость операций обновления и удаления существенно увеличивается с увеличением количества записей в таблице и не зависит от количества атрибутов. Но на самом деле неиндексированные таблицы практически никогда не используются. Для каждой таблицы обычно объявляется один или несколько индексов, соответствующий потенциальным ключам. При помощи этих индексов поиск записи производится очень быстро и практически не зависит от количества строк и атрибутов в таблице (хотя, конечно, некоторая зависимость имеется). Если для таблицы объявлено несколько индексов, то при выполнении операций обновления и удаления эти индексы должны быть перестроены, на что тратится дополнительное время. Таким образом, скорость выполнения операций обновления и удаления также уменьшается при увеличении количества индексов у таблицы и мало зависит от числа строк в таблице.

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

3 Функциональные модели и блок-схемы решения задачи

Функциональные модели и блок-схемы решения задачи представлены на рисунках 1, 2, 3, 4, 5.

Условные обозначения:

POS – позиция вставки;

LST – список сотрудников;

AT – добавляемый элемент;

FM – фамилия сотрудника;

PAYM – оклад сотрудника.

Рисунок 1 – Блок-схема решения задачи для функции INSERT

Рисунок 2 – Блок-схема решения задачи для функции DELETE

Рисунок 3 – Блок-схема решения задачи для функции GET_PEOPLE_PAYMANT

Рисунок 4 – Блок-схема решения задачи для функции CHANGE_DATA

Рисунок 5 – Блок-схема решения задачи для функции GET_PEOPLE

4 Программная реализация решения задачи

;ПОЛУЧАЕМ ИЗ ФАЙЛА СПИСОК СОТРУДНИКОВ

(SETF EMPLOYEE 0)

(SETQ INPUT_STREAM (OPEN " D:\\EMPLOYEE.TXT" :DIRECTION :INPUT))

(SETQ EMPLOYEE (READ INPUT_STREAM))

(CLOSE INPUT_STREAM)

;ОСНОВНЫЕ ОПЕРАЦИИ: ВСТАВКА, УДАЛЕНИЕ, ВЫБОРКА, ИЗМЕНЕНИЕ

;ВСТАВКА

(DEFUN INSERT (POS LST AT)

(COND

((NULL LST) (CONS AT NIL))

((EQL POS 0) (CONS AT LST))

(T (CONS (CAR LST) (INSERT (- POS 1) (CDR LST) AT)))

Характеристики

Тип файла
Документ
Размер
8,36 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

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

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6764
Авторов
на СтудИзбе
282
Средний доход
с одного платного файла
Обучение Подробнее