10. Структура реляционной базы данных

1. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

1.1. Реляционная база данных и ее структура

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

Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида. Каждая строка таблицы содержит данные об одном объекте (например, автомобиле, компьютере, клиенте), а столбцы таблицы содержат различные характеристики этих объектов — атрибуты (например, номер двигателя, марка процессора, телефоны фирм или клиентов).

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

Рис. 1. Названия объектов в таблице

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

— определение данных (описание структуры баз данных);

— обработка данных;

— управление данными.

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

Любая СУБД позволяет выполнять следующие операции с данными:

— добавление записей в таблицы;

— удаление записей из таблицы;

— обновление значений некоторых полей в одной или нескольких записях в таблицах БД;

— поиск одной или нескольких записей, удовлетворяющих заданному условию.

Для выполнения этих операций применяется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется «язык структурированных запросов» (SQL — Structured Query Language).

Под управлением данными обычно понимают защиту данных от несанкционированного доступа, поддержку многопользовательского режима работы с данными и обеспечение целостности и согласованности данных.

 


Итак, реляционная база данных — база данных, в которой все данные представлены в виде двумерных таблиц или отношений.

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

К примеру, автоматизируя архив данных о студентах, начнем с нижеследующей таблицы, где столбцам поставлены в соответствия поля, а строкам — записи:

 

Таблица 1.Фрагмент списка из студенческого архива

Поле ФИО Поле Дата_рождения Поле Группа Поле Специальность  
¯ ¯ ¯ ¯  
ФИО Дата_рождения Группа Специальность  
Иванов И.И. 01.09.85 ГМУ запись 1
Петров П.П. 09.12.84 УП запись 2
Сидоров С.С. 07.10.85 ГМУ запись 3
Соловьев С.С. 07.10.85 ГМУ запись 4
Агапов Р.П.

10. Структура реляционной базы данных

23.07.90 ГМУ запись 5

Записи таблицы соответствует термин кортеж, пришедший из теории множеств. Столбцы (поля записи) имеют имена. Имена столбцов — это атрибуты отношения. Список атрибутов отношения называют схемой отношения.

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

Замечание

Понятия «отношение» и «реляционная таблица» не совсем совпадают, подобно различию понятий «информация» и «данные», которыми эта информация представлена [3]. Пояснение дает следующий факт: мощность отношения определяется количеством встречаемых проявлений сущности, иначе говоря, неисчислимостью множества кортежей, тогда как количество сток в реляционной таблице каждый раз конечно. Но в практике работы с базами данных и в литературе по базам данных эти два понятия обычно смешиваются, и реляционные таблицы также называют просто «отношениями». С одной стороны, указанные различия часто находятся за рамками рассмотрения, с другой — всегда можно утверждать, что любой реляционной таблицей задано определенное отношение (пусть даже и не совпадающее с исходным). Из контекста почти всегда становится ясным, о чем идет речь.

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

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

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

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

Все названные понятия – таблицы (отношения) с их именами, поименованные столбцы (атрибуты), связи входят в понятие структуры БД. Также в структуру БД входит описание используемых типов данных.

Реляционная модель данных: теоретические основы

Реляционная модель данных: кем, когда и для чего создана

Реляционная модель данных — созданная Эдгаром Коддом логическая модель данных, описывающая:

  • структуры данных в виде (изменяющихся во времени) наборов отношений;
  • теоретико-множественные операции над данными: объединение, пересечение разность и декартово произведение;
  • специальные реляционные операции: селекция, проекция, соединение и деление;
  • специальные правила, обеспечивающие целостность данных.

Эдгар Франк «Тед» Кодд — (23 августа 1923 —18 апреля 2003) — британский учёный, работы которого заложили основы теории реляционных баз данных. Работая в компании IBM, он создал реляционную модель данных.

Реляционная структура базы данных

В 1970 издал работу «A Relational Model of Data for Large Shared Data Banks», которая считается первой работой по реляционной модели данных.

Реляционная модель данных — это способ рассмотрения данных, то есть предписание для способа представления данных (посредством таблиц) и для способа работы с таким представлением (посредством операторов). Она связана с тремя аспектами данных: структурой (объекты), целостностью и обработкой данных (операторы).

В 2002 журнал Forbes поместил реляционную модель данных в список важнейших инноваций последних 85 лет.

Цели создания реляционной модели данных:

  • обеспечение более высокой степени независимости от данных;
  • создание прочного фундамента для решения семантических вопросов и проблем непротиворечивости и избыточности данных;
  • засширение языков управления данными за счёт включения операций над множествами.

Структура данных в реляционной модели данных

Реляционная модель данных предусматривает структуру данных, обязательными объектами которой являются:

  • отношение;
  • атрибут;
  • домен;
  • кортеж;
  • степень;
  • кардинальность;
  • первичный ключ.
  • Отношение — это плоская (двумерная) таблица, состоящая из столбцов и строк:

    ID Фамилия Имя Должность г.р.
    1 Петров Игорь Директор 1968
    2 Иванов Олег Юрист 1973
    3 Ким Елена Бухгалтер 1980
    4 Сенин Илья Менеджер 1981
    5 Васин Сергей Менеджер 1978

    Атрибут — это поименованный столбец отношения.

    Домен — это набор допустимых значений для одного или нескольких атрибутов.

    Кортеж — это строка отношения.

    Степень определяется количеством атрибутов, которое оно содержит

    Кардинальность — это количество кортежей, которое содержит отношение.

    Первичный ключ — это уникальный идентификатор для таблицы.

    Соответствие между формальными терминами реляционной модели данных и неформальными:

    • отношение (формальный термин) — таблица (неформальный термин);
    • атрибут — столбец;
    • кортеж — строка или запись;
    • степень — количество столбцов;
    • кардинальное число — количество строк;
    • первичный ключ — уникальный идентификатор;
    • домен — общая совокупность допустимых значений.

    Отношения и их реализация в реляционной модели данных

    Отношение R на множестве доменов D1, D2, …, Dn — это подмножество декартова произведения этих доменов:

    R ⊆ D1 × D2 × … × Dn

    Пример 1. Определены домены: D1 — множество фамилий преподавателей, D2 — множество аудиторий, D3 — множество учебных групп, D4 — множество учебных дисциплин. Записать отношения: 1) закрепление преподавателей за учебными курсами; 2) расписание занятий в группах.

    Решение.

    1) закрепление преподавателей за учебными курсами:

    R ⊆ D1 × D4.

    Это отношение определяет множество преподавателей, ведущих множество учебных дисциплин.

    2) расписание занятий в группах:

    R ⊆ D2 × D3 × D4.

    Это отношение определяет множество аудиторий, в которых проводятся занятия по множеству учебных дисциплин для множества учебных групп.

    Свойства отношений:

    • уникальное имя отношения;
    • уникальное имя атрибута;
    • нет одинаковых кортежей;
    • кортежи не упорядочены сверху вниз;
    • атрибуты не упорядочены слева направо;
    • все значения атрибутов атомарные (нормализованное отношение).

    Таким образом, реляционная база данных — это набор нормализованных отношений. Для того, чтобы перейти к видам отношений, введём понятие переменной отношения. Переменная отношения — это именованный объект, значение которого может изменяться с течением времени. Переменная отношения в разное время — это различные таблицы базы данных, у которых разные строки, но одинаковые столбцы.

    Виды отношений:

    • именованное отношение;
    • базовое отношение;
    • производное отношение;
    • выражаемое отношение;
    • представление (view);
    • снимки (snapshot);
    • результат запроса;
    • промежуточный результат.

    Именованное отношение — это переменная отношения, определённая в СУБД (системе управления базами данных) посредством оператора CREATE (CREATE TABLE, CREATE BASE RELATION, CREATE VIEW, CREATE SNAPSHOT).

    Базовое отношение — это именованное отношение, которое не является производным. Существование базового отношения не зависит от существования других отношений.

    Производное отношение — это отношение, которое определено через другие именованные отношения. Производное отношение зависит от существования других — базовых — отношений.

    Выражаемое отношение — это отношение, которое можно получить из набора именованных отношений посредством некоторого реляционного выражения. Каждое именованное отношение является выражаемым отношений, но не наоборот. Примеры выражаемых отношений — базовые отношения, представления, снимки, промежуточные и окончательные результаты. Множество всех выражаемых отношений — это множество всех базовых и всех производных отношений.

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

    Снимки (snapshot) — это то же, что и представление, но с физическим сохранением и с периодическим обновлением.

    Результат запроса — это неименованное производное отношение. СУБД не обеспечивает постоянного существования результатов запросов. Для сохранения результата запроса его можно присвоить какому-либо именованному отношению.

    Промежуточный результат — это неименованное производное отношение, являющееся результатом подзапроса, вложенного в бОльшее выражение.

    Ключи отношения в реляционной модели данных

    Ключи отношения могут быть следующми:

    • суперключ;
    • потенциальный ключ;
    • первичный ключ;
    • внешний ключ;
    • суррогатный ключ.

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

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

    Суперключ — это атрибут или множество атрибутов, которое единственным образом идентифицирует кортеж данного отношения. Он может включать дополнительные атрибуты. Суперключ не обладает свойством неизбыточности.

    Потенциальный ключ — это подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и неизбыточности. Он обладает следующими свойствами. Уникальность: в таблице нет двух разных строк с одинаковыми значениями в нашем потенциальном ключе. Неизбыточность: нельзя убрать один из столбцов из ключа, так, чтобы он не потерял уникальности. В отношении может быть больше одного потенциального ключа.

    Первичный ключ (primary key, PK) — это один из потенциальных ключей отношения, выбранный в качестве основного ключа.

    Допустимо объявление одного и только одного первичного ключа. Атрибуты первичного ключа не могут принимать значения Null.

    Внешний ключ (foreign key, FK) — это ключ, объявленный в базовом отношении, который при этом ссылается на первичный того же самого или какого-то другого базового отношения.

    Суррогатный ключ — это служебный атрибут, добавленный к уже имеющимся информационным атрибутам отношения. Предназначение суррогатного ключа — служить первичным ключом отношения. Значение этого атрибута генерируется искусственно.

    Пример 2. Есть база данных сети аптек. В ней есть таблица «Аптеки», в которую занесены все аптеки сети, и есть таблица «Препараты». Кроме того, есть таблица «Наличие», в которую заносятся данные о наличии препаратов в каждой аптеке. В таблице наличие есть поля: «Аптека» (в ней — идентификаторы аптек), «Препарат» (в ней — идентификаторы препаратов), «Количество». Возникает проблема: в случае поступления в аптеку некоторого количества препарата можно не заметить, что в той же аптеке тот же препарат уже содержится в некотором количестве и сделать новую записись в таблице, в которой аптека и препарат будут повторяться. Как на уровне ключей избежать этой проблемы?

    Решение. Можно объявить первичным ключём таблицы «Наличие» составной ключ, состоящий из идентификатора аптеки и идентификатора препарата. Тогда в таблице невозможно повторение в разных записях сочетания аптеки и прапарата. Первичный ключ может быть не только простым, но и составным.

    Целостность данных в реляционной модели данных

    Понятия реляционной целостности:

    • определитель NULL;
    • целостность сущностей;
    • ссылочная целостность;
    • корпоративные ограничения целостности.

    Определитель NULL. Значение Null обозначает тот факт, что значение не определено. Null не принадлежит никакому типу данных и может присутствовать среди значений любого атрибута, определенного на любом типе данных. Двуместная «арифметическая» операция с Null даёт Null. Операция сравнения с Null даёт UNKNOWN.

    Целостность сущностей. Требование целостности сущности означает, что первичный ключ должен полностью идентифицировать каждую сущность, а поэтому в составе любого значения первичного ключа не допускается наличие неопределенных значений. Значение атрибута должно быть атомарным.

    Ссылочная целостность. Требование целостности по ссылкам состоит в том, что для каждого значения внешнего ключа, появляющегося в кортеже значения-отношения ссылающейся переменной отношения, либо в значении-отношении переменной отношения, на которую указывает ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть полностью неопределенным. Существуют правила удаления кортежа из отношения, на которое ведет ссылка.

    Ссылочная целостность: удаление кортежа. Существует три подхода удаления кортежа из отношения, на которое ведет ссылка.

    1. Ограничение удаления–Delete: Restrict.
    2. Каскадное удаление–Delete: Cascade.
    3. Установка значения NULL, перевод значения внешнего ключа в неопределённое состояние – Delete: Set NULL.

    Ограничение удаления. Запрещается производить удаление кортежа, для которого существуют ссылки. Сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа.

    Каскадное удаление. При удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.

    Установка значения NULL. При удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится полностью неопределенным.

    Пример 3. Есть база данных портала новостей. В ней есть таблица «Рубрики» (политика, экономика, спорт и т.д), есть таблица «Автора» (фамилии и имена авторов). Есть таблица «Тексты», в которой в каждой записи о тексте новости есть поля «Рубрика» (с идентификаторами рубрик из соответствующей таблицы) и «Автор» (с идентификаторами рубрик из соответствующей таблицы). Какими способами можно добиться, чтобы при удалении рубрики и автора была соблюдена ссылочная целостоность данных?

    Решение. Первый способ: установить запрет на удаление рубрики или автора из соответствующих таблиц, в случае, если в таблицы «Тексты» есть ссылки на эту рубрику или на этого автора. Второй способ: задать автоматическое удаление из таблицы «Тексты» записей, в которой фигурируют эта рубрика или этот автор. Третий способ: в случае удаления рубрики или автора из соответствующих таблиц в ссылающихся кортежах таблицы «Тексты» значения идентификатора этой рубрики или этого автора становятся неопределёнными (NULL).

    Как это делается на уровне языка запросов SQL — в материале SQL ALTER TABLE — изменение таблицы базы данных.

    Корпоративные ограничения целостности — это дополнительные правила поддержки целостности данных, определяемые пользователями или администраторами базы данных.

    Поделиться с друзьями

    Другие темы в блоке «Реляционные базы данных»

    Реляционная алгебра

    Основы проектирования базы данных — пример

    Создание базы данных SQL

    SQL ALTER TABLE — изменение таблицы базы данных

    SQL INSERT, UPDATE, DELETE — вставка, изменение и удаление данных

    SQL SELECT — запрос на выборку данных

    SQL JOIN — соединение таблиц базы данных

    Агрегатные функции SQL — SUM, MIN, MAX, AVG, COUNT

    SQL HAVING — получение данных с интересующими значениями

    SQL UNION — объединение результатов запросов

    Хранение информации – одна из важнейших функций компьютера. Одним из распространенных средств такого хранения являются базы данных.

    База данных — это файл специального формата, содержащий информацию, заданную определенным образом.

    Большинство баз данных имеют табличную структуру. Как мы знаем, в табличной структуре адрес данных определяется пересечением строк и столбцов.

    В базах данных столбцы называются полями, а строки –записями. Поля образуют структуру базы данных, а записи составляют информацию, которая в ней содержится.

    Простейшие базы данных можно создать, не прибегая к специальным программным средствам. Чтобы файл считался базой данных, информация в нем должна иметь структуру (поля) и быть форматирована так, чтобы содержимое соседних полей легко различалось. Простейшие базы данных можно создать в текстовом редакторе Блокнот, то есть обычный текстовый файл при определенном форматировании тоже может считаться базой данных.

    Существует два формата простейших баз данных.

    1. С заданным разделителем.

    2. С фиксированной длиной поля.

    Пример текстовой базы данных с разделителями в редакторе Блокнот. Разделителем является запятая.

    Та же текстовая база с фиксированной длиной полей

    Свойства полей. Типы полей.

    Поля – это основные элементы структуры базы данных.

    От свойств полей зависит, какие типы данных можно вносить в поле, а какие нет, а так же то, что можно делать с данными, содержащимися в поле.

    Например, данные, содержащиеся в поле Цена, можно просуммировать, чтобы определить итоговый результат. Суммировать данные, содержащиеся в поле Номер телефона, совершенно бессмысленно. Очевидно, что эти поля обладают разными свойствами и относятся к разным типам.

    Основным свойством любого поля является его длина, так же свойством любого поля является его имя. Разумеется, одна база данных не может иметь двух полей с одинаковым именем.

    Но кроме имени у поля есть еще свойство подпись.

    Подпись – это та информация, которая отображается в заголовке столбца.

    Разные типы полей имеют разное назначение и разные свойства.

    1. Основное свойство текстового поля – размер.

    2. Числовое поле служит для ввода числовых данных. Оно тоже имеет размер, но числовые поля бывают разными, например, для ввода целых чисел и для ввода действительных чисел. В последнем случае кроме размера поля задается также размер десятичной части числа.

    3. Поля для ввода дат и времени имеют тип Дата / время.

    4. Особый тип поля – Денежный. В этом случае компьютер изображает числа вместе с денежными единицами, различает рубли и копейки, доллары и центы, фунты и пенсы и т.д.

    5. В современных базах данных можно хранить не только числа и буквы, но и картинки, музыкальные клипы и видеозаписи. Поле для таких объектов называется полем объекта ОLE.

    СУБД Аccess 9х

    Системы управления базами данных (СУБД) – это программные средства, с помощью которых можно создавать базы данных, наполнять их и работать с ними.

    Исходное окно Access 9x.

    Шесть вкладок этого окна представляют шесть видов объектов, с которыми работает программа.

    Таблицы – основные объекты базы данных.

    Запросы – это специальные структуры, предназначенные для обработки данных базы. С помощью запросов данные упорядочивают, фильтруют, отбирают, изменяют, объединяют.

    Формы – это объекты, с помощью которых в базу вводят новые данные или просматривают имеющиеся.

    Отчеты – с их помощью данные выдают на принтер в удобном и наглядном виде.

    Макросы – эти операции с базой производятся, когда имеет смысл сгруппировать несколько команд в один макрос.

    Модули – это программные процедуры, написанные на языке Visual Basic

    Режимы работы с Access 9x.

    Стартовое окно базы, кроме шести вкладок для основных объектов, содержит три командные кнопки: открыть, конструктор, создать. С их помощью и выбирается режим работы с базой.

    Кнопка открыть открывает избранный объект. Если это таблица, то ее можно просмотреть, внести новые записи или изменить те, что были внесены ранее.

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

    Кнопка создать служит для создания новых объектов.

    Таблицы. Создание таблиц.

    Таблицы – основные объекты базы данных.

    Создание таблицы состоит в задании ее полей и назначении их свойств.

    Оно начинается со щелчка на кнопке создать в окне база данных.

    Есть несколько способов создания новой таблицы, отличающихся уровнем автоматизации.

    Режим таблицы

    Конструктор

    Мастер таблиц

    Импорт таблиц

    Связь с таблицами

    Самый "автоматичный" способ состоит в импорте таблиц из другой базы.

    В зависимости от обстоятельств из импортируемой таблицы может поступить структура полей, их названия и свойства, а также и содержимое базы.

    В тех случаях, когда речь идет о чужой таблице, которая находится на удаленном сервере и которую нельзя импортировать целиком, пользуются режимом связь с таблицами.

    Программа мастер таблиц ускоряет создание структуры таблицы.

    Пункт режим таблицы открывает заготовку, в которой все поля имеют формальные имена: Поле1, Поле2… и т. д. и один стандартный текстовой тип. Такую таблицу можно сразу наполнять информацией.

    Наиболее универсальный ручной метод представляет пункт конструктор. В этом режиме можно самостоятельно задать имена полей, выбрать их тип и настроить свойства.

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

    1. Строка состояния в нижней части окна называется полем номера записи. Это поле содержит кнопки перехода, с помощью которых можно перемещаться по таблице

    2. Каждая запись имеет слева кнопку – маркер записи. Щелчок на этом маркере выделяет всю запись и готовит ее к копированию, перемещению, удалению.

    3. Щелчок правой кнопкой на выделенной записи открывает контекстное меню для операций с записью.

    4. Маркер, находящийся в левом верхнем углу таблицы, это маркер таблицы. Щелчок на нем выделяет всю таблицу, а правый щелчок открывает контекстное меню для операций с таблицей в целом.

    5. Поля базы данных представлены в таблице столбцами.

    10. Структура реляционной базы данных

    Каждый столбец имеет заголовок, в котором записано имя поля или то значение, которое задано в свойстве подпись.

    6. Если содержимое поля не полностью умещается в ячейке таблицы, столбец можно расширять. При наведении указателя мыши на границу между столбцами указатель меняет форму. Теперь границу можно перемещать методом перетаскивания, а двойной щелчок, выполненный в этот момент, автоматически устанавливает ширину столбца равной длине самого длинного значения в данном поле.

    7. Щелчок на заголовке столбца выделяет весь столбец, а щелчок правой кнопкой на выделенном столбце открывает контекстное меню. Его пункты позволяют отсортировать записи по данному полю, вставить новый столбец, скрыть столбец и прочее.

    8. Скрытый столбец не исчезает из базы, а только перестает отображаться на экране. Чтобы снова его отобразить, надо навести указатель на границу между столбцами в том месте, где был скрыт столбец, и выполнить двойной щелчок.

    Запросы

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

    Поэтому доступ пользователей к базовым таблицам закрывают.

    Для доступа к данным есть другое средство – запросы. Для одной и той же таблицы можно создать множество разных запросов, каждый из которых сможет извлекать из таблицы лишь малую часть информации, но именно ту часть, которая в данный момент необходима.

    Выбор базовых таблиц для запроса.

    1. Создание запроса к базе начинается с открытия вкладки запросы диалогового окна база данных и щелчка на кнопке создать.

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

    3. Создание запроса в режиме конструктора начинают с выбора тех таблиц базы, на которых будет основан запрос.

    4. Выбор таблиц выполняют в диалоговом окне добавление таблицы. В нем отражаются все таблицы имеющиеся в базе.

    5. Выбранные таблицы заносят в верхнюю половину бланка запроса по образцу щелчком на кнопке добавить.

    6. В окне добавление таблицы обратите внимание на наличие трех вкладок: таблицы, запросы, запросы и таблицы. Они говорят о том, что запрос не обязательно основывать только на таблицах. Если ранее уже был создан запрос, то новый запрос можно основывать и на нем.

    Заполнение бланка запроса по образцу.

    Бланк запроса по образцу имеет две панели. На верхней панели расположены списки полей тех таблиц, на которых основывается запрос.

    Строки нижней панели определяют структуру запроса, в которой будут содержаться данные, полученные по результатам запроса.

    Строку Поле заполняют перетаскиванием названий полей из таблиц в верхней части бланка. Каждому полю будущей результирующей таблицы соответствует один столбец бланка запроса по образцу.


    к оглавлению

    Реляционные базы данных

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

    В реляционной модели база данных представляет собой централизованное хранилище таблиц, обеспечивающее безопасный одновременный доступ к информации со стороны многих пользователей. В строках таблиц часть полей содержит данные, относящиеся непосредственно к записи, а часть — ссылки на записи других таблиц. Таким образом, связи между записями являются неотъемлемым свойством реляционной модели.

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

    В реляционной модели достигается информационная и структурная независимость. Записи не связаны между собой настолько, чтобы изменение одной из них затронуло остальные, а изменение структуры базы данных не обязательно приводит к перекомпиляции работающих с ней приложений.

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

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

    MySQL — это реляционная СУБД, и настоящий учебный курс посвящен изучению именно реляционной модели. Но теория баз данных не стоит на месте. Появляются новые технологии, которые расширяют реляционную модель.

    Примеры реляционных СУБД: MySql, PostgreSql, Visual FoxPro, Access, Clarion, Jngres, Oracle.

    Последние версии реляционных СУБД имеют некоторые свойства объектно-ориентированных систем. Такие СУБД часто называют объектно-реляционными. Примером такой системы можно считать продукты Oracle 8.x.

    к оглавлению

    Знаете ли Вы, что релятивизм (СТО и ОТО) не является истинной наукой? — Истинная наука обязательно опирается на причинность и законы природы, данные нам в физических явлениях (фактах).

    Структура реляционной базы данных

    В отличие от этого СТО и ОТО построены на аксиоматических постулатах, то есть принципиально недоказуемых догматах, в которые обязаны верить последователи этих учений. То есть релятивизм есть форма религии, культа, раздуваемого политической машиной мифического авторитета Эйнштейна и верных его последователей, возводимых в ранг святых от релятивистской физики. Подробнее читайте в FAQ по эфирной физике.

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *