ПОНЯТИЕ БАЗЫ ДАННЫХ И СУБД
Конференция: CLXXI Студенческая международная научно-практическая конференция «Молодежный научный форум»
Секция: Технические науки
CLXXI Студенческая международная научно-практическая конференция «Молодежный научный форум»
ПОНЯТИЕ БАЗЫ ДАННЫХ И СУБД
THE CONCEPT OF A DATABASE AND A DBMS
Madina Gazdieva
Student of Ingush State University, Russia, Magas
Madina Uzhakhova
Academic Supervisor, Senior Lecturer of Ingush State University, Russia, Magas
Аннотация. В данной статье рассматривается понятие базы данных и СУБД. А также рассматриваются разновидности языков DML.
Abstract. This article discusses the concept of a database and a DBMS. It also discusses varieties of DML languages.
Ключевые слова: база данных, система базы данных, СУБД
Keywords: database, database system, DBMS
Понятие базы данных и СУБД
База данных – совместно используемый набор логически связанных данных (и описание этих данных), предназначенный для удовлетворения информационных потребностей организации. Важно понять, что в этом определении прячется «между строк».
Итак, база данных – это единое хранилище данных, которое однократно определяется, а затем используется одновременно многими пользователями из различных подразделений. Т.е. при соответствующей разработке базы данных имеет место минимальная доля избыточности. Причем база данных хранит не только рабочие данные этой организации, но и их описания. В совокупности, описание данных называется системным каталогом, или словарем данных, а сами элементы описания принято называть метаданными. Кроме этого, как следует из определения, данные являются “логически связанными”. Это значит, что при анализе задачи из какой-либо предметной области необходимо выделить сущности, атрибуты и связи. Сначала разберемся с определениями [4, с. 157].
Сущность – отдельный тип объекта организации, который нужно представить в базе данных.
Атрибут – свойство, которое описывает некоторую характеристику описываемого объекта.
Связь – это то, что объединяет несколько сущностей. Невооруженным глазом видно, что данные определения выглядят какими-то туманными, особенно последнее.
К счастью, понять смысл этих определений достаточно просто на примерах.
Например, мы разрабатываем систему для учета успеваемости студентов ВУЗа. Тогда примерами сущностей для данной задачи будут «Студенты», «Преподаватели» и «Предметы». Примерами атрибутов будут фамилия студента, номер его зачетной книжки, наименование предмета. Т.к. студенты посещают предметы, которые ведут различные преподаватели, то можно утверждать, что между сущностями «Студенты», «Преподаватели» и «Предметы» существуют связи. Природу этих связей рассмотрим далее в соответствующем разделе, посвященном описанию модели “сущность-связь”. Теперь введем определение СУБД.
Система управления базами данных (СУБД) - это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ. Т.е. атрибутом будет являться «Наименование предмета», но никак не «Алгебра», «Физика» и т.п.
Ниже рассмотрим данное определение и возможности СУБД более подробно. Определение базы данных обычно осуществляется с помощью языка определения данных (DDL - Data Definition Language). Примером команды языка DDL, в частности, является команда create table, с помощью которой создаются таблицы средствами языка SQL. Вставка, редактирование, удаление и извлечение информации из базы данных обычно осуществляется с помощью языка управления данными (DML – Data Manipulation Language).
Существует две разновидности языков DML – процедурные и непроцедурные языки. Они отличаются между собой способом извлечения данных. Основное отличие заключается в том, что процедурные языки обычно обрабатывают информацию в базе данных последовательно, запись за записью, а непроцедурные оперируют сразу целыми наборами записей. В качестве примера команды процедурного DML можно привести команду SCAN из СУБД FoxPro. Она, по своей сути представляет собой цикл “for” для базы данных. Наиболее распространенным типом непроцедурного языка является язык структурированных запросов SQL, который в настоящее время определяется специальным стандартом и фактически является обязательным языком для любых реляционных СУБД.
Кроме этого, СУБД предоставляет контролируемый доступ к базе данных с помощью следующих средств: системы обеспечения безопасности, предотвращающей несанкционированный доступ к базе данных со стороны пользователей;
В настоящее время в мощных СУБД появились защиты от несанкционированного доступа (НСД) отдельных пользователей или групп. Однако в большинстве случаев защита осуществляется на уровне объектов базы данных целиком, а не отдельных частей. Только в некоторых СУБД, таких, как Oracle имеются средства так называемой горизонтальной защиты, но чтобы ими по-настоящему можно было пользоваться, требуется написание отдельного приложения для настройки. Системы поддержки целостности данных, обеспечивающей непротиворечивое состояние хранимых данных;
Несмотря на то, что существует стандарт для языка SQL, его реализация в различных СУБД порой расходится с требованиями стандарта. Поэтому для более тщательного изучения возможностей конкретной СУБД приходится разбираться с «ее» SQL-м подробнее.
Для работы СУБД и приложений необходимо некоторое аппаратное обеспечение. Оно может варьироваться в очень широких пределах. Используемое аппаратное обеспечение зависит от предполагаемой нагрузки на систему и типа используемой СУБД. Так, если для нормальной работы СУБД FoxPro будет достаточно старого 486-го компьютера, то только для установки СУБД Oracle 9i потребуется компьютер с процессором Pentium 300 МГц, с жестким диском не менее 4,75 ГБ. Программное обеспечение Данный компонент охватывает программное обеспечение самой СУБД и прикладных программ, вместе с операционной системой. Обычно приложения создаются на языках третьего поколения, таких как Object Pascal или С++ со вставками SQL-операторов .
Впрочем, СУБД может иметь свои собственные инструменты четвертого поколения, предназначенные для быстрой разработки приложений с использованием встроенных генераторов отчетов, форм, графических изображений и даже полномасштабных приложений.
Сущность – любой отличимый объект, который может быть представлен в базе данных. Кроме собственно основных сущностей, существуют ещё и связи между ними, которые объединяют эти основные сущности. В реляционных базах данных и основные сущности и связи между ними представляются с помощь таблиц. Связь можно понимать как связь особого типа.
Сущности (а значит, и связи) имеют некоторые свойства, соответствующие тем данным о них, которые мы желаем записать. В общем случае свойства могут быть как простыми, так и сложными, причём настолько, насколько это потребуется [6, с. 31].
Независимость может быть реализована на двух уровнях: физическом и логическом. Независимость баз данных может быть определена как иммунитет прикладных программ к изменениям способа хранения данных и используемых методов доступа. Среди прочего для независимости данных требуется строгое разделение между моделью данных и её реализацией.
Системы баз данных обычно поддерживают транзакции или логические единицы работы. Основное преимущество транзакций заключается в том, что они гарантируют атомарность выполняемых действий, несмотря на возможные сбои системы, имевшие место до завершения выполнения транзакции.