
- •Системный подход в управлении организацией
- •Виды структур организации
- •Управление персоналом в организации
- •Организационная культура и управление изменениями
- •Принятие управленческих решений в организациях
- •Эволюция менеджмента с позиций выделения различных школ и подходов. Анализ современных подходов к управлению организацией.
- •1. Школа научного управления (1885-1920 г. Г.)
- •2. Административная или классическая школа (1920-1950 г. Г.)
- •3. Школа человеческих отношений (1930 -1950) и школа поведенческих наук
- •4. Школа науки управления или математическая школа (1950 - по настоящее время)
- •Коммуникации в организации
- •Мотивация персонала в организации
- •Виды контроля в организациях: бюрократический, рыночный, клановый.
- •Жизненный цикл организации. Стадии жизненного цикла и упадка организации
- •Формирование стратегических альтернатив и их оценка с помощью swot анализа
- •Сбалансированная система показателей как инструмент планирования и регулирования стратегии организации
- •Интеллектуальный капитал организации. Рыночные активы. Активы интеллектуальной собственности. Инфраструктурные активы. Человеческие активы. Персональный человеческий капитал.
- •Тактические процессы уз. Активный и пассивный подходы к поиску информации. Организационное обучение. Системы совместного использования знаний.
- •2. Классическая школа менеджмента.
- •3. Школа человеческих отношений.
- •4. Школа поведенческих наук.
- •5. Школа количественного подхода к управлению.
- •21. Венчурный бизнес
- •22. Прибыль и её виды. Условия максимизации прибыли. Рентабельность.
- •23. Формы и системы оплаты труда на предприятии.
- •24. Основные виды финансовых стратегий организаций.
- •25. Финансовая политика организации.
- •26. Финансовый менеджмент в организации.
- •27. Анализ финансового состояния организации.
- •28. Показатели эффективности инвестиционных (инновационных) проектов.
- •29. Понятие проекта. Особенности управления it-проектом.
- •30. Стандарты управления проектами. Свод знаний управления проектами.
- •31.Программные системы поддержки управления проектами.
- •33. Контроль исполнения проекта и его перепроектирование
- •34. Бизнес-планирование как форма технико-экономического обоснования проектов.
- •35. Сравнение программных комплексов, реализующих финансовую модель проекта.
- •36. Маркетинговый подход в управлении предприятием.
- •37. Комплекс маркетинга.
- •38. Информационная система маркетинга.
- •39. Стратегическое и оперативное планирование маркетинга.
- •40. Маркетинговое исследование и обработка его результатов.
- •41. Понятия баз данных (бд). Типология и классификация. Информационные, программные, технические и организационные составляющие бд.
- •42. Классификация и критерии выбора систем управления базами данных (субд).
- •43. Понятие жизненного цикла баз данных (бд). Характеристика этапов проектирования бд.
- •44. Распределенные бд. Понятие о трехуровневой архитектуре бд.
- •Транзакции и их роль в поддержании целостности данных. Методы реализации транзакций: языковые и системные средства.
- •Способы ввода данных в базу данных. Создание и использование экранных форм. Использование приемов, рационализирующих процесс ввода данных. Контроль ввода данных.
- •Табличные языки запросов qbe
- •Общая характеристика sql. Стандарты sql. Реализации sql в современных субд. Sql-серверы. Создание доменов, таблиц, индексов.
- •Отбор информации из бд. Предложение select. Возможности задания условий отбора, фраза where.
- •1. Файлы субд (sql Server, Oracle, Firebird, Access и т. Д.)
- •2. Структурированные файлы различных форматов (Excel, csv-файлы, html-документы и т. Д.)
- •3. Неструктурированные источники(рисунки, видео и прочее).
- •3. Загрузка данных (loading) – запись преобразованных данных в в хранилище данных
- •Сетевые файловые системы
- •Вопросы реализации сетевой файловой системы
- •Развитие методик управления предприятием.
- •Нормативные документы рф по охране интеллектуальной собственности (перечень)
- •Требования к криптосистемам
Отбор информации из бд. Предложение select. Возможности задания условий отбора, фраза where.
На сегодняшний день основным механизмом выборки информации из БД является аппарат запросов.
Запросы (queries) – это объект базы данных, который служит для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную таблицу. Применение запросов позволяет избежать дублирования данных в таблицах и обеспечивает максимальную гибкость при поиске и отображении данных в базе данных.
В настоящее время чаще всего используются запросы двух типов: QBE-запросы и SQL-запросы.
QBE-запросы (Query By Example) – запросы, строящиеся с помощью конструктора запросов, который является неким графическим инструментом для создания запросов по образцу.
SQL-запросы – запросы, строящиеся при помощи унифицированного набора инструкций SQL (Structured Query Language – структурированный язык запросов).
В языке SQL для осуществления выборки данных из базы используется параметр SELECT.
Синтаксис:
SELECT список полей FROM список таблиц WHERE условия
В большинстве случаев, выборка осуществляется из одной или нескольких таблиц. В последнем случае говорят об операции слияния. Для задания таблиц, из которых будет осуществляться выборка, перечисляются после оператора FROM.
После оператора WHERE перечисляются условия выборки, например:
SELECT Фамилия FROM Сотрудники WHERE Возраст > 30
Эта команда выберет фамилии сотрудников, у которых в графе возраст стоит число больше 30.
ORDER BY поле_сортировки [ASC/DESC] – служит для задания сортировки, ASC – по возрастанию.
GROUP BY поле_группировки – используется для объединения строк с общими значениями в элементы меньшего набора строк.
HAVING условия_на_группу – используется для определения, какие строки после GROUP BY должны быть выбраны.
В качестве критериев отбора записей могут быть использованы выражения. Для создания выражений могут использоваться: арифметические операторы ( + - / * ^ ), операторы сравнения ( > < = ), логические операторы ( And, Or, Not, Xor ), а также специальные операторы:
Оператор |
Описание |
Пример |
Like |
Определяет, начинается ли строковое значение с заданного образца. |
Like "Доц%" % любая посл. символов _ один символ. |
In |
Определяет, является ли строковое значение элементом списка значений. |
In("Доцент";"Профессор") |
Between |
Определяет, находится ли числовое значение в определенном диапазоне значений |
Between 3 And 7 |
51.Соединение таблиц. Вычисляемые поля. Агрегатные функции. Группировка записей. Использование подзапросов.
Соединение таблиц.
Одна из наиболее важных черт запросов SQL состоит в их способности определять связи между множеством таблиц и отображать содержащуюся в них информацию в терминах этих связей в рамках единственной команды. Операция такого рода называется соединением (соединение таблиц).
При операции соединения таблицы перечисляются в предложении запроса FROM; имена таблиц разделяются запятыми. Предикат запроса может ссылаться на любой столбец любой из соединяемых таблиц и, следовательно, может использоваться для установления связей между ними. Обычно предикат сравнивает значения в столбцах различных таблиц для того, чтобы определить, удовлетворяется ли условие WHERE.
1. Предположим, нужно установить связь между продавцами (Salespeople) и покупателями (Customers) в соответствии с местом их проживания, чтобы получить все возможные комбинации продавцов и покупателей из одного города. Для этого необходимо взять продавца из таблицы Salespeople и выполнить по таблице Customers поиск всех покупателей, имеющих то же значение в столбце city:
SELECT Customers.cname, Salespeople.sname, Salespeople.city FROM Salespeople, Customers WHERE Salespeople.city = Customers.city;
Во избежание двусмысленности в выборке ссылки на поля во фразе WHERE должны уточняться именами содержащих их таблиц.
Иногда данные хранятся не в том виде, в котором их необходимо предоставить приложению. Вместо того чтобы извлекать эти данные, а затем изменять их форму при помощи клиентского приложения или отчета, лучше извлекать уже преобразованные, подсчитанные или отформатированные данные прямо из базы данных.
Именно здесь помогут вычисляемые поля. В отличие от всех выбранных нами ранее столбцов, вычисляемых полей на самом деле в таблице базы данных нет. Они создаются "на лету" SQL-оператором SELECT.
Агрегатные функции - это функции, которые позволяют находить значения некоторых обобщенных характеристик для набора данных.
COUNT - число значений в столбце,
SUM - сумма значений в столбце,
AVG - среднее значение в столбце,
MAX - самое большое значение в столбце,
MIN – самое малое значение в столбце.
Для функций SUM и AVG рассматриваемый столбец должен содержать числовые значения.
Аргументу всех функций, кроме COUNT(*), может предшествовать ключевое слово DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть исключены перед тем, как будет применяться функция. Специальная же функция COUNT(*) служит для подсчета всех без исключения строк в таблице (включая дубликаты).
Примеры:
SELECT AVG( cost ) FROM stock; - определение средней цены книги на складе ( stock ).
SELECT MAX( retail ), MIN( retail ) FROM stock; - определение диапазона розничных цен книг на складе.
Агрегатные функции не могут быть использованы во фразе условия WHERE, но с их помощью можно получить результат, который в дальнейшем можно использовать при формулировке условия в запросе. Для этого используется техника т.н. подзапросов. Так, будет ошибкой пытаться вывести строку таблицы tab1, в которой значение в столбце col1 принимает наибольшее значение с помощью запроса:
Вычисляемые поля
Синтаксис:
SELECT имя функции(имя поля) [As переменная]
Пример:
SELECT COUNT(*) AS Колво_поставщиков FROM Поставщики
Этот запрос подсчитает количество строк в таблице «Поставщики» и выведет полученное значение в колонке «Колво_поставщиков».
Группировка.
Группировка данных - это процедура объединения в логическом порядке строк с определенными значениями. Одним из видов группировки является сортировка(определяемая фразой ORDER BY), кроме этого в группе условий оператора выборки SELECT могут быть использованы фразы GROUP BY и HAVING (во вполне определенном порядке: WHERE - GROUP BY - HAVING - ORDER BY ).
Фраза GROUP BY с синтаксисом: GROUP BY имя_поля [ ,имя_поля ... ] позвляет преобразовать таблицу так, что в ее отдельные строки будет собрано содержание всех строк с одинаковыми значениями полей группировки. Чтобы такое "сжатие" было возможно, необходимо, чтобы в списке выводимых полей оператора SELECT и в списке полей группировки фразы GROUP BY были перечислены одни и те же поля. Кроме этого, в списке SELECT могут быть использованы агрегатные функции для определения соответствующих величин для группируемых записей. Например, запрос для таблицы tab1
SELECT col1 FROM tab1 GROUP BY col1; - возвращает столбец col1, содержащий только неповторяющиеся значения, а запрос
SELECT col1, count(*) FROM tab1 GROUP BY col1; - возвращает два столбца, один из которых содержит неповторяюшиеся значения в столбце col1, а другой - число строк в таблице с таким значениями. Следует отметить, что фразы GROUP BY и ORDER BY похожи в том смысле, что служат для целей упорядочения выходного набора, однако ORDER BY выводит все записи в упорядоченном виде, а GROUP BY "конденсирует" информацию, поэтому при использовании этой фразы в целевом списке SELECT могут быть только поля группировки и агрегатные функции, т.е. использовние группировки целесообразно в том случае, когда нужно получить обобщающие данные с помощью агрегатных функций.
Для наложения на результат группировки дополнительных условий используется фраза HAVING с синтаксисом:
HAVING условое_выражение
где условное_выражение должно быть образовано только из полей группировки и/или агрегатных функций. Например, запрос
SELECT col1, count(col1) FROM tab1 GROUP BY col1 HAVING max(col2)>20;
выведет строки с неповторяющимися значениями col1, указанием числа строк содинаковыми значениями col1 и только те наборы, в которых наибольшее значение поля col2 превысит 20.
Подзапрос — это запрос, вложенный внутрь другого запроса. Несмотря на то, что большая часть функциональности подзапросов может быть реализована за счет использования соединений и временных таблиц, подзапросы легче читать и реализовывать.
Наиболее общим применением подзапросов можно считать случай, когда результат одного запроса используется в операции сравнения, находящемся в другом запросе. Например, пусть необходимо найти заказ на максимальную сумму среди всех заказов. Оператор SELECT может выглядеть следующим образом: SELECT customerid, amount FROM orders WHERE amount = (select max(amount) from orders);
Результат его выполнения показан ниже:
В этом случае подзапрос возвращает единственное значение (максимальную сумму заказа), которая затем затем участвует в сравнении в рамках внешнего запроса.
52.Развитие реляционной модели. Объектно-реляционные и гибридные БД. Объектно-ориентированные БД.
Реляционная модель представляет собой совокупность двумерных таблиц, связанных отношениями.
К основным понятиям иерархической модели относятся: тип данных, домен, атрибут, кортеж, отношение, первичный ключ.
Пример реляционной модели
Объектно-ориентированная бд графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом или типом, конструируемым пользователем (определяется как Сlass).
К основным понятиям объектно-ориентированной модели относятся: объект, линии поведения, сообщения, класс, отношения
Компоненты объектно-ориентированной модели:
Объект – любая сущность реального мира. Объекты характеризуются свойствами, определяющими их состояние, и методами, определяющими их поседение. Объекты взаимодействуют друг с другом путем передачи сообщений.
Линии поведения – это методы, или операции, которые объект может реализовать.
Сообщения – это действие одного объекта, запускающее определенное поведение другого объекта.
Класс – это способ группирования объектов, имеющих одинаковые наборы атрибутов и линии поведения, в шаблон. Объекты определенного класса называются экземплярами этого класса.
Отношения описывают то, как объекты ассоциированы друг с другом.
Реализация объектно-ориентированного подхода характеризуется следующими ключевыми свойствами объектов:
Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено.
Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта
Полиморфизм означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента.
Объектно-ориентированные базы данных обычно рекомендованы для тех случаев, когда требуется высокопроизводительная обработка данных, имеющих сложную структуру.
Достоинства бъектно-ориентированной модели данных
В сравнении с реляционной у этой модели есть возможность отображения информации о сложных взаимосвязях объектов
Позволяет идентифицировать отдельную запись базы данных и определять функции их обработки
Недостатки бъектно-ориентированной модели данных
Высокая понятийная сложность
Неудобство обработки данных
Низкая скорость выполнения запросов
Гибридные (объектно-реляционные) СУБД совмещают в себе возможности реляционных и объектно-ориентированных баз данных. В последнее время такие базы данных часто называют объектно-реляционными базами данных. Появление гибридных СУБД связано с тем, что объектные СУБД, пока что не получившие широкого применения, несомненно, будут развиваться в будущем. Поэтому разработчики реляционных баз данных включают в свои базы средства работы с объектными типами данных. Такие базы данных называются объектнореляционными или гибридными. Объектно-реляционными СУБД являются, к примеру, широко известные Oracle Database, Informix, DB2, PostgreSQL, FirstSQL/J.
53.Основные принципы моделирования предметной области. ER-модели как средство формализованного описания предметной области.
Предме́тная о́бласть — множество всех предметов, свойства которых и отношения между которыми рассматриваются в научной теории. В логике — подразумеваемая область возможных значений предметных переменных логического языка.
Предметная область — часть реального мира, рассматриваемая в пределах данного контекста. Под контекстом здесь может пониматься, например, область исследования или область, которая является объектом некоторой деятельности.
Предварительное моделирование предметной области позволяет сократить время и сроки проведения проектировочных работ и получить более эффективный и качественный проект. Без проведения моделирования предметной области велика вероятность допущения большого количества ошибок в решении стратегических вопросов, приводящих к экономическим потерям и высоким затратам на последующее перепроектирование системы. Вследствие этого все современные технологии проектирования ИС основываются на использовании методологии моделирования предметной области.
К моделям предметных областей предъявляются следующие требования:
формализация, обеспечивающая однозначное описание структуры предметной области;
понятность для заказчиков и разработчиков на основе применения графических средств отображения модели;
реализуемость, подразумевающая наличие средств физической реализации модели предметной области в ИС;
обеспечение оценки эффективности реализации модели предметной области на основе определенных методов и вычисляемых показателей.
Для реализации перечисленных требований, как правило, строится система моделей, которая отражает структурный и оценочный аспекты функционирования предметной области.
Работа с базой данных начинается с построения модели. Наиболее распространенной является ER-модель (entity-relationship model) - модель "Сущность-связь". Для "ручного" построения ER-модели на практике будем использовать простую систему обозначений, предложенную Питером Ченом(обозначения, встречающиеся в разных источниках, могут отличаться от нижеприведенных):
Базовые понятия
Первичный
ключ -
атрибут или группа атрибутов, однозначно
идентифицирующих объект. Первичный
ключ может состоять из нескольких
атрибутов, тогда подчеркивается каждый
из них.
Объект
и его атрибуты соединяются ненаправленными
дугами.
Связи
между объектами могут быть 3-х типов:
Один
- к одному.
Этот тип связи означает, что каждому
объекту первого вида соответствует не
более одного объекта второго вида, и
наоборот. Например: сотрудник может
руководить только одним отделом, и у
каждого отдела есть только один
руководитель.
Один
- ко многим. Этот
тип связи означает, что каждому объекту
первого вида может соответствовать
более одного объекта второго вида, но
каждому объекту второго вида соответствует
не более одного объекта первого вида.
Например: в каждом отделе может быть
множество сотрудников, но каждый
сотрудник работает только в одном
отделе.
Многие
- ко многим. Этот
тип связи означает, что каждому объекту
первого вида может соответствовать
более одного объекта второго вида, и
наоборот. Например: каждый счет может
включать множество товаров, и каждый
товар может входить в разные счета.
Ромб
связи и прямоугольник объекта соединяются
ненаправленными дугами в сторону "ко
многим" и направленными в сторону "к
одному".
Связь
может соединять сущность саму с собой,
например:
Если
связь соединяет две сущности, она
называется бинарной. Связь может
соединять более двух сущностей, например,
связь, соединяющая три сущности,
называется тернарной:
Иногда
используют также понятие "слабая
сущность".
Это сущность, которая не может быть
однозначно идентифицирована с помощью
собственных атрибутов, а только через
связь с другой сущностью. Пусть, например,
номер сотрудника является уникальным
только в пределах отдела, т.е. в разных
отделах могут быть сотрудники с
одинаковыми номерами. Уникальной в
данном случае будет комбинация "номер
сотрудника, номер отдела". Сущность
"Сотрудник" является слабой.
На
схеме слабые сущности обозначаются
двойными линиями.
Иногда
для более удобной классификации
используются так называемые подтипы сущностей.
Их обозначают с помощью треугольника
с надписью "есть" (т.е., "является").
Пусть, например, среди контрагентов
могут быть как физические, так и
юридические лица. Поскольку они имеют
разные атрибуты, то удобно создать для
них подтипы:
Сущность "Контрагент" является надтипом для своих подтипов.
54.Структура отношения в реляционной модели организации данных. Нормализация данных. Индексирование данных. Первичный и внешний ключ.
Реляционная модель представляет собой совокупность двумерных таблиц, связанных отношениями.
К основным понятиям иерархической модели относятся: тип данных, домен, атрибут, кортеж, отношение, первичный ключ.
Пример реляционной модели
Отношение — фундаментальное понятие реляционной модели данных. По этой причине модель и называется реляционной (от лат. relatio — отношение, связь).
Отношение имеет
простую графическую интерпретацию, оно
может быть представлено в виде таблицы,
столбцы (поля, атрибуты) которой
соответствуют вхождениям доменов в
отношение, а строки (записи) — наборам
из
значений,
взятых из исходных доменов. Число строк
(кортежей) называют кардинальным
числом отношения (кардинальностью),
или мощностью отношения.
Такая таблица обладает рядом свойств:
В таблице нет двух одинаковых строк.
Таблица имеет столбцы, соответствующие атрибутам отношения.
Каждый атрибут в отношении имеет уникальное имя.
Порядок строк в таблице произвольный.
Под атрибутом здесь понимается вхождение домена в отношение. Строки отношения называются кортежами.
Операции, определённые над отношениями
Объединение — тело нового отношения является объединением тел старых
Пересечение — тело нового отношения является пересечением тел старых
Вычитание — тело нового отношения получено вычитанием тел старых
Проекция — частный случай пересечения
Декартово произведение — тело нового отношения является декартовым произведением тел старых
Выборка — из исходного отношения выбираются лишь те кортежи, которые удовлетворяют новым доменам (заданным в условиях выборки)
Соединение — выборка над декартовым произведением
Деление — делитель является унарным отношением (то есть с единственным атрибутом).
Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.
Как отмечает К. Дейт, общее назначение процесса нормализации заключается в следующем:
исключение некоторых типов избыточности;
устранение некоторых аномалий обновления;
разработка проекта базы данных, который является достаточно «качественным» представлением реального мира, интуитивно понятен и может служить хорошей основой для последующего расширения;
упрощение процедуры применения необходимых ограничений целостности.
Устранение избыточности производится, как правило, за счёт декомпозиции отношений таким образом, чтобы в каждом отношении хранились только первичные факты (то есть факты, не выводимые из других хранимых фактов).
Первая нормальная форма (1NF) — базовая нормальная форма отношения в реляционной модели данных.
Переменная отношения находится в первой нормальной форме тогда и только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов.
В реляционной модели отношение всегда находится в первой нормальной форме по определению понятия отношение.
Конкретнее, рассматриваемая таблица должна удовлетворять следующим пяти условиям:
Нет упорядочивания строк сверху-вниз (другими словами, порядок строк не несет в себе никакой информации).
Нет упорядочивания столбцов слева-направо (другими словами, порядок столбцов не несет в себе никакой информации).
Нет повторяющихся строк.
Каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего).
Все столбцы являются обычными.
Вторая нормальная форма (англ. Second normal form; сокращённо 2NF) — одна из возможных нормальных форм таблицы реляционной базы данных.
Переменная отношения находится во второй нормальной форме тогда и только тогда, когда она находится в первой нормальной форме и каждый неключевой атрибут неприводимо зависит от ее потенциального ключа..
Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость..Для неприводимой функциональной зависимости часто используется эквивалентое понятие «полная функциональная зависимость»..
Если потенциальный ключ является простым, то есть состоит из единственного атрибута, то любая функциональная зависимость от него является неприводимой (полной). Если потенциальный ключ является составным, то согласно определению второй нормальной формы в отношении не должно быть неключевых атрибутов, зависящих от части составного потенциального ключа.
Третья нормальная форма (англ. Third normal form; сокращённо 3NF) — одна из возможных нормальных форм отношения реляционной базы данных. 3NF была изначально сформулирована Э. Ф. Коддом в 1971 году.
Переменная отношения R находится в 3NF тогда и только тогда, когда выполняются следующие условия:
R находится во второй нормальной форме.
ни один неключевой атрибут R не находится в транзитивной функциональной зависимости от потенциального ключа R.
Пояснения к определению:
Неключевой атрибут отношения R — это атрибут, который не принадлежит ни одному из потенциальных ключей R.
Функциональная зависимость множества атрибутов Z от множества атрибутов X (записывается X → Z, произносится «икс определяет зет») являетсятранзитивной, если существует такое множество атрибутов Y, что X → Y и Y → Z. При этом ни одно из множеств X, Y и Z не является подмножеством другого, то есть функциональные зависимости X → Z, X → Y и Y → Z не являются тривиальными.
Нормальная форма Бойса-Кодда (англ. Boyce-Codd normal form; сокращённо BCNF) — одна из возможных нормальных форм отношения в реляционной модели данных.
Иногда нормальную форму Бойса-Кодда называют усиленной третьей нормальной формой, поскольку она во всех отношениях сильнее (строже) по сравнению с ранее определённой ЗНФ.
Переменная отношения находится в BCNF тогда и только тогда, когда каждая её нетривиальная и неприводимая слева функциональная зависимость имеет в качестве своего детерминанта некоторый потенциальный ключ.
Менее формально, переменная отношения находится в нормальной форме Бойса-Кодда тогда и только тогда, когда детерминанты всех ее функциональных зависимостей являются потенциальными ключами.
Для определения BCNF следует понимать понятие функциональной зависимости атрибутов отношения.
Пусть R является переменной отношения, а X и Y — произвольными подмножествами множества атрибутов переменной отношения R. Yфункционально зависимо от X тогда и только тогда, когда для любого допустимого значения переменной отношения R, если два кортежа переменной отношения R совпадают по значению X, они также совпадают и по значению Y. Подмножество X называют детерминантом, а Y — зависимой частью.
Функциональная зависимость тривиальна тогда и только тогда, когда ее правая (зависимая) часть является подмножеством ее левой части (детерминанта).
Ситуация, когда отношение будет находиться в 3NF, но не в BCNF, возникает, например, при условии, что отношение имеет два (или более) потенциальных ключа, которые являются составными и имеют общий атрибут. На практике такая ситуация встречается достаточно редко, для всех прочих отношений 3NF и BCNF эквивалентны.
ИНДЕКСИРВАНИЕ
Структура хранения на основе индексирования предполагает использовать двух хранимых файлов.
1. Файл таблицы с данными (например, поставщиков деталей), его условно называют последовательный файл. 2. Файл с индексами (например, данные о городах проживания поставщиков).
В файле с индексами названия городов всегда упорядочены по алфавиту. И фактически есть риды (RID) соответствующие записи файла поставщиков.
Например: Представим себе файл с данными, т.е таблица с поставщиками, там есть определенное количество записей. Риды S1,S2 и так далее.
В индексном файле записи упорядочены по алфавиту, а в файле с данными записи располагаются как есть.Они могут быть упорядоченны не по файлу городов, а по номеру или фамилии поставщика. Но нам допустим надо по городу. Файл городов в этом случае называется индексным файлом, состоящим из двух колонок. Ну а файл таблица (в физическом смысле файл, или в логическом смысле файл, как это в SQL серверах) называется индексированным .
Недостатки индексирования Недостаток использования индексов заключается в том, что если их много, то после обновления данных в таблицах(просто обновления, удаления, добавления записей) индексы должны перестраиваться. Чем больше индексов, тем больше перестроек. В руководстве SQL сервер говориться так : “на одну таблицу не более 16 идексов”. После 16 быстродействие не гарантируется, т.е до 16 индексов переиндексацию сервер обеспечивает относительно быстро, а дальше производительность сильно падает.
Если индексирование сделано по первичному ключу. То индекс называется первичным. В противном случае он называется вторичным, если по всем другим колонкам, например, по городам, по каким нибудь рейтингам, и т.д. Если индекс сделан по первичному ключу, то он еще в дополнение называется уникальным, потому что повторяющихся значений по первичному ключу в принципе быть не может. В файле городов он не может быть уникальным, т.к городов проживания может быть много (у многих клиентов могут быть одинаковые города).
Индексы могут использоваться для двух целей: 1) для последовательного доступа. Например, найти всех поставщиков из города London. 2) Для прямого доступа. Когда надо найти что-то конкретное.
Перви́чный ключ (англ. primary key) — в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию).
Если в отношении имеется единственный потенциальный ключ, он является и первичным ключом. Если потенциальных ключей несколько, один из них выбирается в качестве первичного, а другие называют «альтернативными».
С точки зрения теории все потенциальные ключи отношения эквивалентны, то есть обладают одинаковыми свойствами уникальности иминимальности. Однако в качестве первичного обычно выбирается тот из потенциальных ключей, который наиболее удобен для тех или иных практических целей, например для создания внешних ключей в других отношениях либо для создания кластерного индекса. Поэтому в качестве первичного ключа, как правило, выбирают тот, который имеет наименьший размер (физического хранения) и/или включает наименьшее количество атрибутов.
Другой критерий выбора первичного ключа — сохранение уникальности со временем. Всегда существует вероятность того, что некоторый потенциальный ключ перестанет быть таковым в долговременной перспективе или при изменении требований к системе. Например, если номер студенческой группы включает последнюю цифру года поступления, то номера групп для идентификации групп уникальны только в течение 10 лет. Поэтому в качестве первичного ключа стараются выбирать такой потенциальный ключ, который с наибольшей вероятностью не утратит уникальность.
Исторически термин «первичный ключ» появился и стал использоваться существенно ранее термина «потенциальный ключ». Вследствие этого множество определений в реляционной теории были изначально сформулированы с упоминанием первичного (а не потенциального) ключа, например, определения нормальных форм. Также термин «первичный ключ» вошёл в формулировку 12 правил Кодда как основной способ адресации любого значения отношения (таблицы) наряду с именем отношения (таблицы) и именем атрибута (столбца).
Простые и составные ключи
Если первичный ключ состоит из единственного атрибута, его называют простым ключом.
Если первичный ключ состоит из двух и более атрибутов, его называют составным ключом. Так, номер паспорта и серия паспорта не могут быть первичными ключами по отдельности, так как могут оказаться одинаковыми у двух и более людей. Но не бывает двух личных документов одного типа с одинаковыми серией и номером. Поэтому в отношении, содержащем данные о людях, первичным ключом может быть подмножество атрибутов, состоящее из типа личного документа, его серии и номера.
Вне́шний ключ (англ. foreign key) — понятие теории реляционных баз данных, относящееся к ограничениям целостности базы данных.
Неформально выражаясь, внешний ключ представляет собой подмножество атрибутов некоторой переменной отношения R2, значения которых должны совпадать со значениями некоторого потенциального ключа некоторой переменной отношения R1.
Формальное определение. Пусть R1 и R2 — две переменные отношения, не обязательно различные. Внешним ключом FK в R2 является подмножество атрибутов переменной R2 такое, что выполняются следующие требования:
В переменной отношения R1 имеется потенциальный ключ CK такой, что FK и CK совпадают с точностью до переименования атрибутов (то есть переименованием некоторого подмножества атрибутов FK можно получить такое подмножество атрибутов FK’, что FK’ и CK совпадают как по именами, так и по типам атрибутов).
В любой момент времени каждое значение FK в текущем значении R2 идентично значению CK в некотором кортеже в текущем значении R1. Иными словами, в каждый момент времени множество всех значений FK в R2 является (нестрогим) подмножеством значений CK в R1.
При этом для данного конкретного внешнего ключа FK → CK отношение R1, содержащее потенциальный ключ, называют главным, целевым, илиродительским отношением, а отношение R2, содержащее внешний ключ, называют подчинённым, или дочерним отношением.
Поддержка внешних ключей также называется соблюдением ссылочной целостности. Реляционные СУБД поддерживают автоматический контроль ссылочной целостности.
55.Понятие и основные функции OLTP-систем. Предпосылки появления систем поддержки принятия решений (СППР).
OLTP (Online Transaction Processing), транзакционная система — обработка транзакций в реальном времени. Способ организации БД, при котором система работает с небольшими по размерам транзакциями, но идущими большим потоком, и при этом клиенту требуется от системы минимальное время отклика.
Термин OLTP применяют также к системам (приложениям). OLTP-системы предназначены для ввода, структурированного хранения и обработки информации (операций, документов) в режиме реального времени.
Использование
OLTP-приложениями охватывается широкий спектр задач во многих отраслях — автоматизированные банковские системы, ERP-системы (системы планирования ресурсов предприятия), банковские и биржевые операции, в промышленности — регистрация прохождения детали на конвейере, фиксация в статистике посещений очередного посетителя веб-сайта, автоматизация бухгалтерского, складского учёта и учёта документов и т. п. Приложения OLTP, как правило, автоматизируют структурированные, повторяющиеся задачи обработки данных, такие как ввод заказов и банковские транзакции. OLTP-системы проектируются, настраиваются и оптимизируются для выполнения максимального количества транзакций за короткие промежутки времени. Как правило, большой гибкости здесь не требуется, и чаще всего используется фиксированный набор надёжных и безопасных методов ввода, модификации, удаления данных и выпуска оперативной отчётности. Показателем эффективности является количество транзакций, выполняемых за секунду. Обычно аналитические возможности OLTP-систем сильно ограничены (либо вообще отсутствуют).
Требования
Сильно нормализованные модели данных;
При возникновении ошибки транзакция должна целиком откатиться и вернуть систему к состоянию, которое было до начала транзакции;
Обработка данных в реальном времени.
Плюсы
Высокая надёжность и достоверность данных, как следствие транзакционного подхода. Транзакция либо совершается полностью и успешно, либо не совершается и система возвращается к предыдущему состоянию. При любом исходе выполнения транзакции целостность данных не нарушается.
Недостатки
OLTP-системы оптимизированы для небольших дискретных транзакций. А вот запросы на некую комплексную информацию (к примеру поквартальная динамика объемов продаж по определённой модели товара в определённом филиале), характерные для аналитических приложений (OLAP), породят сложные соединения таблиц и просмотр таблиц целиком. На один такой запрос уйдет масса времени и компьютерных ресурсов, что затормозит обработку текущих транзакций.
OLAP и OLTP системы
OLTP – оперативная транзакционная обработка данных
OLAP – оперативная аналитическая обработка данных
OLAP Технология оперативной аналитической обработки данных, использующая методы и средства для сбора, хранения и анализа многомерных данных в целях поддержки принятия решений.
Систе́ма подде́ржки приня́тия реше́ний (СППР) (англ. Decision Support System, DSS) — компьютерная автоматизированная система, целью которой является помощь людям, принимающим решение в сложных условиях для полного и объективного анализа предметной деятельности. СППР возникли в результате слияния управленческих информационных систем и систем управления базами данных.
Для анализа и выработок предложений в СППР используются разные методы. Это могут быть: информационный поиск, интеллектуальный анализ данных, поиск знаний в базах данных, рассуждение на основе прецедентов, имитационное моделирование, эволюционные вычисления и генетические алгоритмы, нейронные сети, ситуационный анализ, когнитивное моделирование и др. Некоторые из этих методов были разработаны в рамках искусственного интеллекта. Если в основе работы СППР лежат методы искусственного интеллекта, то говорят об интеллектуальной СППР или ИСППР.
56. Характеристика реляционного и многомерного подходов к построению хранилищ данных.
Данные – это отдельные факты, характеризующие объекты, процессы и явления предметной области, а также их свойства.
Для хранения данных используются базы и хранилища данных.
Модель представления данных – множество элементов (объектов, типов данных) и связей (отношений) между ними, а также ограничений операций над типами данных и отношениями.
Реляционная модель представляет собой совокупность двумерных таблиц, связанных отношениями.
Хранилище данных: предметно-ориентированный, интегрированный, неизменяемый и поддерживающий хронологию набор данных, предназначенный для обеспечения принятия управленческих решений.
В основе реляционных хранилищ данных лежит разделение данных группы – измерения и факты.
Измерения – это категориальные атрибуты, наименования и свойства объектов, участвующих в некотором бизнес-процессе. Примеры измерений: наименования товаров, названия фирм-поставщиков и покупателей, ФИО людей, названия городов и т. д.Измерения качественно описывают исследуемый бизнес-процесс.
Факты – это непрерывные по своему характеру данные (могут принимать бесконечное множество значений). Примеры фактов: цена товара или изделия, их количество, сумма продаж или закупок, зарплата сотрудников, сумма кредита и т. д. Факты количественно описывают бизнес-процесс.
Схема
построения реляционного хранилища
данных «звезда» Центральной является
таблица фактов (Fact
table), с которой связаны
таблицы измерений (Dimension
tables).
Преимущества схемы «звезда»
более простая процедура пополнения измерений, поскольку приходится работать только с одной таблицей
простота и логическая прозрачность модели
Недостатки схемы «звезда»
медленная обработка измерений, поскольку одни и те же значения измерений могут встречаться несколько раз в одной и той же таблице
высокая вероятность возникновения несоответствий в данных , например, из-за ошибок ввода
Схема построения реляционного хранилища данных «снежинка» (модификация схемы «звезда»)

Основное функциональное отличие схемы «снежинка» от схемы «звезда» – это возможность работы с иерархическими уровнями, определяющими степень детализации данных.
Преимущества схемы «снежинка»
она ближе к представлению данных в многомерной модели
процедура загрузки из РХД в многомерные структуры более эффективна, поскольку загрузка производится из отдельных таблиц
намного ниже вероятность появления ошибок, несоответствия данных
большая, по сравнению со схемой «звезда», компактность представления данных, поскольку все значения измерений упоминаются только один раз
Недостатки схемы «снежинка»
усложненная процедура добавления значений измерений
достаточно сложная для реализации и понимания структура данных
Преимущества реляционных хранилищ данных
Практически неограниченный объем хранимых данных
Поскольку реляционные СУБД лежат в основе построения многих систем оперативной обработки (OLTP), которые обычно являются главными источниками данных для ХД, использование реляционной модели позволяет упростить процедуру загрузки и интеграции данных в хранилище
При добавлении новых измерений данных нет необходимости выполнять сложную физическую реорганизацию хранилища, в отличие, например, от многомерных ХД
Обеспечиваются высокий уровень защиты данных и возможности разграничения прав доступа
Главный недостаток реляционных хранилищ данных
При использовании высокого уровня обобщения данных и иерархичности измерений в таких хранилищах начинают «размножаться» таблицы агрегатов. В результате скорость выполнения запросов реляционным хранилищем замедляется
Многомерная
модель: В основе многомерного
представления данных лежит их разделение
на две группы – измерения и факты.
Многомерная модель данных реализуется
с помощью многомерных кубов.
Измерения – это категориальные атрибуты, наименования и свойства объектов, участвующих в некотором бизнес-процессе (наименования товаров, названия фирм-поставщиков и покупателей, ФИО людей, названия городов и т. д.)
Факты
– это данные, количественно описывающие
бизнес-процесс, непрерывные по своему
характеру, то есть они могут принимать
бесконечное множество значений (цена
товара или изделия, их количество,
сумма продаж или закупок, зарплата
сотрудников, сумма кредита,
страховое вознаграждение и т. д.)
Многомерный куб можно рассматривать как систему координат, осями которой являются измерения (например, Дата, Товар, Покупатель). По осям будут откладываться значения измерений
Из многомерного куба может быть составлен обычный плоский отчёт. По столбикам и строчкам отчёта будут бизнес-категории (грани куба), а в ячейках показатели.
Сечение (срез) - формируется подмножество многомерного массива данных, соответствующее единственному значению одного или нескольких элементов измерений, не входящих в это подмножество.
Вращение - изменение расположения измерений, представленных в отчете или на отображаемой странице.
Свертка – замена одного или нескольких подчиненных значений измерений теми значениями, которым они подчинены. При этом уровень обобщения данных увеличивается.
Детализация - процедура обратная свертке, уменьшает уровень обобщения данных
Преимущества многомерного подхода
Представление данных в виде многомерных кубов более наглядно, чем совокупность нормализованных таблиц реляционной модели, структуру которой представляет только администратор БД
Возможности построения аналитических запросов к системе, использующей МХД, более широки
В некоторых случаях использование многомерной модели позволяет значительно уменьшить продолжительность поиска в МХД, обеспечивая выполнение аналитических запросов практически в режиме реального времени
Недостатки использования многомерной модели
Для ее реализации требуется больший объем памяти
Многомерная структура труднее поддается модификации
Системы: Essbase, Media Multi-matrix, Oracle Express Server, Cache. Многие программные продукты позволяют одновременно работать с многомерными и с реляционными БД.
57. Технология KDD (Knowledge Discovery in Databases). Общая характеристика методов и моделей технологии Data mining.
Knowledge Discovery in Databases (KDD) – это процесс поиска полезных знаний в "сырых" данных. KDD включает в себя вопросы: подготовки данных, выбора информативных признаков, очистки данных, применения методов Data Mining (DM), постобработки данных и интерпретации полученных результатов. Безусловно, "сердцем" всего этого процесса являются методы DM, позволяющие обнаруживать знания.
Процесс
Knowledge Discovery in Databases, состоит из следующих
шагов:
1. Подготовка исходного набора данных. Этот этап заключается в создании набора данных, в том числе из различных источников, выбора обучающей выборки и т.д. Для этого должны существовать развитые инструменты доступа к различным источникам данных. Желательно иметь поддержку работы с хранилищами данных и наличие семантического слоя, позволяющего использовать для подготовки исходных данных не технические термины, а бизнес понятия.
2. Предобработка данных. Для того чтобы эффективно применять методы Data Mining, следует обратить внимание на вопросы предобработки данных. Данные могут содержать пропуски, шумы, аномальные значения и т.д. Кроме того, данные могут быть избыточны, недостаточны и т.д. В некоторых задачах требуется дополнить данные некоторой априорной информацией. Наивно предполагать, что если подать данные на вход системы в существующем виде, то на выходе получим полезные знания. Данные должны быть качественны и корректны с точки зрения используемого метода DM. Поэтому первый этап KDD заключается в предобработке данных. Более того, иногда размерность исходного пространства может быть очень большой, и тогда желательно применять специальные алгоритмы понижения размерности. Это как отбор значимых признаков, так и отображение данных в пространство меньшей размерности.
3. Трансформация, нормализация данных. Этот шаг необходим для приведения информации к пригодному для последующего анализа виду. Для чего нужно проделать такие операции, как приведение типов, квантование, приведение к "скользящему окну" и прочее. Кроме того, некоторые методы анализа, которые требуют, чтобы исходные данные были в каком-то определенном виде. Нейронные сети, скажем, работают только с числовыми данными, причем они должны быть нормализованы.
4. Data Mining. На этом шаге применяются различные алгоритмы для нахождения знаний. Это нейронные сети, деревья решений, алгоритмы кластеризации, установления ассоциаций и т.д.
5. Постобработка данных. Интерпретация результатов и применение полученных знаний в бизнес приложениях.
Data Mining — собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности.
Общая характеристика методов и моделей технологии Data mining.
Классификация – это отнесение объектов (наблюдений, событий) к одному из заранее известных классов(на выходе дискретное число).
Задача разбиения множества объектов или наблюдений на априорно заданные группы, называемые классами, внутри каждой из которых они предполагаются похожими друг на друга, имеющими примерно одинаковые свойства и признаки. При этом решение получается на основе анализа значений атрибутов (признаков).
Классификация
является одной из важнейших задач Data
Mining. Она применяется в
маркетинге при оценке кредитоспособности
заемщиков, определении лояльности
клиентов, распознавании образов,
медицинской диагностике и многих других
приложениях. Если аналитику известны
свойства объектов каждого класса, то
когда новое наблюден ие относится к
определенному классу, данные свойства
автоматически распространяются и на
него. Для классификации в Data
Mining используется множество
различных моделей: нейронные сети,
деревья решений, машины опорных векторов,
метод k-ближайших соседей,
алгоритмы покрытия и др., при построении
которых применяется обучение с учителем,
когда выходная переменная (метка класса)
задана для каждого наблюдения. Формально
классификация производится на основе
разбиения пространства признаков на
области, в пределах каждой из которых
многомерные векторы рассматриваются
как идентичные. Иными словами, если
объект попал в область пространства,
ассоциированную с определенным классом,
он к нему и относится.
Регрессия, в том числе задачи прогнозирования. Установление зависимости непрерывных выходных от входных переменных. (на выходе непрерывные число). В теории вероятностей и математической статистике это зависимость среднего значения случайной величины от некоторой другой величины или даже нескольких. В отличие от чисто функциональной зависимости y = f(x), где каждому значению независимой переменной x соответствует единственное значение зависимой переменной y, регрессионная зависимость предполагает, что каждому значению переменной x могут соответствовать различные значения y, обусловленные случайной природой зависимости.
Y= а0 + а1x. – линейная регрессия Y = a + b1*X1 + b2*X2 + ... + bp*Xp –множественная регрессия.
Кластеризация – это группировка объектов (наблюдений, событий) на основе данных (свойств), описывающих сущность этих объектов. Объекты внутри кластера должны быть "похожими" друг на друга и отличаться от объектов, вошедших в другие кластеры. Чем больше похожи объекты внутри кластера и чем больше отличий между кластерами, тем точнее кластеризация.
Объединение объектов или наблюдений в непересекающиеся группы, называемые кластерами, на основе близости значений их атрибутов (признаков). В результате в каждом кластере будут находиться объекты, похожие по своим свойствам друг на друга и отличающиеся от тех, которые расположены в других кластерах. При этом, чем больше подобие объектов внутри кластера и чем сильнее их непохожесть на объекты в других кластерах, тем лучше кластеризация. Кластеры не заданы изначально.
Ассоциация – выявление закономерностей между связанными событиями. Примером такой закономерности служит правило, указывающее, что из события X следует событие Y. Такие правила называются ассоциативными. Впервые эта задача была предложена для нахождения типичных шаблонов покупок, совершаемых в супермаркетах, поэтому иногда ее еще называют анализом рыночной корзины (market basket analysis).
Последовательные шаблоны – установление закономерностей между связанными во времени событиями, т.е. обнаружение зависимости, что если произойдет событие X, то спустя заданное время произойдет событие Y.
Теория последовательных шаблонов происходит из теории ассоциативных правил. Методы анализа ассоциативных правил и последовательных шаблонов во многом похожи: и в том, и в другом случае используются такие понятия как предметный набор и транзакция, такие числовые характеристики, как поддержка и достоверность, а для обнаружения частых шаблонов применяются различные модификации алгоритма Apriori. Однако, между ассоциативными правилами и последовательными шаблонами есть принципиальное различие. В ассоциативных правилах представляет интерес факт совместного появления предметов в транзакции и не рассматривается порядок и появления. Иными словами, важно что товар А и товар B были приобретены по одному чеку, т.е. появились в одной транзакции. В последовательных шаблонах, напротив, последовательность событий играет решающую роль, поскольку считается, что предыдущие события влияют на вероятность появления последующих.
Анализ отклонений – выявление наиболее нехарактерных шаблонов.
58. Проблемы переноса исходных данных из различных источников в хранилище данных. ETL-процесс.
Факторы, которые необходимо учитывать при выборе источников данных для загрузки в хранилище данных:
значимость данных с точки зрения анализа;
сложность получения данных из источников;
возможное нарушение целостности и достоверности данных;
объем данных в источнике.
Выделяют три основных источника данных для загрузки в хранилище данных