Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
рейтинг по инфе 2.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
368.88 Кб
Скачать

15.Реляционная бд

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

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

1. По технологии обработки данных базы данных делятся на централизованные и распределенные. Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная Система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Этот способ использования баз данных часто применяют в локальных сетях ПК. Распределенная база данных состоит из нескольких, возможно, пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).

2. По способу доступа к данным базы данных делятся на базы данных с локальным доступом и базы данных с удаленным (сетевым доступом). Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры таких систем: файл-сервер; клиент-сервер.

Файл-сервер

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

Клиент-сервер

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

16.Модель данных — это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы — поведение данных[1].

Каждая БД и СУБД строится на основе некоторой явной или неявной модели данных. Все СУБД, построенные на одной и той же модели данных, относят к одному типу. Например, основой реляционных СУБД является реляционная модель данных, сетевых СУБД — сетевая модель данных, иерархических СУБД — иерархическая модель данных и т. д.

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

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

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

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

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

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

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

Реляционные отношения (связи) между таблицами базы данных

Между двумя или более таблицами базы данных могут существовать отношения подчиненности. Отношения подчиненности определяют, что для каждой записи главной таблицы {master, называемой еще родительской} может существовать одна или несколько записей в подчиненной таблице {detail, называемой еще дочерней}.

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

- «один-ко-многим»,

- «один-к-одному»,

- «многие-ко-многим».

Отношение «один-ко-многим» имеет место, когда одной записи родительской таблицы может соответствовать несколько записей в дочерней таблице.

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

В широко распространенной нотации структуры баз данных IDEF1X отношение «один-ко-многим» изображается путем соединения таблиц линией, которая на стороне дочерней таблицы оканчивается кружком или иным символом. Поля, входящие в первичный ключ для данной ТБД, всегда расположены вверху и отчеркнуты от прочих полей линией.

Отношение «один-к-одному» имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице.

Данное отношение используют, если не хотят, чтобы таблица БД «не распухала» от второстепенной информации.

Отношение «многие-ко-многим» имеет место, когда:

а) записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;

б) записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.

18.В основе процесса создания базы данных лежат определенные принципы. Первый принцип заключается в необходимости исключать повторяющиеся (или лишние) данные, т. к. они занимают место и повышают вероятность возникновения ошибок и неполадок. Второй принцип касается важной роли правильных и полных данных. Если база данных содержит неправильные данные, все отчеты, в которых данные объединяются, будут также содержать неверные сведения. Это может привести к принятию неправильных решений на основе отчетов.

Правильная структура базы данных подразумевает:распределение данных по тематическим таблицам в целях сокращения объема повторяющихся данных;

добавление в Access данных, необходимых для объединения сведений, которые содержатся в таблицах;

возможность поддержания и отслеживания точности и целостности данных;

соответствие требованиям к обработке данных и созданию отчетов.

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

Этапы разработки базы данных:

1. Постановка задачи.

2. Разработка информационно-логической (инфологической) модели.

3. Выбор СУБД. Разработка логической модели базы данных.

4. Разработка программного обеспечения базы данных.

5. Заполнение базы рабочими данными и поддержание ее в актуальном состоянии.

1-й этап. Постановка задачи

На этом этапе определяются цели разработки: что должно получиться в результате. При этом следует получить ответы на множество вопросов:

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

примерные объемы информации

как часто появляются и изменяются данные?

будет ли система развиваться в дальнейшем?

должна ли она быть автономной или являться частью другой информационной системы?

каковы требования к защите информации от посторонних?

насколько серьезной должна быть защита от сбоев?

каковы требования по скорости доступа к информации?

какого рода информация должна храниться?

и т.д.

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

2-й этап. Разработка информационно-логической (инфологической) модели

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

Нередко для описания инфологической модели используются диаграммы "сущность-связь" (ER-диаграммы).

3-й этап. Выбор СУБД. Разработка логической модели базы данных

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

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

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

4-й этап. Разработка программного обеспечения базы данных

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

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

5-й этап. Заполнение базы рабочими данными и поддержание ее в актуальном состоянии

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

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

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

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

Поле МЕМО (Memo) — используется для хранения обычного текста или комбинаций алфавитно-цифровых знаков длиной более 255 знаков. Поля с этим типом данных в базах данных формата Access 2007 поддерживают также форматирование текста. Это единственный в Access тип данных, обеспечивающий встроенную поддержку отображения и хранения форматированного текста. Максимальный размер поля 1 Гбайт знаков или 2 Гбайт памяти (2 байта на знак) при программном заполнении полей, и 65 535 знаков при вводе данных вручную в поле и в любой элемент управления, связанный с этим полем.

Числовой (Number) — служит для хранения числовых значений (целых или дробных), предназначенных для вычислений, исключением являются денежные значения, для которых используется тип данных Денежный (Currency). Размер поля 1, 2, 4 и 8 байтов, или 16 байтов (если используется для кода репликации) зависит от типа чисел, вводимых в поле.

Дата/время (Date/Time) — используется для хранения значений даты и времени в виде 8-байтовых чисел двойной точности с плавающей запятой. Целая часть значения, расположенная слева от десятичной запятой, представляет собой дату. Дробная часть, расположенная справа от десятичной запятой, — это время. Хранение значений даты и времени в числовом формате позволяет выполнять различные вычисления с этими данными.

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

Счетчик (AutoNumber) — используется для уникальных числовых 4-байтовых значений, которые автоматически вводит Access при добавлении записи. Вводимые числа могут последовательно увеличиваться на указанное приращение или выбираться случайно. Обычно используются в первичных ключах.

Логический (Yes/No) — применяется для хранения логических значений, которые могут содержать одно из двух значений: Да/Нет, Истина/Ложь или Вкл/Выкл. (8 битов = 1 байт). Используется 1 для значений Да и 0 для значений Нет. Размер равен 1 биту.

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

Чтобы в Access просматривать эти изображения, необходимо, чтобы на компьютере, использующем базу данных, был зарегистрирован OLE-сервер (про-грамма, поддерживающая этот тип файлов). Если для данного типа файлов OLE-сервер не зарегистрирован, отображается значок поврежденного изображения.

Гиперссылка (Hyperlink) — применяется для хранения ссылок на Web-узлы (URL-адреса), на узлы или файлы интрасети или локальной сети (UNC-адреса — стандартного формата записи пути), а также на узлы или файлы локального компьютера. Кроме того, можно использовать ссылку на объекты Access, хранящиеся в базе данных. Может хранить до 1 Гбайт данных.

Вложение (Attachment) — используется для вложения в поле записи файлов изображений, электронных таблиц, документов, диаграмм и других файлов поддерживаемых типов точно так же, как в сообщения электронной почты. Вложенные файлы можно просматривать и редактировать в соответствии с заданными для поля параметрами. Эти поля не имеют ограничений, связанных с отсутствием зарегистрированных OLE-серверов. Более рационально используют место для хранения, чем поля с типом данных Поле объекта OLE (OLE Object), поскольку не создают растровые изображения исходного файла. Максимальная длина поля для сжатых вложений — 2 Гбайт, для несжатых — примерно 700 Кбайт в зависимости от степени возможного сжатия вложения.

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

Мастер подстановок (Lookup Wizard) или Подстановка и отношения (Lookup & Relationship) — вызывает мастера подстановок, с помощью которого можно создать поле, позволяющее выбрать значения из списка, построенного на основе значений поля другой таблицы, запроса или фиксированного набора значений. Такое поле отображается как поле со списком. Если список построен на основе поля таблицы или запроса, тип данных и размер создаваемого поля определяется типом данных и размером привязанного столбца; если на основе набора значений — размером текстового поля, содержащего значение. Кроме того, мастер подстановок позволяет определить связь таблиц и включить проверку связной целостности данных.

21.Для большинства типов данных характерно свойство Подпись (Caption). С помощью этого свойства можно задать названия полей таблицы, которые выводятся в различных режимах (в надписях, присоединенных к элементам управления формы, в заголовке столбца в режиме Таблицы; в строке заголовка в режиме Формы; в заголовке отчета, выводящемся в режиме Предварительного просмотра; текст, который выводится в элементе управления). Поле может содержать до 2048 символов.

Кроме того, для большинства типов данных существует свойство Обязательное поле (Required), которое определяет необходимость ввода данных в это поле.

Свойство Формат поля (Format) указывает формат отображения данных из поля в режиме Таблицы. Для определения формата полей текстового типа используются специальные символы форматирования. Для числовых полей значение формата можно выбрать из раскрывающегося списка. Для логических полей можно выбрать из списка следующие варианты: Да/Нет (Yes/No), Истина/Ложь (True/False), Вкл/Выкл (On/Off). (Форматы полей мы будем подробно рассматривать в разд. "Форматы отображения данных" этой главы.)

С помощью свойства Маска ввода (Input Mask) указывается маска, позволяющая автоматизировать проверку ввода символов в поле. Она применяется к таким полям, как номер телефона, дата и т. д. Задавать маску ввода можно вручную или с помощью Мастера. (К маскам ввода мы еще вернемся в разд. "Форматы отображения данных" этой главы.)

Свойство Индексированное поле (Indexed) определяет, является ли данное поле индексированным, и если является, то в каком режиме. Существуют два режима индексирования: Совпадения допускаются (Duplicates OK) и Совпадения не допускаются (No duplicates). В первом случае поле может содержать повторяющиеся значения, во втором — нет.

Для большинства типов полей определено свойство Значение по умолчанию (Default Value). В этом свойстве указывается значение, автоматически добавляемое в поле для каждой новой записи, если это значение не введено пользователем.

22.Существует три вида связей между таблицами. Вид создаваемой связи зависит от того, как заданы связанные столбцы.

Связи "один ко многим"

Связь "один ко многим" - наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы Б, однако каждой строке таблицы Б может соответствовать только одна строка таблицы А. Например, между таблицами "Издатели" и "Книги" установлена связь "один ко многим": каждый из издателей может опубликовать множество книг, однако каждая книга публикуется лишь одним издателем.

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

В Microsoft Access сторона связи "один ко многим", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности.

Связи "многие ко многим"

При установлении связи "многие ко многим" каждой строке таблицы А может соответствовать множество строк таблицы Б и наоборот. Такая связь создается при помощи третьей таблицы, называемой соединительной, первичный ключ которой состоит из внешних ключей, связанных с таблицами А и Б. Например, между таблицами "Авторы" и "Книги" установлена связь вида "многие ко многим", задаваемая с помощью связей вида "один ко многим" между каждой из этих таблиц и таблицей "АвторыКниг". Первичный ключ таблицы "АвторыКниг" - это сочетание столбцов "ИД_автора" (первичного ключа таблицы авторов) и "ИД_книги" (первичного ключа таблицы заголовков).

Связи "один к одному"

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

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

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

Чтобы изолировать часть таблицы по соображениям безопасности.

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

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

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

Создание связей между таблицами

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

Целостность данных

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

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

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

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

23.Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.

В Access может быть создано несколько видов запроса:

запрос на выборку — выбирает данные из одной таблицы или запроса или нескольких взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Формирование записей таблицы результата производится в соответствии с заданными условиями отбора и при использовании нескольких таблиц путем объединения их записей;

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

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

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

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

Форма предоставляет возможности для:

ввода и просмотра информации базы данных;

изменения данных;

печати;

создания сообщений.

Виды форм.

В Access можно создать формы следующих видов:

форма в столбец или полноэкранная форма;

ленточная форма;

табличная форма;

форма главная/подчиненная;

сводная таблица;

форма-диаграмма.