Связь типа “много-ко-многим” (М:М)

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ЛАБОРАТОРНЫМ РАБОТАМ

«ACCESS 2003»

Части 1 и 2

 

 

СОЗДАНИЕ И ОСНОВНЫЕ ПРИЕМЫ РЕДАКТИРОВАНИЯ ТАБЛИЦ

 

Цель работы

 

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

Задачи работы

Ознакомиться со справочной системой MS Access 2003. Создать и отредактировать многотабличную базу данных.

Содержание работы

3.1 Запустить MS Access.

3.2 Изучить один из разделов справочной системы по указанию преподавателя.

3.3 Создать новую базу данных в файле с именем Student.

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

3.5 Ввести в таблицу Студенты 10-15 записей и сохранить их.

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

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

3.8 Заполнить таблицу Экзамены данными.

3.9 Проверить соблюдение целостности данных в обеих таблицах.

 

Требования к отчету

Отчет о проделанной работе должен содержать:

· название работы, ее задачи и описание последовательности выполнения;

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

· описание структуры создаваемой БД;

· ответы на контрольные вопросы по указанию преподавателя.

 

Общие сведения

Основные принципы проектирования баз данных

Основные определения

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

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

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

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

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

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

Свойство (атрибут) - определенная часть информации о некотором объекте. Хранится в виде столбца (поля) таблицы. Например, фамилия, имя, отчество - это свойства для объекта Студент.

Связь (отношение) - способ, которым связана информация о разных объектах.

Типы связей между объектами

Основным структурным компонентом базы данных, как правило, является таблица. При определении состава таблиц следует руководствоваться правилом: в каждой таблице должны храниться данные только об одном классе объектов. Например, в одной таблице нельзя хранить анкетные данные студента и фамилии преподавателей, которым он сдавал экзамены, т.к. это свойства разных классов объектов.

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

Связи между любыми двумя таблицами относятся к одному из трех типов: один-к-одному (1:1), один-ко-многим (1:М) и много-ко-многим (М:М).

Связь типа “один-к-одному” (1:1)

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

Связь типа “один-ко-многим” (1:М)

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

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

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

Связь типа “много-ко-многим” (М:М)

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: