- Реляционные базы данных
- Первичный ключ
- Многотабличные реляционные базы данных
- знать, что такое реляционная база данных, её элементы (записи, поля, ключи), типы и форматы полей
- знать, что такое первичный ключ, его виды и свойства
- уметь реализовать связи между таблицами реляционной базы данных
- В чём отличие информационной системы от базы данных?
- Какими информационными системами вы пользуетесь?
- Что такое модель данных?
- Для чего строят модель предметной области и как это делать?
Реляционные базы данных
Реляционная база данных формируется на основе таблиц. Каждая таблица состоит из строк и столбцов. При этом столбец называется полем, а строка — записью. В столбцах базы данных фиксируются свойства объекта, а каждая
запись — это описание некоторого объекта.
Поле реляционной таблицы должно иметь своё уникальное название и тип данных. Как правило, это следующие типы данных:
- счётчик;
- числовой;
- текстовый (символьный);
- логический;
- денежный;
- время и дата и т. д.
От типа данных поля зависят действия, которые можно производить с данными в этом поле. Например, с числовыми величинами можно выполнять арифметические операции, а с символьными — нельзя.
Пример 1
Реляционная база данных «Мои друзья» включает в себя таблицу “Сведения о друзьях" (см. таблицу 1).
Таблица 1. Сведения о друзьях
Свойства реляционной таблицы:
- все элементы одного столбца имеют одинаковый тип данных и допустимый размер;
- каждый столбец (поле) имеет уникальное название;
- в одной и той же таблице не может быть двух одинаковых строк;
- порядок следования записей и полей не имеет значения.
Упражнение 1
Разработайте ещё одну таблицу для базы данных «Мои друзья»
(см. пример 1), состоящую из четырёх полей и трёх записей. Определите типы данных каждого поля.
Первичный ключ
При работе с базой данных важно убедиться, что мы обращаемся к нужной записи. Например, при начислении пенсии существуют люди с одинаковой фамилией, именем, отчеством и даже датой рождения. Как не ошибиться?
Каждая запись должна содержать уникальное поле, которое отличает её от всех остальных. Например, в нашем случае это может быть СНИЛС или паспортные данные.
Первичный ключ реляционной базы данных — это поле (или совокупность полей), однозначно определяющее каждую запись в таблице. Ключ, состоящий из одного поля, называется простым ключом (ключевым полем). Ключ, состоящий из нескольких полей, называется составным ключом.
Пример 2
Определим, какие данные могут быть ключевыми, а какие не могут:
- имя и фамилия;
- СНИЛС;
- дата рождения;
- пол;
- класс;
- школа;
- сотовый телефон.
Решение
Учитывая, что первичный ключ должен иметь уникальное значение для каждой записи, проанализируем наши данные:
- имя и фамилия — могут повторяться, ключом быть не могут;
- СНИЛС — уникален для каждого человека, может быть ключом;
- дата рождения — может повторяться, ключом быть не может;
- пол — может повторяться, ключом быть не может;
- класс — может повторяться, ключом быть не может;
- школа — может повторяться, ключом быть не может;
- сотовый телефон — уникален для каждого человека, может быть ключом.
Упражнение 2
Определите, какие данные могут быть ключевыми, а какие не могут:
- Паспортные данные;
- Место работы;
- Номер машины;
- Специальность;
- Дата поступления в школу;
- Номер личного дела.
В случаях, когда в таблице ни одно поле не может быть ключевым, используют комбинацию из нескольких ключей (составной ключ) или суррогатный ключ (добавляется искусственно).
Многотабличная реляционная база данных
Реляционная база данных часто состоит не из одной таблицы, а из нескольких, связанных между собой.
Связь между таблицами осуществляется с помощью ключевых полей. Чтобы связать две таблицы между собой, нужно ввести ключ одной таблицы в состав второй, при этом он уже не будет ключевым. Такое поле называется внешним ключом.
Связь между таблицами может быть:
- «один к одному» (1 : 1), когда каждой записи первой таблицы соответствует одна запись второй таблицы;
- «один ко многим» (1 : М), когда каждой записи первой таблицы может соответствовать множество записей второй таблицы;
- «многие ко многим» (М : М), когда множеству записей первой таблицы соответствует множество записей второй таблицы.
Пример 3
Определим тип связей между таблицами:
- КЛИЕНТЫ и ЗАКАЗ на доставку.
- ПРЕПОДАВАТЕЛЬ и СТУДЕНТ
- СНИЛС и ПЕНСИОНЕР
Решение
- Один клиент может сделать множество заказов. Поэтому связь будет 1 : М.
- Каждый преподаватель может обучать нескольких студентов, в то же время каждый студент может обучаться у нескольких преподавателей. Поэтому связь будет М : М.
- У каждого пенсионера индивидуальный СНИЛС.
Поэтому связь 1 : 1.
Упражнение 3
В фрагменте базы данных представлены сведения об участниках олимпиады:
Таблица 3. Упражнение 3 (1)
|
Город
|
Участник
|
|
Москва
|
Царьков И. А.
|
|
Москва
|
Дашкин Ю. И.
|
|
Липецк
|
Чувашов К. Ю.
|
|
Липецк
|
Сташенко Ю. И.
|
|
Москва
|
Юдина К. И.
|
|
Саратов
|
Радищева Ж. А.
|
|
Санкт-Петербург
|
Рыльцева К. К.
|
Таблица 4. Упражнение 3 (2)
|
Участник
|
Предмет
|
|
Царьков И. А.
|
Русский язык
|
|
Дашкин Ю. И.
|
Математика
|
|
Чувашов К. Ю.
|
Математика
|
|
Сташенко Ю. И.
|
Физика
|
|
Юдина К. И.
|
Физика
|
|
Радищева Ж. А.
|
Информатика
|
|
Рыльцева К. К.
|
Информатика
|
|
Царьков И. А.
|
Математика
|
|
Чувашов К. Ю.
|
Физика
|
- Охарактеризуйте связь между таблицей 1 и 2.
- Участники из скольких городов выступают по предмету физика?
- Сколько участников из г. Москва участвуют в двух олимпиадах?
Итоги
- В реляционной базе данных информация представляется в виде таблиц.
- Столбец реляционной таблицы называется полем, строка — записью. Это основные структурные элементы реляционной таблицы.
- Каждое поле имеет уникальное название. Для каждого поля определяется тип данных.
- Первичный ключ — это поле (или совокупность полей), однозначно определяющих запись.
- Первичный ключ может быть простым, составным, суррогатным.
- Для хранения данных в реляционной базе данных может использоваться несколько связанных между собой таблиц. Связь между таблицами устанавливается по ключевым полям.
Контрольные вопросы
- Что такое реляционная база данных?
- Как могут быть связаны между собой таблицы в реляционной базе данных?
- Для чего в таблице нужен первичный ключ?
- Какие типы данных может иметь поле в реляционной таблице?
- Как называются строки и столбцы в реляционной базе данных?
Упражнение 2
- Да
- Нет
- Да
- Нет
- Нет
- Да
Упражнение 3
- 1 : М.
- 2
- 1