Базы данных

Понятие и назначение баз данных, механизм построения СУБД. Порядок управления базой и виды связывания данных. Языки управления для каждой модели баз данных. Сравнительная характеристика форматов Dbase и Access. Формирование и особенности клиент-сервера.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.06.2009
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Министерство образования Республики Таджикистан

Таджикский Технический Университет им. ак. М.С. Осими

Кафедра АСОИиУ

Курсовая работа

на тему: «Базы данных»

Душанбе 2009

Оглавление

Введение

1. Что такое СУБД

За таблицами - наше будущее

Связываем данные

Объектный рай

Языки управления БД

2. Типы баз данных

Локальная база данных

Сетевая база данных

Клиент-сервер

Особенности клиент-сервера

Индексы на сервере

Третий уровень

Логика

3. Основы Access - реляционной базы данных

Определение (задание структуры) данных

Обработка данных

Управление данными

Microsoft Access - нечто большее, чем СУБД

4. Проектирование, создание и управление базой данных на примере магазина компьютерных помплектующих в пакете MS ACCESS

Краткое описание предметной области

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

Связи информационных объектов

Таблицы

Запросы

Запрос «выбор заказов за период»

Запрос «Выбор товаров по цене»

Запрос «Выбор сотрудника по Ф.И.О.»

Формы

Заключение

Список использованных источников

Введение

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

С появлением ЭВМ и использованием их для обработки информации появилась возможность автоматизировать решение многих информационно - справочных и расчетных задач.

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

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

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

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

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

1. Что такое СУБД

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

Внесение объекта в базу - только полдела. Его еще нужно как-то характеризовать, связать с ним определенное значение. И тут нужно ввести понятие «данное». Данное - это определенный показатель, характеризующий объект и наделяющий его определенным значением. Причем не обязательно, чтобы объект был определен одним данным - их может быть много. Представим, что мы имеем дело с хакерской структурой. Хакерство - это объект. А вот данные - это уже хакерские течения, стаж незаконной деятельности, количество написанных эксплойтов и взломанных машин и т.п. Другими словами, данные - это характеристики определенного объекта. Именно это больше всего интересует клиента, обратившегося к пока еще будущей БД.

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

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

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

За таблицами - наше будущее!

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

Начнем с реляционной модели. В далеком 1969 году американский математик доктор Э.Ф. Кодд (Е.F. Codd) проанализировал сложившуюся к тому времени ситуацию по базам данных и пришел к выводу, что дело плохо. Во всех имевшихся в то время моделях были существенные недостатки: избыточность данных, сложность обработки и отсутствие безопасности хранения информации и т.п. После тягостных раздумий Кодд решил создать свою модель - реляционную. Для тех, кто злостно прогуливал английский, напоминаем, что relation переводится как «отношение» или просто «таблица». Гениальный доктор просто реализовал хранение данных в табличной форме, то есть организовал такие «хранилища» в виде логических структур (физические методы хранения могут быть любыми). Тем самым Кодд сумел добиться наглядности представления информации и удобства ее обработки. Благодаря достижению этого гения для формирования таблицы данных стало достаточно выполнить определенный логический запрос, подчиняющийся законам булевой алгебры. Среди операторов манипуляции данными существуют минимум три операции: извлечение строк (SELECT), извлечение столбцов (PROJECT) и объединение таблиц (JOIN). В результате этих действий мы получаем таблицу. И простой вывод из всего этого: результатом любой операции в реляционной модели является объект того же рода, что и объект, над которым осуществлялось действие. Это и есть основное свойство описываемой модели.

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

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

Атрибут - это столбец в таблице с данными. Например, если на экране имеется информация о хакерских течениях, эксплойтах и стаже деятельности, то все эти столбцы являются атрибутами.

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

Отношение - таблица в целом. Описание типов данных, применяемых в табличке, называется заголовком отношения, а все остальное (собственно данные) - телом отношения.

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

Связываем данные

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

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

1. Один-к-одному. Этот вид связи применяется в том случае, когда первичный ключ одной таблицы ссылается на ключ другой. Чтобы было понятнее, приведём пример: допустим, у нас имеется три таблицы хакерской БД. Первая - информация о хакере: дата рождения, пол (девушки тоже бывают взломщиками) и ICQ. Вторая - хакерские течения (тип течения, его сложность и начальные капиталовложения). Ну и третья - тип выхода в интернет (технология, скорость доступа, оценка безопасности). Все эти таблицы нельзя свести в одну, так как в результате отсутствия связи между данными о доступе в интернет и о хакерских течениях (и не только о них) мы получим путаницу. А при реализации связи в виде трех разных таблиц (с помощью первичного ключа - порядкового номера) обеспечивается и высокая скорость обработки, и упорядоченность данных.

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

3. Многие-ко-многим. Суть этого типа связи в том, что ключ в одной таблице связывается с ключом другой и наоборот. С этим типом в реляционной модели дела обстоят очень плохо. Точнее, эту связь напрямую вообще никак не реализовать. Чтобы обойти этот недостаток, используется классическое решение: добавляется промежуточное отношение, которое будет связано типом «один-ко-многим» как с первой, так и со второй таблицей. Опять наглядный пример. Имеем два отношения: информация о хакерах и данные о серверах, которые когда-то были взломаны. Если подумать, то мы владеем следующей структурой: одним злоумышленником могут быть хакнуты несколько серверов (так часто и бывает в жизни), а на один сер-вак могут поселиться несколько хакеров (одновременно или последовательно), если админ вовремя не пропатчил баг. Чтобы реализовать подобную схему в реляционной БД, мы добавим промежуточное отношение из двух полей: ник хакера и адрес сервера. Таким образом, эта вспомогательная таблица будет иметь связь «один-ко-многим» как с первым, так и со вторым отношением. Конечно, в этом случае повысится избыточность данных, поэтому эксперты рекомендуют избегать таких связей.

Объектный рай

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

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

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

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

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

Языки управления БД

Для каждой модели БД существует свой язык управления. Для реляционной модели таким языком является SQL (Structured Query Language, или структурированный язык запросов). Создатели этого языка стремились максимально приблизить свое детище к человеческому (английскому) языку и при этом наполнить его логическим смыслом.

Язык SQL существенно облегчает работу тем, кто постоянно имеет дело с реляционными СУБД. Строго говоря, без этого структурированного языка многим несчастным пришлось бы писать программу, например, на С. Представьте: чтобы полноценно работать с таблицей, сначала необходимо создать этот объект, потом запрограммировать процедуры обращения к ней (извлечение и добавление строк). Для избавления от подобного геморроя разработчики СУБД позаботились о создании языка SQL.

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

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

Основные языки обращений к БД все же основываются на простом SQL-синтаксисе и имеют своего рода расширение, применимое к объектам. Примерами таких языков служат ORION, Iris и O2 Reloop.

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

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

2. Типы баз данных

Локальная база

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

Яркими и наиболее распространенными представителями такого рода баз являются Dbase (файлы с расширением.dbf), Paradox (расширение.db) и Access (расширение.mdb). Форматы Dbase и Paradox - это даже не базы данных, а таблицы, потому что в одном файле может храниться только одна таблица данных. Индексы, ускоряющие поиск и осуществляющие сортировку, находятся в отдельных файлах. Таким образом, одна база данных может состоять из множества файлов, и это иногда приводит к определенным проблемам при поставке приложения конечному пользователю.

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

Самый главный недостаток локальных баз данных, как говорит юморист М. Задорнов, - «они тупые». Да-да. Качество и скорость доступа напрямую зависит от драйвера. В большинстве из них не было оптимизаторов SQL-запросов и какого-либо кеширования. Возможности железа использовались минимально, поэтому на больших базах запросы выполняются крайне медленно.

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

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

Сетевая база данных

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

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

Посмотрим, как происходит обращение к базе данных. Программа и драйвер находятся на клиенте, а данные находятся на сервере или просто на удаленном компьютере. Как программа получает данные? Клиент передает драйверу SQL-запрос, который должен быть выполнен, но данные-то находятся удаленно! Чтобы отработать запрос, вся нужная таблица (в случае с Access - вся база данных, потому что все в одном файле) выкачивается на компьютер клиента, где драйвер обрабатывает данные.

Надо побить того, кто придумал такую технологию, потому что это самое настоящее издевательство над системой. Представляете, что будет, если надо выполнить запрос на базе данных в 1 Гб с телефонным соединением в 34 Кб/с? Это то же самое, что заставить ЮКОС добывать нефть через трубочку для молочных коктейлей.

Но страшнее всего начали вести себя индексы. У таблиц Paradox, если они находились на расшаренном диске Win95, и приходилось ремонтировать индексы как минимум раз в неделю. Когда убрали файлы базы данных на сетевой диск сервера NetWare 3.11 (это был где-то 1998 год), проблемы с нарушением индексации сразу исчезли (наверное, потому что это действительно сервер, а не корявый Windows 9x).

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

Клиент-сервер

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

В технологии клиент-сервер драйвер уже изменил свое назначение, и теперь он уже должен только знать, как подключится к серверу и передать ему запрос. Остальное перекладывается на плечи сервера. Такая технология намного сокращает трафик, особенно при хорошем программировании. Допустим, пользователю нужно увидеть все данные, в которых имя определенной колонки содержит слова на букву «А». Клиенту достаточно направить серверу всего лишь такой текст:

SELECT *

FROM Имя таблицы

WHERE Колонка LIKE `А % '

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

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

Получив нужные данные, сервер возвращает только их и ничего больше. Таким образом, клиент в любой момент может запросить у сервера нужные данные и не будет необходимости гонять по сети всю базу данных. При хорошо построенном приложении и оптимальных запросах клиент сможет работать с базой данных любого размера даже через модем в 56 Кбит/с. Неплохо? Главное - запрашивать только то, что нужно, и маленькими кусками.

Особенности клиент-сервера

Возможности клиент-серверных баз данных зависят от производителя. Самые простые возможности предоставляют такие базы, как MySQL. В них сервер имеет встроенный движок обработки запросов и основные возможности по обеспечению безопасности и распределению прав.

В более солидных клиент-серверных базах (MS SQL Server, Oracle и т.д.) есть следующие дополнительные возможности:

1. ВЬЮШКИ - функции, которые задействованы для обеспечения безопасности;

2. ТРИГГЕРЫ - функции, которые могут вызываться на определенные события (вставка, изменение и удаление данных), в этих функциях может производиться какая-то логика по обеспечению целостности данных;

3. РЕПЛИКАЦИЯ - объединение баз данных (допустим, у фирмы есть два офиса и в каждом из них своя база; настроив репликацию, обе базы могут автоматически сливаться в одну в главном офисе или обмениваться изменениями по расписанию);

4. ХРАНИМЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ, которые выполняются на сервере по мизерному запросу клиента и могут содержать целые подпрограммы с логикой, которые будут выполнять какие-либо действия; для написания таких программ используется уже не просто язык SQL, а его расширение - Transact-SQL (для MS баз) и PL/SQL (для Oracle и др.).

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

Индексы на сервере

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

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

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

В случае с серверной базой индексы чаще всего (в зависимости от базы и типа индекса) хранятся немного по-другому - в виде дерева. Сколько слов надо проверить для поиска слова «якорь» в базе данных при линейном индексе? По сути, практически все. При древовидном хранении индекса - не более чем для слова «Абажур». Для пояснения древообразного индекса рассмотрим классическую задачу (в реальности все немного сложнее, но идея такая же). В самом верху дерева хранится алфавит. Программа находит букву А и спускается на уровень ниже. Здесь она находит все слова на буквы А, Б и двигается еще ниже. И так - пока не найдется нужное слово

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

Третий уровень

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

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

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

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

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

Логика

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

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

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

Что же выбрать для своего проекта? Все очень просто. Если к примеру пишется база, с которой будет работать одновременно только один человек, то однозначный выбор - локальная база. Больше всего для этого подходит MS Access за его надежность и за то, что драйверы доступа к этой базе есть на всех компьютерах (особенно если там установлен MS Office) и их не надо тянуть с инсталлятором.

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

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

3. Основы Access - реляционной базы данных

Определение (задание структуры) данных

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

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

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

Обработка данных

Работа с данными в текстовом редакторе или электронной таблице значительно отличается от работы с данными в СУБД. В документ, подготовленный с помощью текстового процессора, мы можем включить табличные данные и использовать для их обработки ограниченный набор функций. Можно выполнить поиск строки символов в исходном документе, с помощью ОLЕ (Object Linking and Embedding) включить в него таблицы, диаграммы или картинки из других приложений. В электронной таблице некоторые ячейки содержат обеспечивающие нужные вычисления или преобразования формулы, а данные, которые являются для них исходной информацией, мы можем ввести в другие ячейки. Данные из электронной таблицы, созданной для какой-то конкретной цели, очень трудно потом использовать в решении других задач. Чтобы выполнить новую задачу, мы можем организовать связь с данными другой электронной таблицы или использовать ограниченные возможности поиска для копирования выбранного подмножества данных одной из электронных таблиц в другую, которая потребуется нам для решения новой задачи.

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

В Microsoft Access для обработки данных некоторых таблиц используется мощный язык SQL (Structured Query Language - Структурированный язык запросов). Используя, мы можем выделить из одной или нескольких таблиц необходимую для решения конкретной задачи информацию. Access значительно упрощает задачу обработки данных. Чтобы заставить Microsoft Access решать наши задачи, нам совершенно не требуется знать язык SQL. При любой обработке данных из нескольких таблиц использует однажды заданные вами связи между таблицами. Мы можем сконцентрировать свои усилия на решении информационных проблем, не затрачивая сил на построение сложной системы, которая отслеживает в нашей базе все связи между структурами данных. В Microsoft Access имеется также простое и в то же время богатое возможностями средство графического задания запроса - так называемый «запрос по образцу» (QBE, query by example), которое используется для задания данных, необходимых для решения некоторой задачи. Используя для выделения и перемещения элементов на экране стандартные приемы работы с мышью в Windows и несколько клавиш на клавиатуре, мы можем буквально за секунды построить довольно сложный запрос.

Управление данными

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

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

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

Microsoft Access - Нечто большее, чем СУБД

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

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

Формы и отчеты можно использовать для задания форматов вывода данных на экран и дополнительных вычислений, что очень похоже на работу с электронными таблицами. Но в этом случае содержащиеся в формах и отчетах форматы и инструкции по проведению вычислений отделены от данных (находящихся в таблицах), так что мы имеем полную свободу действий в использовании данных, не меняя при этом сами данные - достаточно создать дополнительную форму или отчет, использующие те же самые данные. Если нам нужно автоматизировать некоторые действия, то для установления связей между определенными формами и отчетами или для выполнения определенных действий в качестве отклика на некоторое событие (например, изменение данных в некотором поле формы) можно без особого труда создать макросы. Если вам нужны более изощренные средства, например библиотечные утилиты Windows, мы можете написать процедуру на Access Basic.

4. Проектирование, создание и управление базой данных на примере магазина компьютерных помплектующих в пакете MS Access.

Краткое описание предметной области

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

1. учет сотрудников мастерской

2. учет товаров

3. учет заказов

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

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

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

Информационный объект

Наименование реквизита

Имя реквизита

Сотрудники магазина

Код сотрудника

Код сотрудника

Ф.И.О.

Ф.И.О.

Дата рождения

Дата рождения

Дата поступления на работу

Дата поступления на работу

Образование

Образование

Профессия

Должность

Телефон

Телефон

Адрес

Адрес

E-mail

E-mail

Мобильный телефон

Мобильный телефон

Заказы

Код заказа

Код заказа

Ф.И.О. заказчика

Ф.И.О. заказчика

Код изделия

Код изделия

Наименование изделия

Наименование изделия

Цена 1 шт

Цена 1 шт

Количество

Количество

Сумма

Сумма

Дата заказа

Дата заказа

Дата выполнения заказа

Дата выполнения заказа

Код сотрудника принявшего заказ

Код

Ф.И.О. сотрудника принявшего заказ

Ф.И.О. сотрудника принявшего заказ

Должность

Должность

Товары

Код изделия

Код изделия

Наименование изделия

Наименование изделия

Цена 1 шт

Цена 1 шт

Связи информационных объектов

Номер связи

Главный объект

Подчиненный объект

Тип связи

1

Сотрудники

Заказы

1:М

2

Товары

Заказы

1:М

Таблицы

Таблица 1. «Сотрудники магазина»

Поле

Обязательное поле

Тип

Размер

Описание

Код сотрудника

Да

Текстовой

50

Ключевое поле

Ф.И.О.

Да

Текстовой

50

Дата рождения

Да

Дата/время

-

Дата поступления на работу

Да

Текстовой

50

Образование

Да

Текстовый

50

Должность

Да

Текстовой

50

Телефон

Нет

Текстовой

50

Адрес

Нет

Текстовой

50

E-mail

Нет

Текстовой

50

Мобильный телефон

Нет

Текстовой

50

Таблица 2. «Товары»

Поле

Обязательное поле

Тип

Размер

Описание

Код изделия

Да

Текстовой

50

Ключевое поле

Наименование изделия

Да

Текстовой

50

Цена 1 шт.

Да

Числовой

50

Таблица 3. «Заказы»

Поле

Обязательное поле

Тип

Размер

Описание

Код заказа

Да

Текстовой

50

Ключевое поле

Ф.И.О. Заказчика

Да

Текстовой

50

Код изделия

Да

Текстовой

-

Наименование изделия

Да

Текстовой

50

Цена 1 шт

Да

Числовой

50

Количество

Да

Числовой

50

Сумма

-

Числовой

50

Дата заказа

Да

Дата/время

50

Дата выполнения заказа

Да

Дата/время

50

Код принявшего заказ

Да

Текстовой

50

Ф.И.О. принявшего заказ

-

Текстовой

50

Должность

-

Текстовой

50

Запросы

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

Запрос «Выбор заказов за период»

Цель запроса: Получить информацию за определенный период. Запрос формируется из таблиц: Заказы, Товары, Сотрудники. Вид запроса:

Поле

Код заказа

Ф.И.О. заказчика

Код

изделия

Наименов изделия

Цена 1 шт.

Количество

Дата заказа

Дата выполнения

Код сотрудника принявшего заказ

Ф.И.О.

Таблица

Заказы

Заказы

Товары

Товары

Товары

Заказы

Заказы

Заказы

Сотрудники

Сотрудники

Условие отбора

>=[Дата начала периода] And <=[Дата конец периода]

Результат выполнения запроса:

Ф.И.О. заказчика

Наименов изделия

Цена 1 шт.

Количество

Дата заказа

Дата выполнения

Ф.И.О. принявшего заказ

Сидоров В.В.

19» MONITOR 0.25 ViewSonic G90fb-4 Black PerfectFlat

227

12

09.12.2007

12.12.2007

Степан Чечулин

Запрос «Выбор товаров по цене»

Цель запроса: Получить информацию о товарах определённой цены. Запрос формируется из таблицы Товары. Вид запроса:

Поле

Код изделия

Наименование изделия

Цена 1 шт.

Таблица

Товары

Товары

Товары

Условие отбора

>=[Минимальная цена] And <=[Максимальная цена]

Результат выполнения запроса:

Код изделия

Наименование изделия

Цена 1 шт.

18579

19» MONITOR 0.25 ViewSonic G90fb-4 Black PerfectFlat

227

65857

Kingston <KVR1066D3N7K2/2G> DDR-III DIMM 2Gb KIT 2*1Gb <PC-8500> CL7

398

Запрос «Выбор сотрудников по Ф.И.О.»

Цель запроса: Получить информацию о сотруднике с определённой фамилией и именем. Запрос формируется из таблицы «Сотрудники». Вид запроса:

Поле

Код сотрудника

Ф.И.О.

Дата рождения

Дата поступления

Образование

Должность

Телефон

Адрес

Мобильный телефон

E-Mail

Таблица

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Сотрудники

Условие отбора

Like [Введите Фамилию и имя сотрудника]

Результат выполнения запроса:

Код сотрудника

Ф.И.О.

Дата рождения

Дата поступления

Образование

Должность

Телефон

Адрес

Мобильный телефон

E-Mail

1

Кузьменко Александр

15.08.1965

30.05.2004

Высшее

Директор

2212568

ул. Ленина д. 13 кв 45

918632598

alex-k@mail.ru

Формы

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

Форма для ввода сотрудников кроме полей ввода имеет дополнительные управляющие кнопки. Например, кнопка «Найти запись» позволяет осуществить выбор нужной записи, кнопка «Закрыть форму» закрывает текущую форму, кнопка «Составить отчёт» позволяет просмотреть список сотрудников в режиме отчета, кнопка «Добавить запись» позволяет добавить новую запись.

Форма для составления заказов также как и предыдущая кроме полей ввода имеет дополнительные управляющие кнопки. Кнопка «Найти запись» позволяет осуществить выбор нужной записи, кнопка «Закрыть форму» закрывает текущую форму, кнопка «Отчёт» позволяет просмотреть список сотрудников в режиме отчета, кнопка «Добавить запись» позволяет добавить новую запись.

Для удобства была создана управляющая форма, которая запускается автоматически в момент открытия базы данных. Она позволяет быстро выбрать нужную форму для ввода данных, просмотреть отчеты, сделать запросы, а также отображает текущую дату и управляющие кнопки закрытия формы и выхода из Ассess. Данная форма представлена на рисунке ниже. Каждая кнопка раскрывает другие формы. Например, кнопка «Заказы» открывает подчиненную форму составления заказов.

Заключение

Microsoft Access, обладая всеми чертами классической СУБД, предоставляет и дополнительные возможности. Access - это не только мощная, гибкая и простая в использовании СУБД, но и система для разработки работающих с базами данных приложений. С помощью Access мы можем создать приложение, работающее в среде Windows и полностью соответствующее нашим потребностям по управлению данными. Используя запросы, мы можем выбирать и обрабатывать хранящуюся в таблицах информацию. Можно создавать формы для ввода, просмотра и обновления данных, а также использовать Access для создания как простых, так и сложных отчетов. Формы и отчеты «наследуют» свойства базовой таблицы или запроса, так что в большинстве случаев вы указываете форматы, условия на значения и некоторые другие характеристики данных только один раз. К числу наиболее мощных средств Access относятся средства разработки объектов - Мастера, которые мы можем использовать для создания таблиц, запросов различных типов форм и отчетов, просто выбрав с помощью мыши нужные опции. Чтобы полностью автоматизировать работу вашего приложения, с помощью макросов Access мы легко свяжем данные с формами и отчетами. Вы можете создать большинство приложений, не написав ни единой строки программы, но если нам необходимо создать нечто уж совсем изощренное, то на этот случай Microsoft Access предоставляет мощный язык программирования - Microsoft Access Basic.


Подобные документы

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

    реферат [44,3 K], добавлен 27.02.2009

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

    курсовая работа [2,1 M], добавлен 17.06.2013

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

    реферат [1,9 M], добавлен 27.12.2013

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

    реферат [57,1 K], добавлен 20.12.2010

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

    лабораторная работа [14,4 K], добавлен 16.11.2008

  • Понятие базы данных в Microsoft Access, описание таблицы как объекта. Назначение запросов, форм, отчетов и страниц. Макросы и модули в СУБД. Порядок создания базы данных, ввод описания поля. Свойства полей таблиц. Построение реляционной модели данных.

    презентация [389,6 K], добавлен 18.01.2014

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

    курсовая работа [1,8 M], добавлен 04.02.2013

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

    курсовая работа [1,8 M], добавлен 29.10.2008

  • Основные этапы проектирования базы данных. Access как система управления базами данных (СУБД), ее предназначение, отличительные возможности. Работа с таблицами, их создание и редактирование. Порядок создания запросов. Способы защиты баз данных.

    лабораторная работа [3,1 M], добавлен 18.08.2009

  • Виды связей между объектами в системе управления базами данных MS Access. Ввод и редактирование данных в таблицах, обработка информации базы данных. Архитектура БД по принципу файл-сервер. Создания формы в окне базы данных, использование отчетов.

    презентация [511,9 K], добавлен 20.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.