1 Основные понятия баз данных.
1.1 Базы данных.
База данных (БД) – совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ. [1]ГОСТ(ЗРЮМОВ)
В отличие от файловой организации хранения информации, использование БД предоставляет неоспроримые преимущества. В частности, можно отслеживать огромное число вспомогательных параметров, производить выборки информации по заданным критериям, выполнять сортировки и различные операции над загруженными в БД данными, благодоря эффективной организации хранения информации, минимизирующей время доступа и поиска.
Также, существенным отличием использования БД вместо файлового хранения является отсутствие проблем с совместным доступом к данным. Например, если два пользователя одновременно запустят сценарий изменения некоторого файла с данными, то могут возникнуть разного рода проблемы. Реализация БД позволяет наиболее эффективно устранить данный недостаток путем использования табличных блокировок или транзакций.
Таким образом, можно выделить следующие основные преимущества использования БД:
1) Структурированное и рациональное хранение данных;
2) Возможность быстрого поиска, модификации и добавления данных;
3) Безопасность хранимой информации, управление доступом к данным;
4) Поддержка многопользовательского доступа к хранимой информации;
5) Возможность сокращения избыточности;
6) Эффективная работа с большими объёмами даных.
Применение БД предполагает наличие комплекса программных средств, обслуживающих эту БД и позволяющих обрабатывать содержащуюся в ней информацию. Подобные комплексы программ называются системой управления базой данных (СУБД).
Основное назначение СУБД – предоставление конечному пользователю БД возможность работать с ней, не вникая в реализацию на уровне аппаратного обеспечения.
Выделим основные функции СУБД:
1) Обеспечение эффективного доступа к данным, непосредственное управление данными во внешней и оперативной памяти;
2)
1.2 Классификация БД.
Кратко рассмотрим основные классификации БД.
По степени распределённости выделяют:
• Централизованная (сосредоточенная) БД -
Программное обеспечение (ПО), предназначенное для управления созданием и использованием БД, называется системой управления базами данных (СУБД).
Традиционно процесс проектирования БД осуществляется в три взаимосвязанных этапа:
1) концептуальное проектирование;
2) логическое проектирование;
3) физическое проектирование.
2.1. Концептуальное проектирование
2.2 Реляционная система управлениями базами данных MySQL
MySQL – это свободно распространяемая СУБД, разработанная компанией MySQL AB. MySQL имеет клиент-серверную архитектуру, изображенную на рисунке 2.
Рисунок 2- Схема передачи данных в архитектуре «клиент/сервер»
Это кроссплатформенная система. Ее можно использовать практически во всех современных операционных системах, в том числе Windows, Linux, Mac OS, Solaris, HP-UX. MySQL имеет множество программных интерфейсов (API), благодаря которым к базе данных могут подключаться приложения, созданные с помощью C/C++, Java, Perl, PHP, Python, ODBC, NET и Visual Studio.
Начиная с версии 3.23, размер таблицы в базе данных MySQL ограничен исключительно операционной системой.
Основные преимущества MySQL:
1) многопоточность, поддержка нескольких одновременных запросов;
2) записи фиксированной и переменной длины;
3) ODBC драйвер;
4) гибкая система привилегий и паролей;
5) интерфейс с основными языками программирования;
6) быстрая работа, масштабируемость;
7) быстрая поддержка транзакций через механизм InnoDB;
8) возможность бесплатного использования.
2.2 Основные понятия реляционных баз данных
Реляционная модель основана на математическом понятии отношения, физическим представлением которого является таблица. Имеются различные интерпретации реляционных терминов, основные из которых представлены на рисунке 3.
Рисунок 3 - Различные интерпретации реляционных терминов
Первичный ключ (primary key) — это ключ, значения которого однозначно идентифицируют каждый из его кортежей в заданном отношении.
Внешний ключ (foreign key) — это ключ, который соответствует первичному ключу другого отношения.
Когда атрибут или набор атрибутов помечается как ключ, дополнительно создается индекс. Наличие индекса позволяет системе управления базами данных быстро находить нужные кортежи. В целом индексы ускоряют выполнение операций чтения, но замедляют выполнение операций записи, так как при этом необходимо обновлять индекс.
Существуют три вида связывания отношений:
1) один – к одному;
2) один – ко многим;
3) много – ко многим.
Нормализация – это метод организации реляционной базы данных с целью сокращения избыточности.
При разработке и проектировании любой реляционной базы данных одной из первых решается задача нормализации ее отношений, заключающаяся в последовательном переводе отношений из первой нормальной формы в нормальные формы более высокого порядка по определенным правилам.
Первое правило реляционной модели состоит в том, что ни один столбец не должен содержать два или более значений.
Отношение представлено во второй нормальной форме (2НФ) тогда и только тогда, когда оно представлено в первой нормальной форме, и каждый неключевой атрибут полностью определяется первичным ключом. Применение второй нормальной формы позволяет устранить аномалии вставки и удаления.
Отношение представлено в третьей нормальной тогда и только тогда, когда оно представлено во второй нормальной форме и все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
2.3 Выбор ПО для проектирования и моделирования базы данных
Существует множество инструментов для разработки и администрирования MySQL. К распространенным можно отнести:
1) WorkBench;
2) PHPMyAdmin;
3) dbForge Studio for MySQL;
4) SQLyog.
После изучения особенностей перечисленных приложений для облегчения управления, разработки и администрирования базы данных в работе был выбран инструмент MySQL WorkBench.
Программный продукт MySQL WorkBench предназначен для визуального проектирования баз данных, а также обладает возможностью управления сервером MySQL.
Возможности программы:
• Позволяет наглядно представить модель базы данных в графическом виде;
• Наглядный и функциональный механизм установки связей между таблицами, в том числе «многие ко многим» с созданием таблицы связей;
• Reverse Engineering — восстановление структуры таблиц из уже существующей на сервере БД;
• Удобный редактор SQL запросов, позволяющий сразу же отправлять их серверу и получать ответ в виде таблицы;
• Возможность редактирования данных в таблице в визуальном режиме.
Данный интерфейс дал возможность не использовать командную строку для установки связи с MySQL сервером, создания базы данных, создания таблиц и установки связей между соответствующими элементами.
Все SQL запросы при помощи встроенного интерфейса проверялись и отрабатывались в WorkBench.
Пример создания таблицы при помощи инструмента MySQL WorkBench изображен на рисунке 4.
Рисунок 4 – Пример создания таблицы в MySQL WorkBench
Column name - название столбца (поля) таблицы.
Datatype – тип данных значений, хранящихся в столбце.
PK (Primary Key) – первичный ключ, применяемый для уникальной идентификации записей таблицы. Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа.
NN (NOT NULL) - Значит что поле не может не содержать значение, т.е. не может быть не инициализировано (как минимум default значение).
UQ (Unique) – запрет на повторяющиеся значения.
BIN (Binary) – устанавливается флаг, если значение бинарное.
UN (Unsigned) – флаг, указывающий на отсутствие знака у значений столбца.
ZF (ZeroFill) - данное свойство означает, что значения при отображении будут дополнены нулями. Целые числа дополняются нулями слева в соответствии с указанным количеством отображаемых цифр, а десятичные – слева и справа в соответствии с указанными точностью и шкалой. Содержит флаг Unsigned по умолчанию.
AI (Auto Increment) - данное свойство обеспечивает автоматическую нумерацию строк таблицы. Это означает, что при добавлении в столбец неопределенного (NULL) или нулевого значения оно автоматически заменяется следующим номером, на единицу больше предыдущего.
Default – значение по умолчанию.
После заполнения всей формы по созданию таблицы можно получить SQL код. Для таблицы АФХ на рисунке 3 он выглядит следующим образом:
CREATE TABLE IF NOT EXISTS `DatabaseName`.`АФХ` (
`ID` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
`Дата измерения` TIMESTAMP(5) NOT NULL,
`id_сотрудника` TINYINT(3) UNSIGNED NOT NULL,
`id_положение_элемента` SMALLINT(5) UNSIGNED NOT NULL,
`Номер частотной точки` SMALLINT(5) UNSIGNED NOT NULL,
`Температура` FLOAT NULL,
`режим(ПРМ/ПРД)` VARCHAR(45) NULL,
INDEX `idsotrd` (`id_сотрудника` ASC),
PRIMARY KEY (`ID`),
INDEX `polozel_idx` (`id_положение_элемента` ASC),
CONSTRAINT `idsotr`
FOREIGN KEY (`id_сотрудника`)
REFERENCES ` DatabaseName `.`Сотрудник` (`ID`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `polozel`
FOREIGN KEY (`id_положение_элемента`)
REFERENCES ` DatabaseName `.`Положение элемента` (`ID`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB.
2.4 Библиотека MFC, среда разработки интерфейса управления БД.
В качестве среды разработки создания диалогового окна управления БД с возможностью просмотра, добавления, изменения и удаления ее элементов использовался продукт Microsoft Visual Studio.
MFC - библиотека на языке C++, разработанная Microsoft и призванная облегчить разработку GUI-приложений для Microsoft Windows путем использования богатого набора библиотечных классов.
Заказывала дипломную, прочитав отзывы vip-study .ru Сделали хорошо на 80% оригинальности. Но преподаватель, несмотря на методичку, сказал, что нужно аж 85%! А это нереально, так как были подсвечены только сноски и список литературы с фамилиями и названиями учебников. На https://vip-study. ru сказали, что фамилии авторов и названия учебников отрерайтить не возможно. Не будут же они менять Александра Пушкина на Сашко Гарматного))). Пришлось заказывать повышение на этом сайте. Мне добавили 5%, но я даже не поняла как. По тексту, сноскам, литературе ничего не поменялось, даже А.С. Пушкин остался на месте! Преподаватель проверил в ворде, но не поверил в 85%, так как тоже ничего не заметил сверхнового в литературе и перевел в PDF. В ПДФ тоже вышло 85%, и только после этого допустили к защите. Выражаю огромную благодарность сайтам vip-study ru и 5555455.ru за помощи и поддержку. Отдельное спасибо девочкам за прошлогодние отзывы, которые мне помогли дойти до защиты!
Превосходная работа! Нашел этот сайт именно по отзывам о повышении в PDF формате. Действительно все работает. Делают то, что никто не умеет. Я отправил работу в ворде для повышения %, указав в заказе - повысить для пдф. Мне вернули также в ворде. Я перевел в ПДФ и случилось чудо! Как и обещали 75% на самой жесткой проверке Антиплагиат.ВУЗ!
Благодарю за работу. Качественно повысили до 87% даже в таком редком формате, как PDF. Преподаватель ничего не заметил. Цена оптимальна, по сравнению с дешевыми неработающими вариантами.
Спасибо за проделанную работу! Помогли повысить Антиплагиат вуз ВКР Вуз Антиплагиат показал около 80% и 5% цитирования. До корректировки было около 40% и 15% соответственно. Интересно, что практически не видно изменений, все укладывается в рамки нормоконтроля, а процент при этом в 2 раза выш, чем был изначально. Работу писала сама. Хорошо, что есть такие сервисы, с помощью которых есть гарантия успешной защиты, а так бы весь труд пошел насмарку.
Спасибо за повышение для личного кабинета! Это реально первый сервис, который помог с повышением для личного кабинета. Прошел на 78%!
Спасибо огромное!! Очень выручили)) Рекомендую!
Нужен был безумный % по оригинальности - 90%. Что только не делала, хотя первоначальный вариант имел уже хороший уровень-70%. И вот, я правила ручками (подбирая синонимы) - не помогло, "Антиплагиат" эту писанину просто не пропустил. Затем заказала повышение % в одной фирме через интернет, у них получился перекошенный текст, на который платный антиплагиат вообще выдал ошибку и предупреждающую рамку. Потом случилось чудо, я случайным образом нашла ваши контакты и буквально за несколько часов был сделан идеально проходящий антиплагиат текст. Я дождалась результатов официальных, все просто замечательно, антиплагиат пройден и он составил 97%. Не реклама, я реальный заказчик!
Спасибо получилось 81,34%
Огромное еще раз спасибо...до связи......Михаил
Большое спасибо за помощь, за считанные часы помогли обработать текст, Оригинальность более 74 %. Всем советую!
Клевая компания! Я мучилась с антиплагиатом почти 2 недели и все бестолку. % почти не менялся. Помогли повысить за 1 день до 77%. Огромное спасибо!