Технология разработки таблиц. Обобщенная технология работы

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

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

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ДЕЛАМ ГРАЖДАНСКОЙ ОБОРОНЫ, ЧРЕВЫЧАЙНЫМ СИТУАЦИЯМ И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ СТИХИЙНЫХ БЕДСТВИЙ

АКАЕМИЯ ГОСУДАРСТВЕННОЙ ПРОТИВОПОЖАРНОЙ СЛУЖБЫ

Кафедра информационных технологий УНК АСИТ

Курсовая работа по теме:

«Технологии разработки и управления базами данных»

Выполнил: сержант вн. службы Байтемиров Т.И., гр. № 52155Б-1к2015

Москва 2015 г.

Аннотация

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

Постановка задания

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

пожар управление сервер access

1. Описание структуры базы данных

База данных состоит из трех таблиц Виды объектов, Данные о пожарах, Ликвидация пожаров.

Рис.1. Таблица «Виды объектов»

Рис.2. Таблица «Данные о пожарах»

Рис.3. Таблица «Ликвидация пожаров»

Рис.4. Связь между таблицами.

Рис.6. Форма выборки записей о пожарах со временем тушения более 20 мин.

Рис. 7. Отчет о выборки записей о пожарах со временем тушения более 20 мин.

Рис.9. Результат запроса с выбором площади пожара 13 кв.м.

Рис.10. Форма с гистограммой для вывода среднего материального ущерба в зависимости от даты пожара.

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).

При сетевом соединении многопользование получалось неполное.

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

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

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

FROM Имя таблицы

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

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

Получив нужные данные, сервер возвращает только их и ничего больше. Таким образом, клиент в любой момент может запросить у сервера нужные данные и не будет необходимости гонять по сети всю базу данных. При хорошо построенном приложении и оптимальных запросах клиент сможет работать с базой данных любого размера даже через модем в 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) и их не надо тянуть с инсталлятором.

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

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

Основы 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.

Использованные материалы

1.Глушаков С.В., Ломотько Д.В. Базы данных. -- Харьков: Фолио; М.: ООО «Издательство ACT», 2002. -- 504 с.

2.Кошелев В.Е. Access 2007. - М.: ООО «Бином-Пресс», 2008 г. - 592 с.

3.Фуллер, Дж. Microsoft Office Access 2007 для «чайников».: Пер. с англ. - М.: ООО «И.Д. Вильямс», 2007. - 384 с.

4.Мак-Дональд, М. Access 2007 - Недостающее руководство. - СПб.: «БХВ-Петербург», 2007. - 784 с.

5.Бакаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2010. - СПб.: БХВ-Петербург, 2010. - 432 с.

6.Microsoft Access

7.Базы данных и системы баз данных

8.Теория СУБД

9.Microsoft Access как настольная СУБД реляционного типа

10.VBA

Размещено на Allbest.ru

...

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

    Краткая характеристика, главные преимущества и область применения MS Access. Базы данных и системы управления базами данных. Описание пошагового создания базы данных, таблиц, форм, запроса и отчета. Особенности и функциональные возможности MS Access.

    курсовая работа , добавлен 23.09.2010

    Краткая характеристика и функциональные возможности MS Access. Базы данных и системы управления базами данных. Проектирование в теории и создание на практике базы данных в продукте корпорации Microsoft для управления базами данных "Microsoft Access".

    курсовая работа , добавлен 07.03.2015

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

    контрольная работа , добавлен 18.03.2012

    Возможности системы управления базами данных Access. Структура простейшей базы данных: свойства ее полей, типы данных, безопасность и режим работы. Определение связей между таблицами в базе данных. Использование запроса на выборку, макроса и отчетов.

    курсовая работа , добавлен 05.12.2010

    Анализ возможностей системы управления базами данных "Microsoft Access 2003". Создание базы данных, предназначенной для отражения деятельности аэропорта. Концептуальная и физическая модель базы данных. Создание таблиц, запросов, отчетов и главной формы.

    курсовая работа , добавлен 26.06.2013

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

    курсовая работа , добавлен 04.02.2013

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

    лабораторная работа , добавлен 15.01.2009

    Базы данных и системы управления базами данных. Физическое размещение и сортировка записей. Основные виды баз данных. Создание базы данных "Домашняя библиотека" в приложении Microsoft Access. Создание в базе данных запросов и скорость выбора информации.

    курсовая работа , добавлен 07.05.2013

    Исследование характеристик и функциональных возможностей системы управления базами данных Microsoft Office Access. Определение основных классов объектов. Разработка базы данных "Делопроизводство". Создание таблиц, форм, запросов, отчетов и схем данных.

    реферат , добавлен 05.12.2014

    Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.

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

По умолчанию все таблицы открываются в режиме просмотра. Если режим просмотра был изменен, то чтобы снова перейти в режим таблицы, раскройте список рядом с кнопкой "Представление таблицы" и выделите "Режим таблицы" (Datasheet View).

Маркер записи, напоминающий карандаш, говорит о том, что в запись вносятся изменения. Чтобы добавить новую запись в таблицу, используйте запись, помеченную звездочкой. Если таблица содержит объекты OLE, то слова "Точечный рисунок BMP" говорят о том, что поле содержит рисунок. Изменять текст, содержащийся в полях объектов OLE, нельзя! Чтобы просмотреть рисунок, содержащийся в поле объекта OLE, дважды щелкните по ячейке данных, которая содержит строку "Точечный рисунок BMP". Запустится графический редактор Paint и рисунок, хранящийся в поле объекта OLE, будет открыт в нем. Чтобы возвратиться в Access, закройте окно Paint.

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

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

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

Нажмите кнопку "Создать базу данных" (New) на панели инструментов или выберите команду "Файл, Создать" (File, New Database). Чтобы кнопка "Создать базу данных" и команда "Файл, Создать" были доступны, необходимо, чтобы окно базы данных было активно или чтобы главное окно Access было пусто.

Чтобы создать пустую базу данных, раскройте вкладку "Общие" (General) диалогового окна "Создание", выделите элемент "Новая база данных" и нажмите кнопку ОК. Появится диалоговое окно "Файл новой базы данных".

Свойства таблицы Access определяют параметры таблицы в целом. Откройте таблицу в режиме конструктора и нажмите кнопку "Свойства" (Properties) на панели инструментов. Каждая таблица имеет 5 свойств:

  • Описание (Description). Определяет текст, содержащий описание таблицы в окне базы данных.
  • Определяет требования к данным, вводящимся в поля записи. Используется для обеспечения целостности и непротиворечивости данных. Это свойство, в отличие от аналогичного свойства поля, применяется к нескольким (всем) полям таблицы.
  • Фильтр (Filter). Определяет подмножество записей, выводящихся после применения фильтра к таблице.
  • Порядок сортировки (Order By) . Определяет порядок сортировки записей в таблице.

В бланке таблицы можно установить следующие свойства полей таблицы:

  • Имя поля (Field Name). Каждое поле таблицы должно иметь уникальное имя. Хорошим тоном считается отказ от включения в имя поля пробелов и замена пробелов на знаки подчеркивания "_".
  • Тип данных (Data Type): "Текстовый", "Поле MEMO", "Числовой", "Дата/Время", "Денежный", "Счетчик", "Логический", "Поле объекта OLE".
  • Описание (Description). Этот текст выводится в строке состояния при добавлении или изменении данных в поле.
  • Ключевое поле (Primary Key). Чтобы сделать поле ключевым, выделите его и нажмите кнопку "Ключевое поле" на панели инструментов.

Вкладка "Общие" (General) содержит основные свойства поля. Во вкладке "Подстановка" (Lookup) можно задать поведение поля в форме. В следующем списке приведены свойства полей таблицы, устанавливаемые во вкладке "Общие":

  • Размер поля (Field Size). Определяет размер данных для полей с типом "Текстовый" (целое число в диапазоне от 0 до 255, по умолчанию задается размер 50) или "Числовой" (нужно выбрать размер поля в раскрывающемся списке). Свойство "Размер поля" не задается для полей с типами данных "Дата/Время", "Логический", "Денежный", "MEMO" и полей объектов OLE.
  • Формат поля (Format). Позволяет указать форматы вывода текста, чисел и дат на экран и на печать. Можно оставить формат, выбранный автоматически, выбрать формат в раскрывающемся списке или ввести пользовательский формат. Свойство "Формат поля" не задается для полей объектов OLE.
  • Число десятичных знаков (Decimal Places). Определяет число десятичных знаков, используемое при отображении чисел.
  • Маска ввода (Input Mask). Задает маску ввода, облегчающую ввод данных в поле. Например, удобно создать следующую маску ввода для поля "Телефон", позволяющую вводить только цифры и автоматически добавляющую промежуточные символы: "(___) ___-____". Чтобы запустить Мастера по созданию масок ввода, выделите поле с типом данных "Текстовый" или "Дата/Время" и нажмите кнопку построителя ("…") в правой части вкладки "Общие".
  • Подпись (Caption). Указывает текст, который выводится для таблицы или запроса в заголовке столбца в режиме таблицы. Можно использовать любые знаки пунктуации.
  • Значение по умолчанию (Default Value). Позволяет указать значение, автоматически появляющееся в поле при создании новой записи. Например, в поле с типом данных "Дата/Время" можно вводить по умолчанию текущую дату. Не задается для полей с типом данных "Счетчик" и полей объектов OLE.
  • Условие на значение (Validation Rule). Определяет требования к вводимым данным. Значение этого свойства представляет собой выражение. Не задается для полей "Счетчик", "MEMO" и полей объектов OLE.
  • Сообщение об ошибке (Validation Text). Позволяет указать текст сообщения, выводящегося на экран, если введенные данные нарушают условие, определенное в свойстве "Условие на значение".
  • Обязательное поле (Required). Указывает, требует ли поле обязательного ввода значения. Пустые (Null) значения в этом поле не допускаются. Для ключевого поля должно иметь значение "Да".
  • Пустые строки (Allow Zero Length). Определяет, допускается ли ввод в данное поле пустых строк. Используется для полей с типом данных "Текстовый" и "MEMO".
  • Индексированное поле (Indexed). Определяет индекс, создаваемый по одному полю.
  • Новые значения (New Values). Задается только для полей с типом данных "Счетчик" и определяет способ изменения значений поля счетчика при добавлении новых записей. Обычно используют значение: "Последовательные" - значение поля счетчика увеличивается на 1 в каждой новой записи.

Раскройте вкладку "Таблицы" и нажмите кнопку "Создать". В окне "Новая таблица" выберите элемент "Конструктор", нажмите кнопку ОК. Определите вышеперечисленные свойства для всех полей создаваемой таблицы. Нажмите кнопку "Режим таблицы", чтобы переключиться в режим таблицы и увидеть результат выполненной работы. Появится диалоговое окно "Сохранение" (Save As). Введите имя таблицы и нажмите кнопку ОК или . Чтобы увидеть все поля таблицы сразу, измените ширину полей, перетаскивая разделительную черту, которая находится справа от имени поля. Если определены не все свойства полей, не добавляйте новые записи в таблицу!

Чтобы увеличить производительность работы при вводе данных в таблицу, необходимо задать значения по умолчанию для полей таблицы. Например, значение по умолчанию "=Date()+28" является выражением. Оно возвращает текущую дату и прибавляет к ней 4 недели. После того, как значения по умолчанию присвоены, возвратитесь в режим таблицы, нажав кнопку "Режим таблицы" на панели инструментов.

Перед началом заполнения таблицы нужно определить связи этой таблицы с другими таблицами базы данных, определить ключевое поле и создать индексы. Первичный ключ - это одно или несколько полей таблицы, однозначно определяющее запись. Определение ключа таблицы помогает предотвратить появление в таблице одинаковых записей. Откройте таблицу в режиме конструктора. Нажмите клавишу и, удерживая ее нажатой, выделите необходимые поля. Нажмите кнопку "Ключевое поле" (Primary Key) на панели инструментов. Слева от каждого из выделенных полей появится маркер ключевого поля. Чтобы определить последовательность, в которой выделенные поля входят в ключ, нажмите кнопку "Индексы" (Indexes) на панели инструментов.

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

Индексирование таблицы. Хотя Access автоматически индексирует таблицу по значению ключа, может потребоваться создать дополнительные индексы по значениям других полей. Индексы - это внутренние таблицы, ускоряющие построение таблицы, содержащей результаты запросов, и сортирующие таблицу по значению ключевого поля. Каждая таблица Access может иметь до 32 индексов, 5 из которых могут быть составными (в составной индекс может входить не более 10 полей). Но не стоит создавать индексы для каждого поля таблицы и всех их комбинаций, поскольку это может существенно замедлить процесс заполнения таблицы (при изменении или добавлении записи автоматически обновляются все индексы!).

Чтобы проиндексировать таблицу по значению некоторого поля, выделите поле, нажав на кнопку выделения поля в левой части бланка структуры таблицы. Сделайте активным свойство "Индексированное поле" (Indexed), в списке нужно выбрать значение "Да (Допускаются совпадения)". В окне "Индексы" выводятся все индексы таблицы. Чтобы создать составной индекс, введите его название в столбце "Индекс" (index Name) и выберите необходимые поля в раскрывающихся списках столбца "Имя поля" (Field Name). Перейдите в режим таблицы. Подтвердите сохранение структуры таблицы.

Связи между таблицами базы данных можно определить и просмотреть в окне "Схема данных" (Relationships).

Выберите команду "Сервис, Схема данных" (Tools, Relationships) или нажмите кнопку "Схема данных" (Relationships) на панели инструментов.

Выберите команду "Связи, Добавить таблицу" (Relationships, Show Table) или нажмите кнопку "Добавить таблицу" (Show Table) на панели инструментов. В списке таблиц выделите необходимые таблицы и нажмите кнопку "Добавить" (Add). Нажмите кнопку "Закрыть" (Close).

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

Нажмите кнопку "Объединение" (Join Type). Появится диалоговое окно "Параметры объединения" (Join Properties). Выберите нужный тип объединения.

В диалоговом окне "Связи" для обеспечения ссылочной целостности установите флажок "Обеспечение целостности данных" (Enforce Referential Integrity).

Нажмите кнопку "Создать" (Create), чтобы подтвердить создание связи и перейти в окно "Схема данных".

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

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

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

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

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

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

Выражения используются для вычисления различных величин и содержат, по крайней мере, один оператор (например, арифметические операторы, операторы сравнения и т.д.). Чаще всего используются арифметические операторы +, -, * (оператор умножения), / (оператор деления). Величины, к которым применяется оператор, называются операндами.

Существуют операторы сравнения (например, > (знак больше), = (знак равенства) и т.д.). Логические операторы (And, Or, is, Not, Between и Like) возвращают в качестве результата одно из значений "Истина" (True), "Ложь" (False) или пустое значение (Null), если результат вычислить невозможно. Оператор используется для слияния (конкатенации) двух строк в одну. Можно создавать сложные выражения из простых, комбинируя их.

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

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

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

Поместите курсор в поле ввода "Условие на значение" и нажмите кнопку "..." (для вызова Построителя выражений) справа от поля ввода. Появится диалоговое окно Построителя выражений. В левом списке этого диалогового окна выделена таблица, а в центральном списке выводится список полей таблицы. Пример выражения, определяющего условие на значение: [ДатаФакт]>=[ДатаПлан] ОR [ДатаФакт] IS Null. В поле ввода "Сообщение об ошибке" введите текст сообщения об ошибке, который будет выводиться при нарушении условия на значение.

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

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

 Департамент образования, науки и молодежной политики Воронежской области
ГБПУ СПО ВО «Острогожский многопрофильный техникум»

По дисциплине: МДК 02.02 "Технология разроботки и защита баз данных"
на тему «Технология разработки таблиц баз данных»Выполнил:
студент группы К-31
Кондратенко Е.В.
Проверил:
Преподаватель
Солодовникова О.А

Острогожск 2015

1. Введение

3. Построение реляционной модели
4. Нормализация
5. Проектирование базы данных в ACCESS
6. Создание SQL запросов
Список использованных источников

1. Введение

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

2. Построение концептуальной модели

Построение концептуальной модели представляет собой процесс моделирования смыслового наполнения базы данных. Концептуальная модель состоит из следующих трёх основных компонентов.
1. Сущности. Это элементы реального мира, которые могут существовать независимо. В моем случае сущностямиявляются: проект, детали, поставщики, заказ, служащие. Сущность представляется в концептуальной модели прямоугольником, в котором указано её имя.
2. Атрибуты. Атрибуты описывают сущность. Они представляются овалами с указанием имен, которые прикреплены к сущности. В моем случае проекту соответствуют: номер проекта. Деталям соответствуют: размер, номер детали, маркировка, название. Поставщикам соответствуют: ФИО,ИНН, адрес, идентификационный номер поставщика. Заказу соответствуют: номер заказа, номер проекта, номер деталей, идентификационный номер поставщика. Служащим соответствуют: ФИО, ИНН, должность.
3. Связи. Связь представляет взаимодействие между сущностями. На диаграмме она изображается ромбом, который соединяет сущности, участвующие в связи. В моем случае связь между проектом и служащими будет одинко многим, так как один проект может делать несколько служащих. Связь между служащими и заказом мы обозначим много ко многим, так как один служащий может делать много заказов. Связь между заказом и деталями мы обозначим много ко многим, так как много заказов могут быть на много деталей. Связь между заказом и поставщиками мы обозначим много ко многим, так как заказов может быть много и поставщиковтоже может быть несколько. Связь поставщики и детали мы обозначим много ко многим, так как несколько поставщиков могут поставлять разные детали. Связь детали и служащие мы обозначим, как много ко многим, так как служащие получают несколько типов деталей для каждого проекта. На рисунке 2.1 представлена концептуальная модель заданной базы данных.

Рисунок 2.1 – Концептуальная модель3. Построение реляционной модели

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

Лекция №17

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

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

Рис. 3.2. Определение параметров поля таблицы в режиме Конструктор

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

  • для текстового и числового поля надо указать размер поля, причем для текста это допустимая длина значения (например, 20 или 40символов), а для числа - формат представления в компьютере (байт, целое (два байта), длинное целое и т.д.);
  • для поля Дата/время обязательно надо указать формат, чтобы система знала, как обрабатывать вводимые данные. Например, если выбрать Краткий формат даты, система будет ожидать от вас ввода именно даты (в русской версии - ДД.ММ.ГГГГ), а если выбрать Краткий формат времени, в этом поле придется набирать ЧЧ:ММ (часы и минуты);
  • в качестве значения свойства Условие на значение вы можете указать логическое выражение, которое должно принимать значение True («Истина») при вводе данных в это поле. В следующем свойстве можно записать произвольное сообщение об ошибке, которое будет выдано системой, например: «Это значение поля недопустимо». В свойстве Обязательное поле можно указать «Да» (пустые значения не допускаются) или «Нет» (пустые значения допускаются);
  • если в первичный ключ вашей таблицы входит одно поле, в свойстве Индексированное поле для него выберите: «Да, совпадения не допускаются», а затем щелкните в панели инструментов на кнопке«Определить ключ» (с изображением ключа). Тем самым вы определите первичный ключ своей таблицы (и запретите ввод записей с повторяющимся значением первичного ключа).

Проектирование базы данных и создание таблиц (5 ч)

Технология разработки таблиц баз данных

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

Разработка физической модели данных;

Создание таблицы с помощью Конструктора таблиц;

Установление связей между таблицами;

Заполнение таблиц данными.

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

Установить номенклатуру признаков описания объекта (состав и число полей);

Установить характеристики каждого поля таблицы;

Оформить результаты в табличном виде.

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

Таблица для описания характеристик полей БД

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

Включить компьютер и загрузить программное обеспечение Windows и Access;

После загрузки Access в появившемся диалоговом окне дваж­ды щелкнуть кнопкой по меню Файл и выбрать команду Создать;

В появившемся диалоговом окне Создание активизировать переключатель База данных, а затем щелкнуть мышью по кнопке ОК;

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

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

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

Конструктор таблиц содержит четыре информационных блока:

Имя поля;

Тип данных;

Описание;

Свойства поля.

В блоке Свойства поля имеется два окна (закладки): Общие Подстановка.

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

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

Имя поля не должно начинаться с пробела;

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

Не допускается повторение имен в таблице;

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

Технология заполнения данных в строки информационных бло­ков Конструктора таблиц аналогична технологии работы с таблицами в текстовом редакторе WORD.

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

Ввести имя поля;

Выбрать тип данных;

Ввести в строку блока Описание характер вводимых значений в ячейку данного поля (в дальнейшем при заполнении таблицы этот комментарий выводится в стро­ку подсказки в нижней части экрана);

Повторить указанные действия для всех остальных полей таблицы.

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

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

MEMO. Поле MEMO называют полем текстовых примечаний. Этот тип поля предназначен для ввода в него текстовой информа­ции длиной более 255 символов (в Access 2000 - до 65 535 симво­лов). Этот тип данных отличается от текстового тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, которые хранятся отдельно. Это значительно ускоряет обработку таблиц. Поля MEMO не могут быть ключевыми или индексными.

Числовой. Этот тип данных для характеристик объектов базы; данных, которые могут участвовать в математических расчетах.

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

Денежный. Этот тип данных аналогичен числовому. Отличается от него только характеристиками вводимых чисел. Точность числа не превышает четырех знаков после запятой. Целая часть может содержать до 15 десятичных разрядов. В конце числа могут быть проставлены обозначения валюты (р. или $).

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

Логический. Тип поля, параметры которого могут принимать только два значения, интерпретированные как ДА или НЕТ (Да/ Нет), Истина/Ложь, Включено/Выключено. Поля логического типа не могут быть ключевыми, но могут быть индексными.

OLE (OLE-объект). В ячейки поля данного типа вводятся ссыл­ки на приложения, разработанные для Windows. Это могут быть текстовые, графические и мультимедийные файлы. Объем храни­мых данных в ячейках данного поля ограничен только дисковым пространством компьютера.

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

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

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

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

Имя таблицы. При задании имени таблицы необходимо учесть следующие рекомендации:

Имя поля должно отражать содержание данных в таблице (класс объектов);

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

Имя таблицы не должно начинаться с пробела;

В одном файле БД не должно быть таблиц с одинаковыми именами.

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

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

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

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

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

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

Несколько замечаний по технологии разработки таблиц. Технология работы в Конструкторе таблиц полностью аналогична работе с таблицами в текстовом редакторе Word.

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

1) открыть созданную ранее таблицу в режиме Конструктор;

2) выделить поле, которое повторяется в другой таблице;

3) скопировать выделенное поле (со всеми его свойствами) буфер обмена;

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

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

3. Установление связей между таблицами.

Установление связей меж­ду таблицами необходимо для обеспечения целостности данных.

Целостность данных гарантирует защиту информации от слу­чайных изменений в связанных таблицах.

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

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

На панели инструментов окна базы данных активизировать команду (значок) Схема данных ;

В открывшееся окно построителя схемы данных вве­сти главную и подчиненные таблицы;

Связать таблицы по одинаковому полю.

При этом параметре не допускается произвольное удаление или изменение записей в главной таблице.

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

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

4. Заполнение таблиц данными.

Технология ввода данных в табли­цы производится двумя способами:

Непосредственным вводом данных в ячейки таблицы;

Организацией ввода данных через формы.

При выборе первого способа ввода данных необходимо руко­водствоваться:

Уменьшением вероятности ошибок оператора;

Удобством организации самого процесса ввода данных.

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

5. Технология разработки запросов

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

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

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

На выполнение действий (на выборку);

Обновление;

Добавление;

Удаление;

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

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

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

Параметрические запросы - это запросы, параметры выбора информации в которых меняются.

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

Таблицы, структура которых соответствует исходной таблице (таблицам) БД;

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

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

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