Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_biletam_po_informatike.docx
Скачиваний:
42
Добавлен:
31.03.2015
Размер:
94.61 Кб
Скачать

30)Реляционные базы данных. Связь между таблицами. Виды связи «один ко многим»,

«многие ко многим».(неполный)

База данных обеспечивает хранения сложных структурированных данных и при этом

позволяет сравнительно просто извлекать данные. Базы данных поддерживаются

специальными программами, такими как Access и SQL Server. Эти программы

называются системами управления базами данных (СУБД). Различают базы данных

иерархические, сетевые и реляционные. Наиболее распространены реляционные базы

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

VB.NET позволяет отображать, анализировать и изменять информацию в базах данных.

Для этой цели предусмотрена модель доступа к данным, которая называется ADO.NET.

Эта модель позволяет работать с мощными базами данных, созданными одной из СУБД

(Microsoft Access, Microsoft FoxPro, Paradox, Oracle и Microsoft SQL Server).

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

такое решение недопустимо.

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

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

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

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

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

?Вернемся к рассмотренному в предыдущем разделе примеру о книгах. Таблица

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

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

«один-ко-многим». Для реализации такой связи между таблицей книг и таблицей авторов

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

указывается значение первичного ключа соответствующего автора в таблице авторов.

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

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

записи таблицы книг может существовать несколько записей в таблице авторов. И,

наоборот, для каждой записи в таблице авторов может существовать несколько записей в

таблице книг. Такой тип связи между таблицами называется отношением «многие-ко-

многим».

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

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

предусмотрено возможностей включить для книги новое поле для дополнительного

автора, этих полей может оказаться недостаточно. И в то же время, когда авторов книги

немного, лишние поля останутся пустыми, что приведет к нерациональному

использованию памяти.

Решением этой проблемы является создание третьей, связующей, таблицы, имеющей

всего два поля. С помощью связующей таблицы отношение «многие-ко-многим»

разбивается на два отношения «один-ко-многим». В первое поле связующей таблицы

записывается первичный ключ книги. Во второе поле записывается первичный ключ

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

связующей таблице повторяется столько раз, сколько авторов у книги. В этой связующей

таблице роль первичного ключа играют два вторичных ключа, сочетание значений

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]