Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
Модели базы данных
Введение
информационный программный данные
Современная жизнь немыслима без эффективного управления. Важной категорией являются системы обработки информации, от которых во многом зависит эффективность работы любого предприятия ли учреждения. Такая система должна:
обеспечивать получение общих и/или детализированных отчетов по итогам работы;
позволять легко определять тенденции изменения важнейших показателей;
обеспечивать получение информации, критической по времени, без существенных задержек;
выполнять точный и полный анализ данных.
Современные СУБД в основном являются приложениями Windows, так как данная среда позволяет более полно использовать возможности персональной ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПК обусловил не только широкий переход к среде Windows, где разработчик программного обеспечения может в меньше степени заботиться о распределении ресурсов, но также сделал программное обеспечение ПК в целом и СУБД в частности менее критичными к аппаратным ресурсам ЭВМ.
Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще - диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, и какой формат данных в нем используется. Более того, стандартом «де-факто» стала «быстрая разработка приложений» или RAD (от английского Rapid Application Development), основанная на широко декларируемом в литературе «открытом подходе», то есть необходимость и возможность использования различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду с «классическими» СУБД все чаще упоминаются языки программирования Visual Basic 4.0 и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД. Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».
Таким образом, на сегодняшний день разработчик не связан рамками какого-либо конкретного пакета, а в зависимости от поставленной задачи может использовать самые разные приложения. Поэтому, более важным представляется общее направление развития СУБД и других средств разработки приложений в настоящее время.
Цель любой информационной системы -- обработка данных об объектах реального мира. В широком смысле слова база данных -- это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и в конечном счете автоматизации, например, предприятие, вуз и т д.
База данных (БД) -- это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) -- это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Централизованный характер управления данными в базе данных предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архите ктуры подобных систем;
* файл-сервер;
* клиент-сервер.
Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут создавать также на рабочих станциях локальные БД, которые используются ими монопольно.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SOL.
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица).
Поле -- элементарная единица логической организации данных, которая соответствует неделимой единице информации -- реквизиту. Для описания поля используются следующие характеристики:
имя, например. Фамилия, Имя, Отчество, Дата рождения;
тип, например, символьный, числовой, календарный;
длина, например, 15 байт, причем будет определяться максимально возможным количеством символов;
точность для числовых данных, например два десятичных знака для отображения дробной части числа.
Запись -- совокупность логически связанных полей. Экземпляр записи -- отдельная реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) -- совокупность экземпляров записей одной структуры.
В структуре записи файла указываются поля, значения которых являются ключами первичными (ПК), которые идентифицируют экземпляр записи, и вторичными (ВК), которые выполняют роль поисковых или группировочных признаков (по значению вторичного ключа можно найти несколько записей).
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
Модель данных -- совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве [I].
Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.
Иерархическая структура представляет совокупность элементов, связанных между собой по определе нным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел -- это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
· каждый элемент таблицы -- один элемент данных;
· все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
· каждый столбец имеет уникальное имя;
· одинаковые строки в таблице отсутствуют;
· порядок следования строк и столбцов может быть произвольным.
Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы -- атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ.
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ -- ключ второй таблицы.
3.По нятие информационного объекта
Информационный объект -- это описание некоторой сущности (реального объекта, явления, процес са, события) в виде совокупности логически связанных реквизитов (информационных элементов). Т а кими сущностями для информационных объектов могут служить: цех, склад, материал, вуз, студент, сдача экзаменов и т.д.
Информационный объект определенного реквизитного состава и структуры образует класс (тип), которому присваивается уникальное имя (символьное обозначение), например Студент, Сессия, Ст ипендия.
Информационный объект имеет множество реализации -- экземпляров, каждый из которых представлен совокупностью конкретных значений реквизитов и идентифицируется значением ключа (простого -- один реквизит или составного -- несколько реквизитов). Остальные реквизиты информационного объекта являются описательными. При этом одни и те же реквизиты в одних информационных объектах могут быть ключевыми, а в других -описательными. Информационный объект может иметь несколько ключей.
Нормализация отношений -- формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных.
Выделены три нормальные формы отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей (самой совершенной) нормальной форме.
Первая нормальная форма
Отношение называется нормализованным или приведенным к первой нормальной форме, если все его атрибуты простые (далее неделимы). Преобразование отношения к первой нормальной форме может привести к увеличению количества реквизитов (полей) отношения и изменению ключа.
Например, отношение Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа) наводится в первой нормальной форме.
Функциональная зависимость реквизитов -- зависимость, при которой экземпляре информационного объекта определенному значению ключевого реквизита соответствует только одно значение описательного реквизита.
Такое определение функциональной зависимости позволяет при анализе всех взаимосвязей реквизитов предметной области выделить самостоятельные информационные объекты.
В случае составного ключа вводится понятие функционально полной зависимости.
Функционально полная зависимость не ключевых атрибутов заключается в том, что каждый не ключевой атрибут функционально зависит от ключа, но не находится в функциональной зависимости ни от какой части составного ключа.
Отношение будет находиться во второй нормальной форме, если оно находится в первой нормальной форме, и каждый не ключевой атрибут функционально полно зависит от составного ключа.
Транзитивная зависимость наблюдается в том случае, если один из двух описательных реквизитов зависит от ключа, а другой описательный реквизит зависит от первого описательного реквизита.
Отношение будет находиться в третьей нормальной форме, если оно находится во второй нормал ьной форме, и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Для устранения транзитивной зависимости описательных реквизитов необходимо провести "расщепление" исходного информационного объекта. В результате расщепления часть реквизитов удаляется из исходного информационного объекта и включается в состав других (возможно, вновь созданных) информационных объектов.
Внешний уровень поддерживает частные представления данных, требуемые конкретным пользователям. Внешняя модель является подмножеством концептуальной модели. Возможно пересечение внешних моделей по данным. Частная логическая структура данных для отдельного приложения (задачи) или пользователя соответствует внешней модели или подсхеме БД. С помощью внешних моделей поддерживается санкционированный доступ к данным БД приложений (ограничен состав и структура данных концептуальной модели БД доступных в приложении, а также заданы допустимые режимы обработки этих данных: ввод, редактирование, удаление, поиск).
Появление новых или изменение информационных потребностей существующих приложений требуют определения для них корректных внешних моделей, при этом на уровне концептуальной и внутренней модели данных изменений не происходит. Изменения в концептуальной модели, вызванные появлением новых видов данных или изменением и структур, могут затрагивать не все приложения, т.е. обеспечивается определенная независимость программ от данных. Изменения в концептуальной модели должны отражаться и внутренней модели, и при неизменной концептуальной модели возможна самостоятельна модификация внутренней модели БД с целью улучшения ее характеристик (время доступа данным, расхода памяти внешних устройств и др.). Таким образом, БД реализует принцип относительной независимости логической и физической организации данных.
Важнейшим этапом проектирования базы данных является разработка инфологической (информационно-логической) модели предметной области, не ориентированной на СУБД. В инфологической модели средствами структур данных в интегрированном виде отражают состав и структуру данных, а также информационные потребности приложение (задач и запросов).
Информационно-логическая (мифологическая) модель предметной области отражает предметную область в виде совокупности информационных объектов и их структурных связей.
Инфологическая модель предметной области строится первой. Предварительная инфологическая модель строится еще на пред проектной стадии и затем уточняется на более поздних стадиях проект ирования баз данных. Затем на ее основе строятся концептуальная (логическая), внутренняя (физическая) и внешняя модели.
Системой управления базами данных называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных. Использование СУБД общего назначения в качестве инструментального средства для создания автоматизированных информационных систем, основанных на технологии баз данных, позволяет существенно сокращать сроки разработки, экономить трудовые ресурсы. Этим СУБД присущи развитые функциональные возможности и даже определенная функциональная избыточность.
Используемые в настоящее время СУБД обладают средствами обеспечения целостности данных и надежной безопасности, что дает возможность разработчикам гарантировать большую безопасность данных при меньших затратах сил на низкоуровневое программирование. Продукты, функционирующие в среде WINDOWS, выгодно отличаются удобством пользовательского интерфейса и встроенными средствами повышения производительности.
Производительность СУБД оценивается:
временем выполнения запросов;
скоростью поиска информации в неиндексированных полях;
временем выполнения операций импортирования базы данных из других форматов;
скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
максимальным числом параллельных обращений к данным в многопользовательском режиме;
временем генерации отчета.
На производительность СУБД оказывают влияние два фактора:
СУБД, которые следят за соблюдением целостности данных, несут дополнительную нагрузку, которую не испытывают другие программы;
производительность собственных прикладных программ сильно зависит от правильного проектирования и построения базы данных.
Самые быстрые программные изделия отнюдь не обладают самыми развитыми функциональными возможностями на уровне процессора СУБД.
Самой быстрой СУБД является FoxPro 2.6, однако она не обладает средствами соблюдения целостности данных в отличие от более медленной СУБД Access 2.0.
Эта характеристика подразумевает наличие средств, позволяющих удостовериться, что информация в базе данных всегда остается корректной и полной. Должны быть установлены правила целостности, и они должны храниться вместе с базой данных и соблюдаться на глобальном уровне. Целостность данных должна обеспечиваться независимо от того, каким образом данные заносятся в память (в инт ерактивном режиме, посредством импорта или с помощью специальной программы).
Некоторые СУБД имеют хорошо разработанный процессор СУБД для реализации таких возможностей, как уникальность первичных ключей, ограничение (пресечение) операций и даже каскадное обновление и удаление информации. В таких системах проверка корректности, назначаемая полю или таблице, будет проводиться всегда после изменения данных, а не только во время ввода информации с помощью экранной формы. Это свойство можно настраивать для каждого поля и для записи в целом, что позволяет контролировать не только значения отдельных полей, но и взаимосвязи между несколькими полями данной записи.
Эта характеристика отражает:
* возможность обработки СУБД информации, подготовленной другими программными средствами;
* возможность использования другими программами данных, сформированных средствами рассматриваемой СУБД.
Особый интерес представляют следующие форматы файлов: ASCII-файлы, .DBF,WK*, .XLS.
Все рассматриваемые здесь СУБД обладают хорошими возможностями импорта-экспорта данных.
Доступ к данным посредством языка SQL
Язык запросов SQL (Structured Query Language) реализован в целом ряде популярных СУБД для различных типов ЭВМ либо как базовый, либо как альтернативный. В силу своего широкого использования является международным стандартом языка запросов. Язык SQL предоставляет развитые возможности как конечным пользователям, так и специалистам в области обработки данных .
Совместимость с SQL-системами играет большую роль, когда предполагается проведение работы с корпоративными данными. СУБД, хорошо подготовленные к работе в качестве средств первичной обработки информации для SQL-систем, могут открыть двери в системы с архитектурой клиент-сервер.
СУБД имеют доступ к данным SQL в следующих случаях:
базы данных совместимы с ODBC (Open Database Connectivity -- открытое соединение баз данных);
реализована естественная поддержка SQL-баз данных;
возможна реализация SQL-запросов локальных данных.
Многие СУБД могут "прозрачно" подключаться к входным SQL-подсисТемам с помощью ODBC или драйверов, являющихся их частью, поэтому существует возможность создания прикладных программ для них. Некоторые программные продукты также с SQL при обработке интерактивных запросов на получение данных, находящихся сервере или на рабочем месте.
Access 2.0 и Paradox for Windows работают с источниками SQL-данных, совместимых с системой ODBC.
FoxPro (for dos и for Windows) поставляются с дополнительными библиотеками, которые обеспечивают доступ к SQL-базам данных, способным работать совместно с системой ODBC, но эта возможность менее интегрирована, чем средства первичного ввода информации в Access и Paradox for Windows.
Можно напрямую управлять базами данных Access с помощью языка SQL и передавать сквозные SQL-запросы совместимым со спецификацией ODBC SQL-базам данных, таким, как MS SQL Server и Oracle, так что Access способна служить средством разработки масштабируемых систем клиент-сервер.
Реализация языковых средств интерфейсов может быть осуществлена различными способами. Для высококвалифицированных пользователей (разработчиков сложных прикладных систем) языковые средства чаще всего представляются в их явной синтаксической форме, В других случаях функции языков могут быть доступны косвенным образом, когда они реализуются в форме различного рода меню, диалоговых сценариев или заполняемых пользователем таблиц. По таким входным данным интерфейсные средства формируют адекватные синтаксические конструкции языка интерфейса и передают их на исполнение или включают в генерируемый программный код приложения. Интерфейсы с неявным использованием языка широко используются в СУБД для персональных ЭВМ. Примером такого языка является язык QBE (Query-By-Example).
Первая из этих функций обеспечивается языком описания (определения) данных (ЯОД). Описание базы данных средствами ЯОД называется схемой базы данных. Оно включает описание структуры базы данных и налагаемых на нее ограничений целостности в рамках тех правил, которые регламентированы моделью данных используемой СУБД. ЯОД некоторых СУБД обеспечивают также возможности задания ограничений доступа к данным или полномочий пользователей.
FoxPro 2.6 придает xBASE-программам оконные, событийно-управляемые качества. При составлении прикладной программы FoxPro использует диспетчер проекта, управляющий различными файлами исходного текста и данных. Эта составляющая отслеживает индивидуальные элементы: программы, наборы экранных форм, отчеты и файлы баз данных и позволяет компилировать прикладную программу в исполнимый файл.
При работе с СУБД на экран выводятся рабочее поле и панель управления. Панель управления при этом включает меню, вспомогательную область управления и строку подсказки. Расположение этих областей на экране может быть произвольным и зависит от особенностей конкретной программы. Некоторые СУБД позволяют выводить на экран окно директив (командное окно) или строку команд. Познакомиться с видом экрана таких программных средств можно на примере окна СУБД Access 2.0.
В строке состояния (статусной строке) пользователь найдет сведения о текущем режиме работы программы, имени файла текущей базы данных и т. п. Панель инструментов (пиктографическое меню) содержит определенное количество кнопок (пиктограмм), предназначенных для быстрой активизации выполнения определенных команд меню и функций программы. Чтобы представить на экране области таблицы базы данных, формы или отчета, которые на нем в настоящий момент не отображены, используют вертикальную и горизонтальную линейки прокрутки.
Важная особенность СУБД -- использование буфера промежуточного хранения при выполнении ряда операций. Буфер используется при выполнении команд копирования и перемещения для временного хранения копируемых или перемещаемых данных, после чего они направляются по новому адресу. При удалении данных они также помещаются в буфер. Содержимое буфера сохраняется до тех пор, пока в него не будет записана новая порция данных.
наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода;
вводом с клавиатуры первой буквы выбранной команды.
Получить дополнительную информацию о командах, составляющих меню СУБД и их использовании можно, войдя в режим помощи.
Несмотря на особенности СУБД совокупность команд, предоставляемых в распоряжение пользователю некоторой усредненной системой управления базами данных, может быть разбита на следующие типовые группы:
команды для работы с файлами;
команды редактирования;
команды форматирования;
команды для работы с окнами;
команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);
получение справочной информации.
При работе с файлами программа дает возможность пользователю:
* создавать новые объекты базы данных;
* сохранять и переименовывать ранее созданные объекты;
* открывать уже существующие базы данных;
* закрывать ранее открытые объекты;
* выводить на принтер объекты базы данных.
Процесс печати начинается с выбора драйвера принтера. Для каждого типа принтера необходим свой драйвер. Следующий шаг состоит в задании параметров страницы, формировании колонтитулов, а также в выборе вида и размера шрифта. Далее следует установить число копий, качество печати и количество или номера печатаемых страниц документа.
Команда предварительного просмотра позволяет получить представление об общем виде выводимой на принтер информации еще до печати. Размещение информации на странице может быть оптимально приспособлено к ее выбранным параметрам посредством масштабирования и центрирования.
В некоторых СУБД в рассматриваемую группу команд введены команды, обеспечивающие возможность экспорта-импорта и присоединения таблиц, созданных другими программными средствами.
Важное значение имеет визуальное представление данных при выводе. Большинство СУБД предоста вляют в распоряжение пользователя большое число команд, связанных с оформлением выводимой информации. При помощи этих команд пользователь может варьировав направление выравнивания данных, виды шрифта, толщину и расположение линий, высоту букв, цвет фона и т. п. При выполнении любой команды форматирования следует выделить
Выбор формата и направления выравнивания производится автоматически в зависимости от характера вводимых данных. Данные, интерпретируемые программой как текст, выравниваются по левому краю, а числа -- по правому. Автоматический выбор формата и способа выравнивания производится только в том случае, если для заполняемых ячеек пользователем предварительно не заданы другие параметры.
Большинство СУБД дает возможность открывать одновременно множество окон, организуя тем самым "многооконный режим" работы; При этом некоторые окна будут видны на экране, другие находиться под ними. Открыв несколько окон, вы можете сразу работать с несколькими таблицами, быстро пер емещаясь от одной к другой. Существуют специальные команды, позволяющие открывать новое окно, переходить в другое окно, изменять взаимное расположение и размеры окон на экране. Кроме того, у пользователя имеется возможность разделить окно на две части для одновременного просмотра различных частей большой таблицы или фиксировать некоторую часть таблицы, которая не будет исчезать с экрана при перемещении курсора в дальние части таблицы.
Системы управления базами данных имеют в своем составе электронные справочники, предоставля
ющие пользователю инструкции о возможностях выполнения основных операций, информацию по конкретным командам меню и другие справочные данные. Особенностью получения справочной информации с помощью электронного справочника является то, что она выдает информацию в зависимости от ситуации, в которой оказался пользователь. Так, если в меню пользователем была выбрана определенная команда, то после обращения к справочной системе (обычно инициируется клавишей
* запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и не изменяющий эти данные;
* запрос-изменение, предназначенный для изменения или перемещения данных; к этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление;
* запрос с параметром, позволяющий определить одно или несколько условий отбора во время выполнения запроса,
Самым распространенным типом запроса является запрос на выборку. Результатом выполнения запроса является таблица с временным набором данных (динамический набор). Записи динамического набора могут включать поля из одной или нескольких таблиц базы данных. На основе запроса можно построить отчет или форму.
Практически любая СУБД позволяет вывести на экран и принтер информацию, содержащуюся в базе данных, из режимов таблицы или формы. Такой порядок вывода данных может использоваться только как черновой вариант, так как позволяет выводить данные только точно в таком же виде, в каком они содержатся в таблице или форме.
Каждый пользователь, работающий с СУБД, имеет возможность использования специальных средств построения отчетов для вывода данных. Используя специальные средства создания отчетов, пользователь получает следующие дополнительные возможности вывода данных:
* включать в отчет выборочную информацию из таблиц базы данных;
* добавлять информацию, не содержащуюся в базе данных;
* при необходимости выводить итоговые данные на основе информации базы данных;
* располагать выводимую в отчете информацию в любом, удобном для пользователя виде (вертикальное или горизонтальное расположение полей);
* включать в отчет информацию из разных связанных таблиц базы данных.
7. Информационная модель СУБД
Предварительное планирование, подготовка данных, последовательность создания информационной модели.
При проектировании системы обработки данных больше всего нас интересует организация данных. Помочь понять организацию данных призвана информационная модель.
Процесс создания информационной модели начинается с определения концептуальных требований ряда пользователей. Концептуальные требования могут определяться и для некоторых задач (приложений), которые в ближайшее время реализовывать не планируется. Это может несколько повысить трудоемкость работы, однако поможет наиболее полно учесть все нюансы функциональности, требуемой для разрабатываемой системы, и снизит вероятность переделки в дальнейшем. Требования отдельных пользователей должны быть представлены в едином «обобщенном представлении». Последнее называют концептуальной моделью.
Объект - это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами поведения. Объект представляет собой типичный неопределенный экземпляр такого множества.
Объекты объединяются в классы по общим характеристикам. Например, в предложении «Белый Дом является зданием», «Белый Дом» представляет объект, а «здание» - класс. Классы обозначаются абстрактными существительными.
Класс - это множество предметов реального мира, связанных общностью структуры и поведением.
Концептуальная модель представляет объекты и их взаимосвязи без указывания способов их физического хранения. Таким образом, концептуальная модель является, по существу, моделью предметной области. При проектировании концептуальной модели все усилия разработчика должны быть направлены в основном на структуризацию данных и выявление взаимосвязей между ними без рассмотрения особенностей реализации и вопросов эффективности обработки. Проектирование концептуальной модели основано на анализе решаемых на этом предприятии задач по обработке данных. Концептуальная модель включает описания объектов и их взаимосвязей, представляющих интерес в рассматриваемой предметной области и выявляемых в результате анализа данных. Имеются в виду данные, используемые как в уже разработанных прикладных программах, так и в тех, которые только будут реализованы.
Проектирование концептуальной модели базы данных:
Анализ данных: сбор основных данных (например, объекты, связи между объектами).
Определим первоначальные данные:
Заявки - поступающие от магазинов на определённый период.
Договора - заключаются с поставщиками на определённый вид товара.
Поставщики - организации или физические лица, с которыми заключаются договора на поставку товара.
Заказчики - в основном магазины, а также предприятия и организации, подающие заказ на приобретение того или иного товара.
Счета - ведутся на этапе заключения договором с поставщиками, а также с заказчиками.
Накладные - создаются на основании получения заказа о заказчика, для отгрузки.
Справки - получение/выдача различных справок как заказчику так и поставщику.
Товар - присутствует на основании заявки и договора с поставщиком.
Взаимосвязь выражает отображение или связь между двумя множес твами данных. Различают взаимосвязи типа «один к одному», «один ко многим» и «многие ко многим».
Например, если заказчик производит заказ на покупку товара впервые, осуществляется первичная регистрация его данных и сведений о сделанном заказе. Если же заказчик производит заказ повторно, осуществляется регистрация только данного заказа. Вне зависимости от того, сколько раз данный заказчик производил заказы, он имеет уникальный идентификационный номер (уникальный ключ заказа). Информация о каждом заказчике включает наименование заказчика, адрес, телефон, факс, фамилию, имя, отчество, признак юридического лица и примечание. Таким образом, свойствами объекта Заказчик являются «уникальный ключ заказчика», «наименование заказчика».
Следующий представляющий для нас интерес объект -- Товар. Этот объект имеет свойства «уникальный ключ товара», «наименование товара».
Второй рассматриваемый объект -- Поставщик. Его свойствами являются «уникальный ключ поставщика», «наименование поставщика».
Третий рассматриваемый объект -- Заказчик. Его свойствами являются «уникальный ключ заказчика», «наименование заказчика».
Допустим, в определенный момент времени один заказчик может сд елать только один заказ. В этом случае между объектами Заказчик и Товар устанавливается взаимосвязь «один к одному».
В определенный момент времени один заказчик может стать облад ателем нескольких товаров, при этом несколько заказчиков не могут являться обладателями одного товара (на условии если заказчик не претендует на часть товара). Взаимосвязь «один ко многим» можно обозначить с помощью одинарной стрелки в направлении к «одному» и двойной стрелки в направлении ко «многим» .В этом случае одной записи данных первого объекта (его часто называют родительским или основным) будет соответствовать несколько записей второго объекта (дочернего или подчиненного). Взаимосвязь «один ко многим» очень распространена при разработке реляционных баз данных. В качестве родительского объекта часто выступает справочник, а в дочернем хранятся уникальные ключи для доступа к записям справочника. В нашем примере в качестве такого справочника можно представить объект Заказчик, в котором хранятся сведения о всех заказчиках. При обращении к записи для определенного заказчика нам доступен список всех покупок, которые он сделал, и сведения о которых хранятся в объекте Товар.
...Понятие и структура банка данных. Основные структурные элементы базы данных. Система управления базами данных. Преимущества централизации управления данными. Понятие информационного объекта. Современные технологии, используемые в работе с данными.
курсовая работа , добавлен 02.07.2011
Обзор и сравнительная характеристика программного обеспечения для создания СУБД. Принципы организации данных. Основные возможности MS Access. Разработка структуры и реализация средствами SQL базы данных для учета заказов, наличия и продажи автозапчастей.
курсовая работа , добавлен 27.05.2013
Современные системы управления базами данных (СУБД). Анализ иерархической модели данных. Реляционная модель данных. Постреляционная модель данных как расширенная реляционная модель, снимающая ограничение неделимости данных, хранящихся в записях таблиц.
научная работа , добавлен 08.06.2010
Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат , добавлен 20.12.2010
Технология отображения концептуальной модели базы данных на реляционную модель данных. Описание связей между атрибутами отношения при помощи функциональной зависимости. Нормализация как процесс последовательной замены таблицы ее полными декомпозициями.
презентация , добавлен 19.08.2013
Теоретические аспекты СУБД. Основные понятия. Функциональные возможности СУБД. Архитектура систем управления. Разработка базы данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде базы данных.
курсовая работа , добавлен 23.02.2006
Концептуальная модель базы данных "Бюро по трудоустройству". Разработка информационного и программного обеспечения объектов автоматизации. Реализация базы данных в СУБД MsAccess. Запросы к базе данных. Таблицы, отчеты и макросы. Интерфейс пользователя.
курсовая работа , добавлен 30.05.2016
Порядок проектирования и разработки базы данных и программного обеспечения. Информация о структуре базы данных, созданных таблицах, формах, отчетах, запросах, хранимой информации. Логическая и концептуальная модели данных; выбор программного обеспечения.
курсовая работа , добавлен 20.01.2010
Развитая автоматизированная информационная система как условие обеспечения эффективного функционирования организации. Проектирование и построение информационной логической модели базы данных. Краткая характеристика Access. Разработка структуры таблиц.
курсовая работа , добавлен 27.02.2009
Классификация моделей построения баз данных. Работа с реляционными базами данных: нормализация таблиц, преобразование отношений полей, преобразование функциональной модели в реляционную. Понятие языка определения данных и языка манипуляции данными.
Классификация баз данных.
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределённый доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределённая база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределённой базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Ядром любой модели базы данных является модель данных.
Модель данных - совокупность структур данных и операций их обработки. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
На сегодняшний день существует три основных подхода к построению баз данных: иерархический, сетевой и реляционный.
Исторически первой появилась Иерархическая модель данных. Иерархическая модель данных строится по принципу иерархии типов объектов, т.е. один тип объекта является главным, а остальные подчиненными.
Данные представлены в виде деревьев. Две вершины дерева связаны отношением подчиненности. Дерево обязательно содержит одну вершину, которая не имеет главных. Такая вершина называется корнем. В данном случае это вершина 3. Вершины, которые не имеют подчиненных называются листьями, на рисунке это 1, 2, 5, 7, 8, 9.
Рис.1. Иерархическая модель данных
Вершина дерева хранит данные, характеризующие некоторый объект и несколько связей с подчиненными вершинами.
Между главными и подчиненными объектами установлено отношение «один ко многим». Для каждого подчиненного типа объекта может быть только один исходный тип объекта.
Главная вершина - Отдел - содержит информацию о названии, бюджете и телефоне отдела. Отдел имеет подчиненную вершину Руководитель с информацией Фамилия, Год рождения, Разряд и несколько подчиненных вершин сотрудники, каждый сотрудник характеризуется Фамилией, Адресом и т.д. Данное дерево содержит информацию об одном отделе. Для описания второго отдела требуется второе дерево. База данных будет содержать несколько деревьев одинаковой структуры. Возможные операции с иерархической базой данных: переход между деревьями, создание и удаление дерева, поиск вершины дерева, изменение информации в вершинах. Работа с иерархическими базами данных основана на математической теории графов.
Сетевая модель данных.
Сетевая модель является обобщением иерархической модели данных. Любой объект может быть главным и подчиненным. Каждый объект может участвовать в любом числе взаимодействий. Единственное ограничение - отношение подчиненности не может вернуться обратно к вершине, с которой оно начиналось.
Рис.2. Сетевая модель данных
Отдел содержит информацию: Название, Бюджет, Телефон и связи с Руководителем и несколькими Сотрудниками. Руководитель характеризуется Датой вступления в должность, Годом рождения, Разрядом. Сотрудники характеризуются фамилией, Адресом. Вершина Руководитель связана с одной из вершин Сотрудников, в ней хранятся Фамилия и Адрес руководителя.
Реляционная модель данных.
В реляционной модели данных объекты и взаимодействия между ними представляются с помощью таблиц. Каждая таблица должна иметь первичный ключ - поле или комбинацию полей, которая единственным образом идентифицирует каждую строку таблицы.
В настоящее время реляционная модель данных является наиболее популярной. На ее идеологии построены СУБД FoxPro, Access, Visual C++ и д.р.
Возможные операции в реляционной базе данных: создание таблиц и связей, изменение структуры таблиц, добавление, удаление и изменения записей, поиск данных, отбор данных из одной или нескольких таблиц и т.д.
Работа с реляционными базами данных основана на реляционной алгебре.
Каждая система БД реализует ту или иную модель данных, которая определяет правила порождения допустимых для системы видов структур данных, возможные операции над такими структурами, классы представимых средствами системы ограничений целостности данных. Таким образом, модель данных задает границы множества всех конкретных БД, которые могут быть созданы средствами этой системы.
Описание выбранной предметной области в терминах модели данных позволяет получить модель БД. Обычно выделяют три уровня моделей БД .
Мифологическая модель отражает информацию о предметной области без ориентации на конкретную СУБД (или даже на тип предполагаемой к использованию СУБД). В связи с этим некоторые авторы говорят о существовании инфологической модели предметной области, а не БД.
Даталогическая модель БД – модель логического уровня, представляющая собой отображение логических связей между элементами данных независимо от их содержания и среды хранения. Эта модель строится в терминах информационных единиц, допустимых в той СУБД, в среде которой будет создаваться БД. Этап создания данной модели называется даталогическим или логическим проектированием.
Физическая модель БД строится с учетом возможностей по организации и хранению данных, предоставляемых СУБД и используемой программноаппаратной платформой. Она, в частности, определяет используемые запоминающие устройства и способы организации данных в среде хранения.
При проектировании БД первой строится инфологическая модель, после чего – даталогическая, и только после нее – физическая. Более подробно эти этапы будут рассмотрены в следующих главах.
Однако вернемся к рассмотрению моделей данных. Разные авторы приводят несколько различающиеся перечни существующих моделей данных. Например, в предлагается такой список моделей данных и периодов времени, когда в их разработке были получены основные результаты:
Первыми появились модели данных, основанные на теории графов, – иерархическая и сетевая. Более подробно они рассмотрены ниже. Следующей появилась разработанная Э. Коддом (Edgar Codd) реляционная модель данных, основанная на математической теории множеств. На сегодняшний день она является самой распространенной, поэтому будет рассматриваться наиболее подробно. Вопросам, связанным с реляционной моделью и логическим проектированием реляционных баз данных, посвящены главы 4 и 5.
Модель "сущность – связь" была предложена П. Ченом (Peter Chen) в 1976 г. в качестве унифицированного способа описания предметной области. Как самостоятельная модель данных (в соответствии с приведенным выше определением) она развития не получила, но стала основой для создания инфологических моделей БД. Этап инфологического проектирования рассмотрен в главе 6.
Семантическая модель, так же как и модель "сущность – связь", используется для построения инфологических моделей. Только в этом случае пользовательские данные представляются в виде набора семантических объектов. Семантический объект – это именованная совокупность атрибутов, которая в достаточной степени описывает отдельный феномен (объект, явление и т.п.).
Объектно-ориентированная и объектно-реляционная модели данных появились в результате распространения объектно-ориентированного подхода в программировании. Объектная модель данных предлагает рассматривать БД как множество объектов, обладающих свойствами инкапсуляции, наследования и т.д. В 1989 г. был опубликован "Манифест систем объектно-ориентированных баз данных", а в 1991 г. образован консорциум ODMG (от англ. Object Data Management Group), который занялся разработкой стандартов. В 2000 г. была опубликована версия стандарта The Object Data Standard: ODMG 3.0, а в 2001 г. группа прекратила свою деятельность. Примерно в то же время велась активная работа по адаптации реляционной модели к требованиям объектно-ориентированного подхода к разработке ПО, что привело к появлению объектно-реляционной модели данных. Позднее объектные расширения были введены в стандарт языка SQL.
К полуструктурированным относят данные, в которых можно выделить некоторую структуру, но она недостаточно строгая по сравнению с реляционными структурами данных (или структурами других традиционных моделей данных) . Наиболее ярким примером полуструктурированных данных являются XML-документы (от англ. extensible Markup Language – расширяемый язык разметки). Действительный (англ. valid) XML-до- кумент должен соответствовать определенному формату описания (схеме), где заданы структура документа, допустимые названия элементов, атрибутов и т.д. Формат XML широко используется для обмена данными между приложениями, и его поддержка обеспечивается многими СУБД.
СУБД используют различные модели данных . Самые старые системы можно разделить на иерархические и сетевые базы данных - это пререляционные модели.
В иерархической модели элементы организованы в структуры, связанные между собой иерархическими или древовидными связями. Родительский элемент может иметь несколько дочерних элементов. Но у дочернего элемента может быть только один предок.
«Система управления информацией » (Information Management System ) компании IMB - пример иерархической СУБД.
Иерархическая модель организует данные в форме дерева с иерархией родительских и дочерних сегментов. Такая модель подразумевает возможность существования одинаковых (преимущественно дочерних ) элементов. Данные здесь хранятся в серии записей с прикреплёнными к ним полями значений. Модель собирает вместе все экземпляры определённой записи в виде «типов записей » - они эквивалентны таблицам в реляционной модели, а отдельные записи — столбцам таблицы. Для создания связей между типами записей иерархическая модель использует отношения типа «родитель-потомок » вида 1:N . Это достигается путём использования древовидной структуры - она «позаимствована » из математики, как и теория множеств, используемая в реляционной модели.
Рассмотрим в качестве примера иерархической модели данных организацию, хранящую информацию о своём работнике: имя, номер сотрудника, отдел и зарплату. Организация также может хранить информацию о его детях, их имена и даты рождения.
Данные о сотруднике и его детях формируют иерархическую структуру, где информация о сотруднике – это родительский элемент, а информация о детях — дочерний элемент. Если у сотрудника три ребёнка, то с родительским элементом будут связаны три дочерних. В иерархической базе данных отношение «родитель-потомок » - это отношение «один ко многим ». То есть у дочернего элемента не может быть больше одного предка.
Иерархические БД были популярны, начиная с конца 1960-х годов, когда компания IBM представила свою СУБД «Система управления информацией. Иерархическая схема состоит из типов записей и типов «родитель-потомок »:
В сетевой модели данных у родительского элемента может быть несколько потомков, а у дочернего элемента - несколько предков. Записи в такой модели связаны списками с указателями. IDMS («Интегрированная система управления данными ») от компании Computer Associates international Inc. - пример сетевой СУБД.
Иерархическая модель структурирует данные в виде древа записей, где есть один родительский элемент и несколько дочерних. Сетевая модель позволяет иметь несколько предков и потомков, формирующих решётчатую структуру.
Сетевая модель позволяет более естественно моделировать отношения между элементами. И хотя эта модель широко применялась на практике, она так и не стала доминантной по двум основным причинам. Во-первых, компания IBM решила не отказываться от иерархической модели в расширениях для своих продуктов, таких как IMS и DL/I . Во-вторых, через некоторое время её сменила реляционная модель, предлагавшая более высокоуровневый, декларативный интерфейс.
Популярность сетевой модели совпала с популярностью иерархической модели. Некоторые данные намного естественнее моделировать с несколькими предками для одного дочернего элемента. Сетевая модель как раз и позволяла моделировать отношения «многие ко многим». Её стандарты были формально определены в 1971 году на конференции по языкам систем обработки данных (CODASYL ).
Основной элемент сетевой модели данных - набор, который состоит из типа «запись-владелец », имени набора и типа «запись-член ». Запись подчинённого уровня («запись-член ») может выполнять свою роль в нескольких наборах. Соответственно, поддерживается концепция нескольких родительских элементов.
Запись старшего уровня («запись-владелец ») также может быть «членом » или «владельцем » в других наборах. Модель данных - это простая сеть, связи, типы пересечения записей (в IDMS они называются junction records , то есть «перекрёстные записи ). А также наборы, которые могут их объединять. Таким образом, полная сеть представлена несколькими парными наборами.
В каждом из них один тип записи является «владельцем » (от него отходит «стрелка» связи ), и один или более типов записи являются «членами » (на них указывает «стрелка» ). Обычно в наборе существует отношение 1:М , но разрешено и отношение 1:1 . Сетевая модель данных CODASYL основана на математической теории множеств.
Известные сетевые базы данных:
В реляционной модели, в отличие от иерархической или сетевой, не существует физических отношений. Вся информация хранится в виде таблиц (отношений ) , состоящих из рядов и столбцов. А данные двух таблиц связаны общими столбцами, а не физическими ссылками или указателями. Для манипуляций с рядами данных существуют специальные операторы.
В отличие от двух других типов СУБД, в реляционных моделях данных нет необходимости просматривать все указатели, что облегчает выполнение запросов на выборку информации по сравнению с сетевыми и иерархическими СУБД. Это одна из основных причин, почему реляционная модель оказалась более удобна. Распространённые реляционные СУБД: Oracle , Sybase , DB2 , Ingres , Informix и MS-SQL Server .
«В реляционной модели, как объекты, так и их отношения представлены только таблицами, и ничем более ».
РСУБД - реляционная система управления базами данных, основанная на реляционной модели Э. Ф. Кодда. Она позволяет определять структурные аспекты данных, обработки отношений и их целостности. В такой базе информационное наполнение и отношения внутри него представлены в виде таблиц - наборов записей с общими полями.
Реляционные таблицы обладают следующими свойствами:
Некоторые поля могут быть определены как ключевые. Это значит, что для ускорения поиска конкретных значений будет использоваться индексация. Когда поля двух различных таблиц получают данные из одного набора, можно использовать оператор JOIN для выбора связанных записей двух таблиц, сопоставив значения полей.
Часто у полей будет одно и то же имя в обеих таблицах. Например, таблица «Заказы » может содержать пары «ID-покупателя » и «код-товара ». А в таблице «Товар » могут быть пары «код-товара » и «цена ». Поэтому чтобы рассчитать чек для определённого покупателя, необходимо суммировать цену всех купленных им товаров, использовав JOIN в полях «код-товара » этих двух таблиц. Такие действия можно расширить до объединения нескольких полей в нескольких таблицах.
Поскольку отношения здесь определяются только временем поиска, реляционные базы данных классифицируются как динамические системы.
Первая модель данных, иерархическая, имеет древовидную структуру («родитель-потомок »), и поддерживает только отношения типа «один к одному » или «один ко многим ». Эта модель позволяет быстро получать данные, но не отличается гибкостью. Иногда роль элемента (родителя или потомка ) неясна и не подходит для иерархической модели.
Вторая, сетевая модель данных , имеет более гибкую структуру, чем иерархическая, и поддерживает отношения «многие ко многим ». Но быстро становится слишком сложной и неудобной для управления.
Третья модель - реляционная - более гибкая, чем иерархическая и проще для управления, чем сетевая. Реляционная модель сегодня используется чаще всего.
Объект в реляционной модели определяется как позиция информации, хранимой в базе данных. Объект может быть осязаемым или неосязаемым. Примером осязаемого объекта может быть сотрудник организации, а примером неосязаемой сущности - учётная запись покупателя. Объекты определяются атрибутами - информационным отображением свойств объекта. Эти атрибуты также известны как столбцы, а группа столбцов - как ряд. Ряд также можно определить как экземпляр объекта.
Объекты связываются отношениями, основные типы которых можно определить следующим образом:
В этом виде отношений один объект связан с другим. Например, Менеджер -> Отдел .
У каждого менеджера может быть только один отдел, и наоборот.
В моделях данных отношение одного объекта с несколькими. Например, Сотрудник -> Отдел .
Каждый сотрудник может быть только в одном отделе, но в самом отделе может быть больше одного сотрудника.
В заданный момент времени объект может быть связан с любым другим. Например, Сотрудник -> Проект .
Сотрудник может участвовать в нескольких проектах, и каждый проект может объединять несколько сотрудников.
В реляционной модели объекты и их отношения представлены двухмерным массивом или таблицей.
Каждая таблица представляет объект.
Каждая таблица состоит из рядов и столбцов.
Отношения между объектами представлены столбцами.
Каждый столбец представляет атрибут объекта.
Значения столбцов выбираются из области или набора всех возможных значений.
Столбцы, которые используются для связи объектов, называются ключевыми. Есть два типа ключей - первичные и внешние.
Первичные служат для однозначного определения объекта. Внешний ключ - это первичный ключ одного объекта, существующий как атрибут в другой таблице.
Преимущества реляционной модели данных:
Недостатки:
В последнее время на рынке СУБД появились продукты, представленные объектными и объектно-ориентированной моделью данных, такие как Gem Stone и Versant ОСУБД. Также производятся исследования в области многомерных и логических моделей данных.
Особенности объектно-ориентированных систем управления базами данных (ООСУБД):
А также поддержку классов объектов и наследование свойств и методов классов подклассами и их объектами.