c_sharp_vse_(14.12.13) / Си Шарп. Создание приложений для Windows[Лабор В.В
.].pdf318 Раздел I I I . Программирование для Windows
Рассмотрим связь между данными на основе базы данных «Students», которую мы создадим. Это будет довольно простой пример связывания данных, хранящихся в разных таблицах. Определим для начала, какие поля нам необходимы для хранения информации о студенте. Требуемая информация представлена в таблице:
Фамилия Имя |
Возраст студента Название университета |
Год образования |
|
|
университета |
Однако студентов, данные о которых будут храниться в базе данных, намного больше количества имеющихся университетов. И в результате может получиться, что из 10 000 зарегистрированных в базе студентов 5000 учатся в одном университете. А это значит, что в графе «Название университета» существует 5000 однотипных записей. То же самое и в графе «Год образования университета».
Если же мы хотим сэкономить на объеме базы данных, то нужно вынести поля, касающиеся университета, в отдельную таблицу. В результате мы получим две таблицы: одну с данными о фамилии, имени и возрасте студента («Студенты»), вторую — об университете, в котором он учится («Университеты»).
Теперь поля таблицы «Университеты» будут содержать намного меньше записей, чем когда они находились в исходной таблице. Возникает вопрос, как теперь мы узнаем, в каком именно из университетов учится тот или иной студент. Для этого в каждую из таблиц «Студенты» и «Университеты» нам необходимо добавить еще по одному полю, которые и будут определять связь между студентами и их учебными заведениями.
Фамилия |
Имя |
Возраст |
ГО |
университета |
Названиеуниверситета |
Год образования университета |
Ш университета |
Теперь, внося в базу информацию о студенте, не надо указывать полное название его учебного заведения, достаточно лишь знать ID нужного университета.
Например, в базе данных собрана информация о студентах, которые учатся в:
•Московском государственном технологическом университете;
•Московском государственном институте международных отношений;
•Московском государственном университете физкультуры и спорта.