Windows 7, XP

Общие понятия баз данных. Методические указания для выполнения курсового проекта по дисциплине «Базы данных»

Общие понятия баз данных. Методические указания для выполнения курсового проекта по дисциплине «Базы данных»

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

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

Примерами информационных систем являются: системы заказа железнодорожных или авиационных билетов; банковские системы и многие другие.

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

Обработка информации с помощью СУБД

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

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

Реляционная модель базы данных.

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

Между записями двух таблиц (например, таблиц А и В) могут существовать следующие основные виды связей:

  • - "один к одному" (каждой записи из А соответствует одна определенная запись из В, например, работник получает зарплату, и только одну);
  • - "один ко многим" (каждой записи из А соответствует несколько записей из В, например, в доме проживает много жильцов);
  • - "многие к одному" (множеству записей из А соответствует одна определенная запись из В, например, несколько студентов учатся в одной группе);
  • - "многие ко многим" (множеству записей из А соответствует множество записей из В, например, у нескольких студентов занятия ведут разные преподаватели).

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

  • 1. В каждом поле таблицы должен находиться уникальный вид информации, т.е. в одной и той же таблице не должны находиться повторяющиеся поля.
  • 2. В каждой таблице должен быть первичный ключ или уникальный идентификатор, который однозначно определяет данную запись среди множества записей таблицы.
  • 3. Каждому значению первичного ключа должна соответствовать исчерпывающая информация об объекте таблицы.
  • 4. Изменение значения любого поля таблицы, не входящего в состав первичного ключа, не должно влиять на информацию в других ее полях.

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

Работа с базой данных

Работа с БД делится на три этапа:

  • 1. Проектирование
  • 2. Программная реализация
  • 3. Эксплуатация

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

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

Этап реализации выполняется на компьютере в следующем порядке:

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

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

Введение

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

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

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

1. Основные понятия баз данных

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

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

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

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

· Позволяет определять базу данных, что обычно осуществляется с помощью языка определения данных (DDL - Data Definition Language). Язык DDL предоставляет пользователям средства указания типа данных и их структуры, а также средства задания ограничений для информации, хранимой в базе данных.

· Позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка управления данными (DML - Data Manipulation Language). Наличие централизованного хранилища всех данных и их описаний позволяет использовать язык DML как общий инструмент организации запросов, который иногда называют языком запросов.

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

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

Языковые средства включают языки программирования, языки запросов и ответов, языки описания данных.

Методические средства - это инструкции и рекомендации по созданию и функционированию банка данных, выбору СУБД.

Технической основой банка данных является ЭВМ, удовлетворяющая оп­ределенным требованиям по своим техническим характеристикам.

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

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

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

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

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

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

Централизованное управление данными освобождает при­кладных программистов от организации данных, обеспечива­ет независимость прикладных программ от данных;

Развитая организация базы данных позволяет выполнять разнообраз­ные нерегламентированные запросы, новые приложения;

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

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

Банк и база данных, расположенные на одном компьютере, на­зываются локальными, а на нескольких соединенных сетями ПЭВМ называются распределенными. Распределенные банки и базы данных более гибки и адаптивны, менее чувствительны к выходу из строя оборудования.

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

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

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

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

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

Централизованное управление рассредоточенными информа­ционными ресурсами;

Повышение эффективности управления базами и банками данных и уменьшение времени доступа к информации;

Поддержка целостности, непротиворечивости и защиты дан­ных;

Обеспечение приемлемого уровня в соотношении «цена - производительность - надежность».

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

2. Функции СУБД

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

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

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

· имена, типы и размеры элементов данных;

· имена связей;

· накладываемые на данные ограничения поддержки целостности;

· имена санкционированных пользователей, которым предоставлено право доступа к данным;

· внешняя, концептуальная и внутренняя схемы и отображения между ними;

· статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

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

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

· Можно определить смысл данных, что поможет другим пользователям понять их предназначение.

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

· Благодаря централизованному хранению избыточность и противоречивость описания отдельных элементов данных могут быть легко обнаружены.

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

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

· Меры обеспечения безопасности могут быть дополнительно усилены.

· Появляются новые возможности организации поддержки целостности данных.

· Может выполняться аудит сохраняемой информации.

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

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

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

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

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

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

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

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

Службы поддержки независимости от данных. СУБД должна обладать инструментами поддержки независимости программ от структуры базы данных.

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

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

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

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

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

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

· Инструменты сборки мусора и перераспределения памяти для физического устранения удаленных записей с запоминающих устройств, объединения освобожденного пространства и перераспределения памяти в случае необходимости.

3. Архитектура СУБД

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

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

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

Рис 1. Топология архитектуры телеобработки

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

Рис 2. Архитектура с использованием файлового сервера

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

· Большой объем сетевого трафика.

· На каждой рабочей станции должна находиться полная копия СУБД.

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

Клиент-серверные системы. При данном подходе предполагается существование клиентского процесса, требующего определенных ресурсов, а также серверного процесса, который эти ресурсы предоставляет. При этом совсем необязательно, чтобы они находились на одном и том же компьютере. На практике системы данного типа реализуются в рамках информационно-вычислительных сетей (не обязательно ЛВС) под управлением клиент-серверных ОС (см. рис. 3).

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

Рис 3. Общая схема построения систем с архитектурой "клиент/сервер"

Клиент:

· Управляет пользовательским интерфейсом;

· Принимает и проверяет синтаксис введенного пользователем запроса;

· Выполняет приложение;

· Генерирует запрос к базе данных и передает его серверу;

· Отображает полученные данные пользователю.

Сервер:

· Принимает и обрабатывает запросы к базе данных со стороны клиентов;

· Проверяет полномочия пользователей;

· Гарантирует соблюдение ограничений целостности;

· Выполняет запросы/обновления и возвращает результаты клиенту;

· Поддерживает системный каталог;

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

· Обеспечивает управление восстановлением.

Этот тип архитектуры обладает приведенными ниже преимуществами.

· Обеспечивается более широкий доступ к существующим базам данных.

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

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

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

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

· Эта архитектура хорошо согласуется с архитектурой открытых систем.

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

Необходимо заметить, что в настоящее время данная архитектура рассматривается обычно в трехуровневом варианте, при котором функциональная часть прежнего, толстого (интеллектуального) клиента разделяется на две части. В трехуровневой архитектуре тонкий (неинтеллектуальный) клиент на рабочей станции управляет только пользовательским интерфейсом, тогда как средний уровень обработки данных управляет всей остальной логикой приложения. Третьим уровнем здесь является сepвep базы данных. Эта трехуровневая архитектура оказалась более подходящей для некоторых сред - например, для сетей Internet и intranet, где в качестве клиента может использоваться обычный Web-броузер.

Заключение

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

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

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

Список литературы

1. http://cit.vvsu.ru/portal/cifr/1/lek19.htm

2. http://do.bti.secna.ru/lib/book_it/istor_razv.html

3. http://do.bti.secna.ru/lib/book_it/ogr_file.html

4. http://www.lib.csu.ru/dl/bases/prg/kompress/articles/2000_05_dbms3/

5. Microsoft Access 2000: справочник /под ред. Ю. Колесникова. – СПб.: Питер, 2001.

6. Автоматизированные информационные технологии в экономике /под ред. проф. Г.А. Титоренко. – М.: ЮНИТИ, 2005. – 399с.

7. Информатика для юристов и экономистов /под ред. С.В. Симоновича. – СПб.: Питер, 2005. – 688с.

9. Леонтьев В.П. Новейшая энциклопедия персонального компьютера 2005. – М.:ОЛМА-ПРЕСС Образование, 2005. – 800с.

10. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных/ под ред. проф. А.Д. Хомоненко. – СПб.: КОРОНА, 2000. – 416с.

11. Экономическая информатика и вычислительная техника./ Под ред. В.П. Косарева. М.: Финансы и статистика, 2005. –592с.

Основные понятия БД

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

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

Определение 1

Запись – это совокупность полей, которые соответствуют одному объекту. Например, абоненту АТС будет соответствовать запись из 3 полей.

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

Типы полей

Все данные в БД делятся по типам. Информация в полях, которые принадлежат 1 столбцу (домену), имеет одинаковый тип. Подобный подход дает возможность ЭВМ выполнять контроль вводимой информации.

К основным типам полей БД относятся:

  • символьный (текстовый) - в поле по умолчанию могут храниться до 256 символов;
  • числовой, содержащий числовые данные разных форматов, которые используются для проведения расчетов;
  • дата/время - содержит значения даты и времени;
  • денежный - использует денежные значения и числовые данные (до 15 знаков целой части и 4 знаков дробной части);
  • примечание - способно содержать до $2^{16}$ символов ($2^{16} = 65536$);
  • счетчик - специальное числовое поле, в котором каждой записи присваивается уникальный для нее номер;
  • логический - хранит 1 из 2 значений: true или false;
  • объект OLE (Object Linking and Embedding - технология вставки и связывания объекта) – в поле может содержаться любой объект: электронная таблица, текстовый документ, рисунок, звукозапись или другие данные в двоичном формате, внедренные или связанные с СУБД;
  • гиперссылка - содержит строку, которая состоит из букв и цифр и представляет адрес сайта или веб-страницы;
  • мастер подстановок - создает поле, в котором предлагает выбрать значения из списка или уже содержит набор постоянных значений.

Свойства полей БД

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

К основным свойствам полей таблиц БД в СУБД Microsoft Access относятся:

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

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

Объекты СУБД

СУБД обладает своей собственной структурой и состоит из основных объектов, которые используются при ее создании и работе с ней.

Таблица как объект СУБД

Создание таблиц:

  1. Откроем окно БД (рис. 3). Левая панель окна содержит элементы управления для вызова всех 7 типов объектов программы. Создание таблицы начнем с выбора элемента управления Таблицы.
  1. Правая панель содержит список имеющихся в БД таблиц и элементы управления созданием новой таблицы. Для создания таблицы ручным способом используется значок Создание таблицы в режиме конструктора.
  2. При создании таблицы рекомендуется задавать ключевое поле, что поможет организовать связи между таблицами. Чтобы задать ключевое поле необходимо щелкнуть на его имени правой кнопкой мыши и в открывшемся контекстном меню выбрать команду Ключевое поле.
  3. По окончании создания структуры таблицы бланк закрывается, таблица сохраняется в поле запроса с указанием имени, после чего она становится доступна в основном окне БД, откуда ее и можно открыть при необходимости.
  4. Созданная таблица открывается в окне БД двойным щелчком по ее значку. Новая таблица содержит только названия столбцов, которые характеризуют ее структуру. При заполнении таблицы курсор ввода устанавливается в необходимую ячейку указателем мыши. Переход к следующей ячейке выполняется нажатием клавиши TAB. Переход к очередной записи осуществляется после заполнения последней ячейки.

Нижняя часть таблицы содержит Панель кнопок перехода, которой удобно пользоваться при перемещении по таблице с большим числом записей. Для начинающих пользователей Microsoft Access является неудобством то, что данные не всегда могут помещаться целиком в ячейках таблицы. Ширину столбцов можно изменять путем перетаскивания их границ. Используют также автоматическое форматирование столбцов «по содержимому», при котором указатель мыши устанавливается на границе между столбцами (в строке заголовков столбцов), после того, как он сменит форму, нужно выполнить двойной щелчок.

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

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

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

Создание межтабличных связей

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

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

А также эта связь позволяет:

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

Чтобы настроить свойства связи необходимо в окне Схема данных выделить линию, которая соединяет поля 2 таблиц, щелкнуть на ней правой кнопкой мыши и в открывшемся контекстном меню выбрать команду Изменить связь, после чего откроется диалоговое окно Изменение связи. Если в этом окне установлен только флажок Обеспечение целостности данных, то удалять данные из ключевого поля главной таблицы нельзя. Если вместе с ним включены флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей, то операции редактирования и удаления данных в ключевом поле главной таблицы разрешаются, но при этом автоматическими будут происходить изменения в связанной таблице.

Замечание 1

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

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

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

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

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

Состав СУБД

Язык описания данных (ЯОД) – средства описания данных в БД и связей между ними. Средствами этого языка описывается структура БД, форматы записей, пароли, защищающие данные.

Язык манипулирования данными (ЯМД) – язык для выполнения операций над данными, позволяющий менять их строение.

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

Структура простейшей базы данных

Если даже в базе нет никаких данных (пустая база), то это все равно полноценная база данных. Этот факт имеет методическое значение. Хотя данных в базе и нет, но информация в ней все-таки есть – это структура базы, которая определяет методы занесения данных и хранения их в базе. Простейший «некомпьютерный» вариант базы данных – деловой ежедневник, в котором каждому календарному дню выделено по странице. Даже если в нем не записано ни строки, он не перестает быть ежедневником, поскольку имеет структуру, четко отличающую его от записных книжек, рабочих тетрадей и прочей писчебумажной продукции.

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

Структуру двумерной таблицы образуют столбцы и строки. Их аналогами в простейшей базе данных являются поля и записи. Если записей в таблице пока нет, значит, ее структура образована только набором полей. Изменив состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и, соответственно, получаем новую базу данных.

Свойства полей базы данных

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

Имя поля – определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).

Тип поля – определяет тип данных, которые могут содержаться в данном поле.

Размер поля – определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.

Формат поля – определяет способ форматирования данных в ячейках, принадлежащих полю.

Маска ввода – определяет форму, в которой вводятся данные в поле (средство автоматизации ввода данных).

Подпись – определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).

Значение по умолчанию – то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).

Условие на значение – ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).

Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.

Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы.

Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).

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

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

Типы данных

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

Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).

Числовой – тип данных для хранения действительных чисел.

Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он храниться в другом месте базы данных, а в поле храниться указатель на него, но для пользователя такое разделение заметно не всегда.

Дата/время – тип данных для хранения календарных дат и текущего времени.

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

Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование служит для порядковой нумерации записей.

Логический - тип для хранения логических данных (могут принимать только два значения, например Да или Нет).

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

Безопасность баз данных

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

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

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

Режимы работы с базами данных

Обычно с базами данных работаю две категории пользователей. Первая категория – проектировщики. Их задача состоит в разработке структуры таблиц базы данных и согласование ее с заказчиком. Кроме таблиц проектировщики разрабатывают и другие объекты базы данных, предназначенные, с одной стороны, для автоматизации работы с базой, а с другой стороны – для ограничения функциональных возможностей работы с базой (если это необходимо из соображений безопасности). Проектировщики не наполняют базу конкретными данными, (заказчик может считать их конфиденциальными и не предоставлять посторонним лицам). Исключение составляет экспериментальное наполнение модельными данными на этапе отладки объектов базы.

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

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

Объекты базы данных

Таблицы

Таблицы – это основные объекты любой базы данных. Во-первых, в них хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).

Запросы

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

Формы

Если запросы – это специальные средства для отбора и анализа данных, то формы – это средства для ввода данных. Смысл их тот же – предоставить пользователю средства для заполнения только тех полей, которые ему положено заполнять. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму создают при помощи графических средств так, чтобы она повторяла оформление бланка – это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок.

Отчеты

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

Страницы

Это специальные объекты баз данных, реализованных в последней версии СУБД Microsoft Access (Access 2000). Правда, более корректно их называют страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данных, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, посволяют работать также с базами данных Microsoft SQL Server.

Макросы и модули

Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка програмирования, в данном случае, языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфические требования заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.

Федеральное агентство по образованию

Государственное Общеобразовательное Учреждение

Среднепрофессионального Обучения

«Тульский экономический колледж»

По дисциплине «Информатика»

На тему: «База данных. Понятие базы данных. Виды баз данных. Объекты для работы с базами данных. Типы данных в базах и таблицах Access. Основные элементы и понятия баз данных»

Подготовила студентка 2 курса

группы 216-БП

Храмова Анна

Проверил преподаватель:

Васильева И.В.

Щёкино,2007

С О Д Е Р Ж А Н И Е:

1. Введение…………………………………………...…………….……2

2. Понятие базы данных………………………………………………..3

3. Виды базы данных………………………………………….………4-5

4. Объекты для работы с базами данных…………………………...6-7

5. Типы данных в базах………………………………………………….8

6. Типы данных в таблицах Access……………………………………9

7. Основные элементы и понятия баз данных…………………..10-15

8. Тест…………………………………………………………….…16-17

9. Ответы на тест……………………………………………...…….…18

10. Вопросы для самопроверки………………………………..........19

11. Список используемой литературы……………………………….20

12. Презентация……………………………………………………21-33

13. Рецензия………………………………………………..…………..34

В В Е Д Е Н И Е:

Мы познакомились с работой Excel и знаем, что это приложение создано специально для решения задач обработки табличных данных.

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

Использование ЭВМ именно для решения этого класса задач становится всё более массовым явлением.

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

Основное понятие для подобного круга задач – база данных. Так называется файл или группа файлов стандартной структуры, служащая для хранения данных.

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

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

В настоящее время наиболее известными СУБД являются FOXPRO и ACCESS. Последняя входит в состав профессионального пакета MS Office 97.

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

Понятие базы данных

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

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

Виды БД:

1.Фактографическая – содержит краткую информацию об объектах некоторой системы в строго фиксированном формате;

2.Документальная – содержит документы самого разного типа: текстовые, графические, звуковые, мультимедийные;

3.Распределённая – база данных, разные части которой хранятся на различных компьютерах, объединённых в сеть;

4.Централизованная – база данных, хранящихся на одном компьютере;

5.Реляционная – база данных с табличной организацией данных.

Одно из основных свойств БД – независимость данных от программы, использующих эти данные.

Работа с базой данных требует решения различных задач, основные из них следующие:

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

Задачи этого списка называются стандартными.

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

База данных в разных системах имеет различную структуру.

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

Примером БД может служить расписание движения поездов или автобусов. Здесь каждая строчка – запись отражает данные строго одного объекта. База включает поля: номер рейса, маршрута следования, время отправления и т.д.

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

Некоторые запросы могут представлять собой серьёзную задачу, для решения которой потребляется составлять сложную программу. Например, запрос к базе – автобусному расписанию: определить разницу в среднем интервале отправления автобусов из Ростова в Таганрог и из Ростова в Шахты.

Объекты для работы с базами данных

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

набор данных

источник данных

визуальные элементы управления

В нашем случае эта триада реализуется в виде:

Table

DataSource

DBGrid

Table подключается непосредственно к таблице в базе данных. Для этого нужно установить псевдоним базы в свойстве DataBaseName и имя таблицы в свойстве TableName, а затем активизировать связь: свойство Active = true.

Однако, поскольку Table является невизуальным компонентом, хотя связь с базой и установлена, пользователь не в состоянии увидеть какие – либо данные. Поэтому необходимо добавить визуальные компоненты, отображающие эти данные. В нашем случае это сетка DBGrid. Сетка сама по себе «не знает», какие данные ей нужно отображать, её нужно подключить к Table, что и делается через компонент – посредник DataSource.

А зачем нужен компонент – посредник? Почему бы сразу не подключаться к Table?

Допустим, несколько визуальных компонентов – таблица, поля ввода и т.п. подключены к таблице. А нам нужно быстро переключить их все на другую подобную таблицу. С DataSource это сделать несложно - достаточно просто поменять свойство DataSet, а вот без DataSource пришлось бы менять указатели у каждого компонента.

Приложения баз данных – нить, связывающая БД и пользователя:

БД – набор данных – источник данных – визуальные компоненты – пользователь

Набор данных:

Table (таблица, навигационный доступ)

Query (запрос, реляционный доступ)

Визуальные компоненты:

Сетки DBGrid , DBCtrlGrid

Навигатор DBNavigator

Всяческие аналоги Lable , Edit и т.д.

Компоненты подстановки

Типы данных в базах

В Access можно определить следующие типы полей:

Текстовый – текстовая строка; максимальная длина задаётся параметром «размер», но не может быть больше 255

Поле МЕМО – текст длиной до 65535 символов

Числовой – в параметре «Размер поля» можно задать поле: байт, целое, дейсвительное и т.п.

Дата/время – поле, хранящее данные о времени.

Денежный – специальный формат для финансовых нужд, по сути являющийся числовым

Счётчик – автоинкрементное поле. При добавлении новой записи внутренний счётчик таблицы увеличивается на единицу и записывается в данное поле новой записи. Таким образом, значения этого поля гарантированно различны для разных записей. Тип предназначен для ключевого поля

Логический – да или нет, правда или ложь, включен или выключен

Объект OLE – в этом поле могут храниться документы, картинки, звуки и т.п. Поле является частным случаем BLOB – полей ( Binary Large Object ), встречающихся в различных базах данных

Подстановка

Типы данных в таблицах Access :

Текстовый

Поле МЕМО

Числовой

Дата\время

Денежный

Счётчик

Логический

Объект OLE

Не надо забывать про индексы.

Связывать таблицы.

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

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

Основные понятия и элементы баз данных

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

Основное требование к базам данных – удобство доступа к данным, возможность оперативно получить исчерпывающую информацию по любому интересующему вопросу (важно не только то, что информация содержится в базе, важно то, насколько она хорошо структирована и целостна).

Лишь только появились и распространились компьютеры, почти сразу на них возложили тяжёлый и кропотливый труд по обработке и структурированию данных, появились базы данных (БД) в их нынешнем понимании.

Согласно современным требованиям к базам данных, информация, содержащаяся в них, должна быть:

непротиворечивой (не должно быть данных, противоречащих друг другу);

неизбыточной (следует избегать ненужного дублирования информации в базе, избыточность может привести к противоречивости – например, если какие – то данные изменяют, а их копию в другой части базы забыли изменить);

целостной (все данные должны быть связаны, не должно быть ссылок на несуществующие в базе данные)

Реляционная модель баз данных была предложена Эдгаром Коддом в конце 70-х годов. В рамках этой модели база данных представляет собой набор таблиц, связанных друг с другом отношениями. При достаточной простоте (а значит, и удобстве реализации на компьютере) данная модель обладает гибкостью, позволяющей описывать сложно структурированные данные. Кроме того, для этой модели достаточно глубоко проработано теоретическое обоснование, что также даёт возможность эффективнее использовать компьютер при создании базы данных и работе с ней. В плане правил связи в реляционной модели реализуется отношение «один–ко–многим» связи между таблицами. Это значит, что одной записи в главной таблице соответствует несколько записей в подчинённой таблице (в том числе может не соответствовать ни одной записи). Другие типы связей: «один-к-одному», «много-к-одному» и «много-ко-многим» - можно свести к данному типу «один-ко-многим». Реляционные базы данных состоят из связанных таблиц.

Таблица представляет собой двумерный массив, в котором хранятся данные. Столбцы таблицы (в рамках принятых обозначений БД) называются полями, строки – записями. Количество полей таблицы фиксировано, количество записей – нет. Фактически таблица – нефиксированный массив записей с одинаковой структурой полей в каждой записи. Добавить в таблицу новую запись не составляет труда, а то время как добавление нового поля влечёт за собой рестрктуризацию всей таблицы и может вызвать определённые трудности. В качестве значений полей в записях могут храниться числа, строки, картинки и т.д. Таблицы баз данных хранятся на жёстком диске (на локальном компьютере или на сервере баз данных – в зависимости от типа БД). Одной таблице соответствуют обычно несколько файлов – один основной и несколько вспомогательных. Тонкости организации таблиц зависят от используемого формата (dBase, Paradox, InterBase, Microsoft Access и т.д.)

Ключ – поле или комбинация полей таблицы, значения в которых однозначно определяют запись. Ключ потому так и называется, что, имея значения ключевых полей, можно однозначно получить доступ к нужной записи. Таким образом, ключи чрезвычайно полезны для связи таблиц. Записывая значения ключа в отведённые поля подчинённой таблицы и тем самым, задавая ссылку, обеспечиваем связь двух записей – записи в главной таблице и записи в подчинённой таблице. В одной записи подчинённой таблицы может находиться и несколько ссылок на записи главной таблицы. Например, в школьном журнале может быть таблица – список дежурств, где в каждой записи содержатся фамилии и имена (ключ их двух полей) нескольких дежурных. Так осуществляется связь различных записей главной таблицы и реализуется достаточно сложная структура данных. В школьной практике в качестве ключевых полей используются имена и фамилии, но в БД лучше отводить специальные ключевые поля – индивидуальные номера (коды) записей. Это гарантированно уберегает от возможных проблем с однофамильцами. В школе же, где не требуется такая компьютерная чёткость, появление в одном классе двух учеников с одинаковыми именами и фамилиями – очень редкое событие, поэтому можно простить подобное техническое упущение. Кроме связывания, ключи могут использоваться для прямого доступа к записям, ускорения работы с таблицей.

Индекс – поле, так же, как и ключ, специально выделенное в таблице, данные в котором, однако, могут повторяться. Они также служат для ускорения доступа и, кроме того, для сортировки и выборок.

Нормальные формы были придуманы, скорее, для автоматизации процесса создания баз данных, нежели как руководство тем, кто создаёт их вручную (автоматическое проектирование больших баз данных может производиться с помощью специальных систем программ – средств (CASE). Реально при ручной разработке проектировщик сразу же задумывает необходимую структуру, планирует нужные таблицы, а не идёт от одной большой таблицы. Нормальные формы фактически формализуют интуитивно понятые требования к организации данных, помогая, прежде всего, избежать избыточного дублирования данных.

Первая нормальная форма:

информация в полях неделимая (к примеру, имя и фамилия должны быть разными полями, а не одним);

в таблице нет повторяющихся групп полей

Вторая нормальная форма:

выполнена первая форма;

любое неключевое поле однозначно идентифицируется ключевыми полями (фактически, требование наличия ключа)

Третья нормальная форма:

выполнена вторая форма

неключевые поля должны однозначно идентифицироваться только ключевыми полями (это значит, что данные, не зависящие от ключа, должны быть вынесены в отдельную таблицу)

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

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

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

Транзакции определяют надёжность выполнения операций по отношению к сбоям. В транзакцию объединяется последовательность операций, которая либо должна быть выполнена полностью, либо не выполнена совсем. Если во время выполнения транзакции произошёл сбой, то все результаты всех операций, входящих в неё отменяются. Это гарантирует то, что не нарушается корректность базы данных даже в случае технических (а не программных) сбоев.

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

Корректная БД:

- неизбыточная;

- непротиворечивая;

- целостная

Реляционная БД:

- таблицы;

- связи между таблицами с помощью ключей

- поля (столбцы) – фиксированы;

- записи (строки) – легко добавляются и удаляются

- однозначно определяет запись

Ключи и индексы:

- служат для связи таблиц, прямого доступа, ускорения обработки и т.п.

Нормальные формы:

- служат для борьбы с избыточностью данных;

- много требуют, но из самых благих побуждений

Способы доступа:

-навигационный;

- реляционный

Защита корректности БД:

- транзакции – техническая защита

- бизнес-правила – логическая защита

Т Е С Т

1.Модели баз данных:

А) коммерческие

Б) сетевые

В) объектно-ориентированные

Г) революционные

Д) реляционные

Е) интегральные

2.Виды базы данных:

А) документальные

Б) сетевые

В) графические

Г) реляционные

3.Какая из баз данных содержит документы самого разного типа?

А) распределённая

Б) централизованная

В) фактографическая

Г) документальная

4.Что может являться примером базы данных?

А) пешеход, стоящий на обочине дороги

Б) телефонный справочник

В) расписание уроков

Г) расписание движения поездов или автобусов

5. Что такое ключ?

А) ссылкаБ) кодовое словоВ) программаГ) поле или комбинация полей таблицы

6. Что будет выведено на экран в результате выполнения фрагмента программы?

M:= ‘биология’;
k:= ‘зоо’ + copy (m, 4, 5);
writeln (k);

А) зоологияБ) зооВ) биологияГ) логия 7.Набор данных содержит: А) навигатор DBNavigatorБ) TableВ) Query 8.Выберите верное утверждение: денежный тип полей… А) текстовая строкаБ) текст длиной до 65535 символовВ) специальный формат для финансовых нуждГ) автоинкретное поле 9.Основное требование к данным: А) потребность в хранении больших объёмов однотипной информацииБ) быстрое распространение информацииВ) возвратное удаление информацииГ) удобство доступа к данным и быстрое нахождение нужной информации по интересующему вопросу 10.Какой должна быть информация, находящаяся в требованиях к базам данных? А) целостнойБ) краткойВ) непротиворечивойГ) однотипной

Ответы на тест

Вопросы для самопроверки :

1. Что такое БД?

2. Что является классическим примером БД?

3. Приведите несколько примеров БД

4. Какой вид БД обычно используется в ПВЭМ?

5. Какие виды БД вы знаете?

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

7. Какие типы полей можно определить в Access?

8. Для чего нужен монопольный доступ к БД?

9. Что такое реляционная модель базы БД?

10. Сколько существует нормальных форм в БД? Перечислите их

11. Что такое транзакции?

Л И Т Е Р А Т У Р А :

1. Информатика. Учебное пособие для среднего профессионального образования (+CD)/Под общ. ред. И.А. Черноскутовой – СПб.: Питер, 2005. – 272 с.: ил. стр. 24 - 25

2. Информатика. Учебное пособие для студ. пед. вузов /А.В.Могилёв; Н.И.Пак, Е.К.Хённер; Под ред. Е.К.Хённера. – М., 1999. - 816 с стр. 185 - 187

3. Информатика. Учебник. – 3-е перераб. изд./Под ред. проф. Н.В.Макаровой. – М.: Финансы и статистика, 2000. – 768 с.: ил.

Р Е Ц Е Н З И Я