Проектирование и разработка информационной системы "Воинский учет студентов"

Классификация информационных систем, методы их проектирования. Средства разработки информационной системы, функции СУБД, современные требования к ним, характеристика, технология работы. Разработка информационной системы "Воинский учет студентов".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.06.2023
Размер файла 559,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Проектирование и разработка информационной системы «Воинский учет студентов»

Содержание

информационная система субд

ВВЕДЕНИЕ

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАЦИОННЫХ СИСТЕМ

  • 1.1 Информационные системы и их классификация
    • 1.2 Теоретические аспекты проектирования информационных систем

ГЛАВА 2. ОПИСАНИЕ СРЕДСТВ РАЗРАБОТКИ ИНФОРМАЦИОННОЙ СИСТЕМЫ

  • 2.1 Назначение и функции СУБД
    • 2.2 СУБД My SQL
    • 2.3 Язык C# и среда разработки Visual Studio

ГЛАВА З. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА АИС «ВОИНСКОГО УЧЕТА СТУДЕНТОВ»

  • 3.1 Разработка схемы данных в среде My SQL
    • 3.2 Подключение к БД
    • 3.3 Разработка программного модуля

ЗАКЛЮЧЕНИЕ

СПИСОК ЛИТЕРАТУРЫ

Введение

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

Ведение ВКР по проектированию и разработке автоматизированной информационной системы (АИС) воинского учета студентов на языке C# является важным этапом процесса создания этой системы. Вот несколько возможных пунктов для ведения ВКР:

1. Описание задачи: в этом разделе следует описать цели и задачи проекта, определить его область применения и ожидаемые результаты. Необходимо также привести основные требования к функциональности и интерфейсу системы.

2. Обзор существующих решений: в этом разделе следует провести анализ существующих систем воинского учета студентов и описать их достоинства и недостатки. Это поможет определить преимущества создаваемой системы и ее место на рынке.

3. Проектирование системы: в этом разделе следует описать структуру и функциональность АИС. Необходимо разработать диаграммы базы данных, а также описать логику работы системы и ее интерфейс.

4. Разработка системы: в этом разделе следует описать процесс разработки системы, включая выбор технологий и инструментов, разработку кода и тестирование системы. Описать достигнутые результаты и решенные проблемы.

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

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

Разработка АИС воинского учета студентов на языке C# является важным этапом в создании этой системы, который позволяет описать ее цели, структуру и функциональность, а также проанализировать результаты работы и ее эффективность.

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

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

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

Целью данной выпускной квалификационной работы является проектирование и разработка информационной системы «Воинский учет студентов». Данная система предназначена для упрощения процесса контроля воинского учета студентов с использованием My SQL.

Задачи:

Для достижения поставленной цели необходимо решить следующие задачи:

- Изучить теоретические основы информационных систем, включая классификацию информационных систем и методы их проектирования.

- Описать средства разработки информационной системы, включая назначение и функции СУБД, современные требования к СУБД и характеристику и технологию работы СУБД My SQL.

- Проектировать и разрабатывать информационную систему «Воинский учет студентов «. Это включает проектирование объектов базы данных, разработку схемы данных в среде C#, My SQL база данных.

Объектом исследования является информационная система «Воинский учет студентов «. Предметом исследования являются процессы проектирования и разработки данной информационной системы с использованием СУБД My SQL.

Работа состоит из следующих разделов: Введение, Глава 1 «Теоретические основы информационных систем», Глава 2 «Описание средств разработки информационной системы», Глава 3 «Проектирование и разработка АИС Воинский учет студентов «, Заключение и Список литературы. Введение представляет актуальность темы, цель, задачи, объект и предмет исследования. В Главе 1 рассматриваются теоретические основы информационных систем, включая классификацию и методы проектирования. Глава 2 посвящена описанию средств разработки информационной системы, таких как СУБД и их требования. Глава 3 описывает процесс проектирования и разработки информационной системы «Воинский учет студентов «. В заключении подводятся итоги работы, а в списке литературы приводятся использованные источники информации.

Глава 1. Теоретические основы информационных систем

1.1 Информационные системы и их классификация

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

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

Цель информационных систем заключается в обеспечении эффективного управления информацией для достижения поставленных целей и задач организации или предприятия. Они способны автоматизировать процессы сбора, хранения, обработки и передачи информации, что повышает эффективность работы и принятия решений. Основные задачи информационных систем включают:

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

2. Хранение и управление информацией: информационные системы предоставляют средства для хранения больших объемов информации и управления ею с учетом требований безопасности и доступности.

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

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

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

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

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

1. Транзакционные информационные системы (ТИС):

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

2. Управленческие информационные системы (УИС):

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

3. Экспертные системы:

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

4. Системы поддержки принятия решений (СППР):

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

5. Системы управления базами данных (СУБД):

СУБД предназначены для организации, хранения и обработки больших объемов данных. Они обеспечивают эффективное управление данными, обеспечивая функции по созданию, изменению и запросам к базам данных.

6. Информационные системы поддержки клиентов (CRM):

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

7. Системы управления производством (MES):

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

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

Классификация информационных систем может быть основана на различных критериях. Рассмотрим некоторые классификационные критерии для группировки информационных систем:

1. Функциональная область:

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

2. Уровень иерархии:

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

3. Масштаб:

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

4. Тип бизнеса или отрасль:

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

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

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

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

1.2 Теоретические аспекты проектирования информационных систем

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

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

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

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

4. Обеспечение безопасности. Информация является важным активом компании, и ее утечка может привести к серьезным последствиям. Правильное проектирование ИС позволяет улучшить защиту информации, что является важным фактором для обеспечения безопасности.

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

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

Анализ требований является первым этапом проектирования информационных систем (ИС) и включает в себя следующие действия:

1. Сбор информации. На этом этапе проводится сбор информации о предполагаемой информационной системе, ее целях и задачах, требованиях к функциональности, производительности, безопасности, а также к пользовательскому интерфейсу и т.д.

2. Анализ существующих процессов. Необходимо проанализировать существующие бизнес-процессы, которые планируется автоматизировать, выявить их особенности, проблемы и возможности улучшения.

3. Определение требований. На основе информации, собранной на предыдущих этапах, определяются функциональные и нефункциональные требования к ИС. Функциональные требования определяют, что должна делать система, а нефункциональные - как должна это делать.

4. Оценка рисков. На этапе анализа требований необходимо также оценить риски, связанные с проектированием и эксплуатацией ИС. Это могут быть риски связанные с безопасностью, производительностью, надежностью, а также риски, связанные с изменением требований и т.д.

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

Анализ требований является важным этапом проектирования ИС, поскольку на этом этапе определяются основные требования к системе, которые должны быть учтены при проектировании и разработке. Неправильно определенные требования могут привести к неудаче всего проекта.

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

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

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

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

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

Этот процесс включает в себя следующие шаги:

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

- Анализ требований. На этом этапе производится анализ собранных требований и их группировка по различным категориям, таким как функциональные и нефункциональные требования.

- Формулирование требований. На этом этапе определяются конкретные требования к системе, которые должны быть выполнены, чтобы удовлетворить потребности пользователей и достичь поставленных целей.

- Валидация требований. На этом этапе проверяются правильность и полнота сформулированных требований и убеждаются в том, что они соответствуют потребностям пользователей.

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

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

Этот процесс включает в себя следующие шаги:

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

- Разработка архитектуры системы. На этом этапе создается общая структура системы, включая различные компоненты и связи между ними.

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

- Валидация дизайна и архитектуры. На этом этапе проверяются правильность и полнота разработанного дизайна и архитектуры системы, чтобы убедиться в том, что они соответствуют требованиям пользователей.

- Разработка плана реализации. На этом этапе определяется план реализации системы, включая выбор технологий, разработку кода, тестирование и деплоймент системы.

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

Проектирование информационных систем может столкнуться со многими проблемами и рисками, которые могут привести к неудачам в проекте. Некоторые из них могут быть связаны с техническими аспектами, а другие - с организационными или человеческими факторами. Ниже приведены некоторые из наиболее распространенных проблем и рисков:

- Неправильное определение требований. Недостаточное понимание требований к системе может привести к неправильному проектированию и реализации системы, что может привести к неудаче проекта.

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

- Проблемы с безопасностью. Неправильное проектирование системы без учета безопасности может привести к уязвимостям и угрозам безопасности, что может привести к серьезным последствиям.

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

- Проблемы с коммуникацией. Неправильное взаимодействие между участниками проекта может привести к недопониманию требований и несоответствию проектных целей.

- Неудачное управление изменениями. Отсутствие контроля над изменениями в проекте может привести к тому, что система не будет соответствовать требованиям пользователей и бизнес-потребностям.

- Проблемы с качеством. Недостаточное внимание к тестированию и контролю качества может привести к ошибкам и сбоям в работе системы.

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

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

Другими способами снижения рисков и проблем могут быть следующие:

- Вовлечение пользователей и других заинтересованных сторон в процесс проектирования и разработки системы.

- Создание подробной документации и руководств, которые помогут участникам проекта понимать цели и задачи проекта.

- Использование стандартов и методологий проектирования, которые обеспечивают правильное понимание требований и целей проекта.

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

- Организация регулярных проверок проекта для выявления проблем и рисков, а также для оценки проекта в целом.

- Установление прозрачных процедур контроля качества и управления изменениями в проекте.

В целом, проектирование информационных систем - это сложный и многогранный процесс, который требует внимания к деталям и умения управлять рисками и проблемами. Однако, если процесс будет проводиться систематически и методично, то можно достичь высоких результатов в создании эффективной и функциональной системы.

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

1. По назначению:

- Управленческие информационные системы (УИС) - предназначены для поддержки принятия решений менеджеров на различных уровнях управления.

- Операционные информационные системы (ОИС) - используются для автоматизации операционных процессов организаций.

- Информационные системы поддержки принятия решений (ИСППР) - помогают пользователям принимать различные решения на основе анализа данных.

- Экспертные информационные системы (ЭИС) - содержат знания экспертов в определенной области и используют их для поддержки принятия решений.

- Информационные системы управления знаниями (ИСУЗ) - предназначены для сбора, хранения, организации и распространения знаний в организации.

2. По способу организации данных:

- Иерархические информационные системы - организация данных в виде иерархической структуры, в которой каждый элемент имеет одного родителя и может иметь несколько дочерних элементов.

- Сетевые информационные системы - организация данных в виде сети элементов, каждый из которых может иметь несколько связей с другими элементами.

- Реляционные информационные системы - организация данных в виде таблиц, связанных между собой по определенным правилам.

- Объектно-ориентированные информационные системы - организация данных в виде объектов, имеющих свойства и методы.

3. По масштабу:

- Корпоративные информационные системы - предназначены для поддержки бизнес-процессов организации в целом.

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

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

4. По функциональности:

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

- Системы поддержки принятия решений - помогают пользователям принимать решения на основе анализа данных.

- Системы управления содержанием - предназначены для создания, управления и распространения контента, например, веб-страниц и документов.

- Системы управления проектами - используются для планирования, управления и контроля проектов.

- Системы управления отношениями с клиентами - помогают управлять взаимоотношениями с клиентами и улучшать их качество.

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

Глава 2. Описание средств разработки информационной системы

2.1 Назначение и функции СУБД

Между физической базой данных (т.е. данными, которые реально хранятся) и пользователями системы располагается уровень программного обеспечения - система управления базами данных. Все запросы пользователей на доступ к базе данных обрабатываются СУБД; все имеющиеся средства добавления файлов данных, выборки и обновления данных в этих файлах также обеспечивает СУБД.

Основная задача СУБД - предоставить пользователю базы данных возможность работать с ней, не вникая в детали на уровне аппаратного обеспечения (пользователь более отстранен от этих деталей, чем прикладной программист, использующий среду программирования). Иными словами, СУБД позволяет конечному пользователю рассматривать базу данных как объект более высокого уровня по сравнению с аппаратным обеспечением, а также предоставляет в его распоряжение набор операций, выражаемых в терминах языка высокого уровня (например, набор операций, которые можно выполнять с помощью языка SQL).

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

Таким образом, любая СУБД должна обеспечивать следующее:

- компактное хранение данных (без дублирования);

- оптимизацию доступа к данным;

- логическую целостность (согласованность) данных;

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

Обеспечение этих требований к информационным системам на уровне СУБД позволяет избегать повторения одной и той же работы при разработке программ.

Функции СУБД

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

1. Управление данными во внешней памяти

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

2. Управление буферами оперативной памяти

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

3. Управление транзакциями.

Транзакция - это последовательность операций над базой данных, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует изменения в базе данных, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии базы данных.

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

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

4. Журнализация

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

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

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

Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД. В разных СУБД изменения БД журнализируются на разных уровнях: иногда запись в журнале соответствует некоторой логической операции изменения БД (например, операции удаления строки из таблицы реляционной БД), иногда - минимальной внутренней операции модификации страницы внешней памяти; в некоторых системах одновременно используются оба подхода. Во всех случаях придерживаются стратегии «упреждающей» записи в журнал (так называемого протокола Write Ahead Log - WAL). Грубо говоря, эта стратегия заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Известно, что если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.

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

При мягком сбое во внешней памяти основной части БД могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились (по причине использования буферов оперативной памяти, содержимое которых при мягком сбое пропадает). При соблюдении протокола WAL во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов. Целью процесса восстановления после мягкого сбоя является: состояние внешней памяти основной части БД, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и которое не содержало бы никаких следов незаконченных транзакций. Для того чтобы этого добиться, сначала производят откат незавершенных транзакций, а потом повторно воспроизводят те операции завершенных транзакций, результаты которых не отображены во внешней памяти. Этот процесс содержит много тонкостей, связанных с общей организацией управления буферами и журналом.

Для восстановления БД после жесткого сбоя используют журнал и архивную копию БД. Грубо говоря, архивная копия - это полная копия БД к моменту начала заполнения журнала. Конечно, для нормального восстановления БД после жесткого

сбоя необходимо, чтобы журнал не пропал. Как уже отмечалось, к сохранности журнала во внешней памяти в СУБД предъявляются особо повышенные требования.

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

5. Поддержка языков БД

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка: язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил главным образом для определения логической структуры БД, т.е. той структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, т.е. операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.

В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language)

2.2 СУБД My SQL

База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми - от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному - как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.- это система управления реляционными базами данных. В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.- это ПО с открытым кодом. Применять его и модифицировать может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.

Почему веб-программисты отдают предпочтение СУБД MySQL? MySQL является очень быстрым, надежным и легким в использовании. Если вам требуются именно эти качества, попробуйте поработать с данным сервером. MySQL обладает также рядом удобных возможностей, разработанных в тесном контакте с пользователями. Первоначально сервер MySQL разрабатывался для управления большими базами данных с целью обеспечить более высокую скорость работы по сравнению с существующими на тот момент аналогами. И вот уже в течение нескольких лет данный сервер успешно используется в условиях промышленной эксплуатации с высокими требованиями. Несмотря на то что MySQL постоянно совершенствуется, он уже сегодня обеспечивает широкий спектр полезных функций. Благодаря своей доступности, скорости и безопасности MySQL очень хорошо подходит для доступа к базам данных по Internet.

Технические возможности СУБД MySQLявляется системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API). Мы также поставляем сервер MySQL в виде многопоточной библиотеки, которую можно подключить к пользовательскому приложению и получить компактный, более быстрый и легкий в управлении продукт. Доступно также большое количество программного обеспечения для MySQL, в большей части - бесплатного, правильно произносится как ''Май Эс Кью Эль''.

My SQL является, прежде всего, информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL нельзя назвать языком программирования

Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

?создание в базе данных новой таблицы;

?добавление в таблицу новых записей;

?изменение записей;

?удаление записей;

?выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

а, также, изменение структур таблиц. Со временем, SQL усложнился - обогатился новыми конструкциями, обеспечил возможность описания и управления новыми хранимыми объектами (например, индексы, представления, триггеры и хранимые процедуры) - и стал приобретать черты, свойственные языкам программирования.

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

Каждое предложение SQL - это запрос или обращение к базе данных, которое приводит к изменению в базе данных. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:

?запросы на создание или изменение в базе данных новых или существующих объектов (при этом в запросе описывается тип и структура создаваемого или изменяемого объекта);

?запросы на получение данных;

?запросы на добавление новых данных (записей)

?запросы на удаление данных;

?обращения к СУБД.

Основным объектом хранения реляционной базы данных является таблица, поэтому все SQL-запросы - это операции над таблицами. В соответствии с этим, запросы делятся на

?запросы, оперирующие самими таблицами (создание и изменение таблиц);

?запросы, оперирующие с отдельными записями (или строками таблиц) или наборами записей.

Каждая таблица описывается в виде перечисления своих полей (столбцов таблицы) с указанием

?типа хранимых в каждом поле значений;

?связей между таблицами (задание первичных и вторичных ключей);

?информации, необходимой для построения индексов.

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

?вставка новой строки;

?изменение значений полей строки или набора строк;

?удаление строки или набора строк.

Самый главный вид запроса - это запрос, возвращающий (пользователю) некоторый набор строк, с которым можно осуществить одну из трёх операций:

?просмотреть полученный набор;

?изменить все записи набора;

?удалить все записи набора.

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

В начале 1970-х годов в одной из исследовательских лабораторий компании IBM была разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД. Аббревиатура SEQUEL расшифровывалась как Structured English QUEry Language - «структурированный английский язык запросов». Позже по юридическим соображениям язык SEQUEL был переименован в SQL. Когда в 1986 году первый стандарт языка SQL был принят ANSI (American National Standards Institute), официальным произношением стало [,es kju:' el] - эс-кью-эл. Несмотря на это, даже англоязычные специалисты зачастую продолжают читать SQL как сиквел (по-русски также часто говорят «эс-ку-эль» или используют жаргонизм «скуль»).

Целью разработки было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Собственно разработкой языка запросов занимались Дональд Чэмбэрлин (Donald D. Chamberlin) и Рэй Бойс (Ray Boyce). Пэт Селинджер (Pat Selinger) занималась разработкой стоимостного оптимизатора (cost-based optimizer), Рэймунд Лори (Raymond Lorie) занимался компилятором запросов.

Стоит отметить, что SEQUEL был не единственным языком подобного назначения. В Калифорнийском Университете Беркли была разработана некоммерческая СУБД Ingres (являвшаяся, между прочим, дальним прародителем популярной сейчас некоммерческой СУБД PostgreSQL), которая являлась реляционной СУБД, но использовала свой собственный язык QUEL, который, однако, не выдержал конкуренции по количеству поддерживающих его СУБД с языком SQL.

Первыми СУБД, поддерживающими новый язык, стали в 1979 году Oracle V2 для машин VAX от компании Relational Software Inc. (впоследствии ставшей компанией Oracle) и System/38 от IBM, основанная на System/R.

SQL состоит из двух частей: серверной и клиентской

Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацио он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту).

Почему всегда передается не весь результат? Очень просто: дело в том, что размер результирующего набора данных может быть слишком большим, и на его передачу по сети уйдет чересчур много времени. Да и редко когда бывает нужно получать сразу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса). Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворяет тому или иному условию, или же выбрать из данных только первые 10 записей. Механизм использования сокетов подразумевает технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа - MySQL-сервер, которая принимает и обрабатывает запросы от программ. Так как вся работа происходит в действительности на одной машине, накладные расходы по работе с сетевыми средствами незначительны (установка и поддержание соединения с MySQL-сервером обходится довольно дешево).труктура MySQL трехуровневая: базы данных - таблицы - записи. Базы данных и таблицы MySQL физически представляются файлами с расширениями frm, MYD, MYI. Логически - таблица представляет собой совокупность записей. А записи - это совокупность полей разного типа. Имя базы данных MySQL уникально в пределах системы, а таблицы - в пределах базы данных, поля - в пределах таблицы. Один сервер MySQL может поддерживать сразу несколько баз данных, доступ к которым может разграничиваться логином и паролем. Зная эти логин и пароль, можно работать с конкретной базой данных. Например, можно создать или удалить в ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назначаются хостинг провайдерами, которые и обеспечивают поддержку MySQL для своих пользователей.

Основные характеристики

MySQL - это система управления реляционными базами данных.

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

·Программное обеспечение MySQL - это ПО с открытым кодом.

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

·Технические возможности СУБД MySQL

ПО MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.