Понедельник, 24.07.2017, 21:40
ОТКРЫТАЯ ИНФОРМАТИКА
Приветствую Вас Гость | RSS
Главная Проектирование БД Регистрация Вход
Меню сайта

Форма входа

Поиск

Календарь
«  Июль 2017  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Проектирование БД 

Однотабличная база данных

 flash - иллюстрация Создание таблицы в режиме конструктора.

Пусть нам необходимо разработать базу данных "Провайдеры Интернета", которая содержит информацию, необходимую для обоснованного выбора провайдера. Целесообразно в качестве основных критериев выбора взять стоимость подключения, тариф почасовой оплаты, количество входных телефонных линий и пропускную способность канала связи, который соединяет провайдера с Интернетом.

Прежде всего необходимо определить структуру базы данных, то есть количество полей, их названия и тип данных, в них хранящихся. База данных "Провайдеры Интернета" будет содержать следующие поля:
"№ п/п" (счетчик) - ключевое поле, однозначно идентифицирующее запись;
"Название провайдера" (текстовый) - содержит название фирмы;
"Плата за подключение" (логический) - принимает значения Да (плата взимается) и Нет (плата не берется);
"Почасовая оплата" (денежный) - содержит величину оплаты в рублях за 1 час подключения;
"Кол-во входных линий" (числовой) - содержит число входных телефонных линий;
"Скорость канала (Мбит/с)" (числовой) - содержит значение суммарной пропускной способности каналов связи в Мбит/с, которые соединяют провайдера с Интернетом;
"Web-сайт провайдера" (гиперссылка) - содержит ссылку на сайт провайдера в Интернете.



Приступим к практическому созданию базы данных "Провайдеры Интернета".
Создание базы данных "Провайдеры Интернета"

1. Создать в СУБД новую базу данных с помощью команды [Файл-Создать базу данных... ] и присвоить ей имя "Провайдеры Интернета".
2. В окне объектов базы данных, слева выбрать объект Таблицы, затем пункт Создание таблицы в режиме конструктора.
Режим Конструктор позволяет создавать и изменять структуру таблицы. Таблица "Провайдеры Интернета" должна содержать шесть полей, для каждого из которых нужно задать имя, тип данных и определить его свойства. Кроме того, необходимо задать ключевое поле, которым в данном случае является поле "№ п/п".

3. В появившемся окне таблицы в столбцах Имя поля и Тип данных ввести названия полей и требуемые типы данных.

В нижней части окна задать свойства полей. При задании типов данных и свойств полей воспользоваться раскрывающимися списками.

В качестве ключевого поля задать поле "№ п/п". Для сохранения таблицы ввести команду [Файл-Сохранить как...]. Присвоить таблице имя "Провайдеры Интернета".
4. После создания таблицы ее имя добавляется в окно базы данных и ее можно легко от крыть либо в режиме Конструктор (кнопка Конструктор), либо в режиме Таблица (кнопка Открыть).
Режим Таблица позволяет просматривать и изменять структуру таблицы, а также вводить и редактировать данные. 

5. Для просмотра структуры таблицы в окне БД на вкладке Таблицы дважды щелкнуть на значке таблицы Провайдеры Интернета. Появится окно таблицы.

Многотабличные базы данных

  flash - иллюстрация. Установка связей между таблицами СУБД.

Достаточно часто встречается ситуация, когда хранить всю базу данных в одной таблице неудобно и нерационально. Таблица может содержать слишком большое количество полей, что неудобно пользователю. Различные записи при этом во многих полях дублируют друг друга, что увеличивает информационный объем базы данных и замедляет процедуры ее обработки.

Поясним это на примере. Пусть табличная база данных "Комплектующие компьютера и поставщики" содержит информацию о различных комплектующих и имеет поля: "Счетчик", "Наименование", "Описание", "Название фирмы", "Адрес", "Цена" (в рублях).


Мы видим, что почти половину объема таблицы составляет избыточная, дублированная информация.
СчетчикНаименованиеОписаниеНазвание фирмыАдресЦена
1Системный блокPentiumФирма 1Адрес 110000
2Системный блокPentiumФирма 2Адрес 29000
3Монитор15"Фирма 1Адрес 15000
4Монитор15"Фирма 2Адрес 26000
5Клавиатура104 кл.Фирма 1Адрес 1250
6Клавиатура104 кл.Фирма 2Адрес 2300
7МышьЗкнФирма 1Адрес 1100
8Мышь3 кнФирма 2Адрес 2150

Проанализируем причину дублирования. Комплектующие компьютера имеют два неотъемлемых свойства: "Наименование" и "Описание". "Название фирмы", "Адрес" и "Цена" не являются свойствами комплектующих компьютера, они являются свойствами поставщика.

Естественно разделить исходную таблицу на две: "Комплектующие"  и "Поставщики" .
Код комплектующихНаименованиеОписание
К1Системный блокPentium
К2Монитор15"
КЗКлавиатура104 кл.
К4МышьЗкн.

В таблицу "Поставщики" введем дополнительное поле "Код поставщика". Именно это поле будет ключевым в данной таблице.

Код поставщикаНазвание фирмыАдрес
П1Фирма1Адрес 1
П2Фирма2Адрес2

Каждая таблица должна содержать, по крайней мере, одно ключевое поле, содержимое которого уникально для каждой записи в этой таблице. В таблицу "Комплектующие" введем поле "Код комплектующих". Именно это поле будет ключевым в данной таблице. 
После создания различных таблиц, содержащих данные, относящиеся к различным аспектам базы данных, необходимо обеспечить целостность базы данных. Для этого надо связать таблицы между собой.

При связи "один-ко-многим" каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей записи в главной таблице.

Если одной записи в первой таблице могут соответствовать несколько записей во второй таблице и, наоборот, одной записи во второй таблице - несколько записей в первой таблице, то реализуется связь "многие-ко-многим".

В нашем случае реализуется именно такая связь. Одной записи в таблице "Комплектующие" соответствуют две записи в таблице "Поставщики", так как устройства одного типа продаются двумя фирмами. Одной же записи таблицы "Поставщики" соответствуют четыре записи таблицы "Комплектующие", так как одна фирма продает устройства четырех типов.

Две таблицы, находящиеся в отношении "многие-ко-многим", могут быть связаны только с помощью третьей (связующей) таблицы. Таблицы "Комплектующие" и "Поставщики" можно связать в отношении "многие-ко-многим" путем создания двух связей "один-ко-многим" по отношению к таблице "Цена".

Таблицы "Комплектующие" и "Поставщики" будут являться главными по отношению к таблице "Цена".

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

В главной таблице "Комплектующие" поле "Код комплектующих" является первичным ключом, соответственно в подчиненной таблице "Цена" должно существовать одноименное поле, которое является внешним ключом.

Таблица "Поставщики" также является главной по отношению к таблице "Цена". Ее поле "Код поставщика" является первичным ключом, соответственно в подчиненной таблице "Цена" должно существовать одноименное поле, которое является внешним ключом.

Таким образом, таблица "Цена" должна содержать следующие поля:
"Счетчик" (ключевое поле);
"Код комплектующих" (поле внешнего ключа для таблицы "Комплектующие");
"Код поставщика" (поле внешнего ключа для таблицы "Поставщики");
"Цена" (числовое поле).

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

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

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


flash-иллюстрация. Основные типы данных в БД

Компьютерный практикум:

Информационные системы (И.Г. Семакин. Информатика и ИКТ 11 класс. Профильный уровень)


Проверочная работа:

1. Определите главный ключ и типы записей в следующих отношениях:
АВТОБУСЫ: Номер маршрута; Начальная остановка; Конечная остановка

КИНО: Кинотеатр;Сеанс ;Фильм; Российский; Длительность
УРОКИ: День недели;  Номер урока;Класс; Предмет; Преподаватель 

2. При проектировании БД были определены следующие отношения:
МАГАЗИН (Номер_магазина, Тип, Адрес, Директор, Телефон); ОТДЕЛ (Название_отд, Заведующий, Телефон); ПРОДАВЕЦ (Табельный_ном., Фамилия, Имя, Отчество, Категория)
Являются ли эти отношения связанными? Добавьте всё, что необходимо для их связи; изобразите схему БД в графическом виде.

Домашнее задание:

Сформулируйте основные этапы создания базы данных.

Дополнительная литература

1. Методическое пособие "Создание базы данных в СУБД OpenOffice Base" / Таскаева О.Д., Таскаев Д. читать

2. Учебное пособие "Проектирование баз данных в среде OpenOffice (ПО для управленя базами данных)"/ Е.Г. Пьяных  читать



Наш опрос
Имеете ли вы доступ к компьютеру и в какой форме?
Всего ответов: 447

Друзья сайта
  • Министерство образования РБ
  • Официальный портал подготовки к ГИА и ЕГЭ
  • Всероссийская олимпиада школьников
  • Федеральный портал Российского образования
  • Институт развития образования РБ

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Copyright MyCorp © 2017 Бесплатный конструктор сайтов - uCoz