|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Теоретические аспекты разработки реляционной базы данныхДля более эффективной работы с СУБД Access важно знать терминологию и понимать принцип построения и основные преимущества реляционной базы данных. Система баз данных поддерживает в памяти ЭВМ модель предметной области. Однако результат моделирования зависит не только от предметной области, но и от используемой СУБД, поскольку каждая система предоставляет свой инструментарий для отображения предметной области. Этот инструментарий принято называть моделью данных. В то же время результат отображения предметной области в терминах модели данных называется моделью баз данных. Модель данных определяется тремя компонентами: - допустимой организацией данных; - ограничениями целостности (семантической), - множеством операций, допустимых над объектами модели данных.
Допустимая организация данных определяется разнообразием и количеством типов объектов модели данных, ограничениями на структуру данных. Ограничения целостности поддерживаются средствами, предусмотренными в модели данных для выражения ограничений на значения данных и связи, которые характеризуют достоверные состояния БД. Ряд ограничений целостности поддерживается моделью данных по умолчанию и распространяется на все типовые ситуации, возникновение которых возможно при внесении изменений в БД. Другие ограничения целостности могут задаваться явно и также распространяться на множество однотипных ситуаций. Ограничения целостности могут распространяться и на значения отдельных полей. Например, если при описании поля записи задать область допустимых значений, то система не допустит обновления данного, если новое значение будет квалифицировано как некорректное. Множество операций определяет виды обработок, которым могут подвергаться объекты модели данных. Сюда, в первую очередь, входят операции выборки данных и операции, изменяющие состояние БД. Рассмотрим подробнее организацию данных и ограничения целостности (допустимые операции будут рассмотрены при практической работе с базой данных).
Организация данных Слово «реляционная» происходит от английского relation - отношение. Отношение - математическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы. При этом строки таблицы соответствуют кортежам отношения, а столбцы - атрибутам. Атрибут, значения которого однозначно идентифицируют кортежи, называется ключом (простым ключом), т.е. столбец (поле), у которого данные в строках уникальны (не повторяются), может быть определен как ключ. В некоторых отношениях кортежи идентифицируются конкатенацией (объединением) нескольких атрибутов. Тогда говорят, что отношение имеет составной ключ. Это означает, что данные в строках каждого из столбцов составного ключа могут повторяться, но комбинация данных каждой строки этих столбцов является уникальной. Например, в таблице СТУДЕНТЫ есть столбцы ФАМИЛИЯ и ГОД РОЖДЕНИЯ. В каждом из столбцов есть некоторые повторяющиеся данные, т. е. одинаковые фамилии и одинаковые года рождения. Но если студенты, имеющие одинаковые фамилии, имеют разные года рождения, то эти столбцы можно использовать в качестве составного ключа.
В Access можно выделить три типа ключевых полей: - простой ключ; - составной ключ; - счетчик.
Поле счетчика содержит номера строк и Access обычно предлагает его в качестве ключа, если не выбрано другое ключевое поле. Совет. Понятие ключа имеет важное значение в реляционных базах данных. Задание ключевых полей в таблицах не только позволит защитить базу от ввода неправильных значений и сохранить ее целостность, но и ускорит поиск информации в больших по объему базах. Поэтому, когда Access предлагает задать ключевое поле, не отказывайтесь сразу от этого, а подумайте, какое поле может содержать неповторяющиеся данные и все-таки задайте ключ для таблицы. Конечно, можно всегда отказываться от задания ключевых полей (так, казалось бы, проще и понятней), но тем самым Вы лишите себя многих достоинств реляционной базы данных. Одно из важнейших достоинств реляционных баз данных состоит в том, что вы можете хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов. Поясним это на примере. Допустим, что в базе надо хранить данные о студентах (фамилия, изучаемая дисциплина) и преподавателях (фамилия, номер кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией каждого студента, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избыточность данных. А если хранить данные о студенте в одной таблице, о преподавателе - в другой и установить связь между полями «читаемая дисциплина» - «изучаемая дисциплина» (фактически это одинаковые поля), то избыточность хранимых данных многократно уменьшится без ущерба для логической организации информации.
В Access можно задать три вида связей между таблицами: - «один-ко-многим»; - «многие-ко-многим»; - «один-к-одному».
Связь «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B (эти записи называют внешними ключами), а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A. При связи «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B - несколько записей в таблице A. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит из, по крайней мере, двух полей, одно из которых является общим с таблицей А, а другое - общим с таблицей В. При связи «один-к-одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением «один-к-одному» используют для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Целостность данных Целостность данных означает систему правил, используемых в Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия: - связанное поле главной таблицы является ключевым полем или имеет уникальный индекс; - связанные поля имеют один тип данных (здесь существует исключение - поле счетчика может быть связано с числовым полем), если в последнем в свойстве Размер поля указано значение «Длинное целое»; - обе таблицы принадлежат одной базе данных Access, если таблицы являются связанными, то они должны быть таблицами Access; для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта; для связанных таблиц из баз данных других форматов установить целостность данных невозможно.
Постановка задачи
Требуется разработать базу данных ДЕКАНАТ, содержащую четыре таблицы: СТУДЕНТЫ, ПРЕПОДАВАТЕЛИ, ДИСЦИПЛИНЫ, ОЦЕНКИ.
Таблица СТУДЕНТЫ должна содержать следующие поля: - Код студента; - Фамилия; - Имя; - Отчество; - Номер группы; - Адрес; - Телефон; - Дата рождения; - Медалист.
Таблица ПРЕПОДАВАТЕЛИ должна содержать следующие поля: - Код преподавателя; - Фамилия; - Имя; - Отчество; - Дата рождения; - Должность; - Стаж; - Телефон.
Таблица ДИСЦИПЛИНЫ должна содержать следующие поля: - Код дисциплины; - Название дисциплины; - Код преподавателя; - Номер семестра; - Экзамен.
Таблица ОЦЕНКИ должна содержать следующие поля: - Код студента; - Код дисциплины; - Номер семестра; - Оценка.
Необходимо разработать формы для ввода данных во все таблицы. Необходимо создать следующие запросы: - Студенты заданной группы; - Оценки студентов заданной группы по заданной дисциплине; - Перекрестный запрос: средний балл групп по дисциплинам; - Увеличение на 10% зарплаты тех преподавателей, кто получает менее 2000 грн.; - Удаление отчисленных студентов; (создание архива).
Все запросы должны быть оформлены в виде форм: Разработать сложную форму; Необходимо разработать итоговый отчет по дисциплинам, группам и среднему баллу групп по данным дисциплинам; Необходимо разработать кнопочную форму-меню для работы с базой данных.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |