Архив рубрики «Базы данных»
Именование сущностей и атрибутов
Нужно показать назначение таблиц и колонок в этой таблице, то есть называть их так для чего они служат, хотя на практике, бывает, именуют на английском языке, аналоги на английских словах, или иногда пишут латиницей русские слова, ну тоже выход, значит, из положения, хотя иногда получается очень длинно, например, количества товара где-то там.
Прочитать остальную часть записи »
Полная атрибутивная модель FA (Fuller Attributer)
FA (Fuller Attributer) модель – это модель данных, которая полностью описывает все атрибуты сущности с указанием типов данных. Атрибуты могут однозначными (дата рождения человека) и многозначными (у человека может быть несколько телефонов).
Как создаются атрибуты в Erwinе
Надо щелкнуть правой клавишей по сущности и выбрать из всплывающего меню Attribute Editor (редактор атрибутов). Появиться окошко, в котором надо щелкнуть по кнопке New, и выбрать, если это на логическом уровне, тип данных. При этом на логическом уровне можно создавать 2 вида имён: имя, которое будет отображаться над таблицей может быть русскоязычным, и физическое имя, которое будут только на физической модели (только на латинице). Можно указать одно и тоже имя.
Прочитать остальную часть записи »
Key Basic Model
Key Basic Model – модель с ключами. Фактически эта модель когда Вы уже определились какие колонки будут ключевыми, всё остальное то же самое что на ERD модели. В Erwinе прямоугольник, который отображает сущность разделён на две части. В верхней маленькой области размещаются главные ключи PK.

Прочитать остальную часть записи »
ERD-диаграммы
Цель создания ERD-диаграммы обеспечить просмотр требований достаточных для удовлетворения потребностей разрабатываемой ИС (информационной системы). Фактически с ERD-диаграммы и начинается разработка модели, когда определяется общий перечень таблиц и связей между ними. Потом уже определяются ключи, атрибуты и т.д., но сперва надо определиться с таблицами.
Прочитать остальную часть записи »
Обзор логических и физических моделей
Обзор логических моделей
1. Диаграмма сущность-связь. Используется чтобы показать менеджерам какие таблицы проектируются для заказчика, какие связи между ними и т.д. Обычно менеджерам не важно какие там поля есть. Т.е. это модель высшего уровня, когда согласовывается модель дальше начинает она прорабатываться.
Прочитать остальную часть записи »
Моделирование структур баз данных
С появлением PC-станций стали развиваться средства автоматизированное проектирование типовых вещей (базы данных это типовые вещи в том смысле, что набор данных для проектирования и так велик и вполне укладывается в некий перечень: таблицы, связи, домены, поля, типы дынных и т. д. это всё перечислимые вещи осязаемого размера, поэтому здесь трудностей нет, есть промышленные вещи такие как: моделирование печатных плат, вплоть до разведения проводников в AutoCAD-е).
Прочитать остальную часть записи »
Настройки синтаксиса SQL
Язык SQL – язык декларативный. Он декларирует то, что мы хотим получить в ответе. На самом деле это не непосредственный код, который исполняется.
Язык SQL – это язык, который потом с помощью оптимизатора превращается в исполняемый код. В отличие от обычных интерпретаторов, которые из байт кодов делают исполняемый код, здесь ещё учитывается план выполнения, поэтому здесь более сложная работа происходит, чем в обычных кодовых системах типа Java, TopNet и т.п. Поэтому получение одного и того же результата возможно при написании запросов разными способами.
Прочитать остальную часть записи »
Настройка оптимизатора SQL
Ввиду различия режимов оптимизатора различен и результат их работы, поэтому важен выбор оптимизатора, используемого по умолчанию. Как правило, общепринятые цели настройки включают следующие задачи:
1) Устранение полного просмотра таблиц, путём создания индексов во всех случаях, когда стоимость индекса меньше стоимости полного просмотра. Т.е. заранее создать индексы для всех колонок, по которым придётся делать выборку.
2) Обеспечивание правильного использования всех индексных ресурсов оптимизатора. (стоимостной оптимизатор работает по индексам, по расположению данных)
3) Использования битовых индексов про любой возможности. Битовые индексы работает быстрее, в памяти места занимают меньше.
4) Использование стоимостных подсказок для повышения производительности запросов.
Прочитать остальную часть записи »
Режимы оптимизации в базах данных
Когда выбираются низкоуровневые процедуры и генерируется план, здесь учитываются цели, которых хотим достичь.
На сегодня существует 3 режима оптимизации (по большому счету 2, поскольку 3-ий выбирает из этих двух):
1) продукционный оптимизатор Rule: использует продукционную оптимизацию, формально говоря продукционный оптимизатор, был разработан первым, появился он в Oracle, до сих пор он работает там и модернизируется. Суть продукционного оптимизатора: формально говоря, различные виды выборки имеют разные веса (например: доступ к одной строке – вес (ранг) r=1, доступ к одиночной строке по кластерному соединению (когда формально выбирается одна, но соединение с другой) r=2, к одиночной строке по ключу с уникальным или первичным ключом r=3).
Прочитать остальную часть записи »
Оптимизация в базах данных
Оптимизация базы данных – создание таких условий, когда обеспечивается наибольшее быстродействие базы данных при минимальных затратах. (в принципе оптимизация без указания чего это очень расплывчатое понятие) Здесь понимается создание условий максимального быстродействия при возможно минимальных ресурсах.
Прочитать остальную часть записи »
Настройка сверхтрудных баз данных
Настройка сверхтрудных баз данных предусматривает настройку среды базы данных, а затем настройку запросов и транзакций, которые потребляют большое число ресурсов.
Для повышения производительности следует придерживаться следующих советов:
1) устанавливают максимально возможный объем системной глобальной памяти (в Oracle это называется SGA, рекомендуемый объем 2%,но иногда это невозможно) Прочитать остальную часть записи »
Общие принципы повышения производительности и доступности
А. На производительность влияет:
1) многопотоковая архитектура;
2) параллельная обработка;
3) фрагментация таблицы индексов;
4) оптимизация выполнения запросов;
5) разделяемая память; Прочитать остальную часть записи »
Microsoft Master Server
IT-4 вышел в 1996 году.
Есть несколько клиентов K1, K2,…Kn – есть сервер 1 и сервер 2, у которых есть диски.

Прочитать остальную часть записи »
Параллельное выполнение операций в БД
СУБД Oracle одна из первых претендовала на то, чтобы запускаться на компьютере в нескольким числом процессоров. Если ОП Windows от Microsoft обещают только к 2010 году сделать такой чтобы она учитывала наличие 2-ух процессоров и распределяла нагрузку от одного процессора, то СУБД Oracle уже давно определяет количество процессоров и может перераспределить сама нагрузку на разные процессоры. Особенно это касается операторов выборки данных, удаления записей, обновление записей и т.д. особенно тогда когда надо загружать индексы и основную базу данных, либо когда запрос выполняется на одном процессоре под запросом другого и т.д.
Прочитать остальную часть записи »
Цепочки указателей в базах данных
Часто используются, когда приходится выполнять запросы типа: найти поставщиков из города N.

Прочитать остальную часть записи »
Кластеризация в базах данных
Как правило, используется в СУБД среднего и большого размера. SQL-сервер – сервер среднего класса, а кластеризация в нем уже есть.
Идея кластеризации заключается в наиболее близком физическом размещении на диске логически связанных между собой данных (например, по какому-нибудь полю, по ключу). Записи физически лежат друг за другом.
Прочитать остальную часть записи »
Хеширование в базах данных
Хеш-адресацией или хеш-индексированием называется технология быстрого прямого доступа к хранимой записи на основе значения обычного числового поля.
Всякого рода индексирование, в том числе битовые индексы, предполагают наличие ещё одного файла: для десктоповских СУБД – физического, для SQL-сервера – логического (находящегося в одном физическом). Хеширование не требует дополнительного файла.
Прочитать остальную часть записи »
Выбор таблиц и столбцов при создании индексов
1. Основные правила выбора ТАБЛИЦ при индексировании
1. Целесообразно индексировать таблицы, из которых выбирается не более 5% строк (сразу).
2. Следует индексировать таблицы, не имеющие дублей в разделе where команды select.
3. Не целесообразно индексировать часто обновляемые таблицы.
4. Не целесообразно индексировать таблицы, занимающие не более 2х страниц (~500 записей).
Прим. это м.б. таблицы адресов, городов, районов.
Прочитать остальную часть записи »
Структуры типа B (балансированное Balance Tree) дерева
Это наиболее распространенные в наше время индексы, для сверх больших баз данных. Фактически это многоуровневые индексы, правда сделанные не потипу индекс на индекс, как мы рассматривали первоначально.
Суть создания такого индекса такова, чтобы за 2, 3 считывания можно было находить нужную запись. Как это делается: Есть какой то корневой индекс Root( в нем номера – 23, 31, 44, они очень разряжены). У них есть идентификация, указатели.

Прочитать остальную часть записи »
Многоуровневые индексы, вторичные индексы, поиск документов и обращенные индексы
Многоуровневые индексы
Для ускорения просмотра больших индексов, часто делают индекс для индекса. Тогда индексный файл очень большой, и его приходиться частями загружать в оперативную память, и это тоже долго. Тогда если есть индексный файл, то фактически делается другой уровень.
Прочитать остальную часть записи »
Неплотное индексирование – базы данных
Для поиска нужной записи используется RID. Но на самом деле SQL серверы работают не с записями, а со страницами. Считывается каждый раз страница, а внутри страницы ищется нужная запись. А раз так то на самом деле RID (Record идентификатор) можно заменить на идентификатор страниц.
Прочитать остальную часть записи »
Варианты создаваемых индексов и особенности создания. Применения индексов
Хранимый файл может иметь один индекс, как в нашем рассмотренном случае тут: http://all4study.ru/bd/indeksirovanie-v-bazax-dannyx.html, и хранимый файл может иметь несколько индексов, который сделаны так что они могут быть раздельными или совместными. Если индексов полей два и более, то индекс может быть сделан по каждому полю отдельно, или может быть сделан совместный, так называемый составной индекс. Т.е когда идет комбинация полей, он называется составным.
Прочитать остальную часть записи »
Индексирование в базах данных
Структура хранения на основе индексирования предполагает использовать двух хранимых файлов.
Прочитать остальную часть записи »
Настройка производительности базы данных
Важная часть разработки клиентно-серверного приложения, выполняют в конце разработки перед сдачей клиенту.
Цель повышения производительности должна быть оговорена в ТЗ в начале, надо стараться контролировать выполнение этой цели в процессе разработки.
Факторы повышения производительности:
- время отклика
- доступность системы
- 100%-ное время работоспособности
- параллельный режим работы
- восстановимость системы данных
- производительность офисных приложений
- сетевой трафик
- многопользовательский режим
и т.п.
Прочитать остальную часть записи »
Проблемы, связанные с ссылочной целостностью
Существуют 4 типа изменений базы данных, которые могут нарушить ссылочную целостность, когда речь идет о двух таблицах: главная и подчиненная.
Прочитать остальную часть записи »
Целостность базы данных
Термин «целостность» используется для описания точности и корректности (или непротиворечивости) данных, хранящихся в базе данных.
Если термин «безопасность» означает защиту данных от несанкционированного доступа, то «целостность» означает защиту от санкционированного доступа, т.е. целостность возникает тогда, когда у пользователя имеются права работы с базой данных, но при этом он работает корректно (не вводит каких-то данных, которые приводят базу данных в неправильное положение).
Прочитать остальную часть записи »
Безопасность базы данных
Под безопасностью подразумевается, что некоторому пользователю разрешается выполнять некоторые действия.
СУБД должны соблюдать 3 основных аспекта информационной безопасности:
1. Конфиденциальность
2. Целостность
3. Доступность
В этом посте мы поговорим о конфиденциальности
А) Управление безопасностью
В современных СУБД поддерживается как избирательный, так и обязательный подходы к обеспечению безопасности данных.
Прочитать остальную часть записи »
Защита данных – параллелизм
В предыдущей статье защита данных – восстановление мы рассмотрели принципы транзакций, контрольных точек, восстановление носителей, двухфазной фиксации и зеркального копирования. Теперь настало время рассказать о принципах параллелизма.
Прочитать остальную часть записи »
Защита данных – восстановление
Проблема защиты данных актуальна, т.к при работе пользователей с базами данных могут возникать ситуации, приводящие к потере данных:
- Могут быть созданы некачественные программы, которые разрушают данные или оставляют базу данных в непредсказуемом состоянии
- При параллельной работе пользователей (работа конкурирующих программ) могут возникать ситуации, когда получаются неправильные результаты
- Анонимные пользователи портят данные
- Обновления могут менять содержимое БД непредсказуемым способ
Прочитать остальную часть записи »
Пулы соединения с базой данных
Поскольку речь идет о многопользовательских системах то, как мы уже говорили, на примере базы данных ORACLE – одно соединение экземпляра – 6мб и каждый следующий клиент – 500кб оперативной памяти для того чтобы хранить все сведения о соединении.
В последнее время разрабатывать СУБД для подключения 100 и более 1000 пользователей стало экономически невыгодно, пошли по другому пути – создания пулов соединения. Считается, что ресурсы потребляются только активными пользователями. Тот, кто « подключился, но пошел жевать пирожок и болтать о чем-то другом», т.е. активно соединение не использует, он переходит в пассив.
Прочитать остальную часть записи »