Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bilety_bazy_dannyh.doc
Скачиваний:
47
Добавлен:
14.04.2015
Размер:
443.9 Кб
Скачать

13) Модель сущность-связь

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

Сущность – класс однотипных объектов.

Атрибут сущности – именованная характеристика, являющаяся некоторым свойством сущности.

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

Связь – некоторая ассоциация между двумя сущностями:

- один-к-одному

- один-ко-многим

-много-ко-многим

Модальности связи:

- может

- должен

Модель Сущность-Связь (ER-модель) (англ. entity-relationship model или entity-relationship diagram) — это модель данных, позволяющая описывать концептуальные схемы. Она предоставляет графическую нотацию, основанную на блоках и соединяющих их линиях, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных. В этом смысле ER-модель является средством описания моделей данных.

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

ER-модель является одной из самых простых визуальных моделей данных (графических нотаций). Она позволяет обозначить структуру «крупными мазками», в общих чертах. Это общее описание структуры называется ER-диаграммой или онтологией выбранной предметной области (area of interest).

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

Существует несколько графических нотаций описания ER-диаграм (несколько похожих ER-моделей данных). Есть несколько типичных примеров использования ER-модели данных: IDEF1x (ICAM DEFinition Language) и dimensional modelling.-0

14) Технология "клиент-сервер"

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

Какая-либо определенная архитектура может быть идеальной только для конкретной задачи.

Не возможно найти единственное правильное решение для всех возможных систем.

Существует три группы сервисов:

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

Business Services (Бизнес-сервисы). Это группа отвечает за различные бизнес-правила. Примером бизнес-сервисов, может быть сервис, который связывается с компанией кредитной карты клиента, чтобы подтвердить покупку по кредитной карте.

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

Одноуровневые (хост) системы

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

Преимущества:

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

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

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

Недостатки:

- очень дорогое аппаратное обеспечение.

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

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

Двухуровневая архитектура (клиент-сервер)

Клиент-сервер (англ. Client-server) — сетевая архитектура, в которой устройства являются либо клиентами, либо серверами.

Клиентом (front end) является запрашивающая машина (обычно ПК), сервером (back end) — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению.

Двухуровневые или клиент-серверные системы начали завоевывать популярность в начале 90-х.

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

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

- клиентоцентрическая (Client-centric - разумный клиент)

- сервероцентрическая (server-centric — разумный сервер).

Клиентоцентрическая версия клиент-серверной архитектуры была основана на двух основных посылках:

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

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

В такой системе на сервере по возможности исполнялись только сервисы данных. А бизнес-сервисы и пользовательский интерфейс исполнялись на клиенте. Таким образом, объем работы распределялся между клиентом и сервером. Каждый компьютер делал свою долю.

Преимущества:

- распределяет объем работы между большим количеством сравнительно дешевых клиентов.

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

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

Недостатки:

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

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

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

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

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

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

Преимущества:

- некоторые обновления можно делать непосредственно на сервере.

- доступно большое количество уже готовых программных продуктов, причем готовое программное обеспечение стоит дешево.

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

Недостатки:

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

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

- цена больших серверов растет экспоненциально. Некоторые из них сравнимы по цене с хост-системами.

Трехуровневая архитектура

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

В этой модели все три уровня сервисов рассматриваются как разделенные и логически независимые.

Клиенты отвечают только за пользовательский интерфейс, так же как это имеет место в сервероцентрической клиент-серверной модели.

Отличие состоит в том, что бизнес-сервисы и сервисы данных тоже логически разделены.

Такое представление делает независимыми друг от друга логическую и физическую модели.

Преимущества:

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

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

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

- предусматривается (фактически поощряется) разработка систем на основе компонентов, что может увеличить степень повторного использования.

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

Недостатки:

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

- возникает острая необходимость в системе безопасности и инфраструктуре.

- неработоспособность сервера может сделать неработоспособной сеть.

- администрирование данной системы требует квалифицированного профессионала.

- высокая стоимость оборудования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]