• Авторизация


Кластерные и распределенные СУБД. Пример: IBM DB2 Parallel Edition, MS SQL Server и Oracle. Применение триггеров 09-06-2010 11:35


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Основные функции СУБД. Типовая организация СУБД. Жизненный цикл базы данных. 09-06-2010 11:34


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии

Моделирование сетевых структур с использованием вспомогательной таблицы. 09-06-2010 11:32


 

Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Хранимые процедуры. Языки для написания хранимых процедур. 09-06-2010 11:31


Хранимая процедура — объект базы данных, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере. Хранимые процедуры очень похожи на обыкновенные процедуры языков высокого уровня, у них могут быть входные и выходные параметры и локальные переменные, в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам. В хранимых процедурах могут выполняться стандартные операции с базами данных (как DDL, так и DML). Кроме того, в хранимых процедурах возможны циклы и ветвления, то есть в них могут использоваться инструкции управления потоком.

Реализация хранимых процедур (языки для написания).

Хранимые процедуры обычно создаются с помощью языка SQL или конкретной его реализации в выбранной СУБД. Например, для этих целей в СУБД Microsoft SQL Server существует язык Transact-SQL, в Oracle Database — PL/SQL, в Interbase и Firebird - PSQL, в PostgreSQL — PL/pgSQL, PL/Tcl, PL/Perl, PL/Python, в IBM DB/2 — SQL/PL и MySQL достаточно близко следует стандарту SQL:2003, её язык похож на SQL/PL. В некоторых СУБД возможно использование хранимых процедур, написанных на любом языке программирования, способном создавать независимые исполняемые файлы, например, на C++ или Delphi. В терминологии Microsoft SQL Server такие процедуры называются расширенными хранимыми процедурами и являются просто функциями, содержащимися в DLL Win32. А, например, в Interbase и Firebird для функций, вызываемых из DLL/SO, определено другое название - UDF (User Defined Function).

Назначение и преимущества хранимых процедур. Хранимые процедуры позволяют повысить производительность, расширяют возможности программирования и поддерживают функции безопасности данных. Вместо хранения часто используемого запроса, клиенты могут ссылаться на соответствующую хранимую процедуру. При вызове хранимой процедуры её содержимое сразу же обрабатывается сервером. Кроме собственно выполнения запроса, хранимые процедуры позволяют также производить вычисления и манипуляцию данными - изменение, удаление, выполнять DDL-операторы (не во всех СУБД!) и вызывать другие хранимые процедуры, выполнять сложную транзакционную логику. Один-единственный оператор позволяет вызвать сложный сценарий, который содержится в хранимой процедуре, что позволяет избежать пересылки через сеть сотен команд и, в особенности, необходимости передачи больших объёмов данных с клиента на сервер. В большинстве СУБД при первом запуске хранимой процедуры она компилируется (выполняется синтаксический анализ и генерируется план доступа к данным). В дальнейшем её обработка осуществляется быстрее. В СУБД Oracle выполняется интерпретация хранимого процедурного кода, сохраняемого в словаре данных. Начиная с версии Oracle 10g поддерживается так называемая естественная компиляция (native compilation) хранимого процедурного кода в Си и затем в объектный код целевой машины, после чего при вызове хранимой процедуры происходит прямое выполнение её скомпилированного объектного кода.

 

комментарии: 0 понравилось! вверх^ к полной версии
Жизненный цикл базы данных. Информационные хранилища – OLAP-технология. 09-06-2010 11:30


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Сжатие (упаковка) данных. Основы фракталов. Фрактальные методы в архивации 09-06-2010 11:29


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Моделирование сложных структур средствами реляционной СУБД. Рекурсивные деревья. Проблема образования петель. 09-06-2010 11:27


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

Рекурсивные деревья. Наиболее общим случаем является дерево с неограниченным уровнем вложенности и неограниченным количеством потомков. Для хранения такого рода иерархии необходимо добавить в описание сущности дополнительное поле – ссылку на первичный ключ предка. (Т.е. в нашей таблице будет три столбца: ID – первичный ключ, Data – собственно данные(содержательная часть узлов дерева), Parent – ссылка на предка.) Такой способ организации иерархии является самым распространенным и универсальным. Однако ему присущи следующие недостатки: -необходимость рекурсивных запросов для получения полного пути от произвольного элемента до корня дерева; -cложность вычисления уровня вложенности произвольного элемента; -cложность получения всех (в том числе и не прямых) потомков данного узла. В данной структуре присутствует опасный недостаток – отсутствие контроля правильности ссылки на родителя. Если ссылки на родителя не верна может получиться петля, которая породит бесконечный цикл.

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ РЕКУРСИВНОГО МЕТОДА

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

2)Курсоры. DECLARE CURSOR, DROP CURSOR. Операции, требующие использования курсоров.

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

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

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

В соответствии со стандартом SQL при работе с

Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Понятие транзакции. Средства реализации транзакций. Предложения COMMIT и ROLLBACK. 09-06-2010 11:26


 

Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Общие понятия реляционного подхода к организации БД. Основные концепции и термины. Основные реляционные СУБД 09-06-2010 11:25


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Способы визуализации структур данных. ER-диаграммы. 09-06-2010 11:24


При помощи средств визуализации поддерживаются важные задачи бизнеса, среди которых - процесс принятия решений. В связи с этим возникает необходимость перехода средств визуализации на более качественный уровень, который характеризуется появлением абсолютно новых средств визуализации и взглядов на ее функции, а также развитием ряда тенденций в этой области. Большинство визуализаций данных построено на основе диаграмм стандартного типа (секторные диаграммы, графики рассеяния и.т.д.). Эти способы являются одновременно старейшими, наиболее элементарными и распространенными. В последние годы перечень видов диаграмм, поддерживаемых инструментальными средствами визуализации, существенно расширился. Поскольку потребности пользователей весьма многообразны, инструменты визуализации поддерживают самые различные типы диаграмм. Средства создания диаграмм и презентационной графики предназначены главным образом для визуализации данных. Однако возможности такой визуализации обычно встроены и во множество различных других программ и систем - в инструменты репортинга и OLAP, средства для Text Mining и Data Mining, а также в CRM-приложения и приложения для управления бизнесом. Для создания встроенной визуализации многие поставщики реализуют визуализационную функциональность в виде компонент, встраиваемых в различные инструменты, приложения, программы и web-страницы (в том числе инструментальные панели и персонализированные страницы порталов).

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

Более совершенные методы визуализации данных часто включают в себя диаграмму или любую другую визуализацию как составной уровень. Пользователь может углубляться (drill down) в визуализацию, исследуя подробности обобщенных ею данных, или углубляться в OLAP, Data Mining или другие сложные технологии. Сложное взаимодействие позволяет пользователю изменять визуализацию для нахождения альтернативных интерпретаций данных. Взаимодействие с визуализацией подразумевает минимальный по своей сложности пользовательский интерфейс, в котором пользователь может управлять представлением данных, просто "кликая" на элементы визуализации, перетаскивая и помещая представления объектов данных или выбирая пункты меню. Инструменты OLAP или Data Mining превращают непосредственное взаимодействие с визуализацией в один из этапов итерационного анализа данных. Средства Text Mining или управления документами придают такому непосредственному взаимодействию характер навигационного механизма, помогающего пользователю исследовать библиотеки документов.

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

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

Читать далее...
комментарии: 1 понравилось! вверх^ к полной версии
Триггеры в реляционных базах данных. 09-06-2010 11:22


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
2)Предложение SELECT языка SQL. Объединение UNION. Квантор существования EXIST и NOT EXIST. 09-06-2010 11:21


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Гипертекст. Навигация, как способ доступа к данным. Web-интерфейсы к базам данных. XML и Web-службы (Web-Services). 09-06-2010 11:19


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

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

Навигация по связям между ресурсами На странице просмотра каждого ресурса должны быть соответствующие гипертекстовые ссылки на страницы просмотра связанных с ним ресурсов, по которым пользователь может осуществить переход к просмотру соответствующих ресурсов. Общие средства навигации и доступа к данным Особенностью системы управления является то, что она реализует большое количество приложений на базе единой платформы. В связи с этим необходимо обеспечить пользователям системы унифицированные средства доступа к приложениям. В качестве такового могут быть использованы, Microsoft Windows Explorer, Microsoft Outlook, Internet Explorer или средства организации Internet портала, например Microsoft Share Point Portal Server.Универсальное клиентское рабочее место должно обеспечивать навигацию по дереву папок приложений, средства поиска объектов системы, инициализацию обработки объектов, а также динамическое управление табличными представлениями данных и отчетов.Навигация - в информационных технологиях - процесс вождения пользователя по логически связанным данным. Навигация осуществляется в два этапа:-1- поиск объектов из области интересов; -2- маршрутизация в рамках ассоциативно связанных объектов.

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

Доступ к базе данных на стороне клиента обеспечивает язык Java . Java - это объектно-ориентированный язык программирования, являющийся, по сути дела, "безопасным" подмножеством языка Си++. В частности, Java не содержит средств адресной арифметики, не поддерживает механизм множественного наследования и т. д. Для языка Java существуют компиляторы в так называемый "мобильный код" (машинно-независимый код, который может интерпретироваться или из которого могут генерироваться машинные коды на разных платформах).Технология разработки HTML-документа позволяет написать произвольное количество Java-программ, откомпилировать их в мобильные коды и поставить ссылки на соответствующие коды в теле HTML-документа. Такие дополнительные Java-программы называются апплетами (Java-applets). Получив доступ к документу, содержащему ссылки на апплеты, клиентская программа просмотра запрашивает у Web-сервера все мобильные коды. Коды могут начать выполняться сразу после размещения в компьютере клиента или быть активизированы с помощью специальных команд. Поскольку апплет представляет собой произвольную Java-программу, то, в частности, он может быть специализирован для работы с внешними базами данных. Более того, система программирования Java включает развитый набор классов, предназначенных для поддержки графического пользовательского интерфейса. Опираясь на использование этих классов, апплет может получить от пользователя информацию, характеризующую его запрос к базе данных, в том же виде, как если бы использовался стандартный механизм форм языка HTML, а может

Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Права доступа к базам данных и таблицам. Предложения GRANT и REVOKE. Метки доступа. Способ организации меток доступа для 09-06-2010 11:18


СУБД, не поддерживающих этот механизм.

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

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

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

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

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

Привилегии доступа выделяются пользователям, группам, ролям или всем посредством оператора GRANT и изымаются с помощью оператора REVOKE. Эти привилегии, как правило, присваивает владелец соответствующих объектов (он же - администратор базы данных ) или обладатель привилегии security (обычно администратор сервера баз данных ).Прежде чем присваивать привилегии группам и ролям, их (группы и роли) необходимо создать с помощью операторов CREATE GROUP и CREATE ROLE.Для изменения состава группы служит оператор ALTER GROUP.

Оператор DROP GROUP позволяет удалять группы, правда, только после того, как опустошен список членов группы.Оператор ALTER ROLE служит для изменения паролей ролей, а DROP ROLE - для удаления ролей.Привилегии доступа можно подразделить в соответствии с видами объектов, к которым они относятся. Присваивание привилегий доступа производится

Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
СУБД, основанные на инвертированных списках (dBase, Clipper, FoxPro, Paradox). Иерархические СУБД. Сетевые 09-06-2010 11:17


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Предложение SELECT языка SQL. Сортировка (ORDER BY). Группирование данных (GROUP BY, GROUP BY … HAVING). 09-06-2010 11:15


Читать далее...
комментарии: 1 понравилось! вверх^ к полной версии
Способы классификации СУБД (по поддерживаемым типам структур д-х; по типам хранимой информации; персональные и для коллективного использования; 09-06-2010 11:13


 

Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Предложение UPDATE языка SQL. Обновление единственной записи. Обновление множества записей 09-06-2010 11:11


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Предложение SELECT языка SQL. Выборка с использованием IN, вложенный SELECT. 09-06-2010 11:10


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
6 Понятие сетевой организации данных. Структуры типа «звезда», объединение звёзд, полносвязная сеть, произвольный граф. 09-06-2010 11:09


Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии