Реляционная база данных
Реляционная база данных представляет информацию в виде связанных таблиц. Чтобы решать задачи по этой теме, нужно уметь находить записи и поля, определять ключи, учитывать связи между таблицами и правильно выполнять отбор по условиям.
Что такое реляционная база данных
Реляционная база данных состоит из одной или нескольких таблиц. Каждая таблица описывает объекты одного типа: учеников, товары, книги, рейсы. Строка таблицы — это одна запись об объекте, а столбец — одно свойство всех объектов этого типа.
Реляционная база данных — это база данных, в которой информация организована в виде таблиц, а таблицы могут быть связаны между собой общими полями.
В таблице выделяют атрибуты базы данных — столбцы с названиями и типами данных, а также значения атрибутов в отдельных строках. Например, в таблице «Ученики» атрибутами могут быть Код, Фамилия, Класс и ГодРождения.
| Код | Тегі | Сынып | ГодРождения |
|---|---|---|---|
| 101 | Иванов | 9А | 2010 |
| 102 | Петрова | 9Б | 2010 |
| 103 | Сидоров | 9А | 2009 |
Поле «Код» может быть ключевым полем, если его значение не повторяется. Ключ однозначно определяет запись: по коду 102 можно найти ровно одного ученика.
В реляционной таблице каждая строка должна описывать один объект, каждый столбец — одно свойство, а названия столбцов должны быть однозначными. Значения ключевого поля не должны повторяться.
Поля, жазбалар и ключи
Перед решением задачи определите структуру таблицы. Если требуется найти учеников из 9А, условие проверяется в поле «Класс». Если нужно узнать фамилию объекта с кодом 103, код используется как условие поиска, а фамилия — как результат.
- Поле — столбец таблицы и множество значений бір свойства.
- Запись — жол таблицы, содержащая сведения об одном объекте.
- Ключ — поле или набор полей, однозначно определяющий жазба.
- Значение — конкретная величина в ячейке таблицы.
Первичный ключ — поле или сочетание полей, значение которого уникально для каждой записи таблицы. Например, это номер читательского билета или код товара.
Ключом не всегда может быть фамилия: у разных людей бывают одинаковые фамилии. Также не подходит класс, город или год рождения, если такие значения повторяются. Если одного поля недостаточно, ключ может состоять из двух полей, например «Номер рейса» и «Дата».
Не путайте количество строк с количеством записей: строка заголовков не является записью. Аналогично, название таблицы и заголовки столбцов не входят в число значений данных.
Связи между таблицами
Несколько таблиц используют, когда хранить всё в одной таблице неудобно или приводит к повторению данных. Например, сведения о клиентах можно хранить отдельно от сведений о заказах. Общим полем связывают записи из разных таблиц.
В одной таблице обычно находится первичный ключ, а в другой — поле, содержащее значения этого ключа. Такое поле называют внешним ключом. Например, таблица «Клиенты» имеет поле КодКлиента, а таблица «Заказы» хранит тот же код для указания заказчика.
| Клиенты: КодКлиента | Клиенты: Тегі | Заказы: НомерЗаказа | Заказы: КодКлиента |
|---|---|---|---|
| 1 | Орлова | 501 | 1 |
| 2 | Ким | 502 | 2 |
| 3 | Орлова | 503 | 1 |
Чтобы связать запись одной таблицы с записью другой, значение внешнего ключа в первой таблице должно совпасть со значением первичного ключа связанной таблицы.
В примере заказ 501 и заказ 503 принадлежат клиенту с кодом 1 — Орловой. Повторение кода 1 в таблице заказов нормально: один клиент может иметь несколько заказов. Поэтому первичный ключ обязан быть уникальным только в таблице, где он определён как ключ.
В таблице «Товары» поле «Артикул» содержит только разные значения. В таблице «Продажи» этот артикул может повторяться. Какова роль поля «Артикул» в таблице «Продажи»?
Отбор и обработка Жазбалар
Типовая задача требует отобрать строки по одному или нескольким условиям. Условие сравнивает значение поля с заданным числом или текстом. Для чисел используют знаки \(>\), \(<\), \(=\), \(\ge\), \(\le\), для текста — точное совпадение или проверку начала и окончания строки, если это разрешено условием.
- При условии И жазба должна удовлетворять всем условиям одновременно.
- При условии ИЛИ достаточно выполнения хотя бы бір условия.
- При отрицании выбирают жазбалар, не удовлетворяющие исходному условию.
- Для подсчёта строк считают записи, прошедшие фильтр, а не разные значения поля, если это отдельно не сказано.
Сначала выпишите поля, которые участвуют в условии. Затем просматривайте записи по одной и ставьте отметку только после проверки всех частей условия. Так проще не пропустить связь «И» или ошибочно включить строку при условии «ИЛИ».
Разобранный пример
Даны таблицы «Ученики» и «Результаты». Требуется определить, сколько учеников 9А получили не менее 70 баллов по информатике.
| Код | Тегі | Сынып |
|---|---|---|
| 11 | Алексеев | 9А |
| 12 | Борисова | 9Б |
| 13 | Власов | 9А |
| 14 | Громова | 9А |
| КодУченика | Пән | Баллы |
|---|---|---|
| 11 | Информатика | 76 |
| 12 | Информатика | 91 |
| 13 | Информатика | 64 |
| 14 | Математика | 88 |
Подходит один ученик — Алексеев. Власов набрал меньше 70 баллов, а результат Громовой относится к математике и не удовлетворяет условию по предмету.
Не соединяйте строки по их положению в таблицах: связь выполняется по значениям полей. Не считайте совпадающие фамилии уникальными объектами. Не забывайте проверять предмет, дату или другой дополнительный признак, если он указан в условии.
Как решать тапсырма по реляционным таблицам
- Определите, что является записью, полем и возможным ключом.
- Найдите таблицы, которые нужно использовать.
- Установите поле связи: сравнивайте названия и значения ключа, а не нөмір строк.
- Переведите условие в точные проверки: равенство, диапазон, «И» или «ИЛИ».
- Просмотрите подходящие жазбалар, пересекая результаты всех условий.
- Выполните требуемое действие: посчитайте записи, найдите сумму, максимум, минимум или конкретное значение.
- Проверьте, не попала ли в ответ жол заголовков и не учтена ли одна жазба дважды.
В электронных таблицах для такого анализа могут применяться фильтры, сортировка и условное форматирование. Если исходные данные загружаются из текстового файла, полезно знать формат CSV: в нём строки обычно соответствуют записям, а разделители отделяют поля.
Быстрая проверка
Главное
- Реляционная база данных состоит из таблиц, Жазбалар и полей.
- Первичный ключ уникально определяет жазба; внешний ключ связывает таблицы.
- При решении тапсырма нужно точно отделять условия «И» и «ИЛИ».
- Связи устанавливают по совпадающим значениям полей, а не по нөмірлерге строк.
- Алгоритм: определить структуру, установить связь, отфильтровать записи и выполнить подсчёт или вычисление.