Субд. основные понятия бд

30.07.2019 Принтеры и сканеры

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

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

Размещено на http://www.allbest.ru/

БЕЗОПАСНОСТЬ СИСТЕМ БАЗ ДАННЫХ

Л екция 1. Основные понятия систем базы данных

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

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

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

Классификация СУБД

I. По модели данных.

1. Иерархические;

2. Сетевые;

3. Реляционные;

4. Объектно-ориентированные;

5. Обьектно-реляционные;

II. По способу доступа БД.

1. Файлсерверный;

2. Клиентсерверный;

3. Встраиваемые.

Основные функции СУБД

1. Непосредственное управление файлами БД .

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

2. Управление буферами оперативной памяти .

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

3. Управление транзакциями .

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

4. Журнализация .

Одним из основных требований к СУБД является надёжность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматривают 2 вида аппаратных сбоев: 1) мягкий сбой, который можно трактовать как внезапную остановку компьютера; 2) жесткий сбой, который можно трактовать внезапным сбоем компьютера, который характеризуется потерей частью информации на внешних носителях. Журнал - особая часть БД, недоступная пользователям СУБД и поддерживаемая с особой тщательностью, в которую поступают записи обо всех изменениях в основной части БД.

5. Поддержка языков БД.

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

Типовая организация современной СУБД

1. Ядро .

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

2. Компилятор языка .

Основной функцией компилятора языка является компиляция операторов языка, под некоторой управляемой программой.

3. Утилиты БД .

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

Лекция 2. Введение в реляционную модель данных

Реляционный подход к организации БД был заложен в конце 1960-х годов Эдгаром Коддом. В современности данных подход является одним из распространенных.

Достоинствами реляционного подхода являются:

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

Основные понятия реляционных баз данных

1. Тип данных;

3. Атрибут;

4. Кортеж;

5. Отношение;

6. Первичный ключ.

Тип данных

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

Домен

В общем виде домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена и произвольного логического выражения, применяемого элементу этого типа данных (ограничение домена). Элемент будет являться элементом домена только в том случае, если вычисления ограничения домена дает результат ИСТИНА. С каждым доменом связываются Имя уникальной среди имен всех доменов и соответствующей базе данных.

Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения

Заголовком схемы отношения r отношение (Hr) называется конечное множество , где A - имя атрибута, Т обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке были различны.

Кортежем tr соответствующим заголовку Hr называется множество упорядоченных триплетов вида: , где v должен являться допустимым значением типа данных или домена.

Телом Br называется произвольное множество кортежей tr.

Значением Vr называется пара множества Hr и Br. Заголовок и тело данных.

Первичный ключ

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

Фундаментальные свойства отношений

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

2. Отсутствие упорядоченности кортежей.

3. Отсутствие упорядоченности атрибутов.

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

Типы данных

Целые числа Строки символов Деньги Номера отделов

Домены (кроме первичного ключа)

Перв.ключ и номера проп-ов. Имена Размеры зарплат Номера отделов

Атрибуты

Лекция 3. Реляционная алгебра и нормализация

Базисные средства манипулирования реляционными данными составляющие определяются 2 базовых механизма манипулирования реляционными данными.

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

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

В состав теоретико-множественных операций входят:

объединение

пересечение

разность

прямое произведение

Специальные операции:

ограничение отношений

проекция отношений

соединение отношений;

деление отношений;

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

Общая интерпретация рел. операций:

1) При выполнении операции объединения двух отношений, производится отношение, включающих все кортежи, входящее в хотя бы одно из отношений операндов.

2) Операция пересечений двух отношений производит отношение, включающее все кортежи, входящие в оба отношений операндов.

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

4) При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются... (сцеплением) кортежей первого и второго операнда.

5) Результатом ограничения отношений по некоторому условию является отношение, включающее кортежи отношения операнда, удовлетворяющие этому условию.

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

7) При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются контетенацией (сцеплением) кортежей первого и второго отношения и удовлетворяет условию.

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

9) Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

Особенности теоретико-множественных операций реляционной алгебры. база данный компиляция реляционный

Понятие совместимости отношений об объединений

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

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

Специальные реляционные операции

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

a comp-on b - ....

a comp-on const - литерально заданная константа

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

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

Операция деления отношений. Результатом деления а на b являются унарные отношения,состоящий из кортежей v таких что в отношении кортежей множество {w}включает множество значений...

Проектирование реляционных БД

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

вторая - как обеспечить эффективность выполнения запросах в базе данных. Каким образом, имея особенности в конкретной субд расположить данные во внеш памяти и создание доп стр-р например индексов будет требоваться. Это проблема - проблема физ. проектирования бд.

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

1 норм форма

2 норм форма

3 норм форма

Нормальная форма Бойса-Кодде

4 нормальная форма

5 нормальная форма или нормальная форма проекции соединения.

Основные свойства норм форм:

каждая след нф в некотором смысле лучше предыдущей.

при переходе к след нф свойства предыдущих нф сохраняются.

Определение 1. Функциональная зависимость в отношении r атрибут y функционально зависит от атрибута х только в том случае, если каждому значению х соответствует в точности одно значение у.

Полная функциональная зав-ть r(x) r(y) если y не зависит функционально от любого точного значения х.

Транзитивная зависимость если существует атрибут Z, что имеются функциональные зависимости...

Неключевой атрибут - любой атрибут отношения, невходящий в состав первичного ключа.

Взаимнонезависимые атрибуты (2 или более) - если не один из этих атрибутов не является функционально зависимым от других.

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

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

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

СОТРУДНИК

ОТДЕЛ

ТЕЛЕФОН

БУХГАЛТЕР

БУХГАЛТЕР

СНАБЖЕНЕЦ

Лекция 4. Операторы языка SQL

SELECT служит для получения любого количества данных из одной или нескольких таблиц. В общем случае результатом выполнения предложения SELECT ЯВЛЯЕТСЯ ДРУГАЯ ТАБЛИЦА К этой новой таблице вновь может быть применена операция SELECT И так далее

1) Самостоятельная команда на получение и вывод строк в таблице, сформированной из столбцов и строк одной или нескольких таблиц представлений

2) как элемент WHERE или HAVING условия. Это называется ложным запросом

3) фраза выбора в командах CREATE VIEW DECLARE CURSOR INSERT

4) Средство присвоения глобальным переменным значений и строк сформированной таблицы. INTO

Имеет следующий формат.

SELECT [ выбрать данные и выполнить перед их выводом преобразования в соответствии с указанными выражениями и или функциями

Элемент, -\\-} FROM перечисление.......

базовая таблица | представления],

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

Фраза]

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

HAVING - условие фильтрации по группам.

5. Простая выборка.

* служит псевдонимом для

выбор конкретного поля

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

Выборка вычисляемых значений.

Фраза SELECT может содержать не только перечень столбцов, но и выражение.

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

WHERE P1 = 6 AND P2 = 8

Можно использовать BETWEEN для выборки значений в интервале.

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

Использование оператора IN.

IN (3, 4, 5) <=> P1= 3 OR P1 = 4 OR P1 = 5

Использование LIKE

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

Заменяет любой одиночный символ.

% - заменяет любую последовательность из n символов.

Вовлечение неопределенного значения (NULL). Для проверки неопределенного значения используется IS.

Выборка с упорядочиванием. Для сортировки данных используется оператор ORDER BY. Можно упорядочить по возрастанию по умолчанию. Ключевое слово ASC позволит сортировать по убыванию.

Агрегирование данных

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

COUNT - количество значений в столбце

SUM - сумма значений в столбце

AVG - среднее значение в столбце

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

А COUNT* служит для подсчета всех строк в таблице с дубликатами.

Если не используется фраза GROUP BY то в SELECT можно включать лишь SQL функции или выражения, содержащие такие функции.

Фраза GROUP BY

Инициирует перекомпоновку указанных во FROM таблицы по группам, каждая из которых имеет одинаковые значения в столбце, указанном в GROUP BY. Данная фраза не предполагает сортировки.

Фраза HAVING играет такую же роль для групп, что и WHERE для строк. Те используется для исключения групп.

Размещено на Allbest.ru

Подобные документы

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

    курсовая работа , добавлен 07.12.2010

    Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.

    курсовая работа , добавлен 28.01.2014

    Понятие базы данных, её структура. Общие принципы хранения информации. Краткая характеристика особенностей иерархической, сетевой и реляционной модели организации данных. Structured Query Language: понятие, состав. Составление таблиц в Microsoft Access.

    лекция , добавлен 25.06.2013

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

    курсовая работа , добавлен 22.12.2014

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

    реферат , добавлен 10.01.2011

    Формы представляемой информации. Основные типы используемой модели данных. Уровни информационных процессов. Поиск информации и поиск данных. Сетевое хранилище данных. Проблемы разработки и сопровождения хранилищ данных. Технологии обработки данных.

    лекция , добавлен 19.08.2013

    Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.

    курсовая работа , добавлен 10.03.2016

    Классификации баз данных по характеру сберегаемой информации, способу хранения данных и структуре их организации. Современные системы управления базами данных и программы для их создания: Microsoft Office Access, Cronos Plus, Base Editor, My SQL.

    презентация , добавлен 03.06.2014

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

    контрольная работа , добавлен 16.11.2010

    Структура и функции системы управления базами данных (СУБД). Управление хранением данных и доступом к ним. Защита и поддержка целостности данных. Надежность хранения данных во внешней памяти. Классификация СУБД по способу доступа к базе данных.

Работа с СУБД Access

Лабораторная работа №1. Знакомство с СУБД Access

Цель работы: освоение приемов работы в процессе создания базы данных в MS Access (анализ предметной области, анализ данных, построение модели данных, создание структуры и заполнение таблиц БД).

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

Основой многих информационных систем (прежде всего, информационно-справочных систем) являются базы дан­ных.

База данных - совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ, предназначенная для длительного хранения во внешней памяти ЭВМ, постоянного обновления и ис­пользовании.

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

Классификация по способу хранения данных делит БД на централизованные и распределенные.

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

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

Слово "реляционная" происходит от английского relation - отношение. Отношение - ма­тематическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы.

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

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

Структурными составляющими таблицы являются запи­си и поля.

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

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

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

Для строчного представления структуры таблицы приме­няется следующая форма:

Имя_таблицы (ИМЯ_ПОЛЯ_1, ИМЯ_П0ЛЯ_2, ....)

Подчеркиваются имена полей, составляющие главный ключ.

Каждое поле таблицы имеет определенный тип.

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

Программное обеспечение, предназначенное для работы с балами данных, называется системой управления ба­зами данных - СУБД .

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

Основные действия, которые пользо­ватель может выполнять с помощью СУБД:

Создание структуры БД;

Заполнение БД информацией;

Изменение (редактирование) структуры и содержания БД;

Поиск информации в БД;

Сортировка данных;

Защита БД;

Проверка целостности БД.

Вывод

База данных - организованная совокупность данных, предназначенная для длительного хранения но внешней па­мяти ЭВМ, регулярного обновления и использования.

База данных представляет собой информационную мо­дель определенной предметной области.

Классификация баз данных возможна по характеру ин­формации: фактографические и документальные БД; по структуре данных: иерархические, сетевые, реляционные БД; по способу хранения данных: централизованные и рас­пределенные БД.

Реляционные БД (РБД) - наиболее распространенный тип БД, использующий табличное представление данных.

Реляционная база данных - база данных, основанная на реляционной модели.

Основные понятия организации данных в РБД: таблица, запись, поле, тип поля, главный ключ таблицы.

СУБД (система управления базами данных) - програм­мное обеспечение для работы с базами данных.

Основные понятия БД

Поле представляет собой минимальный поименованный элемент информации, которая хранится в БД и рассматривается как единое целое.

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

Определение 1

Запись – это совокупность полей, которые соответствуют одному объекту. Например, абоненту АТС будет соответствовать запись из 3 полей.

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

Типы полей

Все данные в БД делятся по типам. Информация в полях, которые принадлежат 1 столбцу (домену), имеет одинаковый тип. Подобный подход дает возможность ЭВМ выполнять контроль вводимой информации.

К основным типам полей БД относятся:

  • символьный (текстовый) - в поле по умолчанию могут храниться до 256 символов;
  • числовой, содержащий числовые данные разных форматов, которые используются для проведения расчетов;
  • дата/время - содержит значения даты и времени;
  • денежный - использует денежные значения и числовые данные (до 15 знаков целой части и 4 знаков дробной части);
  • примечание - способно содержать до $2^{16}$ символов ($2^{16} = 65536$);
  • счетчик - специальное числовое поле, в котором каждой записи присваивается уникальный для нее номер;
  • логический - хранит 1 из 2 значений: true или false;
  • объект OLE (Object Linking and Embedding - технология вставки и связывания объекта) – в поле может содержаться любой объект: электронная таблица, текстовый документ, рисунок, звукозапись или другие данные в двоичном формате, внедренные или связанные с СУБД;
  • гиперссылка - содержит строку, которая состоит из букв и цифр и представляет адрес сайта или веб-страницы;
  • мастер подстановок - создает поле, в котором предлагает выбрать значения из списка или уже содержит набор постоянных значений.

Свойства полей БД

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

К основным свойствам полей таблиц БД в СУБД Microsoft Access относятся:

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

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

Объекты СУБД

СУБД обладает своей собственной структурой и состоит из основных объектов, которые используются при ее создании и работе с ней.

Таблица как объект СУБД

Создание таблиц:

  1. Откроем окно БД (рис. 3). Левая панель окна содержит элементы управления для вызова всех 7 типов объектов программы. Создание таблицы начнем с выбора элемента управления Таблицы.
  1. Правая панель содержит список имеющихся в БД таблиц и элементы управления созданием новой таблицы. Для создания таблицы ручным способом используется значок Создание таблицы в режиме конструктора.
  2. При создании таблицы рекомендуется задавать ключевое поле, что поможет организовать связи между таблицами. Чтобы задать ключевое поле необходимо щелкнуть на его имени правой кнопкой мыши и в открывшемся контекстном меню выбрать команду Ключевое поле.
  3. По окончании создания структуры таблицы бланк закрывается, таблица сохраняется в поле запроса с указанием имени, после чего она становится доступна в основном окне БД, откуда ее и можно открыть при необходимости.
  4. Созданная таблица открывается в окне БД двойным щелчком по ее значку. Новая таблица содержит только названия столбцов, которые характеризуют ее структуру. При заполнении таблицы курсор ввода устанавливается в необходимую ячейку указателем мыши. Переход к следующей ячейке выполняется нажатием клавиши TAB. Переход к очередной записи осуществляется после заполнения последней ячейки.

Нижняя часть таблицы содержит Панель кнопок перехода, которой удобно пользоваться при перемещении по таблице с большим числом записей. Для начинающих пользователей Microsoft Access является неудобством то, что данные не всегда могут помещаться целиком в ячейках таблицы. Ширину столбцов можно изменять путем перетаскивания их границ. Используют также автоматическое форматирование столбцов «по содержимому», при котором указатель мыши устанавливается на границе между столбцами (в строке заголовков столбцов), после того, как он сменит форму, нужно выполнить двойной щелчок.

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

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

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

Создание межтабличных связей

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

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

А также эта связь позволяет:

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

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

Замечание 1

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

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

Файл – информация, хранимая на электронном носителе после завершения отдельных заданий и рассматриваемая в процессе обработки как единое целое. Файл имеет имя и требует некоторого объема памяти носителя, в качестве которого может выступать дискета, винчестер, компакт-диск (CD).

Поле – столбец файлового документа (таблицы). Имя поля часто называют атрибутом.

Домен – совокупность значений одного поля.

Универсум – совокупность значений всех полей.

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

Запись логическая – поименованная совокупность данных, рассматриваемая пользователем как одно целое.

Запись физическая (совокупность данных записываемых/считываемых одним блоком) характеризует расположение данных в физической памяти ПК.

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

Выделенный ключ – ключ, явно перечисленный вместе с реляционной схемой. В противном случае говорят о неявном ключе. Вводят и такие понятия как возможный ключ (ключ-кандидат), если любой из нескольких наборов полей может быть принят за составной ключ. Один из выделенных ключей называют первичным. При работе с несколькими связанными таблицами говорят о родительском ключе главной таблицы и внешнем ключе подчиненной таблицы. Иногда ключ называют идентификатором – атрибутом, значения которого однозначно определяют экземпляры объекта предметной области.

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

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

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

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

Архитектура – разновидность (обобщение) структуры, в которой какой-либо элемент может быть заменен на другой элемент, характеристики входов и выходов которого идентичны первому элементу. Понятие "принцип открытой архитектуры" используется при построении компьютера. Этот принцип означает, что вместо принтера одной марки (например, Epson) к компьютеру может быть подключен принтер другого типа (например, Hewlett Packard).

Безопасность – защита от преднамеренного или непреднамеренного нарушения секретности, искажения или разрушения.

Блокировка – неделимая операция, которая позволяет только одному процессу иметь доступ к совместно используемому ресурсу.

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

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

Внутренняя схема – описание данных на физическом уровне.

Время доступа – промежуток времени между выдачей команды записи (считывания) и фактическим получением данных.

Время отклика – промежуток времени от момента запроса к БД до фактического получения данных.

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

Доступ – операция поиска, чтения данных или записи их.

Задание (работа) – программа или совокупность программ и преобразуемые этими программами данные.

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

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

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

Кортеж – совокупность полей или запись (строка).

КОДАСИЛ (CODASIL) – набор стандартов для сетевых баз данных.

Логический – определение, относящееся к представлению или описанию данных, не зависящему от запоминающей среды или вычислительной системы, однако "привязанное" к выбранной СУБД.

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

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

Многозначная зависимость (MV-зависимость, зависимость 1:М) – для подсхем X, Y, Z, принадлежащих схеме R, Z = R – (XY) и кортежей t2(X) = t1(Х) и t3(Y) = t1(Y) справедливо t3(Z) = t1(Z) и t3(Z) = t2(Z).

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

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

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

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

Объектно-ориентированное программирование – методология программирования, основанная на представлении программ в виде связанной совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию по наследованию.

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

Отношение r на множествах (доменах) S1, ..., Sn – подмножество декартова произведения S,& ... &Sn. Понятие "отношение" является основным в реляционных БД. Пусть имеется таблица с двумя полями S1 и S2 по два значения в каждом (S1 = {al, а2} и S2 = {bl, b2}, т. е. в каждом домене по два значения). "Полная" таблица имеет четыре возможных записи (al, bl; al, b2; а2, М; а2, b2), которые и образуют декартово произведение. Отношением является и часть этой таблицы (например, al, bl; а2, b1). Отношение может быть и составным: r – (r1, ..., rn), составленным, например, из нескольких связанных таблиц.

Подсхема – описание логического представления пользователя данной группы. Иными словами, это схема отдельного пользователя БД, если их несколько. Из подсхем может быть составлена схема БД (для всех пользователей). Нетрудно видеть, что при наличии одного пользователя подсхема является схемой.

Программа – полное и точное описание алгоритма на некотором формальном языке программирования.

Процедура – некоторая подпрограмма.

Распределенная база данных (РЕД) – единая БД, представленная в виде отдельных (возможно, избыточных и перекрывающихся) разделов на разных вычислительных средствах.

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

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

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

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

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

Системный журнал – журнал регистрации всех изменений БД.

Словарь данных – набор обобщенных описаний данных БД, обеспечивает логически централизованное хранение метаданных.

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

Структура – совокупность элементов и нх связей.

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

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

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

Функциональная зависимость (F-зависимость, зависимость 1:1): схема Y функционально зависит от X, если для кортежей t,(X) = t2(X), справедливо t1(Y) = t2(Y), причем схемы X и Y могут принадлежать схеме R.

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

Хранилище данных – предметно-ориентированный, интегрированный, привязанный ко времени и неизменный набор данных, предназначенный для поддержки принятия решений.

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

Элемент данных – наименьшая единица данных, имеющая смысл при описании информации; наименьшая единица поименованных данных.

Экземпляр – отдельный экземпляр объекта, записи, элемента данных.

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

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

Язык описания данных (ЯОД) – предназначен для описания данных на концептуальном, логическом и физическом уровнях на основе соответствующих схем. Речь идет о командах по формированию структуры (шапки) таблиц и связей между ними. Эти операции могут быть обеспечены визуальным языком программирования QBE или директивным языком программирования SQL.

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

Следует отметить, что три группы операций с БД (описание, манипулирование, запрос) совмещены в языке SQL, а в некоторых СУБД – и в языке QBE.

Исходным элементом базы данных является таблица, структурные составляющие которой – поле и запись. Можно выделить две разновидности структуры таблиц: линейную и нелинейную. В линейной структуре поля располагаются последовательно друг за другом в произвольном порядке (табл. 1.11). В силу произвольности порядка для данной, конкретной реализации следует закрепить определенный вариант, называемый схемой пользователя.

Таблица 1.11

Таблица данных о кафедре

В нелинейной структуре выделяется понятие "агрегат", являющийся как бы таблицей в таблице (табл. 1.12). Агрегат может быть двух видов: вектор и повторяющиеся поля. Возможности реализации структур таблиц зависят от выбранной модели данных (МД). Реляционная и иерархическая модели данных реализуют только линейную структуру, тогда как сетевая и объектно-ориентированная модели позволяют использовать и нелинейную структуру. Особенности конкретной реализации определяются классами БД и СУБД.

Таблица 1.12

Таблица данных о студентах

База данных – это организованная структура, предназначенная для хранения информации. В современных базах данных хранятся не только данные, но и информация.

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

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

В мире существует множество систем управления базами данных. Несмотря на то, что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД. В качестве такого учебного объекта можно взять СУБД Microsoft Access, входящую в пакет Microsoft Office.

Состав СУБД

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

Язык манипулирования данными (ЯМД) – язык для выполнения операций над данными, позволяющий менять их строение.

Для различных СУБД реализация этих уровней языков может быть различной. В одних случаях ЯОД и ЯМД требует составления пользователем программы полностью “вручную”, в других (что отражает современную тенденцию) в СУБД присутствуют средства визуальной (зримой, наглядной) разработки программ. Для этого в современных СУБД имеются редакторы экранных форм, отчетов. “Кирпичиками” (инструментами) таких редакторов являются поля различных видов (поля ввода, поля вывода, вычисляемые поля), процедуры обработки различных типов (формы ввода, таблицы, отчеты, запросы). На основании созданных пользователем объектов программы – генераторы формируют программный код на языке конкретной машины или на промежуточном языке.

Структура простейшей базы данных

Если даже в базе нет никаких данных (пустая база), то это все равно полноценная база данных. Этот факт имеет методическое значение. Хотя данных в базе и нет, но информация в ней все-таки есть – это структура базы, которая определяет методы занесения данных и хранения их в базе. Простейший «некомпьютерный» вариант базы данных – деловой ежедневник, в котором каждому календарному дню выделено по странице. Даже если в нем не записано ни строки, он не перестает быть ежедневником, поскольку имеет структуру, четко отличающую его от записных книжек, рабочих тетрадей и прочей писчебумажной продукции.

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

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

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

Поля базы данных не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.

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

Тип поля – определяет тип данных, которые могут содержаться в данном поле.

Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.

Формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю.

Маска ввода – определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).

Подпись – определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).

Значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).

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

Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.

Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы.

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

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

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

Типы данных

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

Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).

Числовой – тип данных для хранения действительных чисел.

Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он храниться в другом месте базы данных, а в поле храниться указатель на него, но для пользователя такое разделение заметно не всегда.

Дата/время – тип данных для хранения календарных дат и текущего времени.

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

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

Логический - тип для хранения логических данных (могут принимать только два значения, например Да или Нет).

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

Безопасность баз данных

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

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

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

Режимы работы с базами данных

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

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

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

Объекты базы данных

Таблицы

Таблицы – это основные объекты любой базы данных. Во-первых, в них хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).

Запросы

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

Формы

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

Отчеты

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

Страницы

Это специальные объекты баз данных, реализованных в последней версии СУБД Microsoft Access (Access 2000). Правда, более корректно их называют страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, посволяют работать также с базами данных Microsoft SQL Server.

Макросы и модули

Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка програмирования, в данном случае, языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.