Смекни!
smekni.com

Организация Web-доступа к базам данных с использованием SQL-запросов (стр. 20 из 22)

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


15. База данных Информационно-методического центра «Сведения об образовательных учреждениях»

Назначение и предметная область

База данных предназначена для хранения данных об учебных заведениях города Екатеринбурга и доступна по адресу: http://base.eimc.ru.

2 № школы: 109 Полное наименование: Муниципальное образовательное учреждение средняя общеобразовательная школа №109 с углубленным изучением предметов гуманитарно-педагогического цикла Ленинского р-на г. Екатеринбурга Адрес: 620146, г. Екатеринбург, ул. Волгоградская, 37б Телефоны: 28-17-52; 28-76-19; 28-08-05; 28-17-78 (музык школа) Тип компьютерной техники: Pentium 166 – 13 штук, локальная сеть есть Список профильных классов: Математические, гуманитарные, гуманитарно-педагогические Список кружков факультативов: 16. «Рукодельница»; 2. «Эстетика быта»; 3. «Мягкая игрушка»; 4. «Театральный»; 5. «Кукольный театр»; 6. «ИЗО»; 7. «Баскетбол»; 8. «Аэробика»; 9. «Музей»; 10. «История ремесла»; 11. «Юный агроном» Дополнительная информация: 17 лет школа сотрудничает с УРГПУ; 6 лет – с педколледжами; - При школе работает районный центр образовательных технологий; - В музее школы работает постоянно действующая выставка кружковцев школы; - Традицией школы стало проведение ежегодно: интеллектуально марафона, праздника «Золотые россыпи», - в честь победителей конкурсов и т.д. Интернет сайт: None Электронный адрес: None

Рисунок 3.1

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

1. № школы

2. Полное наименование

3. Адрес

4. Телефоны

5. Тип компьютерной техники

6. Список профильных классов

7. Список кружков факультативов

8. Дополнительная информация

9. Интернет сайт

10. Электронный адрес

Пример заполненного по данным критериям ресурса можно увидеть на рисунке 3.1

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

1. Ф.И.О. владельца

2. E-mail владельца

3. Телефон

4. Адрес

5. Дата внесения ресурса в базу данных

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

Проектирование базы данных.

Для организации базы данных «Сведения об учебных заведениях города Екатеринбурга» нам нужно создать две таблицы: «Учреждения» и «Владельцы ресурсов».

СОЗДАТЬ ТАБЛИЦУ Учреждения

ПЕРВИЧНЫЙ КЛЮЧ ( ID )

ПОЛЯ ( ID Целое,

Номер школы Целое,

Полное_наименование Текст,

Адрес Текст,

Телефон Текст,

Тип_компбютерной_техники Текст,

Список_профильных_классов Текст,

Список_кружков_факультативов Текст,

Дополнительная_информация Текст );

СОЗДАТЬ ТАБЛИЦУ Владельцы_ресурсов

ПЕРВИЧНЫЙ КЛЮЧ ( ID )

ПОЛЯ ( ID Целое,

Ф.И.О. Текст,

E-mail

Текст,

Телефон Текст,

Адрес,

Дата внесения ресурса в базу данных Дата );

Устройство поисковой системы.

Поиск в системе происходит по средствам web-интерфейса. Поисковая форма содержит два поля: “Критерия вывода” и “Фильтр”. Поле “Фильтр” в свою очередь имеет следующие настройки: Вывод всех ресурсов, которые содержат значение поля “Фильтр”, Вывод всех ресурсов, которые не содержат значение поля “Фильтр” и настройка учета или не учета регистра.

Алгоритм поиска выглядит следующим образом:

1. Определяются настройки фильтра.

2. Определяется значение “Критерии вывода”.

3. Каждый ресурс базы имеет свой ID (первичный ключ). Программа обрабатывает столбец, имя которого имеет значение “Критерии вывода” (начиная с ресурса имеющего наименьший ID).

4. Не учет регистра преобразует при обработке значение атрибута и значение “Фильтра” в строчные буквы.

5. Если пользователь отметил параметр Вывод всех ресурсов, которые содержат значение поля “Фильтр”, то результатом выполнения программы станет список ресурсов, которые содержат значение “Фильтра”.

6. Если была выбрана опция Вывод всех ресурсов, которые не содержат значение поля “Фильтр”, то результатом выполнения программы будет обратное п.4 – все, что не содержит значение “Фильтра”.

Администрирование системы.

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

4. Удобный интерфейс. Web-интерфейс – это наиболее распространенный и привычный для всех. Использование графических элементов делает работу администратора быстрой и удобной.

5. Быстрота работы. В нашем случае быстрота работы зависит не от конфигурации компьютера, а от качества связи с сервером, на котором установлена система.

Система регистрации ресурсов.

Устройство системы не предполагает немедленное внесение информации в основную базу данных после ее регистрации. По сути, таблица «Ресурсы» делится на две подтаблицы: основная и временная. После регистрации ресурс попадает во временную таблицу. Цензор просматривает временную таблицу каждые 24 часа. Ресурс может быть перемещен в основную таблицу, удален или оставлен во временной таблице для дальнейшего рассмотрения.



Рисунок 3.2. Работа поисковой системы.

5. Вопросы безопасности и санкционирования доступа к базам данных.

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

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

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

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

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

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