Таблицы БД и связи между ними

Введение в базы данных

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

Типы СУБД

Системы управления базами данных (СУБД) — это программные средства, пред­назначенные для создания, наполнения, обновления и удаления баз данных. Различают три основных вида СУБД: промышленные универсального назначения, промышленные специального назначения и разрабатываемые для конкретного за­казчика.

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

Универ­сальные СУБД не имеют четко очерченных рамок применения, они рассчитаны «на все случаи жизни» и, как следствие, достаточно сложны и требуют от пользо­вателя специальных знаний.

Заказные СУБД в максимальной степени учитывают специфику работы.

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

Таблицы БД и связи между ними - student2.ru

Рис. 1.1. Архитектура СУБД: однозвенная (слева); двухзвенная (в центре); трехзвенная (справа)

В зависимости от местоположения отдельных частей СУБД различают локальные и сетевые СУБД.

Все части локальной СУБД размещаются на компьютере пользователя базы дан­ных. Чтобы с одной и той же БД одновременно могло работать несколько пользо­вателей, каждый пользовательский компьютер должен иметь свою копию локаль­ной БД. Существенной проблемой СУБД такого типа является синхронизация копий данных, именно поэтому для решения задач, требующих совместной рабо­ты нескольких пользователей, локальные СУБД фактически не применяются.

К сетевым относятся файл-серверные, клиент-серверные и распределенные СУБД. Непременным атрибутом этих систем является сеть, обеспечивающая аппаратную связь компьютеров и делающая возможной корпоративную работу множества пользователей с одними и теми же данными.

В файл-серверных СУБД все данные обычно размещаются в одном или нескольких каталогах достаточно мощной машины, специально выделенной для этих целей и постоянно подключенной к сети. Такой компьютер называется файл-сервером — от­сюда название СУБД.

Клиент-серверные (двухзвенные) системы значительно снижают нагрузку на сеть, так как клиент общается с данными через специализированного посредника — сервер базы данных, который размещается на машине с данными. Сервер БД принимает запрос от клиента, отыскивает в данных нужную запись и передает ее клиенту. Та­ким образом, по сети передаются относительно короткий запрос и единственная нужная запись, даже если соответствующий файл с данными содержит сотни тысяч записей. Запрос к серверу формируется на специальном языке структурированных запросов (Structured Query Language, SQL), поэтому часто серверы БД называются SQL-серверами. К ним относятся, например, Microsoft SQL Server производства корпорации Microsoft, Sybase SQL Server корпорации Sybase, Oracle производства одноименной корпорации1, DB2 корпорации IBM и т. д. SQL-сервером является также и сервер InterBase корпорации Borland, который по­ставляется вместе с Delphi 7 Studio в комплектациях Enterprise и Architect.

Распределенные СУБД могут содержать несколько десятков и сотен серверов БД. Обычно такие СУБД работают на предприятиях государственного масштаба. К ним относятся подразделения Министерства обороны и Министерства внут­ренних дел.

Таблицы БД и связи между ними

Единицей хранящейся в БД информации является таблица. Каждая таблица пред­ставляет собой совокупность строк и столбцов, где строки соответствуют экземп­ляру объекта, конкретному событию или явлению, а столбцы — атрибутам (признакам, характеристикам, параметрам) этого объекта, события, явления. Пример таблицы, в которой содержатся сведения о продаже книг со склада. В терми­нах БД столбцы таблицы называются полями, а ее строки — записями.

Дата Название книги Покупатель Отпущено
10.12.99 Borland С++ Builder 4 10.12.99 Delphi 5. Учебный курс 12.12.99 В сетях Всемирной паутины Магазин № 1 Магазин № 1 Дом книги
Между отдельными таблицами БД могут существовать связи. Например, инфор­мация о покупателе в предыдущей таблице может дополняться в другой таблице.
Покупатель Адрес Телефон
Магазин № 1 107005, Москва, 2-я Бауманская ул., 12 Дом книги 105066, Москва, Измайловский б-р, 18/11 273-00-14 165-18-99
       

Базы данных, между отдельными таблицами которых существуют связи, называ­ются реляционными (от relation — связь, отношение).

Связанные отношениями таблицы взаимодействуют по принципу главная {master) — детальная (detail)*. В нашем примере таблица отпуска товаров — главная, а табли­ца покупателей — детальная. Главную таблицу часто называют родительской, а де­тальную — дочерней. Одна и та же таблица может быть главной по отношению к од­ной таблице БД и дочерней по отношению к другой.

Связи между таблицами базы данных

В БД существуют три типа отношений между различными множествами объектов :

n один к одному,

n один ко многим,

n многие ко многим.

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

Отношение «один ко многим» рассмотрено в приведенном примере. Здесь один покупатель может сделать несколько заказов, но у одного заказа существует лишь один покупатель. Отношение «один ко многим» вызывает избыточность информации. Она устраняется организацией отдельной таблицы для каждого множества объектов (Таблица Покупателей и Таблица Заказов).

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

Наши рекомендации