Базы данных
Базы данных (БД), системы управления базами данных (СУБД)
В широком смысле слова база данных (БД) – это совокупность сведений об объектах реального мира в какой-либо предметной области. Для удобной работы с данными их необходимо структурировать, т. е. ввести определенные соглашения о способах их представления.
База данных(в специальном смысле слова) — совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ.
Между собственно данными и пользователями располагается уровень программного обеспечения. Ядром его является система управления базами данных (database management system – DBMS), или диспетчер БД (database manager).
Система управления базами данных (СУБД) — это комплекс программных и языковых средств, реализующих создание баз данных, поддержание их в актуальном состоянии, а также обеспечивающих различным категориям пользователей возможность получать из БД необходимую информацию.
Выделяют следующие функции, реализуемые СУБД:
- организация и поддержка логической структуры данных;
- организация и поддержка физической структуры данных во внешней памяти;
- организация доступа к данным и их обработка в оперативной и внешней памяти.
Основная особенность СУБД как вида программного обеспечения (ПО) ЭВМ заключается в том, что являясь прикладным программным обеспечением, они выполняют и системные функции – расширяют возможности файловых систем системного ПО.
СУБД поддерживает пользовательские операции высокого уровня, т. е. предоставляет возможности работы с БД, не вникая в детали на уровне аппаратного обеспечения. Сюда включены и операции, которые можно выполнить с помощью языка SQL.
SQL- это специальный язык БД. Сейчас он поддерживается большинством СУБД и является официальным стандартом языка для работы с реляционными системами. Название SQL вначале было аббревиатурой от Structured Query Language (язык структурированных запросов), сейчас название языка уже не считается аббревиатурой, так как функции его расширились и не ограничиваются только созданием запросов.
СУБД не единственный компонент ПО для работы с БД, хотя и наиболее важный. Среди других – утилиты, средства разработки приложений, средства проектирования, генераторы отчетов и т. д.
Наибольшее распространение получили реляционные БД и, соответственно, реляционные СУБД.
Реляционные базы данных
Любая модель данных, в том числе и реляционная, включает три взаимосвязанные составляющие, которые кратко можно назвать объекты (структурная составляющая), целостность данных (целостная составляющая) и операторы (манипуляционная составляющая).
Реляционные объекты данных
Существует специальная терминология, принятая в теории реляционных БД (рис. 13).
№ | Фамилия | Имя | Отчество | Адрес | Телефон |
Иванов | Иван | Иванович | Ленина,12-4 | 22-22-22 | |
Петров | Петр | Петрович | Свободы,2-9 | 33-33-33 | |
Андреев | Андрей | Андреевич | Грина,34-18 | 44-44-44 | |
… |
Отношением называется вся таблица, отвечающая определенным свойствам (о которых более подробно – ниже).
Отношение характеризуется следующими понятиями:
Поле (атрибут) соответствует столбцу этой таблицы, а именно – свойствам объектов, сведения о которых хранятся в ней.
Степень отношения – количество полей отношения.
Запись (кортеж) соответствует заполненной строке таблицы.
Кардинальное число – количество записей в отношении в текущий момент времени.
Первичный ключ – это поле (или множество полей), значения которого уникально идентифицируют записи. Значения элементов первичного ключа не должны быть пустыми. Первичный ключ не должен быть избыточен.
Например, если надо в таблицу поместить сведения о студентах, то первичным ключом может быть поле НомерЗачетнойКнижки или НомерСтуденческогоБилета, но не оба вместе.
Домен – это общая совокупность значений, из которой берутся значения для конкретного поля. На практике домены часто не описывают явно, а задают типом, форматом и другими свойствами полей. Каждое поле должно быть определено на единственном домене.
Для всех отношений должны выполняться следующие свойства.
1. Нет одинаковых записей.
Следствие этого свойства: в отношении всегда существует первичный ключ.
2. Записи неупорядочены.
3. Поля не упорядочены.
4. Все значения полей неделимы.
Для обозначения таблицы (отношения) и его полей условимся использовать следующую запись:
ИмяТаблицы (ИмяПоля1, ИмяПоля2, …, ИмяПоляN),
где будем подчеркивать поля, входящие в первичный ключ, и где N – степень таблицы (отношения).