База данных как модель предметной области
Представь: у тебя тысячи треков в плейлисте, сотни контактов в телефоне, куча фоток в галерее. Как всё это не превращается в свалку? Правильно — благодаря базам данных. Давай разберёмся, что это такое и как с ними работать.
2.5.1. Информационные системы и базы данных
Каждый день ты сталкиваешься с информационными системами — это программы и сервисы, которые помогают хранить, искать и выдавать нужную информацию.
🏥 Справочная служба города
Набрал номер, спросил адрес поликлиники — получил ответ
🚌 Транспортное приложение
Показывает, когда придёт твой автобус, где купить билеты на поезд или самолёт
🔍 Поисковая система
Вбил запрос — получил тысячи результатов за секунду
От беспорядка к системе
💡 Определение
База данных (БД) — совокупность данных, организованных по определённым правилам, отражающая состояние объектов и их отношений в некоторой предметной области (транспорт, медицина, образование, право и т. д.), предназначенная для хранения во внешней памяти компьютера и постоянного применения.
🤔 Важно понять
Базу данных можно рассматривать как информационную модель той или иной предметной области. То есть БД — это как цифровой слепок реального мира: школы, магазина, библиотеки или чего угодно ещё.
2.5.2. Реляционные базы данных
Данные в базах данных могут быть организованы по-разному. Один из самых популярных способов — представить их в виде таблиц. Такие базы данных называются реляционными базами данных (РБД).
📊 Структура таблицы РБД
Реляционная БД может состоять из одной или нескольких взаимосвязанных прямоугольных таблиц.
- Запись — это строка таблицы, где хранится информация об одном объекте (например, об одном товаре в магазине, одной книге в библиотеке, одном ученике в школе)
- Поле — это столбец таблицы, содержащий информацию о значениях только одной характеристики объекта
Ключ — это то, что делает каждую запись уникальной
🔑 Поле базы данных
Поле базы данных имеет имя, тип и длину. Все имена полей таблицы должны быть разными. Тип поля определяется типом данных, которые поле содержит.
Основные типы полей:
Для полей, содержащих числовую информацию
Для полей, содержащих всевозможные последовательности символов
Для полей, данные в которых могут принимать всего два значения: ДА (ИСТИНА, TRUE, 1) и НЕТ (ЛОЖЬ, FALSE, 0)
Для полей, содержащих календарные даты (в нашей стране принято писать день, а потом месяц и год)
📝 Длина поля
Длина поля — это максимальное количество символов, которые могут содержаться в поле.
💡 Пример записи структуры таблицы
Для записи структуры таблицы можно применять следующую формулу:
ИМЯ_ТАБЛИЦЫ (ИМЯ ПОЛЯ 1, ИМЯ ПОЛЯ 2, ...)
Например, описать однотабличную базу данных «Календарь погоды» можно так:
КАЛЕНДАРЬ_ПОГОДЫ (ДЕНЬ, ТЕМПЕРАТУРА, ВЛАЖНОСТЬ, ДАВЛЕНИЕ, НАПРАВЛЕНИЕ ВЕТРА, СКОРОСТЬ ВЕТРА)
Здесь:
- поле ДЕНЬ будет иметь тип «дата»
- поля ТЕМПЕРАТУРА, ВЛАЖНОСТЬ, ДАВЛЕНИЕ, СКОРОСТЬ ВЕТРА — числовой тип
- поле НАПРАВЛЕНИЕ ВЕТРА — текстовый тип
⚠️ Важное правило
В таблице не должно быть совпадающих записей. Иначе говоря, должны быть поле или совокупность полей, значения которых для всех записей разные.
Например, значения поля ДЕНЬ базы данных «Календарь погоды» всегда будут разными в разных записях.
🔐 Ключ таблицы
Поле или совокупность полей, значения которых в записях не повторяются (являются уникальными), называют ключом таблицы базы данных.
Пример базы данных:
УЧЕНИК (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ДАТА РОЖДЕНИЯ, СЕРИЯ СВИДЕТЕЛЬСТВА О РОЖДЕНИИ, НОМЕР СВИДЕТЕЛЬСТВА О РОЖДЕНИИ, КЛАСС)
В этой базе наверняка не будут совпадать только значения совокупности полей СЕРИЯ СВИДЕТЕЛЬСТВА О РОЖДЕНИИ и НОМЕР СВИДЕТЕЛЬСТВА О РОЖДЕНИИ.
2.5.3. Система управления базами данных
Программное обеспечение для создания баз данных, хранения и поиска в них необходимой информации называется системой управления базами данных (СУБД).
🛠️ Что можно делать с помощью СУБД
- создавать структуру базы данных
- заполнять базу данных информацией
- редактировать (исправлять, дополнять) структуру и содержание базы данных
- выполнять сортировку (упорядочение) данных
- осуществлять поиск информации в базе данных
- выводить нужную информацию на экран монитора, в файл и на бумажный носитель
- устанавливать защиту базы данных
Четыре кита СУБД: таблицы, формы, запросы, отчёты
💪 Мощь СУБД
Именно наличие СУБД превращает огромный объём хранимых в компьютерной памяти сведений в мощную справочную систему, способную быстро производить поиск и отбор необходимой нам информации.
📦 Популярные СУБД
Наиболее распространёнными СУБД являются Microsoft Access и OpenOffice Base. При запуске любой из них на экран выводится окно, имеющее строку заголовка, строку меню, панели инструментов, рабочую область и строку состояния.
Основные объекты СУБД:
📊 Главный тип объектов
С ними вы уже знакомы. В таблицах хранятся данные. Реляционная база данных может состоять из множества взаимосвязанных таблиц.
📝 Вспомогательные объекты
Они создаются для того, чтобы сделать более удобной работу пользователя при вводе, просмотре и редактировании данных в таблицах.
🔍 Команды для поиска
Это команды и их параметры, с которыми пользователь обращается к СУБД для поиска и сортировки данных.
📄 Документы для печати
Это документы, сформированные на основе таблиц и запросов и предназначенные для вывода на печать.
2.5.4. Создание базы данных
В качестве примера рассмотрим процесс создания базы данных «Наш класс». Она будет состоять из одной таблицы, имеющей следующую структуру:
СПИСОК (КОД, ФАМИЛИЯ, ИМЯ, ДАТА РОЖДЕНИЯ, ПОЛ, РОСТ, АДРЕС, УВЛЕЧЕНИЕ, НАЛИЧИЕ ПК)
Собираем базу данных как конструктор
📋 Таблица: Имена и типы полей БД «Наш класс»
| Имя поля | Тип поля |
|---|---|
| Код | Числовой |
| Фамилия | Текстовый |
| Имя | Текстовый |
| Дата рождения | Дата |
| Пол | Текстовый |
| Рост | Числовой |
| Адрес | Текстовый |
| Увлечение | Текстовый |
| Наличие ПК | Логический |
Примечание: Поле КОД можно считать ключом таблицы базы данных.
🚀 Этапы создания базы данных
Создание базы данных начинается с открытия файла, в котором она будет храниться. Для этого нужно после запуска программы СУБД следовать указаниям мастера баз данных:
- Создать новую базу данных
- Зарегистрировать базу данных (указать путь и имя файла)
Далее следует описать структуру таблицы (указать имена и типы всех полей) и ввести данные в таблицу.
Данные можно вводить непосредственно в таблицу, а можно создать для этого специальный шаблон — форму.
✅ Результат работы
Созданная и сохранённая база данных в дальнейшем может быть открыта для добавления новых записей, исправления и удаления существующих, изменения содержимого отдельных полей и структуры всей таблицы.
🔄 Сортировка данных
Данные из таблиц можно упорядочить по некоторому признаку. Например:
- фамилии учеников в классном журнале записывают в алфавитном порядке
- телепередачи в программе — в соответствии со временем их выхода в эфир
- уроки в расписании — по возрастанию их порядковых номеров
Упорядочение данных по возрастанию или убыванию значений некоторого признака называют сортировкой. Для выполнения сортировки указывают имя поля (имена полей), по которому будет произведена сортировка, и её порядок (возрастание или убывание значений поля).
2.5.5. Запросы на выборку данных
После того как база данных будет создана, её можно использовать в качестве справочной системы.
Запросы — это фильтры, которые находят именно то, что нужно
💡 Определение
Таблица, содержащая интересующие пользователя сведения, извлечённые из базы данных, называется справкой или запросом; она содержит только те записи и их поля, которые указаны в запросах на выборку данных, удовлетворяющих заданным условиям (условиям выбора).
🔧 Логические выражения
В командах СУБД условия выбора записываются в форме логических выражений, сформированных из высказываний на естественном языке.
Операции отношений:
равно
не равно
меньше
больше
меньше или равно (не больше)
больше или равно (не меньше)
🤔 Связь с математикой
Как ты думаешь, почему эти операции знакомы тебе с уроков математики? Правильно! На уроках математики вы применяете эти операции, составляя и решая числовые равенства, неравенства и их системы; с их помощью вы записывали условия при программировании разветвляющихся алгоритмов.
📝 Сравнение текстовых полей
Операции отношений применимы и к текстовым полям. Их сравнение построено на лексикографическом принципе:
- из двух слов меньшим считается то слово, первая буква которого идёт по алфавиту раньше
- если первые несколько букв двух слов одинаковы, то сравнение производится по первой различающейся букве
- если более короткое слово совпадает с началом более длинного слова, то первое считается меньшим
Важно: Значение поля текстового типа и некоторая текстовая величина равны, если они содержат одинаковое количество символов и все их символы, стоящие в позициях с одинаковыми номерами, совпадают.
При сравнении текстовых величин следует иметь в виду, что пробел — это тоже символ и он «меньше» любой буквы.
📅 Сравнение дат
Сравнение дат построено так: одна дата считается меньше другой, если она относится к более раннему времени. Например, истинными будут следующие отношения:
- 01.11.07 < 02.11.07
- 29.11.07 < 02.12.08
- 29.11.07 < 01.11.08
Таблица 2.6. Условия выбора — простые логические выражения
| № | Высказывание | Логическое выражение | Номер записи | Значение |
|---|---|---|---|---|
| 1 | Рост ученика не превышает 160 см | РОСТ<=160 | 1 | Истина |
| 4 | Ложь | |||
| 2 | Ученик увлекается футболом | УВЛЕЧЕНИЕ='футбол' | 1 | Истина |
| 2 | Ложь | |||
| 3 | Фамилия ученика — Патрина | ФАМИЛИЯ='Патрина' | 6 | Истина |
| 1 | Ложь | |||
| 4 | Ученик не увлекается танцами | УВЛЕЧЕНИЕ<>'танцы' | 1 | Истина |
| 2 | Ложь | |||
| 5 | Ученик родился в 2008 году или позже | ДАТА>#31.12.07# | 8 | Истина |
| 10 | Ложь | |||
| 6 | Ученик имеет персональный компьютер | НАЛИЧИЕ ПК=1 | 7 | Истина |
| 9 | Ложь |
Таблица 2.7. Условия выбора — составные логические выражения
Условия выбора могут задаваться не только простыми, но и составными логическими выражениями, содержащими логические операции. С основными логическими операциями И, ИЛИ, НЕ вы познакомились в 8 классе.
| № | Высказывание | Логическое выражение | Номер записи | Значение |
|---|---|---|---|---|
| 1 | Рост ученика больше 160 см, и ученик увлекается плаванием | РОСТ>160 И УВЛЕЧЕНИЕ='плавание' | 4 | Истина |
| 10 | Ложь | |||
| 2 | Рост ученика больше 160 см, или ученик увлекается плаванием | РОСТ>160 ИЛИ УВЛЕЧЕНИЕ='плавание' | 10 | Истина |
| 1 | Ложь | |||
| 3 | День рождения Ольги не 09.05.08 | ИМЯ='Ольга' И ДАТА<>#09.05.08# | 4 | Истина |
| 7 | Ложь |
📊 Отчёты
С помощью запросов пользователь может быстро найти в базе данных и вывести на экран компьютера интересующую его информацию. Но для решения большинства практических задач найденную информацию необходимо представить в определённой форме и подготовить к выводу на печать. Этот этап работы называется подготовкой отчёта.
✅ Самое главное
🤔 Проверь себя
Проверьте, как хорошо вы усвоили материал!
1. Что такое информационная система? Приведите пример информационной системы, которой пользовались вы или члены вашей семьи.
Подумай о приложениях на твоём телефоне, сайтах, которыми ты пользуешься...
2. Что такое база данных? Как вы считаете, можно ли в широком смысле назвать базами данных телефонный справочник, записную книжку, библиотечный каталог и другие средства, позволяющие нам хранить данные в упорядоченном виде? Обсудите эти вопросы в группе.
Обсудите с одноклассниками — что общего у всех этих средств?
3. Какие базы данных называются реляционными?
Вспомни про таблицы!
4. Что такое запись? Какую информацию она содержит?
Это строка таблицы с информацией об одном объекте.
5. Что такое поле? Какую информацию оно содержит?
Это столбец таблицы с одной характеристикой объекта.
6. Перечислите основные типы полей РБД.
Подсказка:
- Числовой
- Текстовый
- Логический
- Дата
7. Для однотабличной базы данных КОЛЛЕКЦИЯ (КОД, НАЗВАНИЕ ЭКСПОНАТА, АВТОР, МЕСТО ИЗГОТОВЛЕНИЯ, ГОД ИЗГОТОВЛЕНИЯ, ФИО ПРЕДЫДУЩЕГО ВЛАДЕЛЬЦА, ДАТА ПРИОБРЕТЕНИЯ, СТОИМОСТЬ ЭКСПОНАТА, УПОМИНАНИЕ В КАТАЛОГАХ (да/нет)) укажите тип каждого поля.
Подумай, какие данные содержит каждое поле — числа, текст, даты или логические значения?
8. Что такое ключ таблицы базы данных? Что может служить ключом в базе данных КОЛЛЕКЦИЯ из задания 7?
Ключ — это поле (или группа полей), которое уникально для каждой записи.
9. Придумайте состав, типы полей и ключ однотабличной базы данных: а) ТУРАГЕНТСТВО; б) ВИДЕОТЕКА; в) АВТОСАЛОН; г) РЕГИОНЫ РФ.
Пример для ТУРАГЕНТСТВО:
- КОД_ТУРА (числовой, ключ)
- НАЗВАНИЕ (текстовый)
- СТРАНА (текстовый)
- СТОИМОСТЬ (числовой)
- ... и так далее
10. Что такое СУБД?
Это программа для работы с базами данных.
11. Какая СУБД установлена на компьютерах в вашем классе?
Скорее всего, это Microsoft Access или OpenOffice Base.
12. С чего начинается создание БД?
С создания файла и описания структуры таблицы.
13. Перечислите основные объекты СУБД. Какие функции они выполняют?
4 объекта:
- Таблицы — хранят данные
- Формы — упрощают ввод данных
- Запросы — ищут нужную информацию
- Отчёты — готовят данные для печати
14. Ниже в табличной форме представлены характеристики ноутбуков, имеющихся в продаже в компьютерном салоне. Ответьте на вопросы а), б), в).
| Производитель | Накопитель (Гб) | Оперативная память (Гб) |
|---|---|---|
| ASUS | 128 | 4 |
| HP | 256 | 8 |
| Acer | 512 | 4 |
| Lenovo | 512 | 8 |
| HUAWEI | 512 | 16 |
| Apple | 4096 | 16 |
а) Какой по счёту будет запись, содержащая сведения о ноутбуке ASUS, после сортировки данных по возрастанию значений поля ПРОИЗВОДИТЕЛЬ?
б) Какой по счёту будет запись, содержащая сведения о ноутбуке Acer, после сортировки данных по возрастанию значений поля НАКОПИТЕЛЬ?
в) Какой по счёту будет запись, содержащая сведения о ноутбуке Apple, после сортировки данных сначала по возрастанию значений поля ПРОИЗВОДИТЕЛЬ, затем по возрастанию значений поля ОПЕРАТИВНАЯ ПАМЯТЬ?
15. Как будет выглядеть список (фамилия, имя) учеников после сортировки данных по возрастанию значений поля ДАТА РОЖДЕНИЯ базы данных «Наш класс»?
Самые младшие ученики окажутся в конце списка.
16. Укажите все записи базы данных «Наш класс», для которых будут истинными простые логические выражения 1–6 из табл. 2.6.
Проверьте каждое условие для всех записей в таблице.
17. Укажите все записи базы данных «Наш класс», для которых будут истинными составные логические выражения 1–3 из табл. 2.7.
Помните про операции И, ИЛИ!
18. Какова цель запроса на выборку?
Получить из базы данных только нужную информацию.
19-21. Задачи с таблицами и логическими выражениями
Эти задачи требуют анализа данных в таблицах и подсчёта записей, удовлетворяющих различным условиям. Используйте логические операции И, ИЛИ для составления сложных условий.