~1 (663352), страница 3
Текст из файла (страница 3)
Под безопасностью данных понимают защиту данных от случайного или преднамеренного доступа к ним лиц, не имеющих на это право, от неавторизованной модификации данных или их уничтожения.
Секретность определяют как право отдельных лиц или организаций определять, когда, как и какое количество соответствующей информации может быть передано другим лицам или организациям.[7, 10, 11].
2.1.8. Связь с прошлым.
Организации, которые в течение какого-то времени эксплуатируют системы обработки данных, затрачивают значительные средства на написание программ, процедур и организацию хранения данных. В том случае, когда фирма начинает использовать на вычислительной установке новое программное обеспечение управления базами данных, очень важно, чтобы при этом она могла работать с уже существующими на этой установке программами, обрабатываемые данные можно было бы соответствующим образом преобразовывать. Такое условие требует наличия программной и информационной совместимости, и ее отсутствие может стать основным сдерживающим фактором при переходе к новым системам управления базами данных. Важно, однако, чтобы проблема связи с прошлым не сдерживала развитие средств управления базами данных. [7, 10, 11].
2.1.9. Связь с будущим.
Особенно важной представляется связь с будущим. В будущем данные и среда их хранения изменятся по многим направлениям. Любая коммерческая организация со временем претерпевает изменения. Особенно дорогими эти изменения оказываются для пользователей системами обработки данных. Огромные затраты, которые требуются для реализации самых простых изменений, сильно тормозят развитие этих систем. Эти затраты расходуются на преобразование данных, перезапись и отладку прикладных программ, явившихся результатом внесения изменений. Со временем число прикладных программ в организации растет, и поэтому перспектива перезаписи всех этих программ кажется нереальной. Одна из самых важных задач при разработке баз данных—запланировать базу данных таким образом, чтобы изменения ее можно было выполнять без модификации прикладных программ.[7, 10, 11].
2.1.10. Простота использования.
Средства, которые используются для представления общего логического описания данных, должны быть простыми и изящными.
Интерфейс программного обеспечения должен быть ориентирован на конечного пользователя и учитывать возможность того, что пользователь не имеет необходимой базы знаний по теории баз данных. [7, 10, 11].
2.2. Основы построения банков данных.
Вычислительная техника с каждым годом все шире применяется в различных сферах человеческой деятельности. Резкий рост объемов перерабатываемой информации и накопленный опыт пользования электронно-вычислительной техникой в различных областях человеческой деятельности приводят к необходимости пересматривать такую, традиционную область обработки информации, как управление данными.
При создании баз данных (БД) необходимо уделить особое внимание тому, чтобы данные можно было широко использовать в различного рода приложениях и чтобы способы использования данных можно было легко и быстро изменять. До появления БД было чрезвычайно трудно изменить способ организации используемых данных.
Для обеспечения гибкости использования данных необходимо учитывать два аспекта разработки БД:
- во-первых, данные должны быть независимы от программ для того, чтобы данные можно было добавлять или перестраивать без изменения программ;
- во-вторых, должна быть обеспечена возможность запрашивать и отыскивать нужную информацию в БД без трудоемкого написания программ на обычном языке программирования. Таким образом, проектирование БД должно основываться на вполне определенной системе положений - четко сформулированной концепции.[23].
Продолжающийся значительный рост использования ЭВМ в различных областях промышленности, в управлении и научных исследованиях привел к автоматизации обработки огромнейшего количества данных. В конце 50-х начале 60-х годов XX века многие организации начали накапливать и хранить данные в виде файлов, доступных ЭВМ. С течением времени организации постепенно осознавали необходимость централизации управления данными и приложениями.
База данных может быть определена как совокупность предназначенных для машинной обработки данных, которая служит для удовлетворения нужд многих пользователей в рамках одной или нескольких организаций. Основным моментом является то, что база данных предназначена для использования всеми членами организации, которым необходима информация, содержащаяся в базе данных. Информация хранится в базе данных, которая может включать много различных типов логических записей. База данных ориентирована на интегрированные требования, а не на одну программу, как было с частными файлами данных.
Однако наличие только базы данных само по себе не разрешает полностью проблем организации в области обработки данных и принятия решений. Управление базой данных, являющейся достоянием многих пользователей внутри организации, должно осуществляться с пользой для всей организации и с точки зрения организации в целом, а не отдельных пользователей. Без централизованного управления базой данных ее полезность со временем снижается.
Для решения проблемы регулирования и управления базами данных были развиты две концепции. Во-первых, программное обеспечение развивалось в направлении, обеспечивающем поддержание общего интерфейса между всеми пользователями и интегрированной базой данных. Пользователи не могут хранить информацию независимым образом, они должны использовать и обновлять информацию в соответствии с требованиями организации. Обеспечение, известное как система управления базами данных (СУБД), позволяет осуществить контроль данных с использованием ЭВМ, СУБД - это специальный пакет программ, посредством которого реализуется централизованное управление базой данных и обеспечивается доступ к данным.
В каждой СУБД прежде всего есть трансляторы или интерпретаторы с языка описания данных (ЯОД) и с языка манипулирования данными (ЯМД), единые для всей базы данных (БД).
Описание структуры данного некоторого типа на формализованном языке называют схемой этого данного. Язык описания данных (ЯОД) - это язык высокого уровня, предназначенный для задания схемы базы данных. С его помощью описываются типы данных, подлежащих хранению в базе или выборке из нее, их структура и связи между собой. Исходные тексты, написанные на этом языке, после трансляции отображаются в управляющие таблицы: адресных констант, констант и другую информацию, необходимую для работы с данными программ СУБД. В соответствии с полученным описанием СУБД может найти в базе требуемые данные, правильно преобразовать их и переработать, например в прикладную программу, которой они потребовались. При записи данных в базу СУБД определяет место в памяти ЭВМ, куда их требуется поместить, преобразует к заданному виду устанавливает необходимые связи.
ЯМД представлен системой команд манипулирования данными. В нем могут быть, например, следующие команды:
1. Произвести выборку из базы данных конкретного данного, значение которого удовлетворяет заданным условиям;
2. Произвести выборку из БД всех данных определенного типа, значения которых удовлетворяют заданным условиям и т.д.
Системы управления базой данных подразделяют на две группы в зависимости от способа реализации ЯМД:
1. СУБД с включающим языком;
2. СУБД с базовым языком.
В СУБД с базовым языком разрабатывается собственный алгоритмический язык, позволяющий кроме манипулирования данными выполнять арифметические операции, операции ввода - вывода на терминалы и т.д.
Во многих СУБД имеются специальные средства обеспечения защиты данных от некомпетентного их использования и сбоев технических средств, средства контроля достоверности данных, средства автоматического накопления статистики использования тех или иных данных различными категориями пользователей.
Другой концепцией является концепция администратора базы данных (АБД). Администратор базы данных - это лицо (или группа лиц), реализующие управление базой данных. Он должен уметь поддерживать взаимосвязи как с руководством высшего уровня, так и с пользователем, обрабатывающим данные, а также руководить штатом технических специалистов.
Этот штат должен включать лиц, имеющих опыт работы в таких областях, как программное обеспечение СУБД, операционные системы, техническое обеспечение ЭВМ, прикладное программирование, системное программирование.
Основная функция АБД - обеспечение структур данных и взаимосвязей между ними, эффективным методом обслуживания коллектива пользователей.
Функции АБД следующие:
- решать вопросы организации данных об объектах ПО и установление связей между ними с целью объединения информации о различных объектах, согласовывать запросы пользователей;
- координировать все действия по проектированию, реализации и ведения БД;
- учитывать перспективные и текущие требования пользователей;
- решать вопросы, связанные с расширением БД в связи с изменением границ ПО;
- разрабатывать и реализовывать меры по обеспечению защиты данных от некомпетентного их использования, от сбоев технических средств, обеспечение секретности определенной части данных и разграничение доступа к ним;
- контролировать избыточность и противоречивость данных, их достоверность;
- координировать работу технического обеспечения системы, системных программистов и прикладных программистов.
Место АБД было определено тогда, когда организации осознали необходимость централизованного управления ресурсами данных, обработки данных и другие аспекты, связанные с базой данных. Группы пользователей и отдельные пользователи должны обслуживаться всеми средствами, исходя из целей и возможностей организации в целом. АБД является ответственным за анализ потребностей пользователей, проектирование БД, ее внедрение, обновление, реорганизацию, консультацию и обучение пользователей.
2.3.Язык SQL как стандартный язык баз данных.
Стремительный рост популярности SQL является одной из самых важных тенденций в современной компьютерной промышленности. За несколько последних лет SQL стал единственным языком баз данных. На сегодняшний день SQL поддерживают свыше ста СУБД, работающих как на персональных компьютерах, так и на больших ЭВМ. Был принят, а затем дополнен официальный международный стандарт на SQL. Язык SQL является важным звеном в архитектуре систем управления базами данных, выпускаемых всеми ведущими поставщиками программных продуктов, и служит стратегическим направлением разработок компании Microsoft в области баз данных. Зародившись в результате выполнения второстепенного исследовательского проекта компании IBM, SQL сегодня широко известен и в качестве мощного рыночного фактора.[13]
2.3.1. Язык SQL.
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. SQL - это сокращенное название структурированного языка запросов (Structured Query Language). Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. На самом деле SQL работает только с базами данных реляционного типа. Согласно принятой схеме, в вычислительной системе имеется база данных, в которой хранится важная информация. Если вычислительная система относится к сфере бизнеса, то в базе данных может храниться информация о материальных ценностях, выпускаемой продукции, объемах продаж и зарплате. В базе данных на персональном компьютере может храниться информация о выписанных чеках, телефонах и адресах или информация, извлеченная из более крупной вычислительной системы. Компьютерная программа, которая управляет базой данных, называется системой управления базой данных, или СУБД.
Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название — структурированный язык запросов.
Однако это название не совсем соответствует действительности. Во-первых, сегодня SQL представляет собой нечто гораздо большее, чем простой инструмент создания запросов, хотя именно для этого он и был первоначально предназначен. Несмотря на то, что чтение данных по-прежнему остается одной из наиболее важных функций SQL, сейчас этот язык используется для реализации всех функциональных возможностей, которые СУБД предоставляет пользователю, а именно:
-
Организация данных. SQL дает пользователю возможность изменять структуру представления данных, а также устанавливать отношения между элементами базы данных.
-
Чтение данных. SQL дает пользователю или приложению возможность читать из базы данных содержащиеся в ней данные и пользоваться ими.
-
Обработка данных. SQL дает пользователю или приложению возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные.
-
Управление доступом. С помощью SQL можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа.
-
Совместное использование данных. SQL координирует совместное использование данных пользователями и работающими параллельно, чтобы они не мешали друг другу.
-
Целостность данных. SQL позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы.
Таким образом, SQL является достаточно мощным языком для взаимодействия с СУБД.
Во-вторых, SQL — это не полноценный компьютерный язык типа COBOL, FORTRAN или С. В SQL нет оператора IF для проверки условий, нет оператора GOTO для организации переходов и нет операторов DO или FOR для создания циклов. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык, например COBOL, FORTRAN или С, и дают возможность получать доступ к базам данных. Кроме того, из такого языка, как С, операторы SQL можно посылать СУБД в явном виде, используя интерфейс вызовов функций.
Наконец, SQL — это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат "слова-пустышки", не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.