Вход

Разработка алгоритма накопления знаний

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 348998
Дата создания 06 июля 2013
Страниц 39
Мы сможем обработать ваш заказ (!) 22 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 310руб.
КУПИТЬ

Содержание


Введение
Глава 1. Разработка базы данных
1.1. Сведения о базах данных
1.1.1 Классификация баз данных
1.1.2. Структурные элементы базы данных
1.2. Виды моделей данных
1.3. Понятие информационного объекта
1.4. Нормализация отношений
1.4.1 Понятие нормализации отношений
1.5. Типы связей
1.6. Модели данных
1.6.1. Сведенья о моделях данных
1.6.2 Проектирование модели данных
1.6.3 Назначение модели
Глава 2. Разработка программы
2.1. Постановка задачи
2.2. Построение инфологической модели данных
2.3. Построение датологической модели данных
2.4. Основные принципы работы программы
2.5. Разработка интерфейса программы
2.6. Средства работы с базами данных
2.7. Выбор языка программирования
2.8. Системные требования программы
Заключение
Список литературы
Приложение 1. Текст программы

Введение

Разработка алгоритма накопления знаний

Фрагмент работы для ознакомления

Глава 2. Разработка программы
2.1. Постановка задачи
Необходимо создать программу для работы с базой данных. Программа должна обеспечивать работу со словарным запасом базы данных. Должна быть возможность пополнения базы данных, а также вывод списка имеющихся слов.
2.2. Построение инфологической модели данных
В базе данных программы используется следующая сущность: «Слова». Данная сущность обладает следующими аттрибутами;
- Наименование
2.3. Построение датологической модели данных
В базе данных могут хранить слова и выражения длиной до 255 символов1
Рис. 2.1 Датологическая модель данных
Работа с DataBase Desktop
Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links). Исполняемый файл утилиты называется DBD.EXE, расположен он, как правило, в директории, называемом DBD (при установке по умолчанию). Для запуска Database Desktop просто дважды щелкните по ее иконке.
После старта Database Desktop выберите команду меню File|New|Table для создания новой таблицы. Перед Вами появится диалоговое окно выбора типа таблицы, как показано на рис. 2.2. Вы можете выбрать любой формат из предложенного, включая различные версии одного и того же формата.
Рис. 2.2: Выпадающий список в диалоговом окне Table Type позволяет выбрать тип создаваемой таблицы
После выбора типа таблицы Database Desktop представит Вам диалоговое окно, специфичное для каждого формата, в котором Вы сможете определить поля таблицы и их тип, как показано на рис.2.3.
Рис. 2.3: Database Desktop позволяет задать имена и типы полей в таблице
Имя поля в таблице формата Paradox представляет собой строку, написание которой подчиняется следующим правилам:
Имя должно быть не длиннее 25 символов.
Имя не должно начинаться с пробела, однако может содержать пробелы. Однако, если Вы предполагаете в будущем переносить базу данных в другие форматы, разумнее будет избегать включения пробелов в название поля. Фактически, в целях переносимости лучше ограничиться девятью символами в названии поля, не включая в него пробелы.
Имя не должно содержать квадратные, круглые или фигурные скобки [], () или {}, тире, а также комбинацию символов "тире" и "больше" (->).
Имя не должно быть только символом #, хотя этот символ может присутствовать в имени среди других символов. Хотя Paradox поддерживает точку (.) в названии поля, лучше ее избегать, поскольку точка зарезервирована в Delphi для других целей.
Следующий (после выбора имени поля) шаг состоит в задании типа поля. Типы полей очень сильно различаются друг от друга, в зависимости от формата таблицы. Для получения списка типов полей перейдите к столбцу "Type", а затем нажмите пробел или щелкните правой кнопкой мышки. Приведем списки типов полей, характерные для форматов Paradox, dBase и InterBase.
Поля таблиц формата Paradox могут иметь следующий тип (для ввода типа поля можно набрать только подчеркнутые буквы или цифры):
Таблица: Типы полей формата Paradox
Alpha
строка длиной 1-255 байт, содержащая любые печатаемые символы
Number
числовое поле длиной 8 байт, значение которого может быть положительным и отрицательным. Диапазон чисел - от 10-308 до 10308 с 15 значащими цифрами
$ Money)
числовое поле, значение которого может быть положительным и отрицательным. По умолчанию, является форматированным для отображения десятичной точки и денежного знака
Short
числовое поле длиной 2 байта, которое может содержать только целые числа в диапазоне от -32768 до 32767
Long Integer
числовое поле длиной 4 байта, которое может содержать целые числа в диапазоне от -2147483648 до 2147483648
# (BCD)
числовое поле, содержащее данные в формате BCD (Binary Coded Decimal). Скорость вычислений немного меньше, чем в других числовых форматах, однако точность - гораздо выше. Может иметь 0-32 цифр после десятичной точки
Date
поле даты длиной 4 байта, которое может содержать дату от 1 января 9999 г. до нашей эры - до 31 декабря 9999 г. нашей эры. Корректно обрабатывает високосные года и имеет встроенный механизм проверки правильности даты
Time
поле времени длиной 4 байта, содержит время в миллисекундах от полуночи и ограничено 24 часами
@ (Timestamp)
обобщенное поле даты длиной 8 байт - содержит и дату и время
Memo
поле для хранения символов, суммарная длина которых более 255 байт. Может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (1-240) - остальные символы сохраняются в отдельном файле с расширением .MB
Formatted Memo
поле, аналогичное Memo, с добавлением возможности задавать шрифт текста. Также может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (0-240) - остальные символы сохраняются в отдельном файле с расширением .MB. Однако, Delphi в стандартной поставке не обладает возможностью работать с полями типа Formatted Memo
Graphic
поле, содержащее графическую информацию. Может иметь любую длину. Смысл размера - такой же, как и в Formatted Memo. Database Desktop "умеет" создавать поля типа Graphic, однако наполнять их можно только в приложении
OLE
поле, содержащее OLE-данные (Object Linking and Embedding) - образы, звук, видео, документы - которые для своей обработки вызывают создавшее их приложение. Может иметь любую длину. Смысл размера - такой же, как и в Formatted Memo. Database Desktop "умеет" создавать поля типа OLE, однако наполнять их можно только в приложении. Delphi "напрямую" не умеет работать с OLE-полями, но это легко обходится путем использования потоков
Logical
поле длиной 1 байт, которое может содержать только два значения - T(true, истина) или F (false, ложь). Допускаются строчные и прописные буквы
+ (Autoincrement)
поле длиной 4 байта, содержащее нередактируемое (read-only) значение типа long integer. Значение этого поля автоматически увеличивается (начиная с 1) с шагом 1 - это очень удобно для создания уникального идентификатора записи (физический номер записи не может служить ее идентификатором, поскольку в Парадоксе таковой отсутствует. В InterBase также отсутствуют физические номера записей, но отсутствует и поле Autoincrement. Его с успехом заменяет встроенная функция Gen_id, которую удобней всего применять в триггерах)
Binary
поле, содержащее любую двоичную информацию. Может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (0-240) - остальные символы сохраняются в отдельном файле с расширением .MB. Это полнейший аналог поля BLOb в InterBase
Bytes
строка цифр длиной 1-255 байт, содержащая любые данные
После создания таблицы, с ней можно связать некоторые свойства, перечень которых зависит от формата таблицы. Так, для таблиц формата Paradox можно задать:
Validity Checks (проверка правильности) - относится к полю записи и определяет минимальное и максимальное значение, а также значение по умолчанию. Кроме того, позволяет задать маску ввода
Table Lookup (таблица для "подсматривания") - позволяет вводить значение в таблицу, используя уже существующее значение в другой таблице
Secondary Indexes (вторичные индексы) - позволяют доступаться к данным в порядке, отличном от порядка, задаваемого первичным ключом
Referential Integrity (ссылочная целостность) - позволяет задать связи между таблицами и поддерживать эти связи на уровне ядра. Обычно задается после создания всех таблиц в базе данных
Password Security (парольная защита) - позволяет закрыть таблицу паролем
Table Language (язык таблицы) - позволяет задать для таблицы языковый драйвер.
Определения дополнительных свойств таблиц всех форматов доступны через кнопку "Define" (для таблиц InterBase данная кнопка называется "Define Index..." и позволяет определять лишь только индекс, но не первичный ключ) в правой верхней части окна (группа Table Properties). Причем, все эти действия можно проделывать не только при создании таблицы, но и тогда, когда она уже существует. Для этого используется команда Table|Restructure Table (для открытой в данный момент таблицы) или Utilities|Restructure (с возможностью выбора таблицы). Однако, если Вы желаете изменить структуру или добавить новые свойства для таблицы, которая в данный момент уже используется другим приложением, Database Desktop откажет Вам в этом, поскольку данная операция требует монопольного доступа к таблице. Но зато все произведенные в структуре изменения сразу же начинают "работать" - например, если Вы определите ссылочную целостность для пары таблиц, то при попытке вставить в дочернюю таблицу данные, отсутствующие в родительской таблице, в Delphi возникнет исключительное состояние.
2.4. Основные принципы работы программы
Программа работает с базой данных, расположенной на локальном компьютере. Для корректной работы необходим Borland DataBase Engine (BDE)
2.5. Разработка интерфейса программы
Одной из важнейших составляющих частей программы является ее интерфейс. Интерфейс должен быть наглядным и интуитивно понятным.
Рис. 2.2 Внешний вид программы
На рабочем окне программы располагается поле для ввода слова, которое необходимо найти в базе данных. При наборе слова происходит фильтрация словарного запаса базы данных. Если искомое слово не найдено в базе данных, то его можно добавить, нажав кнопку «Добавить слово», если нужно удалить запись из базы данных, то нужно выделить слово для удаления и нажать кнопку «Удалить слово».
2.6. Средства работы с базами данных
Большинство современных баз данных для персональных компьютеров являются реляционными. Достоинства реляционной модели организации данных — про­стота, гибкость структуры, удобство реализации на компьютере, наличие теоре­тического описания.
Элементы реляционной базы данных
Реляционная база данных (БД) состоит из взаимосвязанных таблиц. Каждая таблица содержит информацию об объектах одного типа, а совокупность всех таблиц образует единую БД.
Таблицы баз данных
Таблицы, образующие БД, находятся в каталоге (папке) на жестком диске. Таб­лицы хранятся в файлах и похожи на отдельные документы или электронные таблицы (например, табличного процессора Microsoft Excel), их можно переме­щать и копировать обычным способом, скажем, с помощью Проводника Windows. Однако в отличие от документов, таблицы БД поддерживают много­пользовательский режим доступа, это означает, что их могут одновременно ис­пользовать несколько приложений.
Для одной таблицы создается несколько файлов, содержащих данные, индексы, ключи и т. п. Главным из них является файл с данными, имя этого файла сов­падает с именем таблицы, которое задается при ее создании. В некотором смысле понятия таблицы и ее главного файла являются синонимами, при выбо­ре таблицы выбирается именно ее главный файл: для таблицы dBase это файл с расширением dbf, а для таблицы Paradox — файл с расширением db. Имена ос­тальных файлов таблицы назначаются автоматически — все файлы имеют оди­наковые имена, совпадающие с именами таблиц, и разные расширения, указы­вающие на содержимое соответствующего файла.
Каждая таблица БД состоит из строк и столбцов и предназначена для хранения иных об однотипных объектах информационной системы. Строка таблицы взывается записью, столбец таблицы — полем. Каждое поле должно иметь уникальное в пределах таблицы имя.
Рис. 2.4 Схема таблицы базы данных
Поле содержит данные одного из допустимых типов, например, строкового, целочисленного или типа "дата". При вводе значения в поле таблицы автоматически производится проверка соответствия типа значения и типа поля. В случае, да эти типы не совпадают, а преобразование типа значения невозможно, генерируется исключение.
Особенности организации таблиц зависят от конкретной СУБД, используемой создания и ведения БД. Например, в локальной таблице dBase и в таблице сервера InterBase нет поля автоинкрементного типа (с автоматически наращиваемым значением), а в таблице dBase нельзя определить ключ. Подобные особенности необходимо учитывать при выборе типа (формата) таблицы, т. к. они влияют не только на организацию БД, но и на построение приложения для работы с этой БД. Однако, несмотря на все различия таблиц, существуют общие правила создания и ведения БД, а также разработки приложений
Основу таблицы составляет описание ее полей, каждая таблица должна иметь хотя бы одно поле. Понятие структуры таблицы является более широким и включает:
- описание полей;
- ключ;
- индексы;
- ограничения на значения полей;
- ограничения ссылочной целостности между таблицами;
- пароли;
Иногда ограничения на значения полей, ограничения ссылочной целостности, между таблицами, а также права доступа называют одним общим термином "ограничения".
Отметим, что отдельные элементы структуры зависят от формата таблиц, на­пример, для таблиц dBase нельзя задать ограничения ссылочной целостности (т. к. у них нет ключей). Все элементы структуры задаются на физическом уров­не (уровне таблицы) и действуют для всех программ, выполняющих операции с БД, включая средства разработки и ведения БД (например, программу Database Desktop). Многие из этих элементов (например, ограничения на значения полей или поля просмотра) можно также реализовать в приложении программно, од­нако в этом случае они действуют только в пределах своего приложения.
С таблицей в целом можно выполнять следующие операции:
- создание (определение структуры);
- изменение структуры (реструктуризация);
- переименование;
- удаление;
При создании таблицы задаются структура и имя таблицы. При сохранении на диске создаются все необходимые файлы, относящиеся к таблице. Их имена совпадают с именем таблицы.
При изменении структуры таблицы в ней могут измениться имена и характери­стики полей, состав и наименования ключа и индексов, ограничения. Однако имена таблицы и ее файлов остаются прежними.
При переименовании таблица получает новое имя, в результате чего новое имя также получают все ее файлы. Для этого используются соответствующие про­граммы (утилиты), предназначенные для работы с таблицами БД, например, Database Desktop или Data Pump.2
При удалении таблицы с диска удаляются все ее файлы. В отличие от переиме­нования, удаление таблицы можно выполнить посредством любой программы (в том числе и с помощью Проводника Windows).
Ключи и индексы
Ключ представляет собой комбинацию полей, данные в которых однозначно определяют каждую запись в таблице. Простой ключ состоит из одного поля, а составной (сложный) — из нескольких полей. Поля, по которым построен ключ, называют ключевыми. В таблице может быть определен только один ключ. Ключ обеспечивает:
- однозначную идентификацию записей таблицы;
- ускорение выполнения запросов к БД;
- установление связи между отдельными таблицами БД;
- использование ограничений ссылочной целостности;
Ключ также называют первичным ключом или первичным (главным) индексом.
Информация о ключе может храниться в отдельном файле или совместно с дан­ными таблицы. Например, в БД Paradox для этой цели используется отдельный файл (ключевой файл или файл главного индекса) с расширением рх. В БД Access вся информация содержится в одном общем файле с расширением mdb. Значения ключа располагаются в определенном порядке. Для каждого значения ключа имеется уникальная ссылка, указывающая на расположение соответст­вующей записи в таблице (в главном ее файле). Поэтому при поиске записи вы­полняется не последовательный просмотр всей таблицы, а прямой доступ к за-лиси на основании упорядоченных значений ключа.
Ценой, которую разработчик и пользователь платят за использование такой тех­нологии, является увеличение размера БД вследствие необходимости хранения значений ключа, например, в отдельном файле. Размер этого файла зависит не только от числа записей таблицы (что достаточно очевидно), но и от полей, со­ставляющих ключ. В ключевом файле, кроме ссылок на соответствующие запи­си таблицы, сохраняются и значения самих ключевых полей. Поэтому при вхо­ждении в состав ключа длинных строковых полей размер ключевого файла может оказаться соизмеримым с размером файла с данными таблицы.
Таблицы различных форматов имеют свои особенности построения ключей. Вместе с тем существуют и общие правила.
- Ключ должен быть уникальным. У составного ключа значения отдельных полей (но не всех одновременно) могут повторяться.
- Ключ должен быть достаточным и неизбыточным, т. е. не содержать поля, которые можно удалить без нарушения уникальности ключа.
- В состав ключа не могут входить поля некоторых типов, например, графиче­ское поле или поле комментария.
Выбор ключевых полей не всегда является простой и очевидной задачей, осо­бенно для таблиц с большим количеством полей. Нежелательно выбирать в ка­честве ключевых поля, содержащие фамилии людей в таблице сотрудников ор­ганизации или названия товаров в таблице данных склада. В этом случае высока вероятность существования двух и более однофамильцев, а также товаров с оди­наковыми названиями, которые различаются, к примеру, цветом (значение другого поля). Для указанных таблиц можно использовать, например, поле кода сотрудника и поле артикула товара. При этом предполагается, что указанные значения являются уникальными.
Удобным вариантом создания ключа будет использование для него поля соот­ветствующего типа, которое автоматически обеспечивает поддержку уникально­сти значений. Для таблиц Paradox таким является поле автоинкрементного типа, еще одним достоинством которого является небольшой размер (4 байта). В то же время в таблицах dBase и InterBase поле подобного типа отсутствует, и програм­мист должен обеспечивать уникальность значений ключа самостоятельно, на­пример, используя специальные генераторы.
Отметим, что при создании и ведении БД правильным подходом считается за­дание в каждой таблице ключа даже в случае, если на первый взгляд он не ну­жен.
Индекс, как и ключ, строится по полям таблицы, однако он может допускать повторение значений составляющих его полей — в этом и состоит его основное отличие от ключа. Поля, по которым построен индекс, называют индексными. Простой индекс состоит из одного поля, а составной (сложный) — из несколь­ких полей.
Индексы при их создании именуются. Как и в случае с ключом, в зависимости от СУБД индексы могут храниться в отдельных файлах или совместно с данны­ми. Создание индекса называют индексированием таблицы.
Использование индекса обеспечивает:
- увеличение скорости доступа к данным (поиска);
- сортировку записей;
- установление связи между отдельными таблицами БД;
- использование ограничений ссылочной целостности;
В двух последних случаях индекс применяется совместно с ключом второй таб­лицы.
Как и ключ, индекс представляет собой своеобразное оглавление таблицы, про­смотр которого выполняется перед обращением к ее записям. Таким образом, использование индекса повышает скорость доступа к данным в таблице за счет того, что доступ выполняется не последовательным, а индексно-последова-тельным методом.
Сортировка представляет собой упорядочивание записей по полю или группе полей в порядке возрастания или убывания их значений. Можно сказать, что индекс служит для сортировки таблиц по индексным полям. В частности, в Delphi записи набора Table можно сортировать только по индексным полям.
Набор данных Query позволяет выполнить средствами SQL сортировку по лю­бым полям, однако и в этом случае для индексированных полей упорядочива­ние записей выполняется быстрее.
Для одной таблицы можно создать несколько индексов. В каждый момент вре­мени один из них можно сделать текущим, т. е. активным. Даже при существо­вании нескольких индексов таблица может не иметь текущего индекса (текущий индекс важен, например, при выполнении поиска и сортировки записей набора данных Table).
Ключевые поля обычно автоматически индексируются. В таблицах Paradox ключ также является главным (первичным) индексом, который не именуется. Для таблиц dBase ключ не создается, и его роль выполняет один из индексов.
Создание ключа может привести к побочным эффектам. Так, если в таблице Paradox определить ключ, то записи автоматически упорядочиваются по его значениям, что в ряде случаев является нежелательным.

Список литературы


1.Архангельский А.Я. Object Pascal в Delphi. – М.: ЗАО «Издательство БИНОМ», 2002
2.Баргесян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. «Методы и модели анализа данных», С-Пб, «БХВ-Петербург», 2004 г.
3.Горев А., Макашарипов С., «Эффективная работа с СУБД» СПб, «Питер», 1997.
4.Кириллов В.В. «Основы проектирования реляционных баз данных.» Учебное пособие. - СПб.: ИТМО, 1994.
5.Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. – СПб.: BHV, 1997
6.Хомоненко А., Гофман В., Мещеряков Е., Никифоров В. «Delphi 7» СПб, «БХВ-Петербург», 2005.
7.П.В.Шумаков, В.В.Фараонов Delphi. Руководство разработчика баз данных – М.: «Нолидж», 1999
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.005
© Рефератбанк, 2002 - 2024