Скачиваний:
47
Добавлен:
04.04.2013
Размер:
728.06 Кб
Скачать

Построение реляционной базы данных

Реляционная база данных – набор связанных данных, сохраняемых в двумерных таблицах. В качестве простейшей базы данных можно рассмотреть, например, телефонно-адресную книгу. Телефонно-адресная книга представляет собой таблицу, состоящую из определенного количества строк и столбцов. Каждая строка таблицы содержит контактную информацию одного человека. Каждый столбец таблицы содержит данные одного типа, присущие каждому человеку, представленному в таблице. Фактически, количество строк в таблице будет соответствовать количеству людей, а количество столбцов – количеству атрибутов, присущих каждому человеку. Телефонно-адресная книга могла бы выглядеть следующим образом:

Имя

Телефон

Адрес

Иван Иванов

123-45-67

Москва, Ленинский проспект д.10, кв.34

Петр Петров

975-34-45

Москва, Улица строителей, д.24, кв.106

Сидор Сидоров

345-87-09

Москва, Цветной бульвар, д.15, кв.8

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

Имя

Отдел

Должность

Иван Иванов

Бухгалтерия

Главный бухгалтер

Петр Петров

Плановый

Экономист

Сидор Сидоров

Технический

Инженер



Как видно на основе приведенного выше примера, данные двух таблиц связаны между собой при помощи поля "Имя". Можно предположить, что формирование базы данных кадрового отдела не ограничивается двумя таблицами. Например, можно завести таблицы, в которых будет содержаться информация о предыдущих местах работы сотрудников, образовании, профессиональных навыках и многом другом.

Сформированная структура дает возможность руководителю отдела кадров осуществлять разнообразные выборки данных в зависимости от текущих потребностей. Например, можно осуществить выборку всех сотрудников планового отдела, проживающих на улице Строителей. В приведенном примере осуществление такой выборки представляется довольно простым делом, поскольку количество данных минимально, да и критерии запроса не являются самыми сложными. Однако если предположить, что речь идет о большом предприятии, на котором могут одновременно трудиться несколько сотен человек, задача усложнится. В добавок к этому могут измениться критерии запроса. Допустим, что необходимо получить список сотрудников, окончивших МГУ в период с 1980 по 1990 год и имеющих двух и более детей (гипотетическая база данных отдела кадров обладает всей необходимой информацией о сотрудниках). Выполнение такой задачи вручную может потребовать больших временных затрат (в зависимости от сложности запроса и количества анализируемых данных). Вместе с тем, всегда остается вероятность ошибки, связанной с человеческим фактором.

Для решения подобных проблем предназначен структурированный язык запросов SQL. Возможности языка SQL позволяют:

  • Создавать базу данных (БД)

  • Организовывать/модифицировать внутреннюю структуру БД

  • Вводить/модифицировать данные в БД

  • Организовывать выборку данных из БД

Системы управления базами данных (СУБД) анализируют запросы, написанные на языке SQL и производят операции над БД в соответствии с полученными запросами.

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

Таблицы "Продавцы", "Заказчики" и "Заказы" составляют небольшую реляционную базу данных, достаточную для демонстрации основных возможностей языка SQL.