
- •1 Основные понятия теории дистанционного обучения
- •2 Анализ достоинств и недостатков существующих систем дистанционного обучения
- •2.1Система дистанционного обучения Learning Space 5.0 (Lotus/ibm)
- •2.1.1 Возможности системы
- •2.1.2 Организация работы с курсами
- •2.1.3 Базовый модуль
- •2.1.4 Модуль "Совместная работа"
- •2.2 Система дистанционного обучения WebCt
- •2.2.1 Содержание курса и относящиеся к нему инструменты
- •2.2.2 Инструменты связи
- •2.2.3 Инструменты оценки знаний
- •2.2.4 Инструменты обучения
- •2.3 Система дистанционного обучения moodle
- •2.3.1 Возможности Moodle, интересные для администраторов
- •2.3.2 Возможности Moodle для преподавателей
- •2.3.3 Другие возможности moodle
- •3 Выбор программных средств для реализации дистанционного обучающего курса по эконометрии
- •3.1 Средства организации клиент-серверного приложения
- •3.2 Средства создания запросов, управление бд
- •4 Основные требования к системе
- •4.1 Функциональные назначения системы
- •Основные таблицы и схема данных
- •Требования к интерфейсу
3.2 Средства создания запросов, управление бд
Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых "Системы управления базами данных" (СУБД).
Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем "Базы данных" (БД).
Язык запросов СУБД позволяет обращаться за данными как из программ, так и с терминалов (рис.).
Рисунок 3.4 -Связь программ и данных при использовании СУБД
СУБД MySQL предоставляет подмножество языка SQL, соответствующее спецификации ANSI SQL 92. Sql - символизирует собой Структурированный Язык Запросов. Это - язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах.
Реляционная база данных - это тело связанной информации, сохраняемой в двухмерных таблицах. Напоминает адресную или телефонную книгу.
Программы реляционной базы данных разрабатывались для того чтобы обрабатывать большие и сложные совокупности данных такого типа, что, очевидно, является более универсальным методом в деловом мире. Даже если бы база данных содержала сотни или тысячи записей - как это вероятно и бывает на практике - одна команда sql могла бы выдать именно ту запись, в которой сейчас нуждаются, почти немедленно. Язык sql достаточно сложен и многогранен. При работе же небольшой фирмы, или базы данных в сети internet круг задач ограничен. Поэтому была создана небольшая, но очень быстрая и функциональная реляционная СУБД mysql. Тоесть, как вы уже догадались в mysql задействован не весь язык sql, а только необходимая его часть.
MySQL является относительно небольшой и быстрой реляционной СУБД. SQL - это сокращение от Structured Query Language (структурированный язык запросов). SQL создан для работы с реляционными базами данных. Он позволяет пользователям взаимодействовать с базами данных (просматривать, искать, добавлять и управлять данными).
Достоинства MySQL:
- многопоточность. Поддержка нескольких одновременных запросов;
- оптимизация связей с присоединением многих данных за один проход;
- записи фиксированной и переменной длины;
- ODBC драйвер в комплекте с исходником;
- гибкая система привилегий и паролей;
- до 16 ключей в таблице. Каждый ключ может иметь до 15 полей;
- поддержка ключевых полей и специальных полей в операторе CREATE;
- поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени;
- интерфейс с языками C и perl;
- основанная на потоках, быстрая система памяти;
- утилита проверки и ремонта таблицы ( isamchk);
- все данные хранятся в формате ISO8859_1;
- все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках;
-псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице;
- все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей;
- легкость управления таблицей, включая добавление и удаление ключей и полей.[8]
Конкурентные преимущества MySQL:
- производительность (из-за чего Google и Yahoo используют именно MySQL);
- масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);
- надежность (в коде проприетарных продуктов содержится в десять с лишним раз больше уязвимостей);
- простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);
- открытая и модульная разработка;
- низкие совокупные затраты (платить нужно только при потребности в поддержке);
- производительность (из-за чего Google и Yahoo используют именно MySQL);
- масштабируемость (в компании Omniture в реальном масштабе времени используется 7000 серверов MySQL);
- надежность (в коде проприетарных продуктов содержится в десять с лишним раз больше уязвимостей);
- простота использования, простота внедрения (за 15 минут можно скачать и запустить систему);
- открытая и модульная разработка;
- низкие совокупные затраты (платить нужно только при потребности в поддержке).[9]
Система управления базами данных MySQL очень часто применяется для хранения важной информации на веб-сайтах. Если это обычный сайт или форум – в базе могут храниться сообщения пользователей, данные для динамических страниц, данные о посещениях, если это какой-либо интерактивный сервис, то кроме данных про доступ (конфиденциальных), там хранится и другая информация о пользователе и его действиях. Все это приводит к тому, что общая безопасность сайта, вернее всей веб-системы, зависит от того, насколько защищен именно сервер базы данных.
На обычных виртуальных хостингах каждый клиент получает свой логин и пароль, и ему доступна только одна база, в которой он может создавать произвольное количество таблиц. Один и тот же физический сервер БД используют разные клиенты, каждый из которых имеет доступ только до одной определенной базы данных. Ситуация, когда у пользователя одна база, за владение которой сражаются и "движок" форума (которому требуется создать сотню и больше таблиц), и скрипты списков рассылки, новостей, поисковый скрипт, а если еще установлена система управления контентом (CMS) или электронный магазин – тогда в этой базе возникает такое огромное количество различных таблиц, порой с очень странными и ничего не обозначающими названиями (хорошо, если два скрипта не используют таблицы с одинаковыми названиями, но разной структурой). В таких случаях очень желательно иметь возможность создать несколько отдельных баз данных, и выделить их для разных приложений (к примеру, одна база для форума, другая для электронного магазина).
Кроме сложностей с управлением несколькими сотнями таблиц в одной базе, можна столкнуться с необходимостью ограничивать доступ разных пользователей к таблицам, базам и даже отдельным столбцам конкретной таблицы. Однако разработчики СУБД MySQL уже позаботились о подобной ситуации – в MySQL есть очень гибкий и мощный механизм управления и разграничения доступа пользователей к базам и таблицам. [10]
MySQL - Система Управления Базами Данных (СУБД). Основное отличие от всех остальных СУБД это то, что она является бесплатной. В силу того, что MySQL бесплатна, она поддерживается очень многими хостинг провайдерами.
Итак, как получить данные из базы данных MySQL в PHP скрипт.
Ну вообще-то это не так сложно. Всё, что нужно знать:
Хост - адрес сервера баз данных MySQL:
-имя базы данных;
-имя пользователя;
-пароль - пароль для доступа к БД;
-некоторые SQL команды.
Далее я буду предполагать, что у нас уже заведена база данных на сервере хостера или на домашнем компьютере.
Итак, алгоритм такой:
-устанавливаем соединение с сервером;
-выбираем нужную базу данных ;
-делаем запрос к серверу баз данных (SQL запрос);
-обрабатываем результат запроса, если это необходимо;
-закрываем соединение (отключаемся от сервера БД).[11]
По части PHP, чтобы работать с БД надо знать несколько функций:
mysql_connect()-устанавливает сетевое соединение с базой данных MySQL, расположенной на хосте $hostname (по умолчанию это localhost, т. е. текущий компьютер), и возвращает идентификатор открытого соединения;
mysql_select_db()-если нужно открывать только одно соединение с базой данных за все время работы сценария, то можно не сохранять возвращенное значение, а также не указывать идентификатор соединения при вызове всех остальных функций;
mysql_query()-возвращает она не что иное, как идентификатор результирующего набора данных;
mysql_fetch_array()-возвращает очередную строку результата в виде ассоциативного массива, где каждому полю сопоставлен элемент с ключом, совпадающим с именем поля;
mysql_close()-соединение с MySQL-сервером будет автоматически закрыто при вызове функции.[17]
Это тот минимум, который позволит нам устанавливать соединение с сервером MySQL, выбирать базы данных и делать запросы к серверу баз данных.[11]