русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Достоинства и недостатки.


Дата добавления: 2013-12-23; просмотров: 773; Нарушение авторских прав


Сетевые системы

Сетевые структуры данных

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

Сетевая БД состоит из набора записей и набора связей между этими записями. Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит и одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка.

 

Отдел
Сотрудники
Начальник

 

 


Сильные места ранних СУБД:

- Развитые средства управления данными на низком уровне;

- Возможность построения в ручную эффективных прикладных систем;
- Возможность экономии за счёт разделения подобъектов (в сетевых системах).

Недостатки:

- Слишком сложно пользоваться;

- Необходимы знания физической организации;

- Прикладные системы зависят от физической организации;

- Их логика перегружена деталями организации доступа БД.

 

10 ------------ 9 ------------- 8 -------------
Ранние СУБД:

-Обратные списки

 

 


- Иерархические

-Сетевые

 

 

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

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

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

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

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



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

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

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

 

Типы данных

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

 

Номера пропусков Имена Размеры выплат Номера отделов

 

Первичный ключ Атрибуты

Сотр_номер Сотр_имя Стор_зарп Сотр_отд_номер
Иванов 112 000 350
Петров 114 000 310
Сидоров 92 000 313
Федоров 110 000 310

 

Тип данных:

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

Домен.

Домен – допустимое потенциальное множество значений заданного типа данных, например, домен «имена» в нашем примере определён на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности такие строки не могут начинаться с мягкого знака)

Схема отношения. Схема базы данных.

Схема отношения – это именованное множество пар (имя атрибута, имя типа (домена)), схема БД (в структурном смысле) – это набор именованных схем отношений.

Кортеж. Отношение.

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

Отношение – это множество кортежей, соответствующих одной схеме отношения.

Проще: отношение – это таблица, заголовком которой является схема отношения, а строками – кортежи отношения; в этом случае имена атрибутов равны именам столбцов этой таблицы. Поэтому иногда говорят «столбец таблицы», имея ввиду «атрибут отношения».

Отсутствие кортежей-дубликатов.

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

Отсутствие упорядоченности кортежей (записей).

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

Отсутствие упорядоченности атрибутов (полей).

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

Неделимость значений атрибутов.

Значения всех атрибутов являются неделимыми. В таблице не может сдержаться вложена таблица.

 

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

ER-диаграммы

Основные понятия модели Entity-Relationship

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

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

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

Основным понятием ER-модели является сущность, связь и атрибут.

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

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

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

Сотрудник
Табельный номер Фамилия Имя Отчество Зарплата

 

 


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

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

Каждая связь может иметь один из следующих типов:

Связь типа один - к- одному означает что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь одни – к – одному чаще всего свидетельствуют о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две. Связь типа одни – к – многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны «одни»). Называется родительской, правая (со стороны «много») – дочерней.

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

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

Д.З. принести ER-диаграмму. (сущностей не меньше 5)

Управление транзакциями, построение транзакций в серию.

Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность оператору манипулирования данными (чтения, удаления, вставки, модификации) такая, что результаты всех операторов, входящих в транзакцию, отображения в БД, либо результаты всех это операторов полностью отсутствует. При завершении транзакции оператором COMMIT результаты гарантированно фиксируются во внешнеё памяти (смысл слов commit – «зафиксировать» результаты транзакции); при завершении транзакции оператором ROLLBACK результаты гарантированно отсутствуют во внешней памяти (смысл слова rollback – ликвидировать результаты транзакции).

Транзакции и целостность баз данных.

Различаются два вида ограничений целостности: немедленно проверяемые и откладываемые. К немедленно проверяемым ограничениям целостности относятся также ограничения, проверку которых бессмысленно или даже невозможно откладывать. Примером ограничения, проверку которого откладывать бессмысленно, являются ограничения домена (возврат сотрудника не может превышать 150 лет). Более сложным ограничением, проверку которого невозможно отложить, является следующее: зарплата сотрудника не может быть увеличена за одну операцию более, чем на 100,000 рублей. Немедленно проверяемые ограничения целостности соответствуют уровню отдельных операторов языкового уровня СУБД. При их нарушении не производится откат транзакции, а лишь отвергается соответствующий оператор.

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

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

В связи со свойством сохранения целостности БД транзакции являются подходящими единицами изолированности пользователей.

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

1. Изменение объекта только одной транзакцией (отсутствие потерянных изменений).

2. Чтение только неизменяемого в данный момент объекта (отсутствие чтения «грязных данных»)

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

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

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

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

Для поддержания целостности достаточен первый уровень.

Между транзакциями могут существовать следующие виды конфликтов:

1. W-W – транзакция 2 пытается изменить объект, измененныё не закончившейся транзакцией 1;

2. W-R – транзакция 2 пытается читать объект, измененныё не закончившейся транзакцией 1;

3. R-W – транзакция 2 пытается изменять объект, прочитанной не закончившейся транзакцией 1;

Построение серий транзакций.

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

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

Архитектура «клиент-сервер»

Открытые системы.

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

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

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

Практической опорой системных и прикладных программных средств открытых систем является стандартизированная операционная система. В настоящее время такой системой является UNIX.

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

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

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

Клиенты и серверы локальных сетей.

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

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

Примерами сервера могут служить:

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

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

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

· Файловые сервер, поддерживающий общее хранилище файлов для всех рабочих станций;

· Сервер без данных фактическая СУБД, принимающая запросы по локальной сети и возвращающая результаты. Термин « сервер БД№ обычно используют для обозначения всей СУБД, основанной на архитектуре «клиент-сервер», включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных.

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

Системная архитектура «клиент - сервер».

Основные принципы системной архитектуры «клиент - сервер»:

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

Интерфейс серверной части определён и фиксирован. Поэтому возможно создание новых клиентских частей существующей системы (пример интероперабельности на системном уровне).

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

 



<== предыдущая лекция | следующая лекция ==>
Управление транзакциями | Методы образования поверхностей деталей при обработке на МРС.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.088 сек.