Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лекции - Базы данных - файл 1.doc


Лекции - Базы данных
скачать (1236 kb.)

Доступные файлы (1):

1.doc1236kb.04.12.2011 02:24скачать

содержание
Загрузка...

1.doc

  1   2   3   4
Реклама MarketGid:
Загрузка...

Введение



Информационные системы различного назначения, развиваются в настоящее время очень быстрыми темпами и находят применение во все более многочисленных областях человеческой деятельности. Основой для их работы является информация, которая хранится в ЭВМ в виде различных данных. Процессы складирования, хранения, выборки, модификации и анализа данных будут рассматриваться в данном курсе – Базы данных.

Базы данных, вне всяких сомнений, занимают основополагающее положение в области информационных техноло­гий, они становятся одним из наиболее важных инструментов в жизни современно­го человека. Развитие систем управления данными идет по пути унификации, и огромным шагом к этому является использование стандарта обработки данных с помощью структурированного языка запросов SQL. Про­граммное обеспечение, работающее с использованием SQL, встроено во многие пользовательские программы (MS Office) а также может создаваться при помощи всех современных сред программирования. Это предос­тавляет как рядовому пользователю, так и разработчикам информационных систем необходимую основу для манипуляции информа­цией. Использование современных сетевых технологий (например, базирующихся на архи­тектуре клиент/сервер) позволяет создавать легко масштабируемые (от настольных до глобальных) системы управления данными. В данном курсе будут изучены возможности как индивидуальной, так коллективной работы с данными в различных компьютерных системах (от настольных до глобальных информационных систем), в частности:



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

  • ключевые моменты ис­пользования структурированного языка запросов SQL: создание простых и вложенных запросов, добавления и изменения инфор­мации в базах данных, создания и модификации основных объек­тов реляционных систем.

  • защита баз данных, вопросы целостности и сохранности баз данных.

  • база данных Microsoft Access. Практические примеры создания баз данных, применения языка SQL для манипулирования с данными. Примеры работы с Microsoft Access из Word, Excel и сред программирования.



^

Теория баз данных

Введение в базы данных

Что такое база данных


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

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

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

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

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

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

При этом возникает необхо­димость в выполнении ряда операций с БД. в первую очередь это:


  • добавление новой информации в БД:

  • изменение (модификация) информации в БД;

  • поиск информации в БД;

  • удаление информации из БД:


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

В качестве иллюстрации рассмотрим небольшую БД. приве­денную на рис. 1.1. в которой хранится информация о стипендии студентов.


^

Пример таблицы БД "Стипендия"



Данные о студентах записываются в таблицу, имеющую стро­гую структуру данных. Информация внутри таблицы состоит из полей, имеющих свое имя. В нашем примере - это поля, предна­значенные для:

K.OD - номер студенческого билета:

NAME - фамилия и инициалы студента:

GROUP - наименование учебной группы студента;

BALL - средний балл успеваемости студента:

STIP - размер начисленной стипендии.

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

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

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

Транзакция - процесс изменения базы данных, вызванный передачей одного входного сообщения.

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

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

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

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

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

поддержка языков БД - для работы с БД используются специальные языки, в целом называемые языками баз данных. В конкретной СУБД обычно поддерживается единый язык, содержащий все необхо­димые средства - от создания БД до обеспечения пользователь­ского интерфейса при работе с данными (например, Object Pascal в СУБД Paradox). Кроме того, подавляющее большинство современных СУБД поддерживает язык SQL (Structured Query Language), который является отраслевым стандартом (ANSI).

В настоящее время в большинстве БД используются реля­ционные модели данных (о них поговорим ниже), однако для начала кратко рассмотрим прочие основные модели данных, а именно:

  • модели, основанные на инвертированных списках;

  • иерархические модели данных:

  • сетевые модели данных.

  • БД. организованная с помощью инвертированных спи­сков, построена таким образом, что таблицы и пути доступа к ним видны пользователям, при этом строки таблиц физически упорядочены в некоторой последо­вательности. В этих БД поддерживаются операторы, устанавливающие адрес записи абсолютным (напри­мер, первая запись, последняя запись таблицы) или от­носительным образом (например, следующая за теку­щей запись таблицы);

  • операторы над адресуемыми записями.

БД, основанная на иерархической модели, состоит из упоря­доченного набора деревьев. Каждое дерево состоит из одного "корневого" (предок) и упорядоченного набора из нуля или более связанных с ним поддеревьев (потомки). Целостность связи меж­ду ними поддерживается автоматически.

В таких БД поддерживаются следующие операторы манипу­лирования данными:

  • найти дерево БД по заданному признаку;

  • перейти от одного дерева к другому:

  • перейти к записи внутри дерева или в порядке обхода ие­рархии (сверху вниз, слева направо):

  • вставить новую запись в указанную позицию;

  • удалить текущую запись.

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

  • найти запись по заданному признаку;

  • перейти от предка к потомку по указанной связи;

  • перейти от потомка к предку по некоторой связи:

  • создать новую запись или удалить существующую;

  • модифицировать заданную запись;

  • включить в связь или исключить из связи;

  • переставить в другую связь.



^

Структура базы данных


Понятия архитектуры и структуры является одним из важ­нейших в теории БД и служит основой для понимания возможно­стей современных СУБД. Различают три уровня архитектуры БД:

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

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

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

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

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

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

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

Архитектура клиент сервер



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

Что же означает понятие «архитектура клиент/сервер»?

Осно­вой системы такой архитектуры является сервер БД,

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

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

Таким образом, информационная система, построенная по принципу клиент/сервер, состоит обычно из трех основных компонентов:

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

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

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

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

Хранимые процедуры - это набор особых действий и манипуляций с данными, который хранится на серве­ре, причем программы-клиенты способны их выполнять.

Тригге­ры - это вид хранимых процедур. Они связаны с событиями, и запускаются автоматически, как только на сервере БД с данными происходит такое событие.

Правило - это такой тип триггера, ко­торый проверяет данные до внесения их в БД.
В задачи коммуникационного программного обеспечения входит в первую очередь обеспечение возможности программе-клиенту быстро и легко подключиться к ресурсам сервера. Суще­ствуют разнообразные варианты этого программного обеспече­ния (например, обмен данными с помощью ODBC или JDBC драйверов), но все они должны освобождать прикладные программы от сложного взаимодействия с операционной системой, сетевыми протоколами и серверами ресурсов.

В системах, построенных по принципу клиент/сервер, совершенно не важны архитектуры ЭВМ серверов: RISC и Intel или еще какая-либо другая. Также не важно, какая операционная система используется на сервере или клиенте. Важно только, чтобы совокупность аппаратных, программных и коммуникационных средств обеспечивала качественное функционирование всей системы в целом.
Упрощенно архитектуру клиент/сервер можно представить в виде схемы:


^
Рис. Упрощенная схема СУБД в архитектуре клиент/сервер.


В принципе, и клиентская, и серверная части могут физически находиться на одном и том же компьютере, но большинство систем этой архи­тектуры запускают клиентское приложение на одном компьюте­ре, а приложение-сервер - на другом. Разумеется, для обмена ин­формацией используется сеть и сетевое программное обеспече­ние. При этом одно приложение может работать независимо от другого, выполнять различные задания и разделять вычислительную нагрузку.

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

  1   2   3   4



Скачать файл (1236 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru