Модели баз данных


Оглавление (нажмите, чтобы открыть):

Основы Интернет Технологий

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

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

Вступление

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

Классификация баз данных пи типу хранимых данных

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

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

Фактографические БД объединяют данные по факту совершения события (дата выпуска товара, год рождения сотрудника).

Лексикографические БД объединяют словари, классификаторы, и т.л. документы.

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

Классификация баз данных по обращению к ним

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

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

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

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

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

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

Модели БД

Моделями структурированной БД могут быть:

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

Реляционная база данных

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

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

Другие статьи раздела: База данных

Функции СУБД обеспечивающие управление базой данных

В этой статье вы познакомитесь с основными функциями СУБД системами управления базами данных. … Читать далее →

Виды моделей данных БД

Модели организации данных. Сетевые, реляционные, иерархические модели.

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

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

Виды моделей данных БД

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

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

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

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

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

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

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

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

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

1. Каждый элемент таблицы соответствует одному элементу данных.

2. Все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип и длину.

3. Каждый столбец имеет уникальное имя.

4. Одинаковые строки в таблице отсутствуют;

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

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

Дата добавления: 2020-03-15 ; просмотров: 6581 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Типы моделей описания баз данных

Известны три типа моделей описания баз данных(рис.3.7):

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

Рис 3.7. Основные типы моделей данных

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

Достоинством модели является:

· простота ее построения;

· легкость понимания сути принципа иерархии;

· наличие промышленных СУБД, поддерживающих данную модель.

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

Рис. 3.8. Иерархическая модель данных

2. Сетевая модельописывает элементарные данные и отношения между ними в виде ориентированной сети. Это такие отношения между объектами, когда каждый порожденный элемент имеет более одного исходного и может быть связан с любым другим элементом структуры рис.3.9).

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

База данных, описываемая сетевой моделью, состоит из областей (области — из записей, а записи — из полей).

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

Рис.3.9. Сетевая модель данных

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

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

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

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

Рис.3.10 Реляционная модель данных

В зависимости от содержания отношения реляционные базы данных бывают:

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

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


Достоинства реляционной модели:

· возможность эксплуатации базы данных без знания методов и способов ее построения;

· гибкость структуры и др.

Недостатки реляционной модели:

· низкая производительность по сравнению с иерархической и сетевой моделями;

· сложность программного обеспечения;

В последние годы все большее признание и развитие получают объектно-ориентированные базы данных (ООБД).

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

Традиционными областями применения объектных СУБД являются системы автоматизированного проектирования (САПР), моделирование, мультимедиа.

К объектным СУБД можно отнести СУБД ONTOS — одного из лидеров направляя ООБД, Jasmine. ODB-Jupiter — первый российский продукт такого рода, ORACLE 8.0.

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

Например, «КонсультантПлюс», «Гарант Сервис».

Основными элементами информационной технологии, используемой в БЗ являются:

-модуль создания системы,

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

Выходная информация включает не только само решение, но необходимые объяснения, которые могут быть двух видов:

1) по запросам, т.е. те, которые пользователь может получить в любой момент;

2) которые пользователь получает уже при выдаче решения, т.е. то, каким образом получается решение (например, каким образом влияет на прибыль и издержки выбранная цена и т.д.).

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

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

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

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

1. В чем различие между информацией и данными?

2. Как выражается адекватность информации?

3. Назовите признаки классификации экономической информации.

4. Что такое структура информации?

5. Чем показатель отличается от реквизита?

6. Укажите основные свойства информации.

7. Что входит в состав информационного обеспечения?

8. Чем внемашинное информационное обеспечение отличается от внуримашинного?

9. Какие бывают классификаторы и с какой целью разрабатываются классификаторы?

10. Каково назначение штрихового кодирования? В чем его особенности?

11. Определите понятия «классификаторы» и «коды».

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

13. Что входит в состав автоматизированных банков данных?

14. Чем клиент-серверная архитектура отличается от файл-серверной?

15. Укажите основные характеристики СУБД.

16. Что подразумевает обеспечение целостности данных?

17. Охарактеризуйте типы моделей описания баз данных.

4. информационные технологии в управлении и экономике

Дата добавления: 2015-02-09 ; просмотров: 121 ; Нарушение авторских прав

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

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

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

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

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

– «один к одному», когда одна запись может быть связана
только с одной записью;

– «один ко многим», когда одна запись взаимосвязана со многими другими;

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

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

Для пояснения логической структуры основных моделей баз данных рассмотрим такую простую задачу: необходимо разработать логическую структуру БД для хранения данных о трех поставщиках: П1, П2, П3, которые могут поставлять товары Т1, Т2, Т3 в следующих комбинациях: поставщик П1 — все три вида товаров, поставщик П2 — товары Т1 и Т3, поставщик П3 — товары Т2 и Т3.

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

Рис. 4.1. Иерархическая модель БД

На верхнем, первом уровне находится информация об объекте «поставщики» (П), на втором — о конкретных поставщиках П1, П2, П3, на нижнем, третьем, уровне — о товарах, которые могут поставлять конкретные поставщики. В иерархической модели дол­жно соблюдаться правило: каждый порожденный узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорожденный узел (без входящей стрелки) — корень. Узлы, не имеющие входных стре­лок, носят название листьев. Узел интегрируется как запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ.

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

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

Сетевая модельбазы данных для поставленной задачи представлена в виде диаграммы связей (рис. 5.2.). На диаграмме указа­ны независимые (основные) типы данных П1, П2, П3, т.е. ин­формация о поставщиках, и зависимые — информация о товарах T1, T2, и Т3. В сетевой модели допустимы любые виды связей меж­ду записями и отсутствует ограничение на число обратных свя­зей. Но должно соблюдаться одно правило: связь включает ос­новную и зависимую записи

Рис. 4.2. Сетевая модель базы данных

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

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

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

Для приведенной выше задачи о поставщиках и товарах логи­ческая структура реляционной БД будет содержать три таблицы (отношения): R1, R2, R3, состоящие соответственно из записей о поставках, о товарах и о поставках товаров поставщиками (рис. 4.3.)

Рис. 4.3. Реляционная модель БД

СУБД и ее функции

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

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

По степени универсальности различают два класса СУБД:

– системы общего назначения;

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

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

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

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

Производительность СУБД оценивается:

– временем выполнения запросов;


– скоростью поиска информации в неиндексированных полях;

– временем выполнения операций импортирования базы данных из других форматов;

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

– максимальным числом параллельных обращений к данным в многопользовательском режиме;

– временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

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

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

Дата добавления: 2020-02-25 ; просмотров: 4089 | Нарушение авторских прав

Модели данных и модели базы данных

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

Описание выбранной предметной области в терминах модели данных позволяет получить модель БД. Обычно выделяют три уровня моделей БД [1.4].

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

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

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

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

Однако вернемся к рассмотрению моделей данных. Разные авторы приводят несколько различающиеся перечни существующих моделей данных. Например, в [6] предлагается такой список моделей данных и периодов времени, когда в их разработке были получены основные результаты:

  • • иерархическая (англ. hierarchical), конец 1960-х и 1970-е гг.;
  • • сетевая (англ. network), 1970-е гг.;
  • • реляционная (англ. relational), 1970-е и начало 1980-х гг.;
  • • «сущность – связь» (англ. entity – relationship), 1970-е гг.;
  • • расширенная реляционная (англ. extended relational), 1980-е гг.;
  • • семантическая (англ. semantic), конец 1970-х и 1980-е гг.;
  • • объектно-ориентированная (англ. object-oriented), конец 1980-х – начало 1990-х гг.;
  • • объектно-реляционная (англ. object-relational), конец 1980-х – начало 1990-х гг.;
  • • полуструктурированная (англ. semi-structured), с конца 1990-х гг. до настоящего времени.

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

Модель «сущность – связь» была предложена П. Ченом (Peter Chen) в 1976 г. в качестве унифицированного способа описания предметной области. Как самостоятельная модель данных (в соответствии с приведенным выше определением) она развития не получила, но стала основой для создания инфологических моделей БД. Этап инфологического проектирования рассмотрен в главе 6.

Семантическая модель, так же как и модель «сущность – связь», используется для построения инфологических моделей. Только в этом случае пользовательские данные представляются в виде набора семантических объектов. Семантический объект [7] – это именованная совокупность атрибутов, которая в достаточной степени описывает отдельный феномен (объект, явление и т.п.).

Объектно-ориентированная и объектно-реляционная модели данных появились в результате распространения объектно-ориентированного подхода в программировании. Объектная модель данных предлагает рассматривать БД как множество объектов, обладающих свойствами инкапсуляции, наследования и т.д. В 1989 г. был опубликован «Манифест систем объектно-ориентированных баз данных», а в 1991 г. образован консорциум ODMG (от англ. Object Data Management Group), который занялся разработкой стандартов. В 2000 г. была опубликована версия стандарта The Object Data Standard: ODMG 3.0, а в 2001 г. группа прекратила свою деятельность. Примерно в то же время велась активная работа по адаптации реляционной модели к требованиям объектно-ориентированного подхода к разработке ПО, что привело к появлению объектно-реляционной модели данных. Позднее объектные расширения были введены в стандарт языка SQL.

К полуструктурированным относят данные, в которых можно выделить некоторую структуру, но она недостаточно строгая по сравнению с реляционными структурами данных (или структурами других традиционных моделей данных) [6]. Наиболее ярким примером полуструктурированных данных являются XML-документы (от англ. extensible Markup Language – расширяемый язык разметки). Действительный (англ. valid) XML-до- кумент должен соответствовать определенному формату описания (схеме), где заданы структура документа, допустимые названия элементов, атрибутов и т.д. Формат XML широко используется для обмена данными между приложениями, и его поддержка обеспечивается многими СУБД.

Модели базы данных

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

Читайте также:

  1. A. осуществляет передачу данных устройствам компьютера.
  2. B) Элемент диаграммы, показывающий название и маркеры данных диаграммы
  3. E) схема данных.
  4. MS Access. На основе данных перечисленных объектов можно создать Форму.
  5. А) Информация из специализированных баз данных;
  6. Абстрактные структуры данных
  7. Автоматизированные системы обработки данных
  8. Аксонометрические проекции моделей
  9. Алгоритм шифрования данных DES
  10. Алгоритм. Свойства алгоритма. Способы описания алгоритма. Примеры.
Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 20.06.2020
Размер файла 73,4 K

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

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

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

Модели базы данных

информационный программный данные

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

обеспечивать получение общих и/или детализированных отчетов по итогам работы;

позволять легко определять тенденции изменения важнейших показателей;

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

выполнять точный и полный анализ данных.

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

Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще — диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом «де-факто» стала «быстрая разработка приложений» или RAD (от английского Rapid Application Development), основанная на широко декларируемом в литературе «открытом подходе», то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с «классическими» СУБД все чаще упоминаются языки программирования Visual Basic 4.0 и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД. Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».

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

1.Базы данных

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

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

Структурирование — это введение соглашений о способах представления данных.

Неструктурированными называют данные, записанные, например, в текстовом файле.

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

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

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

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

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

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


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


Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.


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

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

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

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

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

Структурные элементы базы данных

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

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

имя, например. Фамилия, Имя, Отчество, Дата рождения;

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

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

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

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

Файл (таблица) — совокупность экземпляров записей одной структуры.

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

2.Виды моделей данных

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

Модель данных — совокупность структур данных и операций их обработки.

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

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

Иерархическая модель данных



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

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.

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

Сетевая модель данных

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

Понятие реляционный (англ. relation — отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.

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

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

· каждый элемент таблицы — один элемент данных;

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

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

· одинаковые строки в таблице отсутствуют;

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

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

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

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

3.По нятие информационного объекта

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

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

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

4.Понятие нормализации отношений


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


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

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

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

Первая нормальная форма

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

Например, отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) наводится в первой нормальной форме.

Вторая нормальная форма


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


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

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

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

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

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

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

Третья нормальная форма


Понятие третьей нормальной формы основывается на понятии нетранзитивной зависимости.

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

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

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

ТИПЫ СВЯЗЕЙ


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


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


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


многие ко многим (М : М).


Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.


При связи один ко многим (1:М) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А. Графически данное соответствие имеет вид.


Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот.


Архитектура СУБД


Базы данных и программные средства их создания и ведения (СУБД) имеют многоуровневую архитектуру.


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


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


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


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


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


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


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

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

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

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

5.Функциональные возможности СУБД

Обзор СУБД

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

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

По степени универсальности различают два класса СУБД:

системы общего назначения;

специализированные системы.

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

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

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

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

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

Рассмотрим основные характеристики некоторых СУБД — лидеров на рынке программ, предназначенных как для разработчиков информационных систем, так и для конечных пользователей,


В рассматриваемую группу программных продуктов вошли:

dBASE IV 2.0, компании Borland International;

Microsoft Access 2.0;

Microsoft FoxPro 2.6 for DOS;

Microsoft FoxPro 2.6 for Windows, корпорации Microsoft Corp;

Paradox for DOS 4.5;

Paradox for Windows, версия 4.5 компании Borland.

Производительность СУБД

Производительность СУБД оценивается:

временем выполнения запросов;

скоростью поиска информации в неиндексированных полях;

временем выполнения операций импортирования базы данных из других форматов;

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

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

временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

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

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

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

Самой быстрой СУБД является FoxPro 2.6, однако она не обладает средствами соблюдения целостности данных в отличие от более медленной СУБД Access 2.0.

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


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


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


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


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


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


Access и Paradox for Windows гораздо ближе других СУБД соответствуют реляционной модели по надежности сохранения целостности данных на уровне базы данных; правила хранятся вместе с базой данных и автоматически соблюдаются.


СУБД dBASE IV и FoxPro 2.6 (DOS и WINDOWS) совсем не обладают средствами этого рода, и ввод в программу процедур, обеспечивающих выполнение правил целостности, возлагается на программиста.


Обеспечение безопасности


Некоторые СУБД предусматривают средства обеспечения безопасности данных. Такие средства обеспечивают выполнение следующих операций:


* шифрование прикладных программ;


* шифрование данных;


* защиту паролем;


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


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


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


Работа в многопользовательских средах


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


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


* блокировку базы данных, файла, записи, поля;


* идентификацию станции, установившей блокировку;


* обновление информации после модификации;


* контроль за временем и повторение обращения;


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


* работу с сетевыми системами (LAN Manager, NetWare, Unix).


Лучшими возможностями для работы в многопользовательских средах обладают СУБД Paradox for DOS 4.5, Access 2.0 и dBASE IV.


Импорт-экспорт

Эта характеристика отражает:

* возможность обработки СУБД информации, подготовленной другими программными средствами;

* возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД.

Особый интерес представляют следующие форматы файлов: ASCII-файлы, .DBF, ,WK*, .XLS.

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

Доступ к данным посредством языка SQL

Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов. Язык SQL предоставляет развитые возможности как конечным пользователям, так и специалистам в области обработки данных [5].

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

СУБД имеют доступ к данным SQL в следующих случаях:

базы данных совместимы с ODBC (Open Database Connectivity — открытое соединение баз данных);

реализована естественная поддержка SQL-баз данных;

возможна реализация SQL-запросов локальных данных.

Многие СУБД могут «прозрачно» подключаться к входным SQL-подсисТемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты также с SQL при обработке интерактивных запросов на получение данных, находящихся сервере или на рабочем месте.

Access 2.0 и Paradox for Windows работают с источниками SQL-данных, совместимых с системой ODBC.

FoxPro (for dos и for Windows) поставляются с дополнительными библиотеками, которые обеспечивают доступ к SQL-базам данных, способным работать совместно с системой ODBC, но эта возможность менее интегрирована, чем средства первичного ввода информации в Access и Paradox for Windows.

Можно напрямую управлять базами данных Access с помощью языка SQL и передавать сквозные SQL-запросы совместимым со спецификацией ODBC SQL-базам данных, таким, как MS SQL Server и Oracle, так что Access способна служить средством разработки масштабируемых систем клиент-сервер.

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


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


* мощные языки программирования;


* средства реализации меню, экранных форм ввода-вывода данных и генерации отчетов;


* средства генерации приложений (прикладных программ);


* генерацию исполнимых файлов.


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


Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме, В других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. Примером такого языка является язык QBE (Query-By-Example).


Языковые средства используются для выполнения двух основных функций:


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


выполнения операций манипулирования данными.



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


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


Язык манипулирования данными (ЯМД) позволяет запрашивать предусмотренные в системе операции над данными из базы данных.


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


СУБД dBASE IV и FoxPro поддерживают язык программирования xBASE, который до сих пор является важным стандартом для баз данных.


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


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


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


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

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

Вспомогательная область управления включает:

* строку состояния;

* панели инструментов;

* вертикальную и горизонтальную линейки прокрутки.

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

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

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

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

наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода;

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

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

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

команды для работы с файлами;

команды для работы с окнами;

команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);

получение справочной информации.

Команды для работы с файлами

При работе с файлами программа дает возможность пользователю:

* создавать новые объекты базы данных;

* сохранять и переименовывать ранее созданные объекты;

* открывать уже существующие базы данных;

* закрывать ранее открытые объекты;

* выводить на принтер объекты базы данных.

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

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

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

Команды редактирования


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


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


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


Команды форматирования


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


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


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


Команды для работы с окнами

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

Модели баз данных

Классификация БД по типу модели

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

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

Рассмотрим эти модели подробнее.

Иерархическая и сетевая модели.

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

Вершину занимает корневой объект, далее объекты второго, третьего уровня и т.д.

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

Попробуй обратиться за помощью к преподавателям

Объекты, имеющие общего предка, называются близнецами (siblings).

Примерами иерархических бах данных могут служить:

  • файловые системы;
  • реестры настроек (например, реестр ОС Windows);
  • структуры документов (напримем Document Object Model в загруженных в браузер документах HTML).

Рисунок 1. Пример иерархической модели. Автор24 — интернет-биржа студенческих работ

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

Узел — это совокупность атрибутов, описывающих некоторый объект.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

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

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

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

Рисунок 2. Сетевая модель БД. Автор24 — интернет-биржа студенческих работ

Реляционная модель

Термин «реляционный» происходит от математического понятия отношение (relation). Упрощенным синонимом термина «отношение» является слово «таблица».

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

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


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

Модель «ключ-значение»

Несмотря на популярность, простоту и надежность, реляционная модель со временем обнаружила ряд недостатков:

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

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

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

Рисунок 3. БД, построенная по модели «ключ-значение». Автор24 — интернет-биржа студенческих работ

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

Здесь идентификатор записей о писателе (1) «зашит» непосредственно в ключ, по которому осуществляется доступ к данным.

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

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Классификация моделей баз данных

Базы данных

1. БД основные понятия и определения

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

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

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

Классификация моделей баз данных

К числу классических относят следующие модели данных:

Кроме того, в последние годы появились и стали активно внедряться следующие:

Иерархическая модель данных

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

· в каждой физической БД существует один корневой сегмент, то есть сегмент, у которого нет логически исходного (родительского) типа сегмента;

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

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

Достоинства иерархической модели данных

· Эффективное использование памяти компьютера;

· Неплохие показатели времени выполнения основных операций над данными.

Недостатки иерархической модели данных

· Громоздкость для обработки информации со сложными логическими связями;

· Сложность понимания для обычного пользователя.

Сетевая модель данных

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

Достоинства сетевой модели данных

· Возможность эффективной реализации по показателям затрат памяти и оперативности;

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

Недостатки сетевой модели данных

· Высокая сложность и жесткость схемы БД, построенной на ее основе;

· Сложность в понимании и обработки информации в БД обычному пользователю.

Реляционная модель данных

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

Отношение — является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные.Термин отношение происходит от англ. relation (отношение).

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

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

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

Схема отношения (заголовок отношения)— представляет собой список имен атрибутов. Пример схемы отношения Сотрудники(ИД_Код, ФИО, Отдел, Должность).

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

Ключи обычно используются для достижения следующих целей:

· Исключения дублирования значений в ключевых атрибутах;

· Ускорения работы с кортежами отношения;

· Организации связывания таблиц базы данных.

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

Пример внешнего ключа:

· В таблице нет двух одинаковых строк;

· Все кортежи в одном отношении должны иметь одну структуру, соответствующую именам и типам атрибутов;

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

· Порядок следования кортежей в отношении произволен.

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

2. Классификация моделей БД

К числу классических относят следующие модели данных:

Кроме того, в последние годы появились и стали активно внедряться следующие:

Сетевая модель данных

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

Создание хранимой процедуры

Для создания хранимой процедуры в среде SQL Server используется оператор CREATE PROCEDURE, синтаксис которого имеет следующий вид:

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

Кроме того, в приведенном выше синтаксисе элемент номер означает необязательное целое число, которое можно использовать для группировки хранимых процедур под одним именем, чтобы их можно было удалить с помощью одного оператора. Нетрудно догадаться, что синтаксическая единица параметр означает возможность передачи в хранимую процедуру необязательных параметров. При использовании опции WITH RECOMPILE план запроса хранимой процедуры не хранится в процедурном кэше. Вместо этого при каждом выполнении процедуры генерируется новый план запроса. Опции FOR REPLICATION и WITH RECOMPILE совместно использовать нельзя.

При использовании опции WITH RECOMPILE теряется преимущество плана скомпилированного запроса. Однако скомпилированная процедура выполняется все же быстрее обычного запроса, поскольку текст SQL уже проанализирован и дерево запроса построено. Но более важно то, что в случае применения опции WITH RECOMPILE вы теряете меньше времени (которое уходит на создание плана запроса), чем при использовании некорректного плана запроса, на обработку которого могут уйти минуты или даже часы.

Под элементом Оператора SQL понимаются операторы SQL или операторы управления программой, составляющие хранимую процедуру.

Пример 1. Создание хранимой процедуры с именем usp_show_authors, которая выбирает все столбцы и строки из таблицы authors.

CREATE PROCEDURE usp show authors

SELECT * FROM authors


Хранимые процедуры создаются в той базе данных, в которой была выполнена команда CREATE PROCEDURE. Исключением являются временные хранимые процедуры, которые создаются в базе данных tempdb.

Для запуска хранимой процедуры наберите ее имя в окне запросов программы Microsoft SQL Server Query Analyzer и щелкните на зеленой стрелке. Если же хранимая процедура не является первым оператором в строке запроса, для ее запуска используйте оператор EXECUTE.

Пример 2. Выполнение хранимой процедуры

EXECUTE usp show authors

А вот сокращенный формат, который, как правило, и используется:

ЕХЕС usp show authors

С помощью оператора DECLARE можно создавать переменные, используя стандартные типы данных SQL Server. Переменные, определяемые оператором DECLARE, должны начинаться с символа @. В одном операторе DECLARE можно объявить сразу несколько переменных, разделяя их запятыми. Синтаксис оператора DECLARE имеет следующий вид:

DECLARE @переменная 1 тип данных

[,@переменная 2 тип данных. ]

Пример 3. Создание трех переменных различных типов данных.

DECLARE @count INT, @current date DATETIME

DECLARE @My_Hessage VARCHAR(255)

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

Пример 4. Устанавливание значения переменной @count равного 100

Select @count = 100

Пример 5. Устанавливание значения переменной @count равного общему числу строк в таблице authors, принадлежащей базе данных pubs

SELECT @count = count(*) FROM pubs.authors

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

Оператор GOTO имеет следующий синтаксис:

Пример 6. Оператор GOTO пропускает оператор SELECT и выполняет оператор UPDATE:

GOTO do_update SELECT * from authors

SET au_Iname = «Spenik»

WHERE state = ‘VA’

При определении метки помните, что ее имя должно оканчиваться двоеточием. А при ссылке на метку через GOTO двоеточие опускается.

Оператор BEGIN.. .END

Операторы BEGIN и END считаются блочными, поскольку они объединяют набор операторов SQL и операторов языка управления программой в единое целое. Операторы BEGIN и END часто используются с блоками IF. ELSE.

Синтаксис операторов BEGIN и END имеет следующий вид:

Оператор IF.. .ELSE

С помощью операторов IF. ELSE можно проверять условия и в зависимости от результатов проверки выполнять соответствующие операторы SQL. Оператор IF проверяет выражение типа BOOLEAN, которое возвращает значение TRUE (ИСТИНА) или FALSE (ЛОЖЬ). Если возвращаемое значение равно TRUE, выполняется блок операторов или единственный оператор, который следует сразу за оператором IF. Если же возвращаемое значение равно FALSE, выполняется необязательный оператор ELSE.

Синтаксис оператора IF.. .ELSE выглядит следующим образом:

IF Выражение типа BOOLEAN

(ELSE [ Выражение_ типа_ВООLEAN

Пример 7. Использование операторов IF и IF.. .ELSE как одиночным оператором SQL, так и с блоком операторов.

SELECT * FROM authors

SELECT * FROM titles

SELECT count(*) FROM authors

SELECT count(*) FROM titles

SELECT * FROM authors

SELECT * FROM titles

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

Синтаксис оператора WAITFOR имеет следующий вид:

Максимальное время задержки, формируемое оператором WAITFOR, составляет 24 часа. В опциях TIME и DELAY используется формат чч:мм:сс.

Пример 8. формирование 10-секундной задержки.

WAITFOR DELAY ’00:00:10′

Пример 9. формирование состояния ожидания до 11 часов утра.

WAITFOR TIME ’11:00:00′

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

RETURN [Целое значение]

Целое значение можно вернуть в вызывающую процедуру или приложение, используя следующий синтаксис:

exec @status = имя_процедуря

Пример 10. Представление хранимой процедуры usp return, которая возвращает целое значение в вызывающую процедуру или приложение и хранимой процедуры usp_call, которая вызывает хранимую процедуру usp return и проверяет возвращаемое значение.

CREATE PROCEDURE usp_return

DECLARE @gret_val INT

SELECT @gret_val = 0

CREATE PROCEDURE usp_call

DECLARE @Status INT

EXEC @Status = usp_return if(@Status = 0)

PRINT «Возвращаемое значение равно нулю»

При написании хранимых процедур в среде SQL Server нулевое значение (0) используется для индикации факта успешного завершения. Отрицательные значения свидетельствуют о возникновении ошибки. Коды возврата, находящиеся в диапазоне от -1 до -99, зарезервированы для SQL Server.

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

Операторы WHILE, BREAK и CONTINUE

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

Оператор BREAK вызывает выход из цикла WHILE, а оператор CONTINUE — безусловный переход к началу цикла, пропуская все операторы, стоящие за оператором CONTINUE.

Эти операторы имеют следующий формат:

WHILE Выражение типа BOOLEAN [оператор SQL | блок операторов> [BREAK | CONTINUE]

С помощью оператора PRINT можно возвратить сообщение в обработчик сообщений клиента. Сообщение может иметь длину до 1 024 символов. Оператор PRINT имеет следующий синтаксис:

PRINT ‘любой ASCII-текст’ | локальная переменная | @@FUNCTION | строковое выражение

Пример 11. Вывод на печать значение локальной или глобальной переменной, преобразованной сначала в тип CHAR или VARCHAR.

DECLARE @msg VARCHAR(255), @count INT

SELECT @count = 0

PRINT «Начало процедуры»

print ‘Дата последнего редактирования изменена’

Проверим работу триггера, выполним вставку данных в таблицу:

insert into Student (nameSt, sNameSt) values (‘Анна’, ‘Иванова’)


Результат выполнения запроса на вставку:

(строк обработано: 1)

Дата последнего редактирования изменена

(строк обработано: 1)

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

CREATE TRIGGER [dbo].[StudentDel]

INSTEAD OF DELETE

DELETE FROM Student

WHERE idSt in (SELECT idSt FROM deleted WHERE numZach IS NULL)

Пример: Создадим триггер на изменение данных, который запрещает изменять дату зачисления.

CREATE TRIGGER StudUpdate

RAISERROR(‘Нельзя изменять дату зачисления’,10,1)

SET NOCOUNT < ON | OFF >— Запрещает вывод количества строк, на которые влияет инструкция Transact-SQL или хранимая процедура, в составе результирующего набора

RAISERROR(‘Сообщение’, степень_серьезности, состояние) – формирование сообщений об ошибках.

Параметр “Сообщение” – это текст, содержащий описание ошибки

Параметр “Уровень серьезности” – уровень серъезности ошибки. Значение от 0 до 18 может указать любой пользователь. Уровни серьезности от 19 до 25 могут быть указаны только членами предопределенной роли сервера sysadmin и пользователями с разрешениями ALTER TRACE. Для уровней серьезности от 19 до 25 требуется параметр WITH LOG..

Параметр «Состояние» — целое число от 0 до 255.

Базы данных

1. БД основные понятия и определения

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

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

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

Классификация моделей баз данных

К числу классических относят следующие модели данных:

Кроме того, в последние годы появились и стали активно внедряться следующие:

Иерархическая модель данных

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

· в каждой физической БД существует один корневой сегмент, то есть сегмент, у которого нет логически исходного (родительского) типа сегмента;

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

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

Последнее изменение этой страницы: 2020-04-06; Нарушение авторского права страницы

Модели данных и модели базы данных

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

Описание выбранной предметной области в терминах модели данных позволяет получить модель БД. Обычно выделяют три уровня моделей БД [1.4].

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

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

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

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

Однако вернемся к рассмотрению моделей данных. Разные авторы приводят несколько различающиеся перечни существующих моделей данных. Например, в [6] предлагается такой список моделей данных и периодов времени, когда в их разработке были получены основные результаты:

  • • иерархическая (англ. hierarchical), конец 1960-х и 1970-е гг.;
  • • сетевая (англ. network), 1970-е гг.;
  • • реляционная (англ. relational), 1970-е и начало 1980-х гг.;
  • • «сущность – связь» (англ. entity – relationship), 1970-е гг.;
  • • расширенная реляционная (англ. extended relational), 1980-е гг.;
  • • семантическая (англ. semantic), конец 1970-х и 1980-е гг.;
  • • объектно-ориентированная (англ. object-oriented), конец 1980-х – начало 1990-х гг.;
  • • объектно-реляционная (англ. object-relational), конец 1980-х – начало 1990-х гг.;
  • • полуструктурированная (англ. semi-structured), с конца 1990-х гг. до настоящего времени.

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

Модель «сущность – связь» была предложена П. Ченом (Peter Chen) в 1976 г. в качестве унифицированного способа описания предметной области. Как самостоятельная модель данных (в соответствии с приведенным выше определением) она развития не получила, но стала основой для создания инфологических моделей БД. Этап инфологического проектирования рассмотрен в главе 6.

Семантическая модель, так же как и модель «сущность – связь», используется для построения инфологических моделей. Только в этом случае пользовательские данные представляются в виде набора семантических объектов. Семантический объект [7] – это именованная совокупность атрибутов, которая в достаточной степени описывает отдельный феномен (объект, явление и т.п.).

Объектно-ориентированная и объектно-реляционная модели данных появились в результате распространения объектно-ориентированного подхода в программировании. Объектная модель данных предлагает рассматривать БД как множество объектов, обладающих свойствами инкапсуляции, наследования и т.д. В 1989 г. был опубликован «Манифест систем объектно-ориентированных баз данных», а в 1991 г. образован консорциум ODMG (от англ. Object Data Management Group), который занялся разработкой стандартов. В 2000 г. была опубликована версия стандарта The Object Data Standard: ODMG 3.0, а в 2001 г. группа прекратила свою деятельность. Примерно в то же время велась активная работа по адаптации реляционной модели к требованиям объектно-ориентированного подхода к разработке ПО, что привело к появлению объектно-реляционной модели данных. Позднее объектные расширения были введены в стандарт языка SQL.

К полуструктурированным относят данные, в которых можно выделить некоторую структуру, но она недостаточно строгая по сравнению с реляционными структурами данных (или структурами других традиционных моделей данных) [6]. Наиболее ярким примером полуструктурированных данных являются XML-документы (от англ. extensible Markup Language – расширяемый язык разметки). Действительный (англ. valid) XML-до- кумент должен соответствовать определенному формату описания (схеме), где заданы структура документа, допустимые названия элементов, атрибутов и т.д. Формат XML широко используется для обмена данными между приложениями, и его поддержка обеспечивается многими СУБД.

Основы Интернет Технологий

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

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

Вступление

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

Классификация баз данных пи типу хранимых данных

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

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

Фактографические БД объединяют данные по факту совершения события (дата выпуска товара, год рождения сотрудника).

Лексикографические БД объединяют словари, классификаторы, и т.л. документы.

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

Классификация баз данных по обращению к ним

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

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

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

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

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

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

Модели БД

Моделями структурированной БД могут быть:

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

Реляционная база данных

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

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

Другие статьи раздела: База данных

Функции СУБД обеспечивающие управление базой данных

В этой статье вы познакомитесь с основными функциями СУБД системами управления базами данных. … Читать далее →

Мастер Йода рекомендует:  Полное руководство по настройке WordPress API, часть 1 введение
Добавить комментарий