Информатика 11 кл Реляционные базы данных


Информатика и ИКТТЕМА: «Реляционные многотабличные базы данных. 11 класс».Ростовская обл. п. Зимовники. МБОУ Зимовниковская СОШ №1.Автор: учитель информатики Малявская Н.А. Цель:ввести понятие реляционных многотабличных баз данных;ввести понятия связи, ключи.Задачи:углубление знаний по теме базы данных. Реляционные базы данных Основой реляционной базы данных являются таблицы, которые логически связаны между собой. Эти связи можно использовать для того, чтобы связывать таблицы по общим полям. В запросах связи представляются в виде объединений. Причины создания реляционных многотабличных баз данных:необходимость избежать повторения данных; неудобство и нерациональность хранения всех данных в одной таблице реляционной БД, т.к. таблица может содержать слишком большое количество полей. Проект определение перечня необходимых таблиц; задание их структуры; установки типа связей между этими таблицами.Процесс проектирования включает: - модель будущей базы данных, состоящей из объектов и их связей, необходимых для выполнения поставленных задач. Пример. Таблица 1. Комплектующие компьютера и поставщикиСчетчикНаимено­ваниеОписаниеНазвание фирмыАдресЦена, руб.1Системный блокPentiumФирма1Адрес190002Системный блокPentiumФирма2Адрес2100003Монитор15"Фирма1Адрес150004Монитор15"Фирма2Адрес260005Клавиатура104кл.Фирма1Адрес12506Клавиатура104кл.Фирма2Адрес23007 •МышьБеспроводнаяФирма1Адрес13008МышьБеспроводнаяФирма2Адрес2350На какие группы можно разделить данные в таблице?Какая информация здесь избыточная? Комплектующие компьютера и поставщикиСчетчикНаимено­ваниеОписаниеНазвание фирмыАдресЦена, руб.1Системный блокPentiumФирма1Адрес190002Системный блокPentiumФирма2Адрес2100003Монитор15"Фирма1Адрес150004Монитор15"Фирма2Адрес260005Клавиатура104кл.Фирма1Адрес12506Клавиатура104кл.Фирма2Адрес23007 •МышьБеспроводнаяФирма1Адрес13008МышьБеспроводнаяФирма2Адрес2350Какая информация избыточна для каждой из групп?На какие группы можно разделить данные в таблице?комплектующиепоставщикиНазвание, адрес, цена.Описание, наименование, цена.




Комплектующие и поставщикиКомплектующиеПоставщикиНаименованиеОписаниеНазвание фирмыАдресЦенаЦенаКакие данные здесь дублируются?Вывод:Разбить таблицу на 3 подтаблицы.

Рассмотрим таблицу «Комплектующие компьютера и поставщики» повторноСчетчикНаимено­ваниеОписаниеНазвание фирмыАдресЦена, руб.1Системный блокPentiumФирма1Адрес190002Системный блокPentiumФирма2Адрес2100003Монитор15"Фирма1Адрес150004Монитор15"Фирма2Адрес260005Клавиатура104кл.Фирма1Адрес12506Клавиатура104кл.Фирма2Адрес23007 •МышьБеспроводнаяФирма1Адрес13008МышьБеспроводнаяФирма2Адрес2350Какая информация избыточна для каждой из групп?комплектующиеценапоставщикиНазвание, адрес, ценаОписание, наименование, ценаНазвание, адрес, Описание, наименованиеНа какие подтаблицы можно разбить данную таблицу




Комплектующие и поставщикиКомплектующиеПоставщикиНаименованиеОписаниеНазвание фирмыАдресЦенаценаДублируются ли здесь данные?

Вывод-….Разделить (оптимизировать ) исходную таблицу на 3 не дублирующих данные таблицы.СчетчикНаимено­ваниеОписаниеНазвание фирмыАдресЦена, руб.1Системный блокPentiumФирма1Адрес190002Системный блокPentiumФирма2Адрес2100003Монитор15"Фирма1Адрес150004Монитор15"Фирма2Адрес260005Клавиатура104кл.Фирма1Адрес12506Клавиатура104кл.Фирма2Адрес23007 •МышьБеспроводнаяФирма1Адрес13008МышьБеспроводнаяФирма2Адрес2350Код комплектующихНаименованиеОписаниеК1Системный блокPentiumК2Монитор19"КЗКлавиатура104кл.К4МышьБеспроводнаяТаблица 2. «Комплектующие»Код поставщикаНазвание фирмыАдресП1Фирма1Адрес1П2Фирма2Адрес2Таблица 3. «Поставщики»СчетчикКод комплектующихКод поставщикаЦена,руб.1К1П190002К1П2100003К2П150004К2П260005КЗП12506КЗП23007К4П13008К4П2350Таблица 4.. «Цена»

Итог После создания таблицы для каждого объекта в базе данных нужно предоставить Office Access средства, с помощью которых эти данные возвращаются, когда это необходимо. Это осуществляется с помощью: добавления общих полей в связанные таблицы ,определения межтабличных связей. После этого можно создавать запросы, формы и отчеты, отображающие сведения одновременно из нескольких таблиц. РезультатДобавлены общие поля через которые и будут установлены связиКод комплектующихНаименованиеОписаниеК1Системный блокPentiumК2Монитор19"КЗКлавиатура104кл.К4МышьБеспроводнаяТаблица 2. «Комплектующие»Код поставщикаНазвание фирмыАдресП1Фирма1Адрес1П2Фирма2Адрес2Таблица 3. «Поставщики»СчетчикКод комплектующихКод поставщикаЦена,руб.1К1П190002К1П2100003К2П150004К2П260005КЗП12506КЗП23007К4П13008К4П2350Таблица 4. «Цена»

Типы связей:«один- ко- многим» каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей записи в главной таблице.«многие -ко- многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице — несколько записей в первой таблице Создание связи между таблицамиНа вкладке Работа с базами данных в группе Отображение выберите пункт Схема данныхЕсли ни одной связи еще не определено, автоматически откроется диалоговое окно Добавить таблицу. Если окно не открылось, на вкладке Структура в группе Связи нажмите кнопку Добавить таблицу. В диалоговом окне Добавить таблицу отображены все таблицы и запросы, содержащиеся в базе данных. Чтобы отобразить только таблицы, выберите пункт Таблицы. Чтобы отобразить только запросы, выберите пункт Запросы. Чтобы отобразить и таблицы и запросы, выберите пункт Таблицы и запросы.Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить. После добавления таблиц и запросов на вкладку «Схема данных» нажмите кнопку Закрыть. 3. Перетащите поле (как правило, поле первичного ключа) из одной таблицы на общее поле (внешнего ключа) в другой таблице. Чтобы перетащить сразу несколько полей, нажмите клавишу CTRL и, удерживая ее, выберите каждое поле. Откроется диалоговое окно Изменение связей. 5. Нажмите кнопку Создать. Access проведет линию связи между двумя таблицами. Если был установлен флажок Обеспечение целостности данных, линия будет толще на каждом конце. Кроме того, если был установлен флажок Обеспечение целостности данных, над широкой частью на одном конце линии связи будет отображено число 1, а над широкой частью на другом конце линии — символ бесконечности (∞).4. Убедитесь, что поля, имена которых отображены в диалоговом окне, являются общими полями данной связи. Если имя поля неверно, выделите это имя и выберите верное поле из списка. Для поддержания целостности данных для этой связи установите флажок Обеспечение целостности данных. Межтабличная связь обеспечивает целостность данных. Какова связь в нашей БД ?В нашем случае реализуется связь«многие-ко-многим»Одной записи в таблице «Комплектующие» соответствуют две записи в таблице «Поставщики», так как устройства одного вида продаются двумя фирмами. Одной же записи таблицы «Поставщики» соответствуют четыре записи таблицы «Комплектующие», так как одна фирма продает устройства четырех разных видовКод комплектующихНаименованиеОписаниеК1Системный блокPentiumК2Монитор19"КЗКлавиатура104кл.К4МышьБеспроводнаяТаблица 2. «Комплектующие»Код поставщикаНазвание фирмыАдресП1Фирма1Адрес1П2Фирма2Адрес2Таблица 3. «Поставщики»

Две таблицы, находящиеся в отношении «многие –ко -многим», могут быть связаны только с помощью третьей (связующей) таблицы. Таким образом, таблица «Цена» должна содержать сле­дующие поля (табл. 1):• Счетчик (первичный ключ);• Код комплектующих (поле внешнего ключа для таб­лицы «Комплектующие»);• Код поставщика (поле внешнего ключа для таблицы « Поставщики »);• Цена (числовое поле).Код комплектующихНаименованиеОписаниеК1Системный блокPentiumК2Монитор19"КЗКлавиатура104кл.К4МышьБеспроводнаяКод поставщикаНазвание фирмыАдресП1Фирма1Адрес1П2Фирма2Адрес2Код комплектующихКод поставщикаЦена,руб.К1П19000К1П210000К2П15000К2П26000КЗП1250КЗП2300К4П1300К4П2350 Связь между таблицами устанавливает отношения между совпадающими значениями в полях с одинаковыми именами. С первичным ключом главной таблицы связывается одноименное поле подчиненной таблицы (внешний ключ).В главной таблице «Комплектующие» поле Код комплектующих является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом.Код комплектующихНаименованиеОписаниеК1Системный блокPentiumК2Монитор19"КЗКлавиатура104кл.К4МышьБеспроводнаяСчетчикКод комплектующихКод поставщикаЦена,руб.1К1П190002К1П2100003К2П150004К2П260005КЗП12506КЗП23007К4П13008К4П2350 Таблица «Поставщики» также является главной по от­ношению к таблице «Цена». Ее поле Код поставщика является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом.Таким образом, таблица «Цена» должна содержать следующие поля :• Счетчик (первичный ключ);• Код комплектующих (поле внешнего ключа для таб­лицы «Комплектующие»);• Код поставщика (поле внешнего ключа для таблицы « Поставщики »);• Цена (числовое поле)..СчетчикКод комплектующихКод поставщикаЦена,руб.1К1П190002К1П2100003К2П150004К2П260005КЗП12506КЗП23007К4П13008К4П2350Код поставщикаНазвание фирмыАдресП1Фирма1Адрес1П2Фирма2Адрес2