Автор работы: Пользователь скрыл имя, 27 Февраля 2013 в 19:36, реферат
В мире существует множество систем управления базами данных. Несмотря на то, что они могут по-разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. В качестве такого объекта мы выберем СУБД Microsoft Access, входящую в пакет Microsoft Office.
ВВЕДЕНИЕ 3
1. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 4
1.1. Системы управления базами данных 4
1.2. Настольные (локальные) СУБД 5
1.3. СУБД структуры «сервер-клиент» 7
2. БАЗА ДАННЫХ MS ACCESS 17
2.1. Microsoft Access - функционально полная реляционная СУБД 17
2.2. Предназначение СУБД Access 18
3. ПОСТРОЕНИЕ НЕБОЛЬШОЙ БАЗЫ ДАН-НЫХ……………………...32
ЗАКЛЮЧЕНИЕ 43
СПИСОК ЛИТЕРАТУРЫ 45
- Номер ВУЗа.
- Название ВУЗа.
- Номер факультета.
- Номер ВУЗа, где находится этот факультет.
- Название факультета.
- Номер студента.
- Номер факультета.
- студента.
- На каком курсе студент.
И это далеко не полный список того что мы можем знать о студенте, но ведь мы делаем небольшую Базу и этого хватит что бы понять как строить Базу данных.
Графически это может быть представлено в виде трех таблиц:
1. Список ВУЗов:
Номер ВУЗа |
Название ВУЗа |
1 |
ПВУ |
2 |
ППИ СПбГТУ |
3 |
ПГПИ |
2. Список факультетов:
Номер факультета |
Номер ВУЗа |
Название факультета |
1 |
1 |
Информационные системы |
2 |
3 |
Ин. яз. |
3 |
2 |
Мех. Маш. |
3. Список студентов:
Нмер студента |
Номер факультета |
Ф.И.О. |
Курс |
1 |
3 |
Иванов И.И. |
5 |
2 |
2 |
Сидоров С.С. |
1 |
3 |
1 |
Петров П.П. |
1 |
где стрелочками показаны связи или отношения(реляции) между таблицами (т.к. Access - реляционная СУБД).
Итак, начнем.
Запускаем Access и открываем Базу данных, назовем ее Students. Сначала нам надо построить три, выше описанных таблицы. Для этого нажимаем кнопку New и начнем конструировать первую таблицу. Вводим имена поле и их типы, первой записью вы можете ввести счетчик (тип counter) записей и установить первичный ключ, но это необязательно. Access при сохранении таблицы спросит: "Создать первичный ключ?" если Вы выберите Да, то он создаст новое поле с именем ID и типом counter. Дальше нам будут нужны только поля с типами Text и Number.
Эти таблицы будут выглядеть так:
1.
2.
3.
Дальше нам нужно установить связи между таблицами, для этого в меню Edit выберите опцию Relationships и установите связи между полями. Для установления связи выберите нужное вам поле, укажите на него мышкой и удерживая правую кнопку мыши покажите на поле с которым Вы хотите установить связь. Но здесь есть небольшое ограничение: поля между которыми Вы хотите установить связь должны быть одного типа. После установления связей наши таблицы будут выглядеть так (в данном случае мы установили связь один ко многим):
Эти связи нам нужны для облегчения поиска и выборки информации. Например, при просмотре списка университетов Access автоматически устанавливает указатель (т.е. делает запись текущей) на первую запись в таблице Faculties содержащую в поле Namber_of_univer такое же число, что и в текущем поле ID таблицы Univer.
Теперь мы можем заполнить какой-либо информацией эти три таблицы. Для этого в окне Базы Данных нажмите кнопку Open или в меню View выберите опцию Datasheet. И начинайте заполнять, поля с типом Cоunter заполняются автоматически. После заполнения, содержимое этих таблиц может выглядеть, например, так:
1.
2.
3.
Как вы понимаете это минимальный набор информации по этой теме, но нам и его хватит.
Итак, на данном этапе мы имеем Базу данных, состоящую из трех связанных таблиц и содержащую некоторую информацию. Дальше нам надо как-то работать с этой Базой и в первую очередь нам надо производить поиск и выборку информации. Для этого существуют запросы.
Построим несколько запросов.
1. Отсортируем таблицу student в алфавитном порядке по полю name. Для этого сделаем QBE-запрос такого вида:
И если мы просмотрим Dynaset, то увидим следующую таблицу:
2. Дальше нам, например, может понадобиться выбрать из списка студентов всех обучающихся на первом курсе. Для этого существуют критерии выборки. Для того чтобы осуществить нужную нам выборку нам надо в QBE-запросе в поле Criteria столбца year поставить цифру ‘1’(это значит что из таблицы Student будут выбраны все записи у которых в поле столбца year стоит ‘1’). И если мы просмотрим Dynaset, то увидим следующую таблицу:
3. Так как у нас есть несколько связанных таблиц, то мы можем сделать запрос, основанный на нескольких таблицах. Например, из имеющихся у нас таблиц сделаем такую выборку: Название ВУЗа, название факультета где обучается студент, имя студента и курс, отсортированную по полям name_of_university и name. Для этого подготовим такой QBE-запрос:
И если мы просмотрим Dynaset то увидим следующую таблицу:
Таким образом, вы видите, что Access позволяет осуществлять различную обработку информации.
Но что Вы будете делать если в Вашу Базу данных ввод информации будет осуществляется неквалифицированным пользователем. Чтобы такие люди могли спокойно работать с вашей Базой и не видели того, что им ненужно видеть, Access предусматривает такую вещь как Формуляры. Построим один.
Из предусмотренных Access способов создания формуляров выберем самый простой - это использование Конструктора формуляров. Свой формуляр сделаем на основе запроса, который мы, в свою очередь сделали на основе нескольких таблиц. Из предлагаемых формуляров выберем Single-column, дальше выберем все поля и сделаем его Shadowed. После всего этого у нас должно получиться что-то вроде этого:
В этом окне можно как редактировать,
так и вводить новую
Кроме формуляров Access предоставляет специальное средство для распечатки выбранной информации - Отчеты. Отчеты отличаются от формуляров одним: в отчете нельзя редактировать данные. Давайте создадим один, но основанный только на одной таблице Univer. Для этого также воспользуемся Конструктором отчетов, т.к. это более легкий и понятный способ построения чего-либо. Для этого из предлагаемых запросов и таблиц выберем таблицу Univer, потом выберем опцию группировки Groups/Totals, порядок полей в отчете оставим такой же, сгруппируем по полю name_of_university в режиме Normal, очередность сортировки в группах сделаем по оставшемуся полу ID, выберем стиль формы отчета Presentation и расположение на листе бумаги Portrait, введем имя для отчета University и нажмем кнопку Finish. Access создаст отчет, его Вы сможете увидеть в конце работы.
Обрабатывая таким образом информацию, мы часто повторяем определенные последовательности операций и для того чтобы избежать этого, а также повысить эффективность общения с Базой данных и сократить время обработки данных. Access предоставляет набор Макрокоманд. В нашей Базе есть одно такое повторяющееся действие: если при каждой загрузке Базы данных мы хотим открывать сразу все наши таблицы, запросы, отчеты или что-нибудь еще, то мы можем записать последовательность макрокоманд делающих это.
Для этого создадим окно проектирования макрокоманд, здесь каждая строка может содержать одну инструкцию в колонке Action и комментарий к ней в колонке Comment. В каждой строке колонки Action есть список макрокоманд из которого выберем нужные нам макрокоманды: Opentable (Открыть таблицу), OpenQuery (Открыть запрос), OpenReport (Открыть отчет), Minimize (Минимизировать), MsgBox (Окошко сообщения) и разобьем их на макрогруппы с именами 1, 2, 3. Первая макрогруппа будет выдавать сообщение, открывать три таблицы и минимизировать их. Вторая будет выдавать сообщение, открывать запрос и минимизировать его. Третья будет выдавать сообщение, открывать отчет и минимизировать его.
Окно проектирования макрокоманд будет выглядеть так:
Теперь чтобы запустить это, надо в меню File выбрать опцию Run Macro и выбрать из списка нужную вам макрогруппу. Например, если вы запустите первую, то сначала увидите сообщение:
Если Вы нажмете на кнопку OK, то увидите что-то вроде этого:
Наша макрогруппа отработала: открыла таблицы и минимизировала их. Если вы запустите остальные, то результат будет такой же, только открыты будут запрос и отчет.
Работая с макрокомандами, Вы скоро увидите, что это довольно ограниченный инструмент управления Базой данных. Помимо макрокоманд Access имеет встроенный язык программирования - Access Basic. Этот язык представляет собой диалект языка Visual Basic. Для написания программ Access предоставляет такое средство как Модуль. Модуль представляет собой небольшой текстовый редактор с проверкой синтаксиса при завершении строки. Здесь Вы можете писать свои функции и процедуры. Access Basic, как и любой язык программирования, имеет переменные, константы, операторы цикла, условия и набор функций для выполнения различных действий.
В общем смысле термин «база данных» (БД) можно применить к любой совокупности связанной информации, объединенной вместе по определенному признаку, т.е. к набору данных, организованных определенным образом. При этом большинство БД использует табличный способ преставления, где данные располагаются по строкам (которые называются записями) и столбцам (которые называются полями), причем все записи должны состоять из одинаковых полей и все данные одного поля должны иметь один тип. Например, расписание движения поездов, полетов самолетов, книга заказов или учет товаров и т.п. легко могут быть представлены в такой форме. Базы данных должны содержать только независимую (первичную) информацию, поэтому не любая таблица представляет собой базу данных.
В последнее время наибольшее распространение получили реляционные базы данных (слово «реляционная» происходит от английского relation – отношение). Концепции реляционной модели данных связаны с именем известного специалиста в области систем бaз данных Е.Кодда. Именно поэтому реляционную модель данных в литературе часто называют моделью Кодда.
В компьютерном варианте в реляционной БД информация хранится, как правило, в нескольких таблицах-файлах, связанных между собой посредством одного или нескольких совпадающих в этих таблицах полей (в некоторых компьютерных системах все таблицы одной базы помещаются в один файл). Каждая строка в таблице реляционной БД должна быть уникальна (т.е. не должно быть одинаковых строк-записей). Такие уникальные столбцы (или уникальные группы столбцов), используемые, чтобы идентифицировать каждую строку и хранить все строки отдельно, называются первичными ключами таблицы.
Первичные ключи таблицы важный элемент в структуре базы данных. Они - основа системы записи в файл и, когда необходимо найти определенную строку в таблице, то ссылаются к этому первичному ключу. Кроме того, первичные ключи гарантируют, что данные имеют определенную целостность. Если первичный ключ правильно используется и поддерживается, то можно быть уверенным, что нет пустых строк таблицы и, что каждая строка отличается от любой другой строки.
Основным назначением БД является быстрый поиск содержащейся в ней информации. При этом БД могут содержать значительный объем информации, например, список домашних телефонов любого города (с его недостаточной степенью телефонизации) составляет десятки тысяч абонентов. В телефонной книге абоненты упорядочены (отсортированы) в алфавитном порядке и поиск по фамилии займет не очень много времени, однако, поиск по адресу или неточному номеру телефона и т.п. вручную – не решаемая практически задача.
Мир баз данных становится все более и более единым, с развитием Internet- и Intranet- технологий появилась возможность доступа к удаленным БД, что привело к необходимости создания стандартного языка, который мог бы использоваться так, чтобы функционировать в большом количестве различных видов компьютерных сред. Стандартный язык позволил бы пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять и передавать информацию независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции или на универсальном компьютере.
По этой причине ANSI (Американским Национальным Институтом Стандартов) был разработан стандарт языка SQL (Структурированный Язык Запросов). При этом SQL не изобретался ANSI. Это по существу изобретение IBM. Но другие компании подхватили SQL и сразу же, по крайней мере одна компания (Oracle), получила право на рыночную продажу SQL продуктов. Однако после этого появились некоторые проблемы, которые возникли в результате стандартизации ANSI языка в виде некоторых ограничений. Конкретные программы Баз Данных обычно дают ANSI SQL дополнительные особенности, часто ослабляют многие ограничения стандарта.