Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Систмы управления базами данных. Требования к СУБД.
Df: Система управления данными (СУБД) комплекс программно-аппаратных средств, обеспечивающих доступ к БД и управление данными.
Требования к СУБД
Эффективное выполнение функций ПО.
Минимизация избыточности.
Предоставление непротиворечивой информации.
Безопасность.
Простота в эксплуатации.
Простота физической реорганизации.
Возможность централизованного управления.
Упрощение приложений.
БД: нормализация,
. Принципы нормализации:
В каждой таблице БД не должно быть повторяющихся полей;
В каждой таблице должен быть уникальный идентификатор (первичный ключ);
Каждому значению первичного ключа должна соответствовать достаточная информация о типе сущности или об объекте таблицы (например, информация об успеваемости, о группе или студентах);
Изменение значений в полях таблицы не должно влиять на информацию в других полях (кроме изменений в полях ключа).
Виды логической связи.
Связь устанавливается между двумя общими полями (столбцами) двух таблиц. Существуют связи с отношением «один-к-одному», «один-ко-многим» и «многие-ко-многим».
Отношения, которые могут существовать между записями двух таблиц:
один к - одному, каждой записи из одной таблицы соответствует одна запись в другой таблице;
один ко - многим, каждой записи из одной таблицы соответствует несколько записей другой таблице;
многие к - одному, множеству записей из одной таблице соответствует одна запись в другой таблице;
многие ко - многим, множеству записей из одной таблицы соответствует несколько записей в другой таблице. Тип отношения в создаваемой связи зависит от способа определения связываемых полей:
Отношение «один-ко-многим» создается в том случае, когда только одно из полей является полем первичного ключа или уникального индекса.
Отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы.
Отношение «многие-ко-многим» фактически является двумя отношениями «один-ко-многим» с третьей таблицей, первичный ключ которой состоит из полей внешнего ключа двух других таблиц
Ключи. Ключ это столбец (может быть несколько столбцов), добавляемый к таблице и позволяющий установить связь с записями в другой таблице. Существуют ключи двух типов: первичные и вторичные или внешние.
Первичный ключ это одно или несколько полей (столбцов), комбинация значений которых однозначно определяет каждую запись в таблице. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Первичный ключ используется для связывания таблицы с внешними ключами в других таблицах.
Внешний (вторичный) ключ - это одно или несколько полей (столбцов) в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц.
Из двух логически связанных таблиц одну называют таблицей первичного ключа или главной таблицей, а другую таблицей вторичного (внешнего) ключа или подчиненной таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно вывести их в форме, отчете или запросе.
Существует три типа первичных ключей: ключевые поля счетчика (счетчик), простой ключ и составной ключ.
Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для каждой добавляемой в таблицу записи в поле автоматически заносится уникальное числовое значение.
Простой ключ. Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как первичный ключ. В качестве ключа можно определить любое поле, содержащее данные, если это поле не содержит повторяющиеся значения или значения Null.
Составной ключ. В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц многие - ко - многим.
Система управления Бд-СУБД:совокупность языковых и программных средств предназначееных для создания,введения и совместного использования БД многими пользователями.
Основные требования в БД(банк данных):1многократное использование,простота,легкость использования,гибкость использования,гибкость использования,быстрая обработка запросов,язык взаимодействия конечных пользователей с системой,БД должна быть основой для будущего наращивания прикладных программ,сохранение затрат умственного труда,наличие интерфейса прикладного программирования,распределенная обработка данныхадаптичность и расширяемость,контроль за целостностью данных,восстановление данных после сбоев.
Иерархическая модель данных. Оценка. Применение.
ИМ данных модель с отношением подчиненности между данными.
Определение. Отношение объектов ИМ определяется следующими правилам: А подчинено Б Б не подчинено А; А подчинено Б (А подчинено В) (Б тождественно В), где А, Б, В объекты. Другими словами, иерархическая модель реализуется древовидной структурой в которых объекты модели представлены узлами дерева. Данное определение не позволяет определить пустую модель, модель, состоящую из одного лишь корня. Кроме того, здесь допускается несвязная модель.
ИМ обл-т след. св-ми: Существует корень. Узел содержит атрибуты, исходный и зависимый узлы находятся в отношении «непосредственный предок и потомок». Узлы доб-ся гориз-но и верт-но. Потомок соединен !-ой связью с предком. Предок может иметь несколько потомков. Доступ к данным производится через предка. Может существовать множество экземпляров узла.
Достоинства: Простота в понимании и использовании. Обеспечение определенного уровня независимости по сравнению с файловыми системами. Простота обслуживания и оценки характеристик, так как благодаря дисциплине удаления нет нужды заботиться о висячих ссылках. Высокая скорость доступа.
Недостатки: Основной недостаток невозможность реализации отношения «многие к многим» в рамках одной базы данных. Реализация такого отношения на основе двух БД затрудняет управление.
Сетевая модель данных. Предл-я КОДАСИЛ. Оценка. Прим.
БД делится на области, те на записи, состоящие из полей. С другой стороны, БД состоит из наборов, а те из записей.
Df: Запись иерархия, обр-я из простейших (атомарных) эл-в данных, их групп и повт-ся групп. Тип записи мн-во допустимых экз-в записи. Тип набора мн-во экз-в набора. К набору отн-ся записи члены набора и владелец набора. Записи-влад. (члены) могут быть одноврем. владельцами (членами) других наборов.
Доступ к члену набора производится только через владельца.
Огр-я КОДАСИЛ: 1. Тип набора опр-т отн-е 1:М между типом записи-влад. и типом записи-члена. 2. Экз-р типа записи-члена может участвовать только в 1 экз-ре типа набора.
В сетевой модели отношение записей явл. графом, не имеющ. циклов. Иерарх-я модель м. б. предст. как частн. сл-й СМ.
Наборы в сетевой БД могут иметь атрибуты. Атрибут «обязательный-необязательный» опр-т поведение СУБД при удалении вл-ца экз-ра набора. В I-м случае члены набора удал-ся при удал-и вл-ца, во II-м случае нет. Атрибут «автоматический-ручной» опр-т способ включения в набор. В I сл-е члены набора вкл-ся в нужный экз-р набора автом-ки, во II-м случае в нужный набор запись включается по команде из прикладной программы.
В сетевой БД сущ. понятие текущего состояния. В сведения о текущем сост-и входит структ. базы, структ. наборов, связи и т.п. Эти данные позв-ют эфф-но осуществлять доступ к данным, контр-ть их целостность. Недост. такого централиз. предст-я трудности с изменением структуры данных.
(+): 1. реализуется отношение M:N, 2. выс. произв-ть.
(-).: трудность реорган. БД, 2. в процессе исп-я из-за некорр. удалений, сбоев и т.п. накапливается мусор данные, к которым нет доступа, 3. слабая выразит. языка запросов.
Реляционная модель данных. Основные понятия.
Принципы: 1. незав-ть данных на логич-м и физич-м уровнях стремл-е к незав-ти; 2.создание структурно простой модели стремл-е к коммуникаб-ти; 3. исп-е концепции языков высокого уровня для описания опер-й над порциями инф-и стремл-е к обр-ке множ. Каждая ед. инф-ии в реляц. БД (РБД) ассоц-ся с уникальной 3-ой: именем отн-я, знач-м ключа, именем атрибута.
Модель данных это не только структура, это комбинация, по крайней мере, 3-х сост-х: 1. набора типов структур данных; 2. набора операторов или правил вывода, применимых к правильным типам данных; 3. набора общих правил целостности, который определяет множество непротиворечивых состояний БД и множество изменений ее состояний.
Структурная часть реляц-й модели состоит из след. компонент: 1. доменов совок-ти однотипных зн-й данных; 2. отношений неопред-го порядка концептуально представл. табл-ми; 3. атрибутов атомарных данных, опр-х столбцы таблицы; 4. кортежей строк таблицы; 5. потенц-х (возможных) ключей атрибутов, однозначно опр-х кортеж в отношении; 6. первичных ключей для отношения это один из возможных ключей.
Обрабатывающая часть сост. из операторов выбора, проекции, соединения и т.п., которые преобразуют отношения в отношения.
Часть, относящаяся к целостности, состоит из правил: правила цел-ти на уровне объекта и правила цел-ти ссылок. В любой реализации можно опред. огр-я, кот. опр-т меньшее мн-во возм-х непротивор. зн-й.
Критерии, по которым СУБД можно отнести к реляционным. Эти критерии следующие: 1. СУБД должна поддерживать таблицы без видимых пользователю навигационных связей; 2. язык манипулирования данными должен обеспечивать минимальную возможность реляционной обработки, то есть включать операторы выбора, проекции и соединения.
Методы хранения данных и доступа к ним. Физически последовательный, индексно-последовательный и индексно-произвольный доступ.
Определение. Эфф-ть доступа (ЭД) число лог. обращ. / число физич.обращ. при выборке элемента данных.
Определение. Эфф-ть хранения (ЭХ) число информационных байтов / число физ. при хранении.
И-Пос: Инф-ый файл размещ-ся по блокам одинак. велич. Начало блока заполнено, а конец свободен. Индекс блока - его I-я или посл. запись. Индексы групп-ся в инд-ый файл, кот. упорядочен по первичному ключу. Поиск по индексу, затем по ссылке выб-ся I-я (или посл.) запись блока, в блоке поиск идет послед-но.
Добавл. записи идет в своб. место выбранного блока. Если своб. места нет, ее либо размещают в новый блок (область переполн-я), либо делят блок пополам, формируя 2 новых. ЭД зав. от размера базы, размера блоков и наличиия в них своб-х мест. ЭХ в зависит от объема свободного места в блоках и от величины индексов.
ЭД зависит от способа поиска записи в индексе. ЭХ зависит от размера индекса и ссылки.
Методы хранения данных и доступа к ним. Инвертированный, прямой и хешированный доступ.
Инвертир-й: При инвертир-м методе проводится по зн-ю любого поля. Для каждого поля существенно его имя, знач-е и место в информ-ом файле. Инвертир-я табл. групп-ся по именам полей, кот. групп-ся по знач-м: строки с =-ми зн-ми размещ-ся в 1 группу. Поиск в табл. произв-ся каким-то способом (например, И-Пр), выбирается ссылка на запись. Метод обычно исп-ся лишь для поиска. Особенно эффективно применение инвертированных таблиц при выборке данных по совокупности критериев, если атрибуты имеют сравнительно небольшой диапазон значений. ЭД зав. от эфф-ти поиска в табл., но в любом случае она ниже 0,5 (доступ к таблице + доступ к базе). ЭХ зависит от метода хранения таблицы и от числа инвертируемых полей.
Хешированный: Метод представл. собой расшир-е метода ПД на случай отсутствия взаимно 1-значного соотв-я между ключом и адресом записи. Сущ. адресная ф-я (хеш-функция), кот. по ключу форм-ет адрес, но не исключ., что 1 и тот же адрес выделится разным ключам. Эта ситуация называется коллизией, а соотв-е ключи синонимами. Алгоритм хеширования вкл. в себя механизм разрешения коллизий. ЭД зав. от 3-х факторов: от распр-я ключей, от кач-ва хеш-функции и от алг-ма разреш-я коллизий. ЭХ зав. от допустимого уровня ЭД. Чем свободнее таблица (файл), тем выше ЭД и ниже ЭХ.
Норм-е формы. Понятие о функц-й зав-ти. 1 норм-я форма. Полная функц-ая зависимость. 2 нормальная форма.
Df: Функциональная зависимость имеет место, если значение кортежа на одном множестве атрибутов единственным образом определяет их на другом. Другими словами, множество атрибутов Y функционально зависит от X тогда и только тогда, когда в любой момент времени для каждого из различных значений Y существует только одно из различных значений X.
Встречается и эквивалентный термин: множество X определяет Y. Обозначение X Y.
По Df реляц. табл., все ее атрибуты атомарны, т.е. не могут быть разделены семантически на более мелкие элементы. Таблица, обладающая этим свойством, называется нормализованной или, что то же самое, находящейся в первой нормальной форме (1НФ). Нормальные формы, в которых находятся отношения, составляют иерархию, в которой формы с большими номерами не обладают некоторыми нежелательными свойствами, характерными для форм с меньшими номерами.
Df: Атрибут, входящий в ключ, называется первичным.
Df:. Функц-я зав-ть X=(A1,A2,...,Ak)B полная, если B зависит от всех Ai из X. Если существует X'B, где X' собственное подмножество X, функциональная зависимость неполная.
2НФ: Df: Отношение находится во 2НФ, если каждый непервичный атрибут функционально полно зависит от ключей
. Индексирование, хеширование данных в БД.
Вопросы представления данных тесно связаны с операциями, при помощи которых эти данные обрабатываются. К числу таких операций относятся: выборка, изменение, включение и исключение данных. В основе всех перечисленных операций лежит операция доступа, которую нельзя рассматривать независимо от способа представления. В задачах поиска предполагается, что все данные хранятся в памяти с определенной идентификацией и, говоря о доступе, имеют в виду прежде всего доступ к данным (называемым ключами), однозначно идентифицирующим связанные с ними совокупности данных.
Определение ключа для таблицы означает автоматическую сортировку записей, контроль отсутствия повторений значений в ключевых полях записей и повышение скорости выполнения операций поиска в таблице. Для реализации этих функций в СУБД применяют индексирование.
Термин «индекс» тесно связан с понятием «ключ», хотя между ними есть и некоторое отличие.
Под индексом понимают средство ускорения операции поиска записей в таблице, а следовательно, и других операций, использующих поиск: извлечение, модификация, сортировка и т. д. Таблицу, для которой используется индекс, называют индексированной.
Индекс выполняет роль оглавления таблицы, просмотр которого предшествует обращению к записям таблицы. В некоторых системах, например, FoxPro, индексы хранятся в индексных файлах, хранимых отдельно от табличных файлов.
Варианты решения проблемы организации физического доступа к информации зависят в основном от следующих факторов:
При создании индекса в нем сохраняется информация о местонахождении записей, относящихся к индексируемому столбцу таблицы. При добавлении в таблицу новых записей или удалении существующих индекс также модифицируется.
При выполнении запроса к базе данных, в условие поиска которого входит индексированный столбец, поиск значений производится в первую очередь в индексе. Если этот поиск оказывается успешным, то в индексе устанавливается точное местоположение искомых данных в таблице базы данных.
В приведённом примере индекс построен по полю ИМЯ. В индексе записи хранятся в отсортированном виде (в отличие от таблицы БД), что позволяет ускорить доступ к данным.
Наибольший эффект повышения производительности работы с индексированными таблицами достигается для значительных по объему таблиц. Индексирование требует небольшого дополнительного места на диске и незначительных затрат процессора на изменение индексов в процессе работы.
Еще один интересный подход, применяемый для повышения эффективности доступа к данным, хеширование (свертка ключа). Этот метод используется тогда, когда все множество ключей заранее известно и на время обработки может быть размещено в оперативной памяти. В этом случае строится специальная функция, однозначно отображающая множество ключей на множество указателей, называемая хеш-функцией. Имея такую функцию можно вычислить адрес записи в файле по заданному ключу поиска. В общем случае ключевые данные, используемые для определения адреса записи, организуются в виде таблицы, называемой хэш-таблицей. Преимущество хранения хеш - кода в поле ключа индексного файла вместо значения состоит в том, что длина свертки независимо от длины исходного значения ключевого поля всегда имеет постоянную и достаточно малую величину ( напр. 4 байта), что существенно снижает время поисковых операций. Недостатком является необходимость выполнения операции свертки (требуется дополнительное время), а также борьба с возникновением коллизий (свертка различных значений может дать одинаковый хеш-код).
База данных (БД) представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
Система управления базами данных (СУБД) это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по модели данных.
Требования к базам данных
К современным базам данных, а следовательно, и к СУБД, на которых они строятся, предъявляются следующие основные требования.
1. Высокое быстродействие (малое время отклика на запрос).
Время отклика - промежуток времени от момента запроса к БД до фактического получения данных. Похожим является термин время доступа -промежуток времени между выдачей команды записи (считывания) и фактическим получением данных. Под доступом понимается операция поиска, чтения данных или записи их. Часто операции записи, удаления и модификации данных называют операцией обновления.
2. Простота обновления данных.
3. Независимость данных.
4. Совместное использование данных многими пользователями.
5. Безопасность данных - защита данных от преднамеренного или
непреднамеренного нарушения секретности, искажения или разрушения.
6. Стандартизация построения и эксплуатации БД (фактически СУБД).
7. Адекватность отображения данных соответствующей предметной области.
8. Дружелюбный интерфейс пользователя.
Основные этапы проектирования баз данных
[]Концептуальное (инфологическое) проектирование
Концептуальное (инфологическое) проектирование построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области» (например, «концептуальная модель базы данных» и «концептуальная модель предметной области»), поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности.
Конкретный вид и содержание концептуальной модели базы данных определяется выбранным для этого формальным аппаратом. Обычно используются графические нотации, подобные ER-диаграммам.
Чаще всего концептуальная модель базы данных включает в себя:
описание информационных объектов, или понятий предметной области и связей между ними.
описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.
[Логическое (даталогическое) проектирование
Логическое (даталогическое) проектирование создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.
Преобразование концептуальной модели в логическую модель, как правило, осуществляется по формальным правилам. Этот этап может быть в значительной степени автоматизирован.
На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.
[Физическое проектирование
Физическое проектирование создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т.д.
Форма предоставляет возможности для:
ввода и просмотра информации базы данных
изменения данных
печати
создания сообщений
Способы создания форм:
Конструктор форм (предназначен для создания формы любой сложности)
Мастер форм (позволяет создавать формы различные как по стилю, так и по содержанию)
Автоформа: в столбец (многостраничная поля для записи выводятся в один столбец, в форме одновременно отображаются данные для одной записи)
Автоформа: ленточная (все поля записи выводятся в одну строку, в форме отображаются все записи)
Автоформа: табличная (отображение записей осуществляется в режиме таблица)
Автоформа: сводная таблица
Автоформа: сводная диаграмма
Диаграмма (создается форма с диаграммой, построенной Microsoft Graph)
Сводная таблица (создается форма Access, отображаемая в режиме сводной таблицы Excel)
Алгоритм создания форм следующий:
Открыть окно БД
В окне БД выбрать вкладку Формы
Щелкнуть на пиктограмме Создать, расположенной на панели инструментов окна БД
В появившемся диалоговом окне «Новая форма» Выбрать способ создания формы и источник данных
Щелкнуть на кнопке ОК
Создание отчета как объекта базы данных
В Microsoft Access можно создавать отчеты различными способами:
Конструктор
Мастер отчетов
Автоотчет: в столбец
Автоотчет: ленточный
Мастер диаграмм
Почтовые наклейки
Хранимые процедуры представляют собой группы связанных между собой операторов SQL, применение которых делает работу программиста более легкой и гибкой, поскольку выполнить хранимую процедуру часто оказывается гораздо проще, чем последовательность отдельных операторов SQL. Хранимые процедуры представляют собой набор команд, состоящий из одного или нескольких операторов SQL или функций и сохраняемый в базе данных в откомпилированном виде. Выполнение в базе данных хранимых процедур вместо отдельных операторов SQL дает пользователю следующие преимущества:
необходимые операторы уже содержатся в базе данных;
все они прошли этап синтаксического анализа и находятся в исполняемом формате; перед выполнением хранимой процедуры SQL Server генерирует для нее план исполнения, выполняет ее оптимизацию и компиляцию;
хранимые процедуры поддерживают модульное программирование, так как позволяют разбивать большие задачи на самостоятельные, более мелкие и удобные в управлении части;
хранимые процедуры могут вызывать другие хранимые процедуры и функции;
хранимые процедуры могут быть вызваны из прикладных программ других типов;
ЗАПРОС-обьект для выборки нужных данных из одной или нескольких связанных таблиц.1запрос на выборку2запрос на изменение,изменяет или перемещает данные,такие запросы на-ся запросами действия к ним относятся запрос на добавление записей на удаление записей,на создание таблиц,или на обновление.,№3 перекресные запросы-предназначены для группировки данных и представления их в компактном виде..в перекрестном запросе мастер формирует таблицу в которой один столбец образует заголовки строк ,значение второго поля- заголовки столбцов а на пересечении строк и столбцов размещаются итоговые значения вычесления третьего поля. №4запрос с параметром позволяет определить одну или несколько условий отбота во время выполнения запроса. №5 запросы SQL это запросы которые могут быть созданы только с помощью инструкции SQL :запрос обьединения запрос к серверу и упраляющим запросам.
результат выполнения запросов-таблица которая может быть использована на ряду с другими табл БД при обработке данных .таблица сущ-ет до закрытия запроса.
ФОРМА
основное средство создания диолового интерфейса приложения пользователя,в этом обьекте можно разместить элементы управления предназначенные для ввода изображения и изменения данных в поля таблицы
ОТЧЕТ
это обьект который позволяет представлять определенную пользователем инфор-цию в определенном виде просматривать и распечатывать ее
СТРАНИЦЫ
страницы доступа к данным явл-ся диологовыи web страницами которые поддерживают динамическую связь с баой данных и позволяют просматривать,редактировать,и вводить данные в базу работая в окне браузера
МАКРОС
одна или несколько макро команд которые можно использовать для автомотизации конкретных задач.макро команда это самостоятельная инструкция автоматизирующее какое либо действие.
МОДУЛЬ
набор описаний инструкций и процедур сохраненных под одним именем