Объекты предметной области и связи между ними. Объекты и отношения между ними

Все объекты активны.

Пользовательское управление группами окон.

Типы окон, ориентированные на задачу.

Мгновенная фиксация изменений.

Динамические иконки, отражающие состояние объекта.

Прямое манипулирование.

Объединение объектов.

Композиция объектов и контейнеры.

Множественный согласованный просмотр объектов.

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

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

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

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

Связь (отношения) между объектами . Любой объект тем или иным образом взаимодействует с другими объектами. Во многих случаях взаимоотношения между объектами могут быть описаны как связь определенного типа.

Типы связей между объектами .

Наиболее общими типами отношений являются наборы (Collection), объединения (Constraints), и композиции (Composites).

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

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

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

Еще один распространенный тип отношений между объектами – контейнер.

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

Рассмотренные выше аспекты обуславливают необходимость отнесения каждого объекта к тому или иному типу (классу) объектов. Объекты одного типа имеют аналогичные свойства и поведение.

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

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

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

Основы информационных систем. Базы данных.

План.

1. Основные понятия.

2. Классификация баз данных.

3. Модели данных.

4. Информационные объекты и связи.

5. Проектирование баз данных.

6. Состав файла БД. Архитектура СУБД.

7. Связывание таблиц. Целостность данных.

8. Виды запросов. Структура запросов.

Основные понятия.

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

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

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

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

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

· ввод данных об объектах некоторой предметной области;

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

· дополнение, удаление, изменение данных;

· сортировка, выборка данных по запросам пользователей;

· выполнение специфических для данной предметной области преобразований информации;

· предоставление пользователям удобного интерфейса; обобщение данных и составление отчетов.

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

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

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

Классификация баз данных.

По технологии обработки данных БД подразделяются на централизованные и распределенные.

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

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

По способу доступа к данным БД распределяются на локальный и удаленный (сетевой) доступ.

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

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

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

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

Модели данных.

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

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

К основным моделям представления данных относятся:

· Иерархическая

· Сетевая

· Реляционная

· Постреляционная

· Многомерная

· Объектно-ориентированная

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

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

Каждая реляционная таблица должна обладать следующими свойствами:

· один элемент таблицы - один элемент данных;

· каждый столбец таблицы содержит однородные по типу данные (целочисленный, числовой, текстовый, и т.д.);

· каждый столбец имеет уникальное имя;

· число столбцов задается при создании таблицы;

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

· записи не должны повторяться;

· количество записей в отношении не ограничено.

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

Для заданных произвольных конечных множеств М 1 , М 2 , ..., M N множество всевозможных наборов вида (μ 1 , μ 2 , …, μ Ν), где μ 1 Є М 1 , μ 2 Є М 2 , …, μ Ν Є M N называют их декартовым произведением М 1 ×М 2 ×...×M N . Отношением R , определенным на множестве М 1 , М 2 , ..., M N , называется подмножество декартова произведения М 1 ×М 2 ×...×M N . При этом множества М 1 , М 2 , ..., M N называются доменами отношения, а элементы декартова произведения - кортежами отношения. Число N определяет степень отношения, количество кортежей - его мощность .

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

Строка заголовков называется схемой отношения .

Например , схема отношения СТУДЕНТ может быть следующей:

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА), здесь СТУДЕНТ - отношение, а ФАМИЛИЯ, ИМЯ и т.д. - атрибуты.

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

Следующая таблица представляет отношение СТУДЕНТ

ФАМИЛИЯ ИМЯ ОТЧЕСТВО ФАКУЛЬТЕТ КУРС
Иванов Иван Иванович ИЭФ
Петров Петр Петрович РТФ
Сидоров Антон Егорович ВТ

Первичным ключом отношения называется поле или группа полей, однозначно определяющие запись. В отношении СТУДЕНТ первичным ключом может быть поле ФАМИЛИЯ, если во всем с нет однофамильцев - это будет простой ключ. Если есть однофамильцы, то совокупность полей - фамилия, имя, отчество - создадут составной первичный ключ. На практике обычно в качестве ключевого выбирают поле, в котором совпадения заведомо исключены.

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

Свойства первичного ключа:

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

· неизбыточность - не должно быть полей, которые, будучи удаленными из первичного ключа, не нарушат его уникальность;

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

Чтобы избежать повторяющихся записей, приходят к связыванию таблиц. Например, если в отношении СТУДЕНТ надо описать вуз, в котором он обучается, то, на первый взгляд, можно было бы включить в отношение следующие поля СТУДЕНТ (ФАМИЛИЯ ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, НАЗВАНИЕ вуза, АДРЕС). Но при заполнении такой таблицы для каждого студента придется указывать довольно длинное наименование вуза и его адрес, что неудобно. Более того, любая незначительная ошибка во вводе этих полей приведет к нарушению непротиворечивости базы данных. Например, ошибка в адресе вуза приведет к тому, что в БД появятся два вуза с одинаковым наименованием и разными адресами. Поступают в таком случае так: в отношение СТУДЕНТ вводят поле «код вуза» (целое число) и добавляют еще одно отношение ВУЗ (код вуза, название, адрес). Тогда отношения СТУДЕНТ и ВУЗ при этом будут связаны по полю «код вуза».

СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ, КУРС, ГРУППА, КОД вуза)

ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС, ТЕЛЕФОН)

При работе с такими таблицами повторяться могут только данные в поле «КОД вуза», а все необходимые сведения о вузе можно взять из отношения ВУЗ. Заметим при этом, что ввод в поле «КОД вуза» целого числа, вместо длинного названия, принесет гораздо меньше ошибок. В отношении ВУЗ поле «КОД вуза» будет первичным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет внешним ключом.

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

Информационные объекты и связи.

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

Пример . Информационный объект СТУДЕНТ имеет реквизитный состав: номер (номер зачетной книжки - ключевой реквизит), фамилия , имя , отчество , дата рождения , код места обучения . Информационный объект ЛИЧНОЕ ДЕЛО: номер студента , домашний адрес , номер аттестата о среднем образовании , семейное положение , дети . Информационный объект МЕСТО ОБУЧЕНИЯ включает реквизитъг, код (ключевой реквизит), наименование вуза , факультет , группа . Информационный объект ПРЕПОДАВАТЕЛЬ: код (ключевой реквизит), кафедра , фамилия , имя , отчество , ученая степень , ученое звание , должность .

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

Связь один к одному определяет соответствие одному экземпляру информационного объекта X не более одного экземпляра информационного объекта Y, и наоборот.

Пример . Информационные объекты СТУДЕНТ и ЛИЧНОЕ ДЕЛО будут связаны отношением один к одному. Каждый студент имеет определенные уникальные данные в личном деле.

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

Пример . Между информационными объектами МЕСТО ОБУЧЕНИЯ и СТУДЕНТ необходимо установить связь один ко многим. Одно и то же место обучения может многократно повторяться для различных студентов.

Связь многие ко многим предполагает соответствие одному экземпляру информационного объекта X любое количество экземпляров объекта Y, и наоборот.

Пример . Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ имеют связь многие ко многим. Каждый студент обучается у множества преподавателей, а каждый преподаватель учит множество студентов.

В Access можно задать три вида связей между таблицами: один ко многим , многие ко многим и один к одному . Связь один ко многим является наиболее часто используемым типом связи между таблицами. Связи многие ко многим реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит из, по крайней мере, двух полей, одно из которых является общим с табли­цей X, а другое - общим с таблицей Y. Связь один к одному используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением один к одному используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.


Похожая информация.


При разработке базы данных сначала исследуется предметная область (например, «Университет»). В ней выделяются основные объекты. Они могут быть реальными («Студент») или абстрактными («Дисциплина»). Каждый объект характеризуется набором свойств – атрибутов объекта (поля данных) . Для каждого объекта атрибуты заполняются определенными значениями. Атрибуты могут быть простыми и ключевыми.

Ключевой атрибут (ключ) – это отдельные элементы данных, по которым можно определить все остальные элементы данных («Номер зачетной книжки»). Ключ может быть простым или составным («Фамилия», «Имя», «Отчество»).

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

a) 1:1 ("один к одному») – каждому экземпляру объекта А соответствует только один экземпляр объекта В и наоборот (рисунок 17).

Рисунок 17 – Связь «один к одному»

b) 1:М («один ко многим») – каждому экземпляру объекта А может соответствовать 0, 1 или несколько экземпляров объекта В, однако каждому экземпляру объекта В соответствует только 1 экземпляр объекта А (рисунок 18).

Рисунок 18 – Связь «один ко многим»

c) М:М («многие ко многим») – каждому экземпляру объекта А соответствует 0, 1 или несколько экземпляров объекта В и наоборот (рисунок 19).

Рисунок 19 - Связь «многие ко многим»

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

Отношения

Объект предметной области может быть представлен в виде таблицы-отношения – таблицы особого рода, у которой:

· каждая строка содержит информацию об одном экземпляре объекта (строка отношения - кортеж );

· все столбцы однородные, то есть все элементы в столбце имеют одинаковый тип и длину, имеют имя и содержат информацию об отдельном атрибуте объекта;

· каждый элемент представляет собой один элемент данных об объекте;

· все строки и столбцы уникальны (нет повторений);

· в таблицах нет пустых ячеек.

Базы данных, основанные на таблицах-отношениях, называются реляционными (relation - отношение). Набор отношений (таблиц) используется в БД для хранения информации об объектах реального мира и моделирования связей между ними. Например, для хранения объекта «студент» используют отношение СТУДЕНТ , в котором свойства объекта располагаются в столбцах таблицы, являющихся атрибутами объекта (таблица 8):

Таблица 8 – Отношение СТУДЕНТ


Список имен атрибутов отношения называется схемой отношения . Схему отношения СТУДЕНТ можно записать так:СТУДЕНТ = (Фамилия, Возраст, Группа).

Реляционная БД – набор взаимосвязанных отношений. Каждое отношение (таблица) в ЭВМ представляется в виде файла записей.

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

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

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

Существует несколько нормальных форм :

1-я нормальная форма. Отношение считается находящимся в первой нормальной форме, если все его атрибуты – неделимые (простые). К примеру, приведенное ниже на рисунке 20 отношение не нормализовано, поскольку содержит сложный атрибут Спорт . Чтобы привести это отношение к нормализованному виду, нужно избавиться от этого сложного атрибута.


Рисунок 20 – Приведение к первой нормальной форме

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

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

Например, в отношении ВЕДОМОСТЬ (рисунок 21), имеющем составной ключ «Студент, Дисциплина», атрибут Лектор зависит только от Дисциплины , а не от всего ключа. Это отношение можно нормализовать, «разбив» его на два отношения УСПЕВАЕМОСТЬ и ПРЕПОДАВАТЕЛЬ :

ВЕДОМОСТЬ = (Студент, Дисциплина, Лектор, Оценка)


УСПЕВАЕМОСТЬ = (Студент, Дисциплина , Оценка) ПРЕПОДАВАТЕЛЬ = (Дисциплина , Лектор)

Рисунок 21 – Приведение ко второй нормальной форме

3-я нормальная форма. Отношение считается находящимся в третьей нормальной форме, если устранены зависимости между не ключевыми атрибутами (транзитивные зависимости). Например, в отношении ПРЕДМЕТ = (Название, Лектор, Кафедра, Телефон) не ключевой атрибут Телефон зависит от не ключевого атрибута Кафедра .

Для устранения транзитивной зависимости необходимо «расщепить» исходное отношение на два ДИСЦИПЛИНА = (Название , Лектор, Кафедра) и ДАННЫЕ КАФЕДРЫ = (Кафедра , Телефон).

Дальнейшее упрощение таблиц связано с дальнейшим ограничением типов зависимости между атрибутами отношений.

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


Заказчик Фамилия И. О. № сделки Фамилия И. О. Должность Дата Адрес Стаж Фамилия И. О. менеджера Телефон Фамилия И. О. заказчика

Рисунок 22 – Модель фирмы

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

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

СУБД

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

1) запись (заполнение базы данных);

2) просмотр;

3) редактирование (добавление, удаление, исправление);

4) выборка (запросы, отчеты).

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

По технологии решения задач, выполняемых СУБД, базы данных можно разделить на два вида:

Централизованная БД (хранится целиком на ВЗУ одной вычислительной системы и, если система входит в состав сети, то возможен доступ к этой БД других систем);

Распределенная БД (состоит из нескольких, иногда пересекающихся или дублирующих друг друга БД, хранящихся на ВЗУ разных узлов сети).

СУБД предоставляет доступ к данным БД двумя способами:

Локальный доступ (предполагает, что СУБД обрабатывает БД, которая хранится на ВЗУ того же компьютера);

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

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

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

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

Языковые средства обеспечивают взаимодействие пользователя с базой данных. К ним относятся:

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


Рисунок 22 - Схема взаимодействия пользователя с базой данных

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


Структурные элементы БД

В описании объекта данных нужно выделить 2 составляющие: структуру и экземпляр.

Структура – перечень атрибутов объекта и характеристики атрибутов.

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

Структура изменяется крайне редко. Экземпляр подвержен изменениям.

При хранении в ЭВМ базе данных соответствует группа файлов и папок, набору объектов соответствует файл. Каждому объекту соответствует запись в файле. Каждому атрибуту соответствует поле записи.

Для описания атрибута используются следующие характеристики:

1. имя, например, nContract, cStudent;

2. тип, например, символьный, числовой;

3. длина, например, 15 байт;

4. точность, для числовых данных.

5. описание, комментарий;

6. формат изображения на экране и бумаге;

7. подсказка;

8. формат ввода;

9. начальное значение;

10. диапазон значений.

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

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

Ключ называется первичным , если по одному значению его выражения из набора выделяется 0 или 1 объект. Например, для набора работников ключ «По табельному номеру» первичный, так как по одному значению табельного номера выделяется или ни одного, или только один работник.

Ключ называется вторичным , если по одному значению его выражения из набора выделяются 0 и более объектов. Например, ключ для набора работников ключ «По алфавиту фамилий» вторичен, так как среди работников могут быть однофамильцы.

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

Хорошей практикой служит введение для объекта данных искусственного атрибута «Порядковый № в наборе», который автоматически присваивается и уникален. Ключ по такому атрибуту называется суррогатным .

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

Пусть имеется n наборов объектов Е 1 , Е 2, … , Е n .

Связью называется множество последовательностей объектов (е i 1 , е i 2, …, е i n), где е i 1 Î Е 1, е i 2 Î Е 2, …, е i n Î Е n.

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

Между двумя наборами объектов (n=2) различают три типа связей:

1. один к одному (1:1);



2. один ко многим (1:М);

3. много ко многим (М:N).

«один к одному», если для каждого объекта из первого набора можно указать 0 или 1 объект из второго набора и для каждого объекта из второго набора можно указать 0 или 1 объект из первого набора.

Примерами связей типа 1:1 служат связи между:

· студентами и зачетными книжками,

· между государствами и валютами,

· между офицерами и табельным оружием,

· между гражданами и заграничными паспортами. У каждого студента или нет зачетной книжки, или есть только одна.

Для каждой зачетки или студент не указан, или имеется только один.

Связь между двумя наборами Е 1 и Е 2 относится к типу «один ко многим» 0 или более 0 или 1 объект из первого набора.

Примерами связей 1:М служат связи между

· банками и вкладами,

· вкладами и взносами,

· между группами и студентами,

· между отделами и сотрудниками,

· между ведомостями и строками ведомостей,

· между клиентами и заявками.

В каждом банке или нет вкладов (банк еще не открылся) или может быть много вкладов. Для каждого вклада или банк не указан, или есть только один.

Связь между двумя наборами Е 1 и Е 2 относится к типу «многие ко многим» , если для каждого объекта из первого набора можно указать 0 или более объектов из второго набора и для каждого объекта из второго набора можно указать 0 или более объектов из первого набора.

Примерами связей M:N служат связи между

· продуктами и странами,

· между студентами и дисциплинами,

· между сотрудниками и проектами,

· между заявками и товарами,

· между магазинами и покупателями.

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

Графически связи изображаются стрелками (рис.4.5).

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

Связь 1:1 получается из связи 1:М путем ее ограничения.

Для реализации связи М:N вводится новый набор объектов и используются две связи 1:М.

Например, связь между странами и продуктами типа M:N получается с помощью набора данных «поставки» (рис.4.6).

Диаграмма ER-типа:

Упрощения:

1. Рассматриваются только те жители, которые имеют квартиру.

2. Житель может быть зарегистрирован только в одной квартире.

3. Учитываются только населенные квартиры, в которых зарегистрированы жители.

4. В одной квартире могут быть зарегистрированы несколько жителей.

5. Для одной квартиры один номер телефона.

6. Не во всякой квартире может быть телефон.

7. Имеются жители без источника дохода (дети).

8. У одного жителя может быть несколько источников дохода.

9. Разные виды дохода у разных жителей.

10. Имеются виды доходов, которые не используются.

Конец работы -

Эта тема принадлежит разделу:

Сравнение однотабличной и многотабличной баз данных

На сайте сайт читайте: "сравнение однотабличной и многотабличной баз данных"

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Компоненты БнД
Словарь данных – «хранилище» метаинформации. Метаинформация – информаци

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

Инфологическое моделирование предметной области. Состав инфологической модели (ИЛМ)
1-2. Описание предметной области представляется с помощью какой-либо знаковой системы, поэтому в

Описание объектов и их свойств. Разновидности свойств объектов
Класс объектов – совокупность объектов, обладающих одинаковым набором свойств. Классы объектов могут быть как материальными, так и абстрактными (например, предметы, по кот

Диаграмма ER-типа
Тип связи 1 к 1. Класс принадлежности объектов и для П и для К необязател

Разновидности сложных объектов
1. Составной объект. 2. Обобщенный объект. 3. Агрегированный объект. Составной объект

Определение состава БД
Один из подходов к определению состава БД – принцип синтезирования. Суть:В БД должны храниться только исходные показатели. Все производные показатели долж

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

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

Метод проектирования РБД на основе ИЛМ (правила 1-12)
1. Для каждого простого объекта и его единичных свойств строится отношение, атрибуты которого являются идентификаторами объекта и реквизиты соответствуют каждому из единичных свойс

Определение состава БД и отношений
Принцип синтезирования: В состав БД включают атрибуты всех сущностей + вычисляемый доход SumD. БД состоит из 5 отношений: PERSON (Nom, FIO, Rdate, Pol, S

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

Structured Query Language
Конкретные реализации SQL учитывают требования стандарта, но предоставляют и дополнительные возможности (SQL1, SQL2(1992), SQL3(1999)) SQL можно использовать в 2-х режимах: 1. Инт

Предложение Select
В качестве ТРЗ может быть имя столбца, константа, выражение. Имя столбца идентифицирует один из столбцов, содержащихся в таблице, которая указана в предложении FROM. Оно может быть указано


Указывает, какие строки следует отбирать. Задается условие поиска, как критерий отбора. Виды условий поиска: 1. Сравнение. =, <>, <, >, <=, >=. 2. Прове

Составные условия поиска. Таблицы истинности
AND true false null OR true

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

Запросы с группировкой и ограничения на них
Select ADR, AVG(SUMD) FROM PERSON GROUP BY ADR 1. Сведения о жителях в таблице Person делятся на группы – по одной группе на каждую квартиру. В каждой группе все квартиры имеют 1

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

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

Проверка на существование результатов вложенного запроса
SELECT *FROM PERSON WHERE EXISTS (SELECT ID FROM HAVE_D, PROVIT WHERE PROVIT.ID

Добавление новых элементов
Наименьшей единицей информации, которую можно добавить в базу данных, является одна строка. Существует 2 способа добавления новых строк: 1) однострочный оператор INSERT, включающи

Удаление существующих данных
Наименьшей единицей информации, которую можно удалить из БД является 1 строка. Для удаления строк из 1-й таблицы используется оператор DELETE. DELETE FROM – имя_таблицы -------------------

Условия уникальности данных
Возьмем таблицу PERSON, опишем ее структуру: CREATE TABLE PERSON (INTERBASE) (NOM INTEGER NOT N

Изменение определения таблицы
ALTER TABLE служит для: 1. добавить определение нового столбца. 2. изменить значение по умолчанию. 3. изменить или удалить первичный ключ таблицы.

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