Задание
Темой преддипломной практики является «Разработка обучающего модуля и интерфейса участника для проведения конкурса оптимизации SQL-запросов на сайте sql-ex.ru». Основная задача практики — исследование тематики и подготовка материалов для дипломной работы. Работа включает в себя аналитический обзор предметной области, теоретическое обоснование задачи, составление технического задания и проектирование серверной части приложения.
Реферат
Отчёт состоит из 18 страниц. При проектировании серверной части приложения создано 9 таблиц, отражающих структуру баз данных. Во время изучения предметной области были использованы 5 основных источников. При проведении аналитического обзора были рассмотрены 6 веб-сайтов сходной тематики.
Содержание
Введение 5
1. Результаты предварительного обследования задачи 7
2. Аналитический обзор предметной области 9
3. Техническое задание 11
4. Проектирование предметной области 14
Список используемых источников 18
Введение
На протяжении всего своего существования человечество неотступно двигается вперед, как в технологическом, так и в интеллектуальном смысле. Начиная с XIX века, количество информации становится огромным, а XXI век можно назвать эрой информации и технологий. Образованному специалисту сейчас все труднее поддерживать квалификацию, так как интеллектуальные, информационные и технологические планки растут с каждым днем.
К сожалению, с увеличением количества информации, увеличивается также количество времени, необходимое для ее переработки и усвоения. Человеку очень важно получить необходимый результат в кратчайшие сроки. Таким образом, он сможет сосредоточиться на решении новых актуальных задач.
С появлением ЭВМ, обрабатывающих и хранящих информацию в базах данных, получение и обработка информации стали проходить быстрее, а обучение стало эффективнее. Но сейчас необходимо устанавливать новые горизонты эффективности и скорости обработки информации, потому что с появлением интернета, количество информации выросло колоссально.
Наибольшей информативной ценностью в наше время обладают информационные системы. Их функционирование обеспечивает стабильную реализацию идей, решение повседневных задач, а также эффективное обучение и повышение квалификации персонала. Несомненный плюс этих систем в том, что они хранят информацию в структурированном виде, что положительно влияет на скорость обработки информации.
Основным компонентом информационной системы, хранящим данные и в структурированном виде, является база данных. Обращение к информации, хранящейся в базе данных, происходит посредством запросов, написанных на языке SQL.
С увеличением количества информации, и количество запросов, и объем результата, увеличивается, что негативно влияет на время получения необходимых данных. Рост информационной системы ведет к увеличению нагрузки на ее компоненты, что может в конечном итоге привести к выходу ее из строя, приведя тем самым к потере драгоценной информации.
Таким образом, поставленная задача сводиться к анализу языка SQLи поиску эффективных методов его обучения на профессиональном уровне, выявления новых закономерностей и эффективных приемов.
Отчет состоит из собранных материалов, необходимых для решения поставленной задачи. Он включает анализ информации из интернет-сайтов по темам SQLи оптимизации запросов к базам данных, а также исследование информационных систем, предоставляющих пользователям совершенствовать язык SQL.
Результаты предварительного обследования задачи
Информационная система состоит из множества компонентов. Центральным компонентом, хранящим наибольшее количество информации, является база данных. Поэтому чаще всего эффективность работы всей системы определяется тем, насколько эффективно обеспечивается взаимодействие с базой данных, которое в конечном итоге осуществляется посредством SQL-запросов.
Есть много факторов, которые влияют на то, как СУБД выполняет SQL-запросы. Среди них: первичные и потенциальные ключи (или их отсутствие), индексы, число строк в таблицах и селективность значений в столбцах. Влияние могут оказать также аппаратные средства: число процессоров, дисковая подсистема, доступная основная и внешняя память. Любые изменения программных и аппаратных средств сервера могут повлиять на исполнение запроса или хранимой процедуры.
Таким образом, чтобы повысить надежность информационной системы, необходимы изменения программных и аппаратных средств. Изменения аппаратной составляющей приведет к экономическим затратам и, возможно, к временной заминке в работе системы, связанной с ее перенастройкой. Программная составляющая тоже состоит из множества модулей, которые могли быть реализованы различными специалистами, найти которых может быть довольно затруднительно. Остается наименее «болезненный» путь – изменение запросов к базе данных таким образом, чтобы время на обработку информации и получение результата уменьшилось.
Следовательно, оптимизация запросов к базе данных, повышает эффективность обращения к ней, что в конечном итоге уменьшает нагрузку на сервер, повышая надежность всей информационной системы в целом.
В случае выхода из строя информационной системы, в лучшем случае произойдет лишь кратковременное нарушение функционирования всех областей, связанных с этой системой. В худшем случае, может быть утеряна важная информация и фирма понесет убытки. Часть персонала может быть уволена. На ремонт системы будут выделяться финансы, а это опять экономические убытки. И техническому персоналу тоже будет непросто. В случае потери данных или нарушения работы корпоративной сети, или сбоя сервера, перенастройка может занять довольно продолжительное время.
Поэтому, в наше время задачи повышения надежности информационных систем очень актуальны, а специалисты, справляющиеся с данными задачами, востребованы.
Но что делать специалисту, который хочет научиться решать эти задачи? Конечно, есть курсы и конференции, посвященные разным аспектам этого типа задач. Однако, с появлением интернета, появилась возможность работать эффективнее. Решаемая задача может обсуждаться на форумах, а успешное решение будет опубликовано в журнале или на сайте.
На данном этапе в интернете не так много ресурсов, которые могут предоставить эффективное обучение языку SQL, а ресурсов, посвященных оптимизации запросов еще меньше. Добавить сюда бесплатность данного сервиса и ситуация становится катастрофической.
В итоге, исследуемая задача может быть представлена по двум основным направлениям. С одной стороны, оптимизация запросов к базе данных улучшает надежность информационной системы. С другой стороны, создание хорошего образовательного ресурса, направленного на обучение данной дисциплины, повышает квалификацию специалистов в данной области, а коллективное решение проблем увеличивает шансы на успех.
Таким образом, реализация бесплатного обучающего ресурса по оптимизации запросов к базам данных поможет улучшить квалификацию специалистов, решить множество актуальных задач, и сделать информационные системы надежней.