Статистические функции Excel

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

· СРОТКЛ() — AVEDEV() — Вычисляет среднее абсолютных значений отклонений точек данных от среднего.

· СРЗНАЧ() — AVERAGE() — Вычисляет среднее арифметическое аргументов.

· СРЗНАЧА() — AVERAGEA() — Вычисляет среднее арифметическое аргументов, включая числа, текст и логические значения.

· БЕТАРАСП() — BETADIST() — Определяет интегральную функцию плотности бета-вероятности.

· БЕТАОБР() — BETAINV() — Определяет обратную функцию к интегральной функции плотности бета-вероятности.

· БИНОМРАСП() — BINOMDIST() — Вычисляет отдельное значение биномиального распределения.

· ХИ2РАСП() — CHIDIST() — Вычисляет одностороннюю вероятность распределения хи-квадрат.

· ХИ2ОБР() — CHIINV() — Вычисляет обратное значение односторонней вероятности распределения хи-квадрат.

· ХИ2ТЕСТ() — CHITEST() — Определяет тест на независимость.

· ДОВЕРИТ() — CONFIDENCE() — Определяет доверительный интервал для среднего значения по генеральной совокупности.

· КОРРЕЛ() — CORREL() — Находит коэффициент корреляции между двумя множествами данных.

· СЧЁТ() — COUNT() — Подсчитывает количество чисел в списке аргументов.

· СЧЁТЗ() — COUNTA() — Подсчитывает количество значений в списке аргументов.

· СЧИТАТЬПУСТОТЫ() — COUNTBLANK() - Подсчитывает количество пустых ячеек в заданном диапазоне.

· СЧЁТЕСЛИ() — COUNTIF() — Подсчитывает количество непустых ячеек, удовлетворяющих заданному условию внутри диапазона.

· КОВАР() — COVAR() — Определяет ковариацию, то есть среднее произведений отклонений для каждой пары точек.

· КРИТБИНОМ() — CRITBINOM() — Находит наименьшее значение, для которого биномиальная функция распределения меньше или равна заданному значению.

· КВАДРОТКЛ() — DEVSQ() — Вычисляет сумму квадратов отклонений.

· ЭКСПРАСП() — EXPONDIST() — Находит экспоненциальное распределение.

· FРАСП() — FDIST() — Находит F-распределение вероятности.

· FРАСПОБР() — FINV() — Определяет обратное значение для F-распределения вероятности.

· ФИШЕР() — FISHER() — Находит преобразование Фишера.

· ФИШЕРОБР() — FISHERINV() — Находит обратное преобразование Фишера.

· ПРЕДСКАЗ() — FORECAST() — Вычисляет значение линейного тренда.

· ЧАСТОТА() — FREQUENCY() — Находит распределение частот в виде вертикального массива.

· ФТЕСТ() — FTEST() - Определяет результат F-теста.

· ГАММАРАСП() — GAMMADIST() — Находит гамма-распределение.

· ГАММАОБР() — GAMMAINV() — Находит обратное гамма-распределение.

· ГАММАНЛОГ() — GAMMALN() — Вычисляет натуральный логарифм гамма функции.

· СРГЕОМ() — GEOMEAN() — Вычисляет среднее геометрическое.

· РОСТ() — GROWTH() — Вычисляет значения в соответствии с экспоненциальным трендом.

· СРГАРМ() — HARMEAN() - Вычисляет среднее гармоническое.

· ГИПЕРГЕОМЕТ() — HYRGEOMDIST() — Определяет гипергеометрическое распределение.

· ОТРЕЗОК() — INTERCEPT() — Находит отрезок, отсекаемый на оси линией линейной регрессии.

· ЭКСЦЕСС() — KURT() — Определяет эксцесс множества данных.

· НАИБОЛЬШИЙ() — LARGE() — Находит k-ое наибольшее значение из множества данных.

· ЛИНЕЙН() — LINEST() — Находит параметры линейного тренда.

· ЛГРФПРИБЛ() — LOGEST() — Находит параметры экспоненциального тренда.

· ЛОГНОРМОБР() — LOGINV() — Находит обратное логарифмическое нормальное распределение.

· ЛОГНОРМРАСП() — LOGNORMDIST() — Находит интегральное логарифмическое нормальное распределение.

· МАКС() — MAX() — Определяет максимальное значение из списка аргументов.

· МАКСА() — MAXA() — Определяет максимальное значение из списка аргументов, включая числа, текст и логические значения.

· МЕДИАНА() — MEDIAN() — Находит медиану заданных чисел.

· МИН() — MIN() - Определяет минимальное значение из списка аргументов.

· МИНА() — MINA() — Определяет минимальное значение из списка аргументов, включая числа, текст и логические значения.

· МОДА() — MODE() — Определяет значение моды множества данных.

· ОТРБИНОМРАСП() — NEGBINOMDIST() — Находит отрицательное биномиальное распределение.

· НОРМРАСП() — NORMDIST() — Выдает нормальную функцию распределения.

· НОРМОБР() — NORMINV() — Выдает обратное нормальное распределение.

· НОРМСТРАСП() — NORMSDIST() — Выдает стандартное нормальное интегральное распределение.

· НОРМСТОБР() — NORMSINV() — Выдает обратное значение стандартного нормального распределения.

· ПИРСОН() — PEARSON() — Определяет коэффициент корреляции Пирсона.

· ПЕРСЕНТИЛЬ() — PERCENTILE() — Определяет k-ую персентиль для значений из интервала.

· ПРОЦЕНТРАНГ() — PERCENTRANK() - Определяет процентную норму значения в множестве данных.

· ПЕРЕСТ() — PERMUT() - Находит количество перестановок для заданного числа объектов.

· ПУАССОН() — POISSON() — Выдает распределение Пуассона.

· ВЕРОЯТНОСТЬ() — PROB() — Определяет вероятность того, что значение из диапазона находится внутри заданных пределов.

· КВАРТИЛЬ() — QUARTILE() — Определяет квартиль множества данных.

· РАНГ() — RANK() - Определяет ранг числа в списке чисел.

· КВПИРСОН() — RSQ() — Находит квадрат коэффициента корреляции Пирсона.

· СКОС() — SKEW() — Определяет асимметрию распределения.

· НАКЛОН() — SLOPE() — Находит наклон линии линейной регрессии.

· НАИМЕНЬШИЙ() — SMALL() — Находит k-ое наименьшее значение в множестве данных.

· НОРМАЛИЗАЦИЯ() — STANDARDIZE() — Вычисляет нормализованное значение.

· СТАНДОТКЛОН() — STDEV() — Оценивает стандартное отклонение по выборке.

· СТАНДОТКЛОНА() — STDEVA() - Оценивает стандартное отклонение по выборке, включая числа, текст и логические значения.

· СТАНДОТКЛОНП() — STDEVP() — Определяет стандартное отклонение по генеральной совокупности.

· СТАНДОТКЛОНПА() — STDEVPA() - Определяет стандартное отклонение по генеральной совокупности, включая числа, текст и логические значения.

· СТОШYX() — STEYX() - Определяет стандартную ошибку предсказанных значений y для каждого значения x в регрессии.

· СТЬЮДРАСП() — TDIST() — Выдает t-распределение Стьюдента.

· СТЬЮДРАСПОБР() — TINV() — Выдает обратное t-распределение Стьюдента.

· ТЕНДЕНЦИЯ() — TREND() — Находит значения в соответствии с линейным трендом.

· УРЕЗСРЕДНЕЕ() — TRIMMEAN() — Находит среднее внутренности множества данных.

· ТТЕСТ() — TTEST() — Находит вероятность, соответствующую критерию Стьюдента.

· ДИСП() — VAR() — Оценивает дисперсию по выборке.

· ДИСПА() — VARA() — Оценивает дисперсию по выборке, включая числа, текст и логические значения.

· ДИСПР() — VARP() — Вычисляет дисперсию для генеральной совокупности.

· ДИСПРА() — VARPA() — Вычисляет дисперсию для генеральной совокупности, включая числа, текст и логические значения.

· ВЕЙБУЛЛ() — WEIBULL() — Выдает распределение Вейбулла.

· ZТЕСТ() — ZTEST() — Выдает двустороннее P-значение z-теста.

Финансовые функции Excel

· НАКОПДОХОД() — ACCRINT() - Определяет накопленный доход по ценным бумагам с периодической выплатой процентов.

· НАКОПДОХОДПОГАШ() — ACCRINTM() - Находит накопленный доход по ценным бумагам, процент по которым выплачивается в срок вступления в силу.

· АМОРУМ() — AMORDEGRC() — Вычисляет величину амортизации для каждого периода, используя коэффициент амортизации (французская система бухучета).

· АМОРУВ() — AMORLINC() — Вычисляет величину амортизации для каждого отчетного периода (французская система бухучета).

· ДНЕЙКУПОНДО() — COUPDAYBS() — Определяет количество дней между началом периода купона и датой соглашения.

· ДНЕЙКУПОН() — COUPDAYS() — Определяет число дней в периоде купона, который содержит дату соглашения.

· ДНЕЙКУПОНПОСЛЕ() — COUPDAYSNC() - Находит число дней от даты соглашения до срока следующего купона.

· ДАТАКУПОНПОСЛЕ() — COUPNCD() — Находит следующую дату купона после даты соглашения.

· ЧИСЛКУПОН() — COUPNUM() — Определяет количество купонов, которые могут быть оплачены между датой соглашения и сроком вступления в силу.

· ДАТАКУПОНДО() — COUPPCD() - Выдает предыдущую дату купона перед датой соглашения.

· ОБЩПЛАТ() — CUMIPMT() - Вычисляет общую выплату, произведенную между двумя периодическими выплатами.

· ОБЩДОХОД() — CUMPRINC() — Вычисляет общую выплату по займу между двумя периодами.

· ФУО() — DB() — Вычисляет амортизацию имущества на заданный период, используя метод постоянного учета амортизации.

· ДДОБ() — DDB() — Вычисляет величину амортизации имущества для указанного периода при использовании метода двукратного учета амортизации или иного явно указанного метода.

· СКИДКА() — DISC() — Вычисляет норму скидки для ценных бумаг.

· РУБЛЬ.ДЕС() — DOLLARDE() — Преобразует цену в рублях, выраженную в виде дроби, в цену в рублях, выраженную десятичным числом.

· РУБЛЬ.ДРОБЬ() — DOLLARFR() — Преобразует цену в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби.

· ДЛИТ() — DURATION() — Находит ежегодную продолжительность действия ценных бумаг с периодическими выплатами по процентам.

· ЭФФЕКТ() — EFFECT() - Вычисляет действующие ежегодные процентные ставки.

· БС() — FV() — Вычисляет будущее значение вклада.

· БЗРАСПИС() — FVSCHEDULE() — Вычисляет будущее значение начального вклада при изменяющихся сложных процентных ставках.

· ИНОРМА() — INTRATE() — Определяет ставку доходности полностью обеспеченной ценной бумаги.

· ПРПЛТ() — IMPT() — Вычисляет величину выплаты прибыли на вложения за данный период.

· ВСД() — IRR() — Вычисляет внутреннюю ставку доходности (отдачи) для серии потоков денежных средств.

· ПРОЦПЛАТ() — ISPMT() - Вычисляет выплаты за указанный период инвестиции.

· МДЛИТ() — MDURATION() — Определяет модифицированную длительность Маколея для ценных бумаг с предполагаемой номинальной стоимостью 100 рублей.

· МВСД() — MIRR() - Определяет внутреннюю ставку доходности, при которой положительные и отрицательные денежные потоки имеют разную ставку.

· НОМИНАЛ() — NOMINAL() — Определяет номинальную годовую процентную ставку.

· КПЕР() — NPER() — Определяет общее количество периодов выплаты для данной ссуды.

· ЧПС() — NPV() — Вычисляет чистую приведенную стоимость инвестиции, основанной на серии периодических денежных потоков и ставке дисконтирования.

· ЦЕНАПЕРВНЕРЕГ() — ODDPRICE() — Находит цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным первым периодом.

· ДОХОДПЕРВНЕРЕГ() — ODDFYIELD() — Находит доход по ценным бумагам с нерегулярным первым периодом.

· ЦЕНАПОСЛНЕРЕГ() — ODDLPRICE() — Определяет цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным последним периодом.

· ДОХОДПЕРВНЕРЕГ() — ODDFYIELD() — Находит доход по ценным бумагам с нерегулярным первым периодом.

· ЦЕНАПОСЛНЕРЕГ() — ODDLPRICE() — Определяет цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным последним периодом.

· ДОХОДПОСЛНЕРЕГ() — ODDFYIELD() — Определяет доход по ценным бумагам с нерегулярным последним периодом.

· ПЛТ() — PMT() - Вычисляет величину выплаты по ссуде за один период.

· ОСПЛТ() — PPMT() — Вычисляет величину выплат на основной капитал для вклада в заданный период.

· ЦЕНА() — PRICE() — Вычисляет цену за 100 рублей нарицательной стоимости ценных бумаг, по которым производится периодическая выплата процентов.

· ЦЕНАСКИДКА() — PRICEDISC() — Вычисляет цену за 100 рублей нарицательной стоимости ценных бумаг, на которые сделана скидка.

· ЦЕНАПОГАШ() — PRICEMAT() - Вычисляет цену за 100 рублей нарицательной стоимости ценных бумаг, по которым выплачивается прибыль в момент вступления в силу.

· ПС() — PV() — Вычисляет приведенную (к настоящему моменту) стоимость инвестиции.

· СТАВКА() — RATE() — Вычисляет процентную ставку по аннуитету за один период.

· ПОЛУЧЕНО() — RECEIVED() — Вычисляет сумму, полученную в срок вступления в силу полностью обеспеченных ценных бумаг.

· АПЛ() — SLN() — Вычисляет величину непосредственной амортизации имущества за один период.

· АСЧ() — SYD() - Возвращает величину амортизации актива за данный период, рассчитанную методом суммы годовых чисел.

· РАВНОКЧЕК() — TBILLEQ() - Вычисляет эквивалентный облигации доход по казначейскому чеку.

· ЦЕНАКЧЕК() — TBILLPRICE() — Вычисляет цену за 100 рублей нарицательной стоимости для казначейского чека.

· ДОХОДКЧЕК() — TBILLYIELD() — Вычисляет доход по казначейскому чеку.

· ПУО() — VDB() — Вычисляет величину амортизации имущества для явно указанного или соответствующего периода при использовании метода разового учета амортизации.

· ЧИСТВНДОХ() — XIRR() — Вычисляет внутреннюю ставку доходности запланированных непериодических денежных потоков.

· ЧИСТНЗ() — XNPV() — Вычисляет чистую текущую стоимость инвестиции, вычисляемую на основе ряда поступлений наличных, которые не обязательно являются периодическими.

· ДОХОД() — YIELD() — Вычисляет доход от ценных бумаг, по которым производятся периодические выплаты процентов.

· ДОХОДСКИДКА() — YIELDDISC() — Вычисляет годовой доход по ценным бумагам, на которые сделана скидка. Пример — казначейские чеки.

· ДОХОДПОГАШ() — YIELDMAT() — Вычисляет годовой доход от ценных бумаг, процент по которым выплачивается в срок погашения.

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

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

Основные требования к СУБД.

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

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

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

2.Актуальность хранимых данных. В любой момент времени ин­формация, содержащаяся в БД, должна быть современной.

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

4.Возможность модификации системы — возможность ее расши­рения и модификации данных, а также дополнение новыми функ­циями без ущерба для системы в целом.

5.Надежность — целостность БД не должна нарушаться при технических сбоях.

6.Скорость доступа — обеспечение быстрого доступа к требуе­мой информации.

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

СУБД обеспечивают надежное хранение больших объемов дан­ных сложной структуры во внешней памяти компьютера и эффек­тивный доступ к ним. К основным функциям СУБД относятся:

· непосредственное управление данными во внешней и опера­тивной памяти и обеспечение эффективного доступа к ним в про­цессе решения задач;

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

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

· реализация поддержки языка описания данных и языка за­просов;

· обеспечение безопасности данных;

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

АРХИТЕКТУРА БАЗ ДАННЫХ

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

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

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

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

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

• разработка проекта БД (определение объектов и их свойств, разработка структуры и технологии работы с БД, выбор технических и программных средств);

• обследование программного обеспечения.

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

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

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

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

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

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

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

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

• контроль за непротиворечивостью и достоверностью данных;

• анализ эффективности использования ресурсов ИС;

• координация работы системных программистов по улучшению эксплуатационных характеристик системы;

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

ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

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

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

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

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

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

• удобство и простота использования;

• качество средств разработки, защиты и контроля БД;

• уровень коммуникационных средств (в случае применения ее в сетях);

• фирма-разработчик;

• стоимость.

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

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

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

ДОСТОИНСТВА РЕЛЯЦИОННОЙ МОДЕЛИ

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

• При проектировании реляционных БД применяются строгие правила, базирующиеся на математическом аппарате.

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

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

НЕДОСТАТКИ РЕЛЯЦИОННОЙ МОДЕЛИ

• По сравнению с другими моделями реляционная модель имеет более низкую скорость доступа и требует большего объема внешней памяти.

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

• Не всегда предметную область можно представить в виде совокупности таблиц.

Для преодоления недостатков, присущих реляционной модели, в настоящее время развиваются постреляционная, многомерная и объектно-ориентированная модели. Эти модели в той или иной степени опираются на реляционную модель. Но реляционная модель и коммерческие продукты, основанные на этой модели, доминируют при построении экономических ИС.

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

ПОНЯТИЕ ОБ ИНДЕКСИРОВАНИИ

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

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

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

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

РАЗДЕЛЕНИЕ ТАБЛИЦ

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

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

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

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


Наши рекомендации