Что такое данные база данных структура базы данных

Руководство по разработке структуры и проектированию базы данных

Этапы создания базы данных

Надлежащим образом структурированная база данных:

Основные этапы разработки базы данных:

Анализ требований: определение цели базы данных

Вот несколько способов сбора информации перед созданием базы данных:

Начните со сбора существующих данных, которые будут включены в базу. Затем определите типы данных, которые нужно сохранить. А также объекты, которые описывают эти данные. Например:

Структура базы данных: построение блоков

Чтобы преобразовать списки данных в таблицы, начните с создания таблицы для каждого типа объектов, таких как товары, продажи, клиенты и заказы. Вот пример:

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

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

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

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

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

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

Атрибуты, выбранные в качестве первичных ключей, должны быть уникальными, неизменяемыми и для них не может быть задано значение NULL ( они не могут быть пустыми ). По этой причине номера заказов и имена пользователей являются подходящими первичными ключами, а номера телефонов или адреса — нет. Также можно использовать в качестве первичного ключа несколько полей одновременно ( это называется составным ключом ).

Создание связей между сущностями

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

Каждый объект может быть взаимосвязан с другим с помощью одного из трех типов связи:

Связь «один-к одному»

Когда существует только один экземпляр объекта A для каждого экземпляра объекта B, говорят, что между ними существует связь « один-к одному » ( часто обозначается 1:1 ). Можно указать этот тип связи в ER-диаграмме линией с тире на каждом конце:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Если при проектировании и разработке баз данных у вас нет оснований разделять эти данные, связь 1:1 обычно указывает на то, что в лучше объединить эти таблицы в одну.

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

Связь «один-ко-многим»

Эта связи возникают, когда запись в одной таблице связана с несколькими записями в другой. Например, один клиент мог разместить много заказов, или у читателя может быть сразу несколько книг, взятых в библиотеке. Связи « один- ко-многим » ( 1:M ) обозначаются так называемой «меткой ноги вороны», как в этом примере:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Связь «многие-ко-многим»

Когда несколько объектов таблицы могут быть связаны с несколькими объектами другой. Говорят, что они имеют связь « многие-ко-многим » ( M:N ). Например, в случае студентов и курсов, поскольку студент может посещать много курсов, и каждый курс могут посещать много студентов.

На ER-диаграмме эти связи отображаются с помощью следующих строк:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

При проектировании структуры базы данных реализовать такого рода связи невозможно. Вместо этого нужно разбить их на две связи « один-ко-многим ».

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

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Обязательно или нет?

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

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Два объекта могут быть взаимозависимыми ( один не может существовать без другого ).

Рекурсивные связи

Иногда при проектировании базы данных таблица указывает на себя саму. Например, таблица сотрудников может иметь атрибут «руководитель», который ссылается на другое лицо в этой же таблице. Это называется рекурсивными связями.

Лишние связи

Лишние связи — это те, которые выражены более одного раза. Как правило, можно удалить одну из таких связей без потери какой-либо важной информации. Например, если объект « ученики » имеет прямую связь с другим объектом, называемым « учителя », но также имеет косвенные отношения с учителями через « предметы », нужно удалить связь между « учениками » и « учителями ». Так как единственный способ, которым ученикам назначают учителей — это предметы.

Нормализация базы данных

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

В то же время не все базы данных необходимо нормализовать. В целом, базы с обработкой транзакций в реальном времени ( OLTP ), должны быть нормализованы.

Базы данных с интерактивной аналитической обработкой ( OLAP ), позволяющие проще и быстрее выполнять анализ данных, могут быть более эффективными с определенной степенью денормализации. Основным критерием здесь является скорость вычислений. Каждая форма или уровень нормализации включает правила, связанные с нижними формами.

Первая форма нормализации

Первая форма нормализации ( сокращенно 1NF ) гласит, что во время логического проектирования базы данных каждая ячейка в таблице может иметь только одно значение, а не список значений. Поэтому таблица, подобная той, которая приведена ниже, не соответствует 1NF :

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Возможно, у вас возникнет желание обойти это ограничение, разделив данные на дополнительные столбцы. Но это также противоречит правилам: таблица с группами повторяющихся или тесно связанных атрибутов не соответствует первой форме нормализации. Например, приведенная ниже таблица не соответствует 1NF :

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Вместо этого во время физического проектирования базы данных разделите данные на несколько таблиц или записей, пока каждая ячейка не будет содержать только одно значение, и дополнительных столбцов не будет. Такие данные считаются разбитыми до наименьшего полезного размера. В приведенной выше таблице можно создать дополнительную таблицу « Реквизиты продаж », которая будет соответствовать конкретным продуктам с продажами. « Продажи » будут иметь связь 1:M с « Реквизитами продаж ».

Вторая форма нормализации

Вторая форма нормализации ( 2NF ) предусматривает, что каждый из атрибутов должен полностью зависеть от первичного ключа. Каждый атрибут должен напрямую зависеть от всего первичного ключа, а не косвенно через другой атрибут.

Например, атрибут « возраст » зависит от « дня рождения », который, в свою очередь, зависит от « ID студента », имеет частичную функциональную зависимость. Таблица, содержащая эти атрибуты, не будет соответствовать второй форме нормализации.

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

Таким образом, таблица с этими полями не будет соответствовать второй форме нормализации, поскольку атрибут « название товара » зависит от идентификатора продукта, но не от номера заказа:

Третья форма нормализации

Третья форма нормализации ( 3NF ) : каждый не ключевой столбец должен быть независим от любого другого столбца. Если при проектировании реляционной базы данных изменение значения в одном не ключевом столбце вызывает изменение другого значения, эта таблица не соответствует третьей форме нормализации.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Многомерные данные

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

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Правила целостности данных

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

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

Добавление индексов и представлений

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

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

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

Расширенные свойства

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

SQL и UML

Унифицированный язык моделирования ( UML ) — это еще один визуальный способ выражения сложных систем, созданных на объектно-ориентированном языке. Некоторые из концепций, упомянутых в этом руководстве, известны в UML под разными названиями. Например, объект в UML известен, как класс.

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

Системы управления базами данных

Проектируемая структура базы данных зависит от того, какую СУБД вы используете. Некоторые из наиболее распространенных:

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

Пожалуйста, опубликуйте свои мнения по текущей теме материала. За комментарии, дизлайки, подписки, лайки, отклики низкий вам поклон!

Пожалуйста, оставляйте свои мнения по текущей теме материала. За комментарии, подписки, отклики, лайки, дизлайки низкий вам поклон!

Источник

Что такое база данных в информатике

Что такое база данных в информатике

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

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

База данных представляет собой комплекс массивов и файлов данных, организованный согласно определенным правилам, который предполагает применение стандартных принципов для описания, хранения и обработки данных любого типа.

Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.

База данных является совокупностью организованной информации, имеющей отношение к конкретной предметной области. Информация хранится во внешней системной памяти компьютера и рассчитана на постоянное применение. Ключевое свойство базы данных заключается в независимости данных от программы, которая эту информацию использует. Стандартные задачи, требующие решения при работе с базой данных:

Необходимость в применении баз данных возникла по причине накопления больших объемов информации одного типа, которую требовалось оперативно использовать. Главное требование к базам данных заключается в обеспечении удобного доступа к информации, возможности получать ответ по запросу в течение короткого времени, умения оперативно использовать данные. Принципы формирования информации в базах данных:

Реляционную модель баз данных предложил Эдгар Кодд в конце 70-х годов. Она являлась набором таблиц, которые были связаны друг с другом отношениями. Такая модель отличалась простотой, гибкостью, обладала возможностями для описания сложно структурированных данных.

Основные понятия

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

Реляционные базы данных состоят из связанных таблиц.

Таблица является двумерным массивом, необходимым для хранения данных.

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

Примеры значений полей:

Местом хранения таблиц является жесткий диск. Одной таблице соответствуют, как правило, несколько файлов, один из которых является основным, а другие – вспомогательными. Особенности организации таблиц определяются используемым форматом, например:

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

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

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

Индекс представляет собой поле, специально определенное в таблице, с данными, которые могут повторяться.

С помощью индексов ускоряют доступ к данным. Кроме того, с их помощью сортируют выборки.

Нормальными называют формы, предназначенные для автоматизации процесса создания баз данных.

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

Первая нормальная форма:

Вторая нормальная форма:

Третья нормальная форма:

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

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

Транзакции – определяют степень надежности реализации операций относительно сбоев.

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

Бизнес-правила – такие правила, которыми определено проведение операций, являются механизмами управления базами данных.

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

Признаки БД, чем отличаются от электронных таблиц

Любая база данных обладает набором стандартных признаков. Основными из них являются:

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

Рассмотреть базу данных целесообразно на примере Access. Это специальное приложение, в котором хранятся упорядоченные данные, что допускает применение и других приложений (к примеру, Excel). В обоих случаях информация представлена в табличном виде.

Excel включает особые средства, позволяющие работать с упорядоченными данными, позволяет формировать простые базы данных. При внешнем сходстве приложения обладают рядом отличий:

Вывод: Excel целесообразно использовать для создания компактных баз данных, которые могут поместиться на одном рабочем листе. Excel обладает рядом значительных ограничений для ведения полноценной базы данных, но может успешно использоваться для анализа данных благодаря достаточному математическому аппарату.

Виды баз данных и их структура, примеры

Выделяют несколько видов баз данных. Основными из них являются:

Базы данных разных систем обладают неодинаковой структурой. Для ПЭВМ характерно использование реляционных баз данных с файлами в виде таблиц, в которых столбцы являются полями, а строки – записями. В базе данных находятся данные определенного множества объектов. Для каждой записи характерна информация по одному объекту. Такую базу определяют:

В качестве примера можно привести школьную базу с данными «Ученик», «Класс», «Адрес». Также базой данных является расписание движения поездов или автобусов. В этом случае каждой строке соответствует запись с данными конкретного объекта. Возможные поля: номер рейса, маршрут, время отправления и прибытия. Классической базой данных является телефонный справочник.

Запрос к базе данных – предписание с указанием на данные, которые необходимы пользователю.

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

Существует три звена для создания приложения, с помощью которого можно просматривать и редактировать базы данных:

В случае Access роль таких звеньев выполняют:

Приложения базы данных является нитью, которая связывает базу и пользователя:

БД => набор данных –=> источник данных => визуальные компоненты => пользователь

Визуальными компонентами являются:

Access характеризуется наличием следующих типов полей:

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

Что такое СУБД и язык структурированных запросов SQL

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

Современные системы обладают большими возможностями, а также способствуют разработке сложных программных комплексов.

SQL (SQL, Structured Query Language) — язык программирования структурированных запросов, применяемый в качестве эффективного способа сохранения данных, поиска их частей, обновления, извлечения из базы и удаления.

SQL представляет собой ключевой инструмент оптимизации и обслуживания базы данных. Возможности обработки охватывают:

SQL отличается простотой и легкостью в изучении. Его применяют:

Язык отличается универсальностью. Его структура четко определена благодаря устоявшимся стандартам. Даже в случае больших объемов данных (Big Data) обеспечивается оперативное взаимодействие с базами.

Источник

Что такое База Данных (БД)

База данных — это место для хранения данных. Используется в том числе в клиент-серверной архитектуре. Это все интернет-магазины, сайты кинотеатров или авиабилетов. Вы делаете заказ, а система сохраняет ваши данные в базе.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

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

Статья рассчитана на начинающих тестировщиков или аналитиков, то есть тех, кто будет работать с базой, но не на супер-глубоком уровне. Она для тех, кто только входит в мир ИТ, и многого не знает. Она объясняет, что это за звено в клиент-серверной архитектуре такое, и зачем оно нужно.

Содержание

Что такое база данных

База данных — хранилище, куда приложение складывает свои данные. Если приложение небольшое, отдельная база не нужна. Но потом это становится удобнее и выгоднее с точки зрения памяти.

Катя решила открыть свой магазинчик. Она нашла хорошую марку обуви, которую «днем с огнем» не сыскать в ее городе. Заказала оптовую партию и стала потихоньку распродавать через знакомых. Пришлось освободить половину шкафа под коробки, но вроде всё поместилось.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Обувь хорошая, в розницу заказывать в других местах невыгодно — и вот уже у Кати есть постоянные клиенты, которые приводят друзей. Как только какая-то пара заканчивается, Катя делает новый заказ.

Но покупатели хотят новинок, разных размеров. Да и самих покупателей становится все больше и больше. В шкаф коробки уже не влезают!

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Теперь, если покупатель просит определенную пару, Катьке сложно её найти. Пока коробок было мало, она помнила наизусть, где что лежит. А теперь уже нет, да и все попытки организовать систему провалились. Места мало, да и детки любят с коробками поиграть.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Тогда Катька решила арендовать складское помещение. И вот теперь красота! Не надо теснить своих домашних, дома чисто и свободно! И на складе место есть, появилась система — тут босоножки, тут сапоги.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Чем больше объемы производства, тем больше нужно места. Если в начале пути склад не нужен, всё поместится дома, то потом это будет оправданно.

То же самое и в приложениях. Если приложение маленькое, то все данные можно хранить в памяти. Но учтите, что это память на вашем компьютере, вашем телефоне. И чем больше данных туда пихать, тем медленнее будет работать программа.

Место в памяти ограничено. Поэтому когда данных много, их нужно куда-то сложить. Можно писать в файлики, а можно сохранять информацию в базу данных (сокращенно БД). Выбор за вами. А точнее, за вашим разработчиком.

Как она выглядит

Да примерно как excel-табличка! Есть колонки с заголовками, и информация внутри:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Это называется реляционная база данных — набор таблиц, хранящихся в одном пространстве.

Что за пространство? Ну вот представьте, что вы храните все данные в excel. Можно запихать всю-всю-всю информацию в одну огро-о-о-о-мную таблицу, но это неудобно. Обычно табличек несколько: тут информация по клиентам, там по заказам, а тут по адресам. Эти таблицы удобно хранить в одном месте, поэтому кладем их в отдельную папочку:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Так вот пространство внутри базы данных — это та же самая папочка в винде. Место, куда мы сложили свои таблички, чтобы они все были в одном месте.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данныхПример базы Oracle

Цель та же — выделить отдельное место, чтобы у вас не была одна большая свалка:

заходишь в папку в винде → видишь файлики только из этой папки

заходишь в пространство → видишь только те таблицы, которые в нем есть

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Хранение данных в виде табличек — это не единственно возможный вариант. Вот вам для примера запись из таблицы в системе Users. Там используется MongoDB база данных, она не реляционная. Поэтому вместо таблички «словно в excel» каждая запись хранится в виде объекта, вот так:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

А еще есть файловые базы — когда у вас вся информация хранится в файликах. Да-да, простых текстовых файликах!

Почитать о разных видах баз данных можно в википедии. Я не буду в этой статье углубляться в эту тему, потому что моя задача — объяснить «что это вообще такое» для ребят, которые базу в глаза не видели. А на работе они скорее всего столкнутся именно с реляционной базой данных, поэтому о ней и речь.

Как получить информацию из базы

Нужно записать свой запрос в понятном для базы виде — на SQL. SQL (Structured Query Language) — язык общения с базой данных. В нем есть ключевые слова, которые помогут вам сделать выборку:

select — выбери мне такие-то колонки.

from — из такой-то таблицы базы.

where — такую-то информацию.

Например, я хочу получить информацию по клиенту «Назина Ольга». Составляю в уме ТЗ:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

В дословном переводе:

Комментарии в Oracle/PLSQL — мой перевод остается работающим запросом, потому что я убрала «лишнее» в комментарии

Если бы у меня была не база данных, а простые excel-файлики, то же действие было бы:

Открыть файл с нужными данными (clients)

Поставить фильтр на колонку «ФИО» — «Назина Ольга».

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

Бывают запросы и сложнее — когда надо достать данные не из одной таблицы, а из разных. В базе это будет выглядеть даже лучше, чем в эксельке. В экселе вам нужно открыть 1-2-3 таблицы и смотреть в каждую. Неудобно.

А в базе данных вы внутри запроса SQL указываете, какие колонки из каких таблиц вам нужны. И результат запроса их отрисовывает. Скажем, мы хотим увидеть заказ, который сделал клиент, ФИО клиента, и его номер телефона. И всё это в разных таблицах! А мы написали запрос и увидели то, что нам надо:

id_order

order (таблица order)

fio (таблица client)

phone (таблица contacts)

И пусть в таблице клиентов у нас будет 30 колонок, а в таблице заказов 50, в результате выборки мы видим ровно 4 запрошенные. Удобно, ничего лишнего!

Конечно, написать такой запрос будет немного сложнее обычного селекта. Это уже select join, почитать о нем можно тут. И я рекомендую вам его изучить, потому что он входит в «базовое знание sql», которое требуется на собеседованиях.

Результаты выборки можно группировать, сортировать — это следующий уровень сложности. См раздел «статьи и книги по теме» для получения большей информации.

Как связать данные между собой

Вот например, у нас есть интернет-магазин по доставке пиццы. Так выглядит его база данных:

В таблице «client» лежат данные по клиентам: ФИО, пол, дата рождения и т.д.

last_name

first_name

birthdate

В таблице «orders» лежат данные по заказам. Что заказали (пиццу, суши, роллы), когда, насколько довольны доставкой?

order

addr

date

time

Роллы «Филадельфия» и «Канада»

Пицца 35 см, роллы комбо 1

Пицца с сосиками по краям

Комбо набор 3, обед №4

Но как понять, где чей был заказ? Сколько раз заказывал Вася, а сколько Алина?

Тут есть несколько вариантов:

1. Запихать все данные в одну таблицу: тут и заказы, и информация по клиентам. В целом удобно, открыл табличку и сразу видишь — ага, это Васин заказ, а это Машин.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Таблица все растет и растет, в итоге получается просто огромной! А когда данных много, легкость чтения пропадает, придется листать до нужной колонки.

Поиск будет работать медленнее. Чем меньше информации в таблице, тем быстрее поиск. Когда у нас много строк, количество колонок становится существенным.

Много дублей — один человек может сделать хоть сотню заказов. И вся информация по нему будет продублирована сто раз. Неоптимальненько!

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Чтобы избежать дублей, таблицы принято разделять:

Новые объекты отдельно

Но надо при этом их как-то связать между собой, мы ведь всё еще хотим знать, чей конкретно был заказ. Для связи таблиц используется foreign key, внешний ключ.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

Нам надо у заказа сделать отметку о клиенте. Значит, таблица «orders» будет ссылаться на таблицу «clients». Ключ можно поставить на любую колонку таблицы (в некоторых базах колонка должна быть уникальной, сначала её нужно такой указать). Какую бы выбрать?

Можно ссылаться на имя. А что, миленько, в таблице заказов будем сразу имя видеть! Но минуточку. А если у нас два клиента Ивана? Или три Маши? Десять Саш. Ну вы поняли =) И как тогда разобраться, где какой клиент? Не подходит!

Можно вешать foreign key на несколько колонок. Например, на фамилию + имя, или фамилию + имя + отчество. Но ведь и ФИО бывают неуникальные! Что тогда? Можно добавить в связку дату рождения. Тогда шанс ошибиться будет минимален, хотя и такие ребята существуют. И чем больше клиентов у вас будет, тем больше шанс встретить дубликат.

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данных

А можно не усложнять! Вместо того, чтобы делать внешний ключ на 10 колонок, лучше создать в таблице клиентов primary key, первичный ключ. Первичный ключ отвечает за то, чтобы каждое значение в поле было уникальным, никаких дублей. При попытке добавить в таблицу запись с неуникальным первичным ключом получаешь ошибку:

Что такое данные база данных структура базы данных. Смотреть фото Что такое данные база данных структура базы данных. Смотреть картинку Что такое данные база данных структура базы данных. Картинка про Что такое данные база данных структура базы данных. Фото Что такое данные база данных структура базы данныхЗдесь ключ — «id_order»

Вот на него и нужно ссылаться! Обычно таким ключом является ID, идентификатор записи. Его можно сделать автоинкрементальным — это значит, что он генерируется сам по алгоритму «прошлое значение + 1».

Например, у нас гостиница для котиков. Это когда хозяева едут в отпуск, а котика оставить не с кем — оставляем в гостинице!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *