Создание базы данных экспериментов с плазменным кристаллом

Автор: Пользователь скрыл имя, 16 Июня 2014 в 13:58, магистерская работа

Краткое описание

Несмотря на широкую распространенность в природе и исключительно важную роль в самых различных областях науки и техники: от источников света до термоядерного синтеза и нанотехнологий – плазма, исследования которой продолжаются уже второе столетие, остается до конца не понятым объектом. Даже для простейших случаев газового разряда в инертных газах теоретики не могут предложить четкого алгоритма расчета внутренних параметров плазмы и ее эмиссионных характеристик на основе произвольно устанавливаемых экспериментатором факторов (размер среды, напряжение питания, род и давление газа). Тем не менее, не прекращаются попытки построить модели значительно более сложных экзотических плазменных сред. Так в 70-х и начале 80-х годов прошлого века появляются работы, в которых на основе классической статистической механики с использованием численных методов решения соответствующих уравнений методом Монте-Карло исследуются свойства однокомпонентной полностью ионизованной плазмы гелия при температуре около 108 К и плотности вещества 1029 cм-3.

Файлы: 1 файл

Диплом Соколов АВ.doc

— 1,009.50 Кб (Скачать)

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

2.2 Система управления базами данных MySQL

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

 

Таблица 1. Представление эксперимента в виде двухмерной таблицы

Дата эксперимента

Инженер

Снимок

02.02.2005

1

Снимок 1

03.02.2005

1

Снимок 2

04.02.2005

2

Снимок 3


 

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

Другую таблицу заполним информацией об инженерах. Столбцы второй таблицы пометим как Номер инженера, Инженер и Организация.

 

Таблица 2. Таблица инженеров

Номер инженера

Инженер

Организация

1

Иванов

Организация 1

2

Сидоров

Организация 2


Много мощных функций можно выполнить, извлекая информацию из этих таблиц согласно указанным параметрам, особенно когда эти параметры включают в себя фрагменты информации связанные в различных таблицах друг с другом. Предположим, теоретик, изучив снимок 1, захотел получить информацию о том, какой инженер проводил данный эксперимент. Чтобы извлечь эту информацию, он мог бы связать таблицу с номерами инженеров с таблицей экспериментов, которая бы указывала, инженером с каким номером проводился эксперимент и в результате был получен снимок 1. Хотя, в этом простом примере, теоретик мог бы держать это в голове и сразу знать инженера, проводившего тот или иной эксперимент, но эти таблицы со временем могут стать слишком большими и слишком сложными. Программы реляционной базы данных разрабатывались для того, чтобы обрабатывать большие и сложные совокупности данных такого типа, что, очевидно, является более универсальным методом в деловом мире. Даже если бы база данных экспериментов содержала сотни или тысячи имен – как это вероятно и бывает на практике – одна команда SQL могла бы выдать теоретику информацию, в которой он нуждался, почти немедленно.

Язык SQL достаточно сложен и многогранен. При работе же небольшой фирмы, или базы данных в сети Интернет круг задач ограничен. Поэтому была создана небольшая, но очень быстрая и функциональная реляционная СУБД MySQL.

2.2.1 История MySQL

СУБД MySQL была разработана компанией TcX для внутренних нужд, которые заключались в быстрой обработке очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллиона строк.

MySQL является идеальным решением для малых и средних приложений. Исходные тексты сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности.

На текущий момент MySQL все еще в стадии разработки и сопровождается создателями.

MySQL-сервер является бесплатным для некоммерческого использования.

2.2.2 Язык запросов SQL

SQL – это сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными). MySQL соответствует спецификации ANSI 92 SQL.

2.2.3 Возможности MySQL

MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД. Краткий перечень возможностей MySQL:

  • работает на различных платформах;
  • полностью многопоточный с использованием потоков ядра. Это означает, что, если такая возможность обеспечивается, можно легко организовать работу с несколькими процессорами;
  • очень быстрые дисковые таблицы на основе B-деревьев со сжатием индексов;
  • очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join);
  • поддерживается неограниченное количество пользователей, одновременно работающих с базой данных;
  • количество строк в таблицах может достигать 50 млн;
  • быстрое выполнение команд. Возможно, MySQL самый быстрый сервер из существующих;
  • система, основанная на привилегиях и паролях, за счет чего обеспечивается гибкость и безопасность с возможностью верификации с удаленного компьютера;
  • интерфейс с языками C, Perl, PHP;
  • большое количество типов данных: целочисленные со знаком/беззнаковые, длиной в 1, 2, 3, 4 и 8 байтов, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET и ENUM.

Этот список можно продолжить. MySQL действительно очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД. В MySQL отсутствуют:

  • поддержка вложенных запросов, типа: SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
  • не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLES;
  • нет поддержки внешних (foreign) ключей;
  • нет поддержки триггеров и хранимых процедур;
  • нет поддержки представлений.

По словам создателей именно пункты 2-4 дали возможность достичь высокого быстродействия. Их реализация существенно снижает скорость сервера. Эти возможности не являются критичными при создании веб-приложений, что в сочетании с высоким быстродействием и малой ценой позволило серверу приобрести большую популярность.

2.2.4 Интерфейс с языками программирования

Наиболее простой способ работы с MySQL сводится к использованию программы MySQL. Это клиентская часть СУБД MySQL. Можно выполнять команды SQL непосредственно из командной строки системы unix или из интерактивного режима MySQL.

СУБД MySQL имеет библиотеку C API. Ее можно использовать для запросов к базе данных, вставки данных, создания таблиц и т.п. C API поддерживает все функции MySQL.

Язык perl поддерживается сразу двумя способами:

  • Портирован интерфейс с perl из mini-SQL, разработанный Андреасом Коенигом
  • Есть модуль perl DBD

Также доступен 32-битный ODBC драйвер для MySQL. Он позволяет запрашивать и получать данные из других источников с поддержкой ODBC.

2.3 Язык программирования

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

Для реализации веб-интерфейса необходимо было выбрать язык программирования. Таковым стал язык программирования PHP.

2.3.1 Язык программирования PHP

PHP – это система  разработки скриптов, которые выполняются  на сервере, включающая в себя CGI-интерфейс, интерпретатор языка и набор функций для доступа к базам данных и различным объектам WWW (World Wide Web). На данный момент PHP является одним из наиболее удобных и мощных средств разработки приложений в сети Интернет и интерфейсов к базам данным. PHP-скрипт представляет собой HTML-документ с вставками тэгов PHP-команд. Благодаря этому, создание и отладка скриптов PHP значительно проще, чем отладка и создание скриптов на других языках (например, C или Perl). Вместе с тем, PHP обеспечивает разработчику очень большие возможности при разработке приложений в сети или активных страниц, так как обладает значительным набором функций и относительно большой гибкостью.

2.3.2 История PHP

PHP был задуман  в конце 1994 года Расмусом Лердорфом (Rasmus Lerdorf). Ранние невыпущенные версии он использовал на своей домашней странице для того, чтобы следить за тем, кто просматривал его интерактивное резюме. Первая используемая версия cтала доступна в начале 1995 и была известна как Personal Home Page Tools. Она состояла из очень упрощенного синтаксического анализатора, который понимал только несколько специальных макрокоманд, и ряда утилит, которые затем были в общем использовании на домашних страницах. Гостевые книги, счетчики и некоторые другие дополнения.

Довольно трудно дать какую-либо жесткую статистику, но отмечено, что к 1996 г. PHP был использован по крайней мере на 15,000 сайтах во всем мире. В середине 1997г. эта цифра выросла до 50,000. В середине 1997г. также наблюдалось изменение в разработке PHP. Из частного любимого проекта Расмуса, которому способствовала горстка людей, это превратилось в намного более организованную рабочую группу. Синтаксический анализатор был заново переписан Зевом Сураски (Zeev Suraski) и Анди Гутмансом (Andi Gutmans), и этот новый синтаксический анализатор стал основой для PHP версии 3.

По своему синтаксису язык PHP наиболее похож на классический С, хотя видны и некоторые заимствования из Java и Perl. По крайней мере, программист на С очень быстро освоит данный язык и сможет использовать его с максимальной эффективностью.

2.3.3 Возможности PHP

Хотелось бы немного рассказать о возможностях языка PHP. Первое, что бросается в глаза при использовании PHP – это отсутствие типизированных переменных, хотя некая типизация и присутствует, но тип переменной в каждом конкретном операторе зависит от контекста. Эта особенность может показаться недостатком или даже излишеством, но и она имеет свой смысл, так как, скажем, при обработке результатов форм ввода HTML очень трудно определить первоначальный тип переменной, и, кроме того, все преобразования типов производит сам PHP, что является немаловажным.

Также одной из интересных возможностей PHP является автоматический перенос переменных окружения и параметров скрипта в переменные PHP, причем отпадает необходимость перевода URL-кодированных значений переменных в «нормальные».

PHP имеет целый ряд встроенных  функций для обработки объектов  самого различного рода. Но, возможно, самая сильная и значимая возможность  в PHP – уровень интеграции с базами данных. Создать веб-страницу, работающую с базой данных, невероятно просто. В настоящее время поддерживаются следующие базы данных: Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL.

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

Информация о работе Создание базы данных экспериментов с плазменным кристаллом