![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
ЛИСП-реализация основных операций над базами данных |
СодержаниеВведение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 – позиция вставки; LS – список сотрудников; A – добавляемый элемент; FM – фамилия сотрудника; PAYM – оклад сотрудника. Рисунок 1 – Блок-схема решения задачи для функции I SER Рисунок 2 – Блок-схема решения задачи для функции DELE E Рисунок 3 – Блок-схема решения задачи для функции GE PEOPLE PAYMA Рисунок 4 – Блок-схема решения задачи для функции CHA GE DA A Рисунок 5 – Блок-схема решения задачи для функции GE PEOPLE 4 Программная реализация решения задачи;ПОЛУЧАЕМ ИЗ ФАЙЛА СПИСОК СОТРУДНИКОВ (SE F EMPLOYEE 0) (SE Q I PU S REAM (OPE &quo ; D: EMPLOYEE. X &quo ; :DIREC IO :I PU )) (SE Q EMPLOYEE (READ I PU S REAM)) (CLOSE I PU S REAM);ОСНОВНЫЕ ОПЕРАЦИИ: ВСТАВКА, УДАЛЕНИЕ, ВЫБОРКА, ИЗМЕНЕНИЕ;ВСТАВКА (DEFU I SER (POS LS A ) (CO D (( ULL LS ) (CO S A IL)) ((EQL POS 0) (CO S A LS )) ( (CO S (CAR LS ) (I SER (- POS 1) (CDR LS ) A ))) ) ) ;ВСТАВКА ЭЛЕМЕНТА A В ПОЗИЦИЮ POS СПИСКА LS ;УДАЛЕНИЕ (DEFU DELE E (FM LS ) (CO D (( ULL LS ) IL) ((EQL FM (CAR (CAR LS ))) (CDR LS )) ( (CO S (CAR LS ) (DELE E FM (CDR LS )))) ) ) ;УДАЛЕНИЕ ПО ФАМИЛИИ ЗАПИСИ ИЗ СПИСКА;ВЫБОРКА ЗАРПЛАТЫ СОТРУДНИКА ПО ЕГО ФАМИЛИИ (DEFU GE PEOPLE PAYMA (FM LS ) (CO D (( ULL LS ) IL) ((EQUAL FM (CAR (CAR LS ))) (CADR (CAR LS ))) ( (GE PEOPLE PAYMA FM (CDR LS ))) ) );ВЫБОРКА ЛЮДЕЙ С ЗАРПЛАТОЙ PAYM (DEFU GE PEOPLE (PAYM LS OU PU S REAM) (CO D (( ULL LS ) IL) ((EQUAL PAYM (CADR (CAR LS ))) (PROG (PRI (CAR (CAR LS )) OU PU S REAM) (GE PEOPLE PAYM (CDR LS ) OU PU S REAM) ) ) ( (GE PEOPLE PAYM (CDR LS ) OU PU S REAM)) ) );ИЗМЕНИЕ ЗАРПЛАТЫ СОТРУДНИКА ;ИЩЕМ СОТРУДНИКА ПО ЕГО ФАМИЛИИ ;МЕНЯЕМ ДАННЫЕ (DEFU CHA GE DA A (FM PAYM LS ) (CO D (( ULL LS ) IL) ((EQUAL FM (CAR (CAR LS ))) (SE F (CADR (CAR LS )) PAYM)) ( (CHA GE DA A FM PAYM (CDR LS ))) ) ;ДОБАВЛЯЕМ СОТРУДНИКОВ ;ПОЛУЧАЕМ ИЗ ФАЙЛА НОВЫХ СОТРУДНИКОВ (SE F EW EMPLOYEE 0) (SE Q I PU S REAM (OPE &quo ; D: ADD EMPLOYEE.
Банк данных состоит из двух основных компонент: базы данных и системы управления базой данных. Ядром банка данных служит база данных, которая представляет собой совокупность взаимосвязанных, хранящихся вместе данных при наличии минимальной избыточности, допускающей их использование оптимальным образом для одного или нескольких приложений. При этом данные запоминаются так, чтобы они были независимы от использующих их программ; для добавления новых или преобразования существующих данных, а также для поиска данных в базе данных используется общий управляемый способ. В процессе создания и функционирования банка данных участвуют пользователи разных категорий, при этом основной категорией являются конечные пользователи, т. е. те, для нужд которых и создается банк данных. 7.7. Программы-органайзеры Программа-органайзер предназначена для обеспечения эффективного планирования времени делового человека. Ее применяют как в автономном режиме работы, так и в режиме совместного использования. Данная программа позволяет осуществлять хранение, планирование и управление сведениями о событиях, встречах, собраниях, задачах и контактах
1. Лисп-реализация математических операций над комплексными числами
2. Мировой рынок услуг и основные операции по их реализации
3. Web-серверы, базы данных в Интернет, Поиск информации в Интернет, Основные системы и средства
4. Основные принципы проектирования баз данных
9. Реляционные Базы Данных. SQL - стандартный язык реляционных баз данных
10. Примеры баз данных (Студенческая группа)
11. Современные системы управления базами данных
12. Создание и описание базы данных "СТУДЕНТЫ" (Отчет по курсу "Базы данных")
13. Разработка базы данных "Кадры"
14. Лекции по теории проектирования баз данных (БД)
16. Система управления базами данных ACCESS
17. База данных - Бактериологическая испытательная лаборатория Боханского района
18. Создание базы данных "Библиотека"
21. Системы принятия решений, оптимизация в Excel и базы данных Access
25. Реализация основных направлений модернизации образования в Ярославской области
26. База данных страховой компании
27. База данных
28. GeoCad, как база данных для ведения реестра регистрации прав на недвижимость и сделок с ним
29. Организация удаленного доступа к распределенным базам данных
30. Опыт использования ADO для доступа к базам данных форматов MS Access, xBase и Paradox
31. Использование Internet/intranet технологий для организации доступа к базам данных
32. Создание баз данных в InterBase SQL Server
33. Введение в проектирование реляционных баз данных
34. Средства доступа к базам данных в Internet и свободно доступная СУБД POSTGRES95
35. Базы данных и файловые системы
36. Базы данных по законодательству в интернет и на компакт-дисках
41. Иерархические структуры в реляционных базах данных
42. Операционная среда Windows. База данных Microsoft Access
43. Организация доступа к базам данных в Интернет
44. Перенос Базы Данных на WEB-сервер
47. Создание баз данных в Microsoft Access
48. Создание и ведение баз данных
49. Упражнения по базам данных MS ACCESS (методичка)
51. Некоторые аспекты обеспечения эффективности работы системы управления базами данных
52. Манифест систем объектно-ориентированных баз данных
58. Создание базы данных «расписание»
59. Проектирование Базы Данных для коммерческого предприятия
62. Основные операции коммерческих банков с ценными бумагами
65. Правовая охрана программ для ЭВМ и баз данных
66. Автоматизация базы данных для ООО "ОриенБанк"
67. База даних "Теорія та практика прикладного програмування"
68. База даних лікарських препаратів
69. База даних по приватним підприємствам регіону
74. База данных "Международные переговоры"
77. База данных "фруктовый сад"
79. База данных аттестационных ведомостей
81. База данных для ремонта автомобилей
82. База данных компьютерного магазина
83. База данных компьютерной фирмы
84. База данных по учёту видеокассет
85. База данных приёмной комиссии
89. Базы данных
90. Базы данных и информационные технологии
91. Базы данных и управление ими
92. Восстановление базы данных
93. Инфологическая модель базы данных "Защита доступа"
94. Инфологическая модель базы данных "Тестирование"
95. Инфологическая модель базы данных технологического процесса
96. Информационные базы данных: нормализация, связи и ключи