Реляционные СУБД: обзор базы данных, примеры
Система управления реляционными базами данных СУБД по сути является не чем иным, как компьютеризированной системой, позволяющей хранить данные. Пользователям предоставляются средства для выполнения нескольких видов операций над данными в БД или для управления ее структурой. СУБД классифицируются в соответствии со структурами.
История разработки
Реляционная база данных СУБД была изобретена в начале 1970-х Э. Ф. Коддом, молодым ученым-программистом IBM. В специальной статье по РБД он предложил перейти от хранения данных в иерархических структурах к организации их в таблицах, имеющих строки и столбцы.
К 1960-м годам собралось огромное количество данных, хранящихся на новых мэйнфрейм-компьютерах мира, многие из которых были компьютерами IBM System 360. Это стало проблемой для дальнейшего развития цифровых технологий. Расчеты на мэйнфреймах были дорогими, часто стоили сотни долларов в минуту. Существенной частью этих затрат была сложность, связанная с управлением базой данных (БД).
В 1973 году лаборатория Сан-Хосе, ныне Almaden, начала разрабатывать программу под названием System R (реляционый) с целью применить теорию отношений с помощью так называемой промышленной реализации. Это качество стало определяющим, чтобы определить, какие СУБД называются реляционными. В результате реализации этого проекта было изобретена новая революционная система хранения, ставшая основой успеха IBM.
Дон Чемберлин и Рэй Бойс изобрели SQL для структурированных данных, который сегодня наиболее широко применяются. Патриция Селингер разработала оптимизатор на основе затрат, делающий работу с реляционными БД более рентабельной и эффективной. А Раймон Лори изобрел компилятор, сохраняющий процедуры запросов к БД для будущего использования.
В 1983 году IBM представила второе семейство реляционных СУБД DB2 с целью управления данными. Сегодня DB2 по-прежнему производят миллиарды транзакций каждый день, являясь самым успешным программным продуктом IBM. По словам Арвинда Кришны, генерального менеджера IBM Information Management, DB2 продолжает оставаться лидером в области инновационного ПО для реляционных баз данных (РБД).
Доктор Кодд, известный своим коллегам как Тед, был удостоен звания стипендиата IBM в 1976 году, а в 1981 году Ассоциация вычислительной техники вручила ему премию Тьюринга за вклад, внесенный в разработку РБД.
Принципы создания
Каждая таблица, которую еще называют отношением в реляционной базе СУБД, содержит один или ряд категорий данных в столбцах атрибутах. Каждая строка называется записью, или кортежем, содержит уникальный экземпляр данных или ключ для категорий, установленных столбцами. Таблица имеет уникальный первичный ключ, идентифицирующий информацию в ней. Табличная связь устанавливается с помощью внешних ключей, ссылающихся на первичные ключи иной таблицы.
Например, типичная реляционная база СУБД бизнес-заказов имеет таблицу, в которой описывается клиент, со столбцами для имени, адреса, номера телефона и другой информации. Следующая имеет заказ: продукт, клиент, дата, цена продажи и так далее. Пользователь РБД получает представление о базе данных в соответствии со своими потребностями. Например, менеджеру филиала может понравиться просмотр или отчет обо всех клиентах, которые купили товары после определенной даты. Специалист по финансовым услугам в той же компании из тех же таблиц получает отчет о счетах, которые необходимо оплатить.
Термины и типы
Реляционные СУБД включают таблицы, содержащие строки и столбцы. При создании РБД определяют область возможных значений в столбце данных и дополнительные ограничения, которые могут применяться к этому значению. Например, домен клиентов может разрешить до 10 возможных имен, но в одной таблице можно ограничить его указанием только трех из этих имен клиентов. Два ограничения касаются целостности данных, а также первичного и внешнего ключей. Целостность объекта гарантирует, что первичный ключ уникальный и что значение не равно нулю. Ссылочная целостность требует, чтобы каждое значение в столбце внешнего ключа было найдено в первичном ключе таблицы, из которой оно произошло.
Существует ряд категорий БД: от простых плоских файлов, не относящихся к NoSQL, до более новых графовых, которые считаются даже более реляционными, чем стандартные. База данных плоских файлов состоит из одной таблицы, которая не имеет взаимосвязи, обычно это текстовые файлы. Она позволяет пользователям указывать в реляционных СУБД атрибуты данных, такие как столбцы и типы.
Альтернативные структуры
База данных NoSQL — это альтернатива РБД, которая особенно полезна для работы с большими наборами распределенных данных.
База данных графов выходит за рамки традиционных моделей реляционных данных на основе столбцов и строк. NoSQL имеет узлы и ребра, которые представляют соединения между отношениями данных и обнаруживают новые между ними. Графовые БД более сложны, чем РБД, и, следовательно, их использование включает механизмы обнаружения мошенничества или веб-рекомендаций.
Примеры реляционных СУБД
SQLite — это популярная БД SQL с открытым исходным кодом. ПО может хранить всю БД в одном файле. Самым значительным преимуществом, которое она обеспечивает, является то, что все данные могут храниться локально без подключения к серверу. SQLite стала популярной для БД в мобильных телефонах, КПК, MP3-плеерах, телевизионных приставках и других электронных гаджетах.
MySQL — еще одна популярная реляционная модель СУБД SQL с открытым исходным кодом. Обычно она применяется в веб-приложениях и часто доступна с помощью PHP. Главные преимущества ее — простота использования, ценовая доступность, надежность. Некоторые из недостатков проявляются в том, что при масштабировании она страдает от низкой производительности, разработка с применением открытого исходного кода отстает с тех пор, как Oracle установил контроль над MySQL и не включает в себя некоторые расширенные функции.
PostgreSQL — это реляционная модель данных СУБД SQL с использованием открытого исходного кода, которая не контролируется какой-либо корпорацией. Обычно ее используют для разработки веб-приложений. PostgreSQL — простая, надежная и бюджетная программа с большим сообществом разработчиков. Имеет дополнительные функции в виде поддержки внешнего ключа, не требуя сложной настройки. Главный ее недостаток — она работает медленнее, чем иные БД, такие как MySQL. Она также менее популярна, чем MySQL, что затрудняет доступ хостов или поставщиков услуг, которые предлагают управляемые экземпляры PostgreSQL.
Система управления RDBMS
RDBMS — система управления реляционными базами данных, разработанная EF Codd от IBM и способная создавать, изменять и администрировать РБД. Многие существующих на сегодня БД являются продолжением этой вековой модели. Сохраненные данные обрабатываются с применением реляционных операторов в СУРБД.
SQL используют в качестве языка запросов баз данных — это логическая группа данных. Она содержит набор связанных табличных и индексных пространств. Как правило, БД содержит все данные, связанные с одним приложением или со связанной группой. Например, может быть БД заработной платы или или инвентаризации.
Отличия RDBMS от обычной СУБД
СУБД хранит данные в виде файлов, тогда как RDBMS хранит данные в виде таблицы. СУБД позволяет нормализовать данные, а RDBMS поддерживает связь между данными, хранящимися в ее таблицах. Обычная СУБД не предоставляет ссылки. Она просто хранит данные своих файлов. Структурированный подход RDBMS поддерживает распределенную РБД в отличие от обычной системы управления базами данных. СУБД ориентирована на широкий спектр применений, ее особенности позволяют использовать ее во всем мире.
Особенности RDBMS:
- Общая реализация столбца, а также многопользовательский доступ включены в функции RDBMS.
- Потенциал этой модели реляционных СУБД был более чем оправдан современными возможностями применения.
- Лучшая безопасность обеспечивается созданием таблиц.
- Некоторые таблицы могут быть защищены системой.
- Пользователи могут устанавливать барьеры доступа к контенту. Это очень полезно в компаниях, где менеджер может решить, какие данные предоставляются сотрудникам и клиентам. Таким образом, можно настроить индивидуальный уровень защиты данных.
- Обеспечение будущих требований, поскольку новые данные могут быть легко добавлены к существующим таблицам и согласованы с ранее доступным содержимым. Это функция, которой нет ни в одной БД плоских файлов.
Структурная таблица
Таблица — это логическая структура, состоящая из строк и столбцов. Строки не имеют фиксированного порядка, поэтому, если извлекаются данные, может понадобиться отсортировать их. Порядок столбцов указывается при создании таблицы администратором БД. На пересечении каждого столбца и строки находится определенный элемент данных, называемый значением, или, точнее, атомарным значением. Таблица именуется высокоуровневым классификатором идентификатора пользователя владельца, за которым следует имя таблицы, например TEST.DEPT или PROD.DEPT.
Существует нескольких типов таблиц:
- Базовая, которая создается и содержит постоянные данные.
- Временная, в которой хранятся промежуточные результаты запроса.
Элементы таблиц:
- Столбцы имеют упорядоченный набор: DEPTNO, DEPTNAME, MGR и ADMK DEPT. Все они должны быть однотипными данными.
- Строки — каждая содержит данные для одного отдела.
- Значения на пересечении столбца и строки. Например, PLANNING — это значение столбца DEPT NAME в строке для отдела B01.
Индекс — это упорядоченный набор указателей на строки таблицы. В отличие от строк таблицы, которые не находятся в определенном порядке, индекс DB2 должен всегда поддерживать порядок.
Индекс используется для двух целей:
- Для повышения быстродействия получения значений данных.
- Для уникальности.
Создав индекс по имени сотрудника, можно получить данные для этого сотрудника быстрее, чем сканируя всю таблицу. Кроме того, создавая его, DB2 обеспечит уникальность каждого значения. Создание индекса автоматически создает индексное пространство, набор данных, который его содержит.
Основные ключи
Ключ — это один или ряд столбцов, идентифицируемых как таковые при создании в определении ссылочной целостности. Таблица имеет только один первичный ключ, поскольку он определяет сущность. Есть требования для него:
- Он должен иметь значение, то есть не быть нулевым.
- Он должен иметь уникальный индекс.
- Можно иметь более одного уникального ключа в таблице.
- Иностранный ключ — внешний ключ, указанный в ограничении ссылочной целостности, чтобы его существование зависело от первичного или родительского ключа.
Модель сетевой базы данных
Эта БД разрешает записи иметь множество родительских и дочерних форматов, способных визуализировать их в виде сетевой структуры. Напротив, в иерархической элемент реляционной СУБД имеет ряд дочерних и одну родительскую. На самом деле сетевая модель очень похожа на иерархическую, являясь ее подмножеством. Однако вместо использования одного родителя в сетевой модели используется теория множеств, обеспечивающая древовидную иерархию. Исключением является то, что дочерним таблицам можно иметь более одного родителя.
Преимущества сетевой БД:
- Концептуально проста и легка в разработке.
- Доступ к данным проще и гибче по отношению к иерархической модели и не позволяет члену существовать без родителя.
- Может обрабатывать сложные данные из-за своего отношения «многие ко многим». Это позволяет более естественное моделирование отношений между записями или объектами реляционной СУБД в отличие от иерархической.
- Благодаря своей гибкости легче перемещается и находит информацию в сетевой БД.
- Такая структура изолирует управляющие программы от сложных физических данных.
Объектно-ориентированная система
В объектно-ориентированных БД все данные являются объектами. Они могут быть связаны друг с другом отношением «является частью» для представления более крупных составных элементов.
Например, данные, описывающие автомобиль, могут храниться как составная часть конкретного двигателя, шасси, коробки передач, системы рулевого управления и др. Классы объектов могут образовывать иерархию, в которой отдельные объекты наследуют свойства от объектов выше. Например, все объекты класса «моторный транспорт» будут иметь двигатель (грузовик, автомобиль или самолет). Аналогично двигатели также являются объектами данных, и атрибут двигателя конкретного транспортного средства будет являться ссылкой на конкретный объект двигателя.
Мультимедийные базы данных, в которых голос, музыка и видео хранятся вместе с традиционной текстовой информацией, служат основанием для просмотра данных в виде объектов. Такие объектно-ориентированные базы данных становятся все более важными, поскольку их структура является наиболее гибкой и адаптируемой. То же самое относится к БД изображений, фотографий или карт. Будущее технологий БД обычно воспринимается как интеграция реляционных и объектно-ориентированных моделей.
Процесс проектирования
Дизайн базы данных — это больше искусство, чем наука, так как пользователю придется принимать множество решений. БД обычно настраиваются под конкретное приложение. Нет двух одинаковых пользовательских приложений, и, следовательно, нет двух одинаковых БД. Руководящие принципы обычно указывают на то, что не следует делать, хотя выбор в конечном итоге зависит от дизайнера.
Алгоритм проектирования:
- Определяют цель БД для анализа требований.
- Собирают требования. Выполняют сбор данных, организацию таблиц и указывают первичные ключи.
- Выбирают один или несколько столбцов в качестве так называемого первичного ключа с целью идентификации строк.
- Создают отношения между таблицами. Сила реляционной БД заключается в отношениях между таблицами. Наиболее важным аспектом при разработке РБД является выявление взаимосвязей между ними.
- Необходимо выбрать необходимый тип данных для конкретного столбца. Обычно типы данных содержат: целые числа, строку (или текст), дату, время, двоичный код, коллекцию, например перечисление и набор.
- Уточняют дизайн, добавив больше столбцов.
- Создают новую таблицу для необязательных данных, используя отношение один к одному.
- Разбивают большой стол на два меньших стола.
- Применяют правила нормализации, чтобы проверить, является ли база данных структурно правильной и оптимальной.
- Индекс может быть определен для одного столбца, набора столбцов, называемого составным индексом, или части столбца, называемой частичным индексом. Можно создать более одного индекса в таблице. Например, если часто ищут клиента, используя либо customer Name либо phone Number, можно ускорить поиск, построив индекс по столбцу customer Name, а также phone Number.
- Большинство СУБД автоматически строит индекс по первичному ключу.
Создание БД Access
Когда используется реляционная СУБД Access, нельзя просто начать процесс ввода данных. Нужно применить дизайн РБД, поделив информационный блок на ряд таблиц. Они соединяются с использованием реляционных объединений, когда поле одной совпадает с полем другой таблицы.
Алгоритм создания БД:
- Предварительно определяют данные и составляют список требуемых полей (фрагментов информации) с использованием разных типов данных.
- Устраняют лишние поля. Не допускается хранить одинаковую информацию более чем в одном месте. В случае когда можно вычислить одно поле, используя другое, сохраняют одно.
- Организовывают поля. Формируют их соответственно описанию, в связи с чем каждая группа преобразовывается в таблицу.
- Добавляют таблицы кодов с сокращениями.
- Включают в БД таблицу названий и коды из двух букв.
- Выбирают первичный ключ.
- Связывают таблицы.
Таким образом, можно подвести итог, что основные преимущества РБД заключаются в том, что они позволяют пользователям просто классифицировать и хранить данные, легко расширяются и не зависят от физической организации. После создания исходной БД можно добавить новую категорию данных без изменения всех существующих приложений.
Нормальная форма. Транзитивная зависимость. Проектирование БД.
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжим рубрику Заметки о MySQL, в прошлой публикации я начал тему проектирования баз данных и затронул вопрос целостности данных и информационной избыточности, то есть избыточности данных. До того, как я начал тему проектирования баз данных были публикации посвященные: видам и типам баз данных, настройки mysql сервера и файлу my.ini, а также установки MySQL сервера.
Если вы читали прошлую публикацию, то уже точно знает, что такое информационная избыточность, избыточность данных, что такое аномалии, которые возникают из-за избыточности данных. Так же вы знает, чтобы избавиться от проблем модификации данных, удаления данных, добавления данных в базу данных, следует привести базу данных ко второй нормальной форме, то есть нормализовать отношения.
Именно нормализация и будет темой моей сегодняшней публикации. Если не вдаваться в тонкости, то можно сказать, что нормальных форм всего восемь: первая нормальная форма, вторая нормальная форма, третья нормальная форма, нормальная форма Бойса-Кодда или усиленная третья нормальная форма, четвертая нормальная форма, пятая нормальная форма, доменно-ключевая нормальная форма и шестая нормальная форма.
Следует сказать, что на практике реализуются только первые четыре нормальных формы, все остальные являются темой для дискуссий математиков и true программистов.
Попытаюсь рассказать, как обычно на пальцах, что такое нормальная форма. Какие нормальные формы бывают и как привести базу данных к нормальной форме. Сразу скажу, что база данных приводится к той или иной нормальной форме не зависимо от СУБД.
Приведение базы данных к нормальной форме – это вопрос проектирования баз данных. И приводить к требуемой нормальной форме базу данных следует до того, как вы начали ее реализовывать программно, то есть, до того как начали создавать базу данных в той или иной СУБД, в нашем случае СУБД MySQL.
Чтобы привести базу данных к нормальной форме вам не потребуется каких-либо специальных программ, достаточно будет представлять структуру проектируемого объекта (заметьте, пока еще не структуру базы данных), иметь под рукой несколько чистых листов бумаги, карандаш или ручку. Но, чтобы начать что-то к чему-то приводить и что-то проектировать, надо получить информацию о том, как это что-то делается.
Данная публикации как раз и предназначена для тех, кто хочет быстро разобраться с тем, что такое нормальная форма и как привести базу данных к той или иной нормальной форме.
Проектирование баз данных. Что такое нормальная форма. Какие нормальные формы бывают(NF).
И так, давайте теперь разберемся с вопросом, что такое нормальная форма и какие нормальные формы бывают вообще. Для начала, следует дать определение нормальной формы. Ну как обычно, вначале я напишу сложное определение с правильными терминами, а затем постараюсь объяснить его на простом и понятном языке.
Нормальная форма – свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение. Такое определение нормальной формы вы можете найти в Википедии.
Процесс преобразования базы данных к нормальной форме называется нормализация. Точнее, процесс преобразования отношений базы данных к виду, соответствующему той или иной нормальной формы.
Нормализация – это процесс преобразования отношений базы данных к виду, отвечающему нормальным формам. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных.
И так, что нам могут дать определения нормальной формы и нормализации? Давайте разберемся с терминологией проектирования баз данных. Поясняю так, как их понимаю я. Отношения в реляционной базе данных – это таблицы базы данных и то, как они связаны между собой, способы связи между таблицами – это отдельная тема. Про избыточность данных и возможным проблемам есть целая публикация, с которой вы можете ознакомиться.
Нормальная форма – это способ избавиться от избыточности информации и некоторых проблем, связанных с обработкой данных.
Это я к тому, что нормализация это только часть того, что можно сделать для безопасности базы данных и поддержания целостности данных.
Как я уже говорил, всего нормальных форм восемь, но на практике реализуются только первых четыре: первая нормальная форма, вторая нормальная форма, третья нормальная форма и нормальная форма Бойса-Кодда.
Эти четыре нормальные формы являются четырьмя ступенями поддержания целостности данных, чем выше, тем ваша база данных будет надежней, но это, грубо говоря. Как вы помните, вторая нормальная форма помогает избежать аномалий.
Думаю можно перейти к подробному разбору каждой нормальной формы и как достичь этой нормальной формы. Ведь вы уже разобрались с вопросом для чего нормализовывать отношения в базе данных, не так ли?
Первая нормальная форма(1NF). Проектирование баз данных. Нормализация отношений в базе данных.
Приступим к разговору о нормальных формах. Первое, что обсудим – первая нормальная форма(1NF), определение первой нормальной формы и то, как привести базу данных к первой нормальной форме. То есть, как нормализовать отношения до первой нормальной формы.
Действуем по схеме: сначала я пишу определение нормальной формы, затем перевожу это определение на русский язык и наконец, мы разбираем реальный пример, на котором будет показано, как реализовать ту или иную нормальную форму.
Первая нормальная форма(1NF). Таблица находится в перовой нормальной форме только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов. Есть более короткое определение: таблица находится в первой нормальной форме, когда каждый ее атрибут атомарен.
Самое главное правило первой нормальной формы – атомарность.
Атрибуты – это столбцы таблицы базы данных, а кортежи – это строки таблицы, вы можете встретить термин значение. Помните пример из предыдущей публикации? У нас была таблица, в которой был список преподавателей и список предметов, которые они ведут.
Таблица, которая находится в первой нормальной форме.
Эта таблица находится в первой нормальной форме(1NF), поскольку в ней находятся две записи, касающиеся преподавателя Иванова. То есть, таблица избыточна, зато она в первой нормальной форме.
Таблица не была бы в первой нормальной форме, если бы мы написали в столбце предметы для преподавателя Иванова: мат. ан., дискретная математика. Тогда таблица не была бы в первой нормальной форме – это было бы нарушение атомарности. Атомарность – это самое главное правило первой нормальной формы.
Мы знаем, что Гоголь написал «Ревизор» и «Мертвые души», как это записать в таблицу, чтобы она находилась в первой нормальной форме? Да очень просто – создаем отдельную запись для «Ревизора» и отдельную для «Мертвых душ», но тем самым мы дублируем Гоголя Н. В. и намеренно создаем избыточность данных в базе данных. Избавиться от избыточности данных нам поможет вторая нормальная форма.
Вторая нормальная форма(2NF). Проектирование баз данных. Нормализация отношений в базе данных.
Идем далее и поговорим о второй нормальной форме(2NF) и о том, как нормализовать отношение до второй нормальной формы, как привести базу данных ко второй нормальной форме.
Вторая нормальная форма(2NF). Для начала напишу академическое определение. Таблица находится во второй нормальной форме, ели она находится в первой нормальной форме и при этом любой ее атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полно означает, что атрибут зависит от всего первичного ключа, но не зависит от его какой-либо части.
Конечно, я еще не успел рассказать про ключи ключевые атрибуты, в одной из следующих публикации постараюсь это исправить. А теперь давайте разберемся с этим на первый взгляд сложным определением и с тем, как привести базу данных ко второй нормальной форме.
Теперь по-русски. Правила второй нормальной формы(2NF): у любой таблице есть ключ (ключевой атрибут), любая база данных будет работать без ключей и ключевых атрибутов, но она не будет находиться во второй нормальной форме.
Теперь давайте разберемся с функционально полной зависимостью, которая обязательна для второй нормальной формы, если вы посмотрите на таблицу, которая находится в первой нормальной форме, то увидите, что некоторые строки содержат одинаковые данные, данные дублируются.
А эти данные откуда-то должны браться, согласитесь, если мы делаем базу данных для какой-то организации, то у нас есть информация обо всех сотрудниках этой организации и эту информацию мы должны заранее определить в какую-то отдельную таблицу. Такие таблицы называются справочники баз данных или домены данных.
Для ясности перейдем к более конкретному примеру:
Нормализация отношений в базе данных. Таблица находится в первой нормальной форме.
Данная таблица находится в первой нормальной форме, в этой таблице есть два поля, которые находятся между собой в логической зависимости: Преподаватель и Дата рождения. Глядя на таблицу, мы не можем сказать, что преподаватель Сидоров родился в 1960 году, так как он родился в 1940.
То есть, дата рождения зависит от преподавателя – это
Ко всему выше сказанному нужно сказать, что у каждой таблице будет ключ, однозначно идентифицирующий каждую запись, то есть первичный ключ. На примере это будет смотреться наглядней, пример базы данных во второй нормальной форме(2NF):
Нормализация базы данных. Отношение находится во второй нормальной форме.
Получается, преподавателей и предметы мы выносим на справочники, у каждого справочника есть уникальный идентификатор или первичный ключ, в нашем случае код для преподавателя – это первичный ключ для справочника Преподаватели, а код предмета – это первичный ключ для справочника Предметы.
Суть второй нормальной формы заключается в том, что мы вместо того, чтобы писать длинные фамилии и названия предметов в главную таблицу передаем только соответствующие идентификаторы, для главной таблицы эти идентификаторы являются внешними ключами, таким образом, устанавливается связь между «главной» таблицей и таблицами справочниками во второй нормальной форме.
Грубо говоря, коды, записанные в таблице, являются ссылками на справочники. Мы как бы говорим СУБД: вот она ссылка перейди по ней в справочник и ищи нужное значение в справочнике.
Вторая нормальная форма позволяет избавиться от избыточности данных и от аномалий баз данных. Приведу пример: гражданка Быкова выходит замуж и меняет фамилию на Степанову, нужно внести соответствующие изменения в БД. Если бы отношение находилось в первой нормальной форме, нам бы пришлось изменить все записи, связанные с Быковой, а если отношение находится во второй нормальной форме, мы меняем только одну запись, именно ту запись, которая находится в справочнике.
Но, создавая справочники, мы получаем неприятность – транзитивную зависимость, эту неприятность позволяет нам решить третья нормальная форма, к которой мы и переходим.
Третья нормальная форма(3NF). Транзитивная зависимость. Проектирование баз данных. Нормализация отношений в базе данных.
И так, мы переходим к третьей нормальной форме. Третья нормальная форма(3NF) позволяет нам избавиться от такой мерзкой штуки, как транзитивная зависимость. Прежде чем давать определение третьей нормальной форме давайте разберемся, что такое транзитивная зависимость.
Мы плавно подошли к транзитивной зависимости. Чтобы лучше понять транзитивные зависимости обратите внимание на второй рисунок в разделе, который посвящен второй нормальной форме. А именно на таблицу-справочник преподавателей. В этой таблице мы можем наблюдать зависимость среди не ключевых полей, то есть, какие-то поля связаны между собой очень тесно не только логически, но и функционально.
Вообще, третья нормальная форма(3NF) оперирует только в пределах одной таблицы. А в таблице преподавателей мы замечаем внутренние правила, от которых зависит правильность функционирования данной таблицы, таких правил в третьей нормальной форме быть не должно, такие правила называются транзитивными зависимостями, очень мерзкая штука.
В таблице преподавателей есть транзитивная зависимость, это атрибуты индекс и город, если индекс 127 – это Москва и никак по-другому быть не может! Эти два поля не являются первичным ключом, и они зависят друг от друга – это нарушение третьей нормальной формы и называется транзитивная зависимость.
Проблема заключается в том, что людям свойственно ошибаться. Допустим, человек, наполняющий базу данных, ошибся и ввел сотруднику живущем в Саратове иркутский индекс. Вопрос, чему верить? Индексу или введенному городу?
Таким образом, задача третьей нормальной(3NF) формы заключается в том, чтобы обеспечить максимальную целостность данных в базе данных. Целостность данных в базе данных обеспечивается уничтожением транзитивных зависимостей. Перед тем, как привести пример третьей нормальной формы я бы хотел дать определение третьей нормальной формы.
Таблица находится в третьей нормальной форме(3NF), когда она находится во второй нормальной форме, а соответственно и в первой нормальной форме, то есть таблица атомарна и все данные вынесены на справочники и при этом любой не ключевой атрибут зависит только от первичного ключа, по-другому – в таблице не должно быть никаких зависимостей кроме как от первичного ключа.
Собственно данное определение является кратким итогом того, о чем я говорил выше. Давайте избавимся от транзитивных зависимостей, которые у нас появились, когда нормализовали отношения до второй нормальной формы.
Я не буду создавать заново всю структуру базы данных, а лишь покажу, как избавиться от транзитивной зависимости в таблице преподавателей.
Нормализация отношений. Третья нормальная форма.
Я сделал следующее взял и создал два справочника, справочник индексов, а для справочника индексов создал справочник городов, таким образом, я избавился от транзитивных зависимостей, привел базу данных к третьей нормальной форме, при этом разбил эту базу данных на пять таблиц.
Хоть в базе данных и пять таблиц, но, мы обеспечили целостность данных и обезопасили себя от неправильного ввода данных.
Ну думаю, что на сегодня хватит информации, в следующей публикации мы продолжим разговаривать о нормальных формах(нормальная форма Бойса-Кодда или усиленная третья нормальная форма, четвертая нормальная форма, пятая нормальная форма, доменно-ключевая нормальная форма и шестая нормальная форма).
Да, кстати, проектируют нормальные формы обычно на бумаге, но если вы занимаетесь серьёзным проектом, то лучше поберечь экологию и деревья и воспользоваться средствами проектировки баз данных, о которых я расскажу чуть позже.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah. ru. Не забываем комментировать и делиться с друзьями;)
Что такое DWH и как они повышают ценность данных для бизнеса
Тем, кто работает в крупном бизнесе, периодически приходится слышать три магические буквы — DWH. Узнав расшифровку этой аббревиатуры — data warehouse, можно догадаться, что это имеет отношение к данным. А вот чем DWH отличается от простых баз данных, почему вокруг них снуют рои бизнес-аналитиков и зачем вашей компании иметь такую штуку — это всё еще непонятно. Разбираемся в статье.
DWH — что это и в чем отличие от баз данных
Data warehouse — склад всех нужных и важных для принятия решений данных компании.
Но есть же всякие базы данных внутри фирмы, разве они не DWH? Например, СУБД с клиентами, складскими запасами или покупками. Где разница между обычной базой данных и DWH?
Разница вот в чем:
- Типы хранимых данных. Обычные СУБД хранят данные строго для определенных подсистем. База данных склада хранит складские запасы и ничего более. База данных кадровиков хранит данные по персоналу, но не товары или сделки. DWH, как правило, хранит информацию разных подразделений — там найдутся данные и по товарам, и по персоналу, и по сделкам.
- Объемы данных. Обычная БД, которая ведется в рамках стандартной деятельности компании, содержит только актуальную информацию, нужную в данный момент для функционирования определенной системы. В DWH пишутся не столько копии актуальных состояний, сколько исторические данные и агрегированные значения. Например, состояние запасов разных категорий товаров на конец смены за последние пять лет. Иногда в DWH пишутся и более крупные пачки данных, если они имеют критическое значение для бизнеса — допустим, полные данные по продажам и сделкам. То есть, по сути, это копия СУБД отдела продаж.
- Место в рабочих процессах. Информация обычно сразу попадает в рабочие базы данных, а уже оттуда некоторые записи переползают в DWH. Склад данных, по сути, отражает состояние других БД и процессов в компании уже после того, как вносятся изменения в рабочих базах.
Короче говоря, DWH — это система данных, отдельная от оперативной системы обработки данных. В корпоративных хранилищах в удобном для анализа виде хранятся архивные данные из разных, иногда очень разнородных источников. Эти данные предварительно обрабатываются и загружаются в хранилище в ходе процессов извлечения, преобразования и загрузки, называемых ETL. Решения ETL и DWH — это (упрощенно) одна система для работы с корпоративной информацией и ее хранения.
Что дают DWH-решения для BI и принятия решений в компании
Понятное дело, что просто так тратить деньги и время на консервирование кучи разных записей, которые и так можно накопать в других базах данных, никто не станет. Ответ заключается в том, что DWH необходима для того, чтобы делать BI — business intelligence.
Что такое BI с DWH? Бизнес-аналитика (BI) — это процесс анализа данных и получения информации, помогающей компаниям принимать решения.
Допустим, у вас в онлайн-магазине упала выручка. Менеджеры зовут на помощь бизнес-аналитика и просят его разобраться. Тот идет в DWH, вынимает оттуда данные по продажам, выручке, количеству пользователей, расходам — и собирает отчет, который в подробностях и с цифрами говорит о причинах падения финансовых показателей. Менеджеры внимательно смотрят на эту информацию и принимают решения по реорганизации ассортимента товаров и маркетинговых политик.Если бы такого аналитического отчета не было — управленцам пришлось бы искать проблему наугад.
Логичный вопрос: казалось бы, зачем держать для этого всего DWH? Аналитики вполне могут ходить в базы данных разных систем и просто выдергивать оттуда то, что им надо.
Ответ: так, конечно, тоже можно делать. Но — не нужно. И вот почему:
- Доступ к нужным данным. Если компания большая, на получение данных из разных источников нужно собирать разрешения и доступы. У каждого подразделения в такой ситуации, как правило, свои базы данных со своими паролями, которые надо будет запрашивать отдельно. В DWH все нужное уже будет под рукой в готовом виде. Можно просто пойти и дернуть там необходимую статистику.
- Сохранность нужных данных. Данные в DWH не теряются и хранятся в виде, удобном для принятия решений: есть исторические записи, есть агрегированные значения. В операционной базе данных такой информации может и не быть. Например, админы уж точно не будут хранить на складском сервере архив запасов за 10 лет — БД склада в таком случае была бы слишком тяжелой. А вот хранить агрегированные запасы со склада в DWH — это нормально.
- Устойчивость работы бизнес-систем. DWH оптимизируется для работы аналитиков, а эти ребята могут запрашивать очень большие объемы информации. Если они будут делать это с помощью DWH — ничего страшного, даже если их запрос будет обрабатываться очень долго. А если запросить слишком много записей с боевой базы данных сервера — он может уйти в отказ до конца выполнения запроса от аналитики и создать проблемы для других систем. DWH исключает риск того, что аналитики что-то повесят или сломают.
Для работы с большими данными используют различные решения, обрабатывающие информацию из DWH. SAS, Mail.ru Cloud Solutions и другие компании предлагают различные варианты коробочных и облачных решений под такие задачи.
Понятие базы данных и что такое СУБД : WEBCodius
Здравствуйте уважаемые читатели! Любой начинающий веб-разработчик рано или поздно сталкивается с такими понятиями как база данных, СУБД и MySQL. Без этих инструментов не обходится практически любой веб-сайт. Далее в статье разберемся с данными понятиями и терминами.
База данных — это некоторый набор данных, организованный по определенным правилам и имеющий определенную структуру.
Другими словами база данных это хранилище данных. Базу данных можно сравнить с библиотекой, где книги хранятся в определенном порядке, позволяющем работнику быстро найти нужное произведение.
Существует большое количество разновидностей баз данных, отличающихся по различным свойствам и критериям. К основным типам баз данных относятся:
- Иерархическая;
- Сетевая;
- Объектно-ориентированная;
- Реляционная.
Самыми распространенными являются реляционные базы данных. Реляционная база данных состоит из таблиц, которые в свою очередь состоят из строк и столбцов. Содержащиеся в таблицах данные связываются между собой по ключевым значениям.
Для работы с базами данных используются специальные программные средства — системы управления базами данных (СУБД). СУБД позволяет создавать базы данных, осуществлять доступ к данным, выполнять различные манипуляции с данными (добавлять, редактировать, удалять) и обеспечивать безопасность данных.
Для оперирования данными в реляционной базе данных с помощью СУБД используется специальный язык SQL.
SQL (structured query language) — в переводе с английского язык структурированных запросов, применяющийся для создания, изменения и удаления данных.
Простейшая схема работы с базой данных выглядит так:
То есть пользователь БД посылает SQL-запрос через СУБД к базе данных и получает определенные данные. Причем не обязательно СУБД должна находиться на компьютере пользователя, а может располагаться где-то в сети.
Виды СУБД
По характеру работы СУБД делятся на однопользовательские и многопользовательские. Однопользовательские базы данных подразумевают работу одновременно только с одним пользователем, а с многопользовательскими соответственно могут работать одновременно сразу несколько пользователей. Многопользовательские базы данных в свою очередь делятся на базы данных с последовательным и параллельным доступом.
Что такое MySQL
В настоящее время в основном применяются многопользовательские СУБД. Наиболее популярные из них MS SQL Server, Oracle и MySQL.
MySQL — это самая популярная система управления базами данных при веб-разработке. Большинство сайтов и интернет-порталов, разрабатываются с применением этой СУБД.
К основным плюсам MySQL можно отнести высокую скорость работы, быстроту обработки данных, гибкость, надежность и простоту использования. Очень важным является то, что СУБД MySQL распространяется совершенно бесплатно под лицензией GNU General Public License. Кроме этого MySQL поддерживает одновременную работу неограниченного количества пользователей и обладает эффективной системой безопасности.
При разработке сайтов большинство программистов используют связку PHP + MySQL. Множество популярных систем управления сайтом (CMS) созданы именно с применением этой связки.
Поэтому если вы планируете научиться создавать сайты, то после изучения языков HTML и CSS необходимых для верстки страниц, следующим этапом должно быть изучение языка PHP и работы с СУБД MySQL.
На этом все! До новых встреч!
Основные сведения о базах данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Эта статья содержит краткие сведения о базах данных: что это, чем они могут быть полезны, каковы функции их отдельных элементов. Здесь используется терминология, свойственная Microsoft Access, однако описываемые понятия применимы по отношению к любым базам данных.
В этой статье:
-
Что такое база данных?
-
Элементы базы данных Access
Что представляет собой база данных?
Базы данных — это инструмент для сбора и структурирования информации. В базе могут храниться данные о людях, товарах, заказах и о многом другом. Многие базы данных изначально представляют собой небольшой список в текстовом редакторе или электронной таблице. По мере увеличения объема данных в списке постепенно появляются несоответствия и излишняя информация. Информация, отображенная в виде списка, становится непонятной. Кроме того, ограничены способы, с помощью которых можно искать и отображать подмножества данных. Как только начинают появляться эти проблемы, мы рекомендуем перенести всю информацию в базу данных, созданную в системе управления базами данных (СУБД), такой как Access.
Компьютерная база данных — это хранилище объектов. В одной базе данных может быть больше одной таблицы. Например, система отслеживания складских запасов, в которой используются три таблицы, — это не три базы данных, а одна. В базе данных Access (если ее специально не настраивали для работы с данными или кодом, принадлежащими другому источнику) все таблицы хранятся в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Для файлов баз данных, созданных в формате Access 2007 (который также используется в Access 2016, Access 2013 и Access 2010), используется расширение ACCDB, а для баз данных, созданных в более ранних версиях Access, — MDB. С помощью Access 2016, Access 2013, Access 2010 и Access 2007 можно создавать файлы в форматах более ранних версий приложения (например, Access 2000 и Access 2002–2003).
Использование Access позволяет:
-
добавлять новую информацию в базу данных, например новый артикул складских запасов;
-
изменять информацию, уже находящуюся в базе, например перемещать артикул;
-
удалять информацию, например если артикул был продан или утилизирован;
-
упорядочивать и просматривать данные различными способами;
-
обмениваться данными с другими людьми с помощью отчетов, сообщений электронной почты, внутренней сети или Интернета.
Элементы базы данных Access
Ниже приведены краткие описания элементов стандартной базы данных Access.
-
Таблицы
-
Forms
-
Отчеты
-
Запросы
-
Макросы
-
Модули
Таблицы
Таблица базы данных похожа на электронную таблицу — и там, и там информация расположена в строках и столбцах. Поэтому импортировать электронную таблицу в таблицу базы данных обычно довольно легко. Основное различие заключается в том, как данные структурированы.
Чтобы база данных была как можно более гибкой и чтобы в ней не появлялось излишней информации, данные должны быть структурированы в виде таблиц. Например, если речь идет о таблице с информацией о сотрудниках компании, больше одного раза вводить данные об одном и том же сотруднике не нужно. Данные о товарах должны храниться в отдельной таблице, как и данные о филиалах компании. Этот процесс называется нормализацией.
Строки в таблице называются записями. В записи содержатся блоки информации. Каждая запись состоит по крайней мере из одного поля. Поля соответствуют столбцам в таблице. Например, в таблице под названием «Сотрудники» в каждой записи находится информация об одном сотруднике, а в каждом поле — отдельная категория информации, например имя, фамилия, адрес и т. д. Поля выделяются под определенные типы данных, например текстовые, цифровые или иные данные.
Записи и поля можно описать по-другому. Представьте старый библиотечный карточный каталог. Каждой карточке в шкафу соответствует запись в базе данных. Блоки информации на карточке (автор, название книги и т. д.) соответствуют полям в базе данных.
Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах.
Формы
С помощью форм создается пользовательский интерфейс для ввода и редактирования данных. Формы часто содержат кнопки команд и другие элементы управления, предназначенные для выполнения различных функций. Можно создать базу данных, не используя формы, если просто отредактировать уже имеющуюся информацию в таблицах Access. Тем не менее, большинство пользователей предпочитает использовать формы для просмотра, ввода и редактирования информации в таблицах.
С помощью кнопок команд задаются данные, которые должны появляться в форме, открываются прочие формы и отчеты и выполняется ряд других задач. Например, есть «Форма клиента», в которой вы работаете с данными о клиентах. И в ней может быть кнопка, нажатием которой открывается форма заказа, с помощью которой вы вносите информацию о заказе, сделанном определенным клиентом.
Формы также дают возможность контролировать взаимодействие пользователей с информацией базы данных. Например, можно создать форму, в которой отображаются только определенные поля и с помощью которой можно выполнять только ограниченное число операций. Таким образом обеспечивается защита и корректный ввод данных.
Дополнительные сведения о формах см. в статье Формы.
Отчеты
Отчеты используются для форматирования, сведения и показа данных. Обычно отчет позволяет найти ответ на определенный вопрос, например «Какую прибыль в этом году принесли нам наши клиенты?» или «В каких городах живут наши клиенты?» Отчеты можно форматировать таким образом, чтобы информация отображалась в наиболее читабельном виде.
Отчет можно сформировать в любое время, и в нем всегда будет отображена текущая информация базы данных. Отчеты обычно форматируются таким образом, чтобы их можно было распечатать, но их также можно просматривать на экране, экспортировать в другие программы или вкладывать в сообщения электронной почты.
Дополнительные сведения об отчетах читайте в статье Общие сведения об отчетах в Access.
Запросы
Запросы могут выполнять множество функций в базе данных. Одна из их основных функций — находить информацию в таблицах. Нужная информация обычно содержится в нескольких таблицах, но, если использовать запросы, ее можно просматривать в одной. Кроме того, запросы дают возможность фильтровать данные (для этого задаются критерии поиска), чтобы отображались только нужные записи.
Используются и так называемые «обновляемые» запросы, которые дают возможность редактировать данные, найденные в основных таблицах. При работе с обновляемым запросом помните, что правки вносятся в основные таблицы, а не только в таблицу запроса.
Есть два основных вида запросов: запросы на выборку и на изменение. Запрос на выборку только находит данные и предоставляет к ним доступ. Результаты такого запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена, а также использовать в качестве источника записей для формы или отчета.
С помощью запроса на изменение, как видно из названия, можно выполнять определенные операции с найденными данными: создавать таблицы, добавлять информацию в уже существующие таблицы, а также обновлять или удалять данные.
Дополнительные сведения о запросах см. в статье Знакомство с запросами.
Макросы
Макросы в Access — это нечто вроде упрощенного языка программирования, с помощью которого можно сделать базу данных более функциональной. Например, если к кнопке команды в форме добавить макрос, то он будет запускаться всякий раз при нажатии этой кнопки. Макросы состоят из команд, с помощью которых выполняются определенные задачи: открываются отчеты, выполняются запросы, закрывается база данных и т. д. Используя макросы, можно автоматизировать большинство операций, которые в базе данных вы делаете вручную, и, таким образом, значительно сэкономить время.
Дополнительные сведения о макросах см. в статье Общие сведения о программировании в Access.
Модули
Подобно макросам, модули — это объекты, с помощью которых базу данных можно сделать более функциональной. Но если макросы в Access составляются путем выбора из списка макрокоманд, модули создаются на языке Visual Basic для приложений (VBA). Модули представляют собой наборы описаний, инструкций и процедур. Существуют модули класса и стандартные модули. Модули класса связаны с конкретными формами или отчетами и обычно включают в себя процедуры, которые работают только с этими формами или отчетами. В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом. Стандартные модули, в отличие от модулей класса, перечисляются в списке Модули в области навигации.
Дополнительные сведения о модулях см. в статье Общие сведения о программировании в Access.
К началу страницы
Работа с базой данных
Модель работы с базой данных
Модель базы данных «1С:Предприятия 8» имеет ряд особенностей, отличающих ее от классических моделей систем управления базами данных (например, основанных на реляционных таблицах), с которыми имеют дело разработчики в универсальных системах.
Основное отличие заключается в том, что разработчик «1С:Предприятия 8» не обращается к базе данных напрямую. Непосредственно он работает с платформой «1С:Предприятия 8». При этом он может:
- описывать структуры данных в конфигураторе,
- манипулировать данными с помощью объектов встроенного языка,
- составлять запросы к данным, используя язык запросов.
Платформа «1С:Предприятия 8» обеспечивает операции исполнения запросов, описания структур данных и манипулирования данными, транслируя их в соответствующие команды. Это могут быть команды системы управления базами данных, в случае клиент-серверного варианта работы, или команды собственного движка базы данных для файлового варианта.
Общая система типов
Важной особенностью работы с базой данных является то, что в «1С:Предприятии 8» реализована общая система типов языка и полей баз данных. Иными словами, разработчик одинаковым образом определяет поля базы данных и переменные встроенного языка и одинаковым образом работает с ними.
Этим система «1С:Предприятие 8» выгодно отличается от универсальных инструментальных средств. Обычно, при создании бизнес-приложений с использованием универсальных сред разработки, используются отдельно поставляемые системы управления базами данных. А это значит, что разработчику приходится постоянно заботиться о преобразованиях между типами данных, поддерживаемыми той или иной системы управления базами данных, и типами, поддерживаемыми языком программирования.
Хранение ссылок на объекты
При манипулировании данными, хранящимися в базе данных «1С:Предприятия 8», зачастую используется объектный подход. Это значит, что обращение (чтение и запись) к некоторой совокупности данных, хранящихся в базе, происходит как к единому целому. Например, используя объектную технику, можно манипулировать данными справочников, документов, планов видов характеристик, планов счетов и т.д.
Характерной особенностью объектного манипулирования данными является то, что на каждый объект, как совокупность данных, существует уникальная ссылка, позволяющая однозначно идентифицировать этот объект в базе данных.
Эта ссылка также хранится в поле базы данных, вместе с остальными данными объекта. Кроме того, ссылка может быть использована как значение какого-либо поля другого объекта. Например, ссылка на объект справочника Контрагенты может быть использована как значение соответствующего реквизита документа Приходная накладная.
Составные типы
Существенной возможностью модели данных, которая поддерживается «1С:Предприятием 8», является то, что для поля базы данных можно определить сразу несколько типов данных, значения которых могут храниться в этом поле. При этом значение в каждый момент времени будет храниться одно, но оно может быть разных типов — как ссылочных, так и примитивных — число, строка, дата и т.п.:
Такая возможность очень важна для экономических задач — например, в расходной накладной в качестве покупателя может быть указано либо юридическое лицо из справочника организаций, либо физическое лицо из справочника частных лиц. Соответственно, при проектировании базы данных разработчик может определить поле, которое будет хранить значение любого из этих типов.
Хранение любых данных как Хранилище значения
Идеология создания прикладных решений в «1С:Предприятии 8» предполагает, что все файлы, имеющие отношение к данному прикладному решению, нужно хранить в самой базе данных.
Для этого введен специальный тип данных — ХранилищеЗначения. Поля базы данных могут хранить значения такого типа, а встроенный язык содержит специальный одноименный объект, позволяющий преобразовывать значения других типов к специальному формату Хранилища значений.
Благодаря этому разработчик имеет возможность сохранять в базе данных значения, тип которых не может быть выбран в качестве типа поля базы данных, например, графические изображения.
Создание и обновление структур данных на основе метаданных
В процессе создания или модификации прикладного решения разработчик избавлен от необходимости каких-либо действий по непосредственному изменению структуры полей базы данных прикладного решения.
Разработчику достаточно путем визуального конструирования описать структуру используемых объектов прикладного решения, состав их реквизитов, табличных частей, форм и пр.
Все действия по созданию или изменению структуры таблиц базы данных платформа выполнит самостоятельно, на основании состава объектов прикладного решения и их характеристик.
Например, для того, чтобы в справочнике сотрудников появилась возможность хранить сведения о составе семьи сотрудника, разработчику «1С:Предприятия 8» не нужно создавать в базе данных специальную новую таблицу, задавать правила, по которым данные, хранящиеся в этой таблице, будут связаны с данными из основной таблицы, программировать алгоритмы совместного доступа к данным этих таблиц, создавать алгоритмы проверки прав доступа к данным, находящимся в подчиненной таблице и пр.
Все, что требуется сделать разработчику — щелчком мыши добавить к справочнику табличную часть и задать два ее строковых реквизита: Имя и Родство. При сохранении или обновлении конфигурации платформа самостоятельно выполнит реорганизацию структуры базы данных, создаст необходимые таблицы и т.д.
Объектный / табличный доступ к данным
Штатной возможностью «1С:Предприятия 8» является поддержка двух способов доступа к данным — объектного (для чтения и записи) и табличного (для чтения).
В объектной модели разработчик оперирует объектами встроенного языка. В этой модели обращения к объекту, например документу, происходят как к единому целому — он полностью загружается в память, вместе с вложенными таблицами, к которым можно обращаться средствами встроенного языка как к коллекциям записей и т.д.
При манипулировании данными в объектной модели обеспечивается сохранение целостности объектов, кэширование объектов, вызов соответствующих обработчиков событий и т.д.
В табличной модели все множество объектов того или иного класса представляется как совокупность связанных между собой таблиц, к которым можно обращаться при помощи запросов — как к отдельной таблице, так и к нескольким таблицам во взаимосвязи:
В этом случае разработчик получает доступ к данным сразу нескольких объектов, что очень удобно для анализа больших объемов данных, например, при создании отчетов. Однако в силу того, что данные, выбираемые таким способом, содержат не все, а лишь некоторые реквизиты анализируемых объектов, табличный способ доступа не позволяет изменять эти данные.
Что такое OBD-II и как он работает?
Что такое OBD?
OBD расшифровывается как «бортовая диагностика». Контрольная лампа двигателя является сигнальным устройством для системы OBD вашего автомобиля. Агентство по охране окружающей среды требует, чтобы автомобили имели бортовые диагностические системы, предупреждающие водителей о проблемах, влияющих на их выбросы. Система также записывает другую информацию, которая может облегчить вам или механику поиск и устранение проблем с вашим автомобилем.
Есть ли в моей машине OBD-I или OBD-II?
Тип системы OBD в вашем автомобиле зависит от года выпуска.
OBD-I
Первые бортовые диагностические системы были собственностью разных автопроизводителей. В 1991 году Калифорния требовала, чтобы новые автомобили имели какую-то систему OBD. Разные производители использовали разные системы. Сегодня их обычно называют системами OBD-I.
OBD-II
В 1996 году правительство США сделало стандартизированную систему обязательной для новых автомобилей. Это система OBD-II. После 1996 года все автомобили, продаваемые в США, используют одну и ту же систему, с одним и тем же разъемом, с одинаковыми диагностическими кодами, которые можно считывать одним и тем же инструментом.Это упрощает диагностику проблем с автомобилем по всем направлениям. Мы расскажем, как работает система OBD-II и как вы можете прочитать коды, которые она использует.
Как работает система OBD-II
В вашем автомобиле есть множество датчиков: датчики кислорода, датчики детонации двигателя, датчики давления в коллекторе и многое другое. Каждый из этих датчиков отправляет сигнал на компьютер вашего автомобиля, блок управления двигателем (ЭБУ). ЭБУ использует эту информацию для настройки различных элементов работы двигателя, например, впрыска топлива или момента зажигания.
Если информация, которую ЭБУ получает от одного из своих датчиков, слишком далека от ошибочной, он сохраняет код, называемый диагностическим кодом неисправности (DTC). Он также посылает вам сигнал в виде сигнала проверки двигателя. Если свет загорается и продолжает гореть, у вас небольшая проблема. Вы все еще можете водить машину, пока ее не осмотрите. Если индикатор мигает и гаснет, ваша проблема срочная и может привести к повреждению двигателя. Детонация двигателя — это пример проблемы, которая может дать вам этот сигнал.Если индикатор проверки двигателя мигает, вам следует избегать вождения автомобиля как можно чаще и избегать агрессивного вождения, пока не решите проблему.
Как поставить диагноз
Вы можете узнать, какой код или коды сохранил ваш ECU, с помощью диагностического сканирующего прибора, который иногда называют просто сканирующим прибором, считывателем кодов, сканером OBD или сканером. Сканер подключается к порту, который обычно находится под приборной панелью со стороны водителя. Эти порты стандартизированы, поэтому любой сканер OBD-II должен иметь возможность считывать коды с любого автомобиля OBD-II.Затем сканер может проверить сохраненные коды неисправности и показать коды на экране сканера. Большинство сканеров также могут выполнять другие функции, например, проверять измерения, сделанные вашими различными датчиками в режиме реального времени. Если вы часто работаете с автомобилями, сканер может стать бесценным инструментом.
Когда у вас есть код, как понять, в чем проблема? Некоторые инструменты сканирования предоставят вам код вместе с кратким описанием. Тем не менее, большинство кодов соответствуют системе, которую можно интерпретировать с некоторыми ноу-хау.
Код состоит из буквы, за которой следуют четыре цифры. Каждая из этих частей несет определенное значение. В письме указывается, из какой части автомобиля исходит код. P обозначает трансмиссию, двигатель и трансмиссию. B обозначает тело. C обозначает шасси, включая тормоза и подвеску. Коды U предназначены для проблем с самим компьютером.
Первая цифра указывает, является ли код общим или специфическим для производителя.Большинство кодов универсальны и применимы для разных производителей. Эти коды стандартизированы Обществом автомобильных инженеров. Производители могут добавлять свои собственные коды для своих конкретных систем. Стандартизированные коды имеют первую цифру 0 или 3, в то время как коды конкретных производителей имеют 1 или 2. Вторая цифра дополнительно указывает, какая конкретная подсистема затронута.
Разбивка второй цифры варьируется от одной системы к другой. Эта диаграмма тормозит все подсистемы по первым трем символам
P01 Учет топлива и воздуха
P02 Цепь форсунки
P03 Система зажигания
P04 Управление дополнительными выбросами
P05 Контроль скорости автомобиля и контроль холостого хода
P06 Компьютерные выходные цепи
P07 Трансмиссия
P08 Трансмиссия
B00 Кузов, включая подушки безопасности и ремни безопасности
C00 ABS
C01 Тормозная гидравлика
C02 Датчики скорости вращения колес и противобуксовочная система
C03 4WD
C04 Рулевое управление
C05 Рулевое управление
C06 Подвеска и выравнивание
C07 Давление в шинах
C08 Подвеска и выравнивание
Коммуникационная шина U00
U01 потеряна связь с датчиком
U02 потеряна связь с датчиком
Несовместимость программного обеспечения U03
U04 Получены неверные данные
Последние две цифры указывают на конкретную проблему. Затем вы можете сравнить этот код с информацией из SAE, чтобы определить, в чем заключается ваша проблема.
Специальные коды производителя могут не соответствовать этим правилам, за исключением буквы и первой цифры. Если вы получили код конкретного производителя, вам придется обратиться к руководству по обслуживанию или к другим ресурсам производителя, чтобы определить причину вашей проблемы.
Надеюсь, с этой информацией, когда в следующий раз загорится надоедливый индикатор проверки двигателя, вы сможете понять, что он пытается вам сказать.
Что такое порт OBD-II и для чего он используется?
Если вы приобрели автомобиль после 1996 года, скорее всего, он имеет порт OBD-II (бортовая диагностика II). Каждый автомобиль или грузовик, выпущенный после 1996 года, должен иметь установленное оборудование.
OBD-II — это бортовой компьютер, который отслеживает выбросы, пробег, скорость и другие данные о вашем автомобиле. Он подключен к индикатору Check Engine, который загорается, когда компьютер обнаруживает проблему.
Бортовой компьютер OBD-II имеет 16-контактный порт, расположенный под панелью со стороны водителя.Это позволяет механику или кому-либо еще прочитать код ошибки с помощью специального диагностического прибора.
OBD-I vs. OBD-II
Кредит изображения: Ален Ван ден Хенде / Wikimedia CommonsДо появления OBD-I у каждого производителя был свой набор стандартов для OBD, а это означало, что механикам приходилось покупать дорогие сканирующие инструменты для каждого производителя. OBD-I был впервые представлен в 1987 году и положил начало стандартизации бортовой диагностики.
У него были датчики, которые определяли выбросы и могли минимизировать их с помощью регулирующих клапанов.Однако у него было много проблем и недостатков.
В результате в 1996 году производители автомобилей начали оснащать легковые и грузовые автомобили портом OBD-II. Все системы в основном одинаковы, но есть небольшие вариации. Они известны как протоколы и предназначены только для производителей автомобилей.
Существует пять основных протоколов сигналов:
- SAE J1850 PWM: широтно-импульсная модуляция, используется в автомобилях Ford
- SAE J1850 VPW: Регулируемая ширина импульса, используемая в автомобилях General Motors
- ISO9141-2: Используется во всех автомобилях Chrysler и различных европейских или азиатских автомобилях.
- ISO14230-4 (KWP2000) : Протокол ключевых слов, используемый в различных импортных товарах из Европы и Азии, а также в Honda, Jeep, Land Rover, Subaru, Mazda, Nissan и т. Д.
- ISO 15765 CAN : сеть контроллеров, используется на всех транспортных средствах, выпущенных после 2008 г.
Контакты 4 и 5 во всех протоколах используются для заземления, а контакт 16 используется для питания от автомобильного аккумулятора.
Как только компьютер обнаружит проблему с двигателем или любым другим компонентом автомобиля, который он отслеживает, он включит световой индикатор Check Engine. Некоторые автомобили также мигают индикатором двигателя, если проблема очень серьезная.
Как работает OBD-II?
Диагностические коды неисправностей (DTC) хранятся в компьютерной системе. Коды могут отличаться от одного производителя к другому. Однако любой, у кого есть диагностический прибор OBD-II, может подключиться к порту и прочитать диагностические коды неисправностей с компьютера.
Причина, по которой любой диагностический прибор OBD-II может считывать коды, заключается в стандартизированной распиновке.Инструменты сканирования могут считывать данные из любого из перечисленных выше протоколов. Стандартизированная распиновка следующая.
- Pin 1 : Используется производителем
- Pin 2 : Используется SAE J1850 PWM и VPW
- Pin 3 : Используется производителем
- Контакт 4 : Земля
- Контакт 5 : Земля
- Pin 6 : Используется ISO 15765-4 CAN
- Pin 7 : K-Line стандартов ISO 9141-2 и ISO 14230-4
- Pin 10 : используется только SAE J1850 PWM
- Pin 14 : Используется ISO 15765-4 CAN
- Pin 15 : K-линия ISO 9141-2 и ISO 14230-4
- Pin 16 : Питание от автомобильного аккумулятора
Сканеры OBD-II могут подключаться к этим портам и определять код неисправности от любого производителя, который использует один из протоколов OBD-II.
Что можно подключить к порту OBD-II?
Обычно механик подключает сканер к порту, чтобы прочитать код неисправности. Менее дорогие сканеры будут предоставлять только числовой код, который механик затем найдет в руководстве производителя или на веб-сайте обслуживания. Более дорогие сканеры предоставляют текстовые коды ошибок.
Однако в последние годы появились более продвинутые инструменты для обычных водителей, которые не хотят полагаться на механика, чтобы выяснить, что не так с их автомобилем.
Одним из примеров является USB-адаптер OBDLink SX от ScanTool, который позволяет считывать коды неисправностей с помощью портативного компьютера.
Это устройство позволяет подключаться напрямую к порту OBD-II, а другой конец — к USB-порту ноутбука с Windows.
Это превращает ваш компьютер в продвинутый сканер OBD, плюс вы даже можете погасить индикатор Check Engine с помощью диагностического программного обеспечения OBDwiz.
Если вы предпочитаете беспроводное решение, ScanTool также предлагает OBDLink MX Bluetooth.
Это устройство позволяет вам читать диагностику вашего автомобиля с помощью ноутбука с ОС Windows или Android-устройства.
Он поставляется с бесплатным программным обеспечением Windows и Android для удаленной диагностики вашего автомобиля.
Другие приложения для мобильного сканера OBD-II
Компьютерная система в вашем автомобиле постоянно контролирует различные системы и компоненты в вашем автомобиле.
Это означает, что любое устройство, которое подключается к порту, может считывать ту же информацию и передавать ее вашему мобильному устройству.Представьте, что вы открываете приложение на своем телефоне и просматриваете текущий расход топлива вашего автомобиля, температуру, давление масла и многое другое.
Сегодня это возможно с любым из устройств и приложений, перечисленных ниже.
Продукты BAFX — WiFi OBD Reader (iOS)
Этот беспроводной считыватель OBD от BAFX Products превращает ваше устройство iOS в впечатляющий, продвинутый инструмент OBD. Вы можете не только считывать все данные диагностики вашего автомобиля, но также отслеживать такие данные в реальном времени, как:
- Температура двигателя
- Расход топлива
- Напряжение датчика O2
- Уровень напряжения аккумулятора
- Время, когда ваш двигатель работал
Это полезный инструмент для отслеживания данных о ваших автомобильных системах, которые вам не показывает ваша собственная приборная панель.
Однако имейте в виду, что сторонние приложения, которые работают с этим устройством, не бесплатны.
Panlong Bluetooth OBD-II Автомобильный диагностический сканер (Android)
Если вы ищете недорогое решение, вы не ошибетесь с этим диагностическим сканером OBD-II для Android от Panlong.
Это устройство работает с различными приложениями Android, такими как Torque Pro, Torque Lite или OBD Car Doctor.Просто включите Bluetooth, и вы сможете просматривать различные данные датчиков и диагностировать коды ошибок, когда загорается индикатор Check Engine.
В отличие от большинства других устройств в этом ценовом диапазоне, это устройство также позволяет очищать коды ошибок для незначительных вещей, таких как неплотная крышка топливного бака.
iSaddle Super Mini Bluetooth OBD2 Scan Tool
Еще одно недорогое решение для вашего Android-устройства — iSaddle Super Mini Bluetooth OBD2 Scan Tool.
Просто включите Bluetooth на своем телефоне и подключитесь к этому диагностическому прибору, чтобы считывать информацию с вашего порта OBD-II.Устройство может читать все протоколы OBD-II. Вы можете использовать его с программным обеспечением Torque Android или даже программным обеспечением ScanMaster для вашего ноутбука с поддержкой Bluetooth.
И если это важно для вас, у вас есть выбор из трех цветов адаптера порта!
BlueDriver — Bluetooth Professional OBDII Scan Tool
BlueDriver Bluetooth Professional OBDII Scan Tool предназначен для всех, кому нужен более функциональный сканер портов OBD-II. Этот сканер поддерживает Bluetooth и работает как с устройствами Android, так и с iOS.
Это несколько дороже, чем другие устройства чтения беспроводных портов, представленные на рынке.Тем не менее, это те функции, которые вы ожидаете от тех же дорогих инструментов сканирования, которые используют механики.
Устройство позволяет использовать мобильное приложение для чтения и удаления как основных, так и расширенных кодов ошибок.Он также включает предварительные тесты, такие как подсчет пропусков зажигания, данные в реальном времени в виде цифровых данных и графиков и даже отчеты о ремонте из часто обновляемой онлайн-базы данных.
АКПП ПРО АВТ-350
Чтение и очистка кодов ошибок полезно, но если вы действительно хотите иметь доступ к данным в реальном времени, тогда вам подойдет автоматический адаптер PRO AUT-350 OBDII.
Это один из самых дорогих вариантов, но возможности просто потрясающие.
- Связь 3G обеспечивает удаленную информацию о транспортном средстве, где бы вы ни находились.
- Получайте данные об автомобиле в режиме реального времени, даже если вы находитесь далеко от автомобиля.
- Обнаруживает сбои и отправляет службы экстренной помощи, чтобы помочь вам.
- Интегрируется с Echo, Nest и IFTTT.
- Включено отслеживание GPS, поэтому вы всегда будете знать местонахождение вашего автомобиля.
Несмотря на то, что цена устанавливает этот передовой сканер в пределах диапазона многих дорогостоящих инструментов, используемых механиками, все эти впечатляющие характеристики делают его оправданным.
Использование вашего порта OBD-II
Порт OBD-II был доступен в автомобилях уже много лет, но только недавно стал доступен для обычных водителей. Наличие этих устройств и приложений позволит вам лучше понять, что происходит с вашим автомобилем, задолго до того, как возникнут какие-либо серьезные проблемы.
Многие из этих сканеров портов оснащены функциями отслеживания местоположения. Если это то, что вас больше интересует, обязательно ознакомьтесь с некоторыми из лучших GPS-трекеров для вашего автомобиля. Даже если они не покажут вам диагностику вашего автомобиля, по крайней мере, они позаботятся о том, чтобы вы никогда не заблудились.
Не нужно пиратов: 9 популярных приложений, которые можно использовать бесплатно или дешевоВот как получить доступ к распространенным пиратским приложениям бесплатно, со скидкой или через альтернативное программное обеспечение.
Об авторе Райан Дьюб (Опубликовано 957 статей)Райан имеет степень бакалавра электротехники. Он проработал 13 лет в области автоматизации, 5 лет в ИТ, а теперь работает инженером по приложениям.Бывший управляющий редактор MakeUseOf, он выступал на национальных конференциях по визуализации данных и был показан на национальном телевидении и радио.
Больше От Райана ДьюбаПодпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в письме, которое мы вам только что отправили.
OBD2 Объяснение — Простое введение (2021)
Вам нужно простое и практичное введение в OBD2?
В этом руководстве мы представляем протокол бортовой диагностики (OBD2), в т.ч. разъем OBD2, идентификаторы параметров OBD2 (PID) и связь с шиной CAN.
Примечание: это практическое введение , так что вы также узнаете, как запрашивать и декодировать данные OBD2, сценарии использования ключевого журнала и практические советы.
См. Ниже, почему он стал # 1 OBD2 tutorial .
Вы также можете посмотреть наше вступительное видео OBD2 выше (150K + просмотров на YouTube)
Что такое OBD2?
Короче говоря, OBD2 — это встроенная система самодиагностики вашего автомобиля.
Вы, наверное, уже сталкивались с OBD2:
Вы когда-нибудь замечали световой индикатор неисправности на приборной панели?
Это ваша машина сообщает вам о проблеме. Если вы посетите механика, он будет использовать сканер OBD2 для диагностики проблемы.
Для этого он подключит считыватель OBD2 к 16-контактному разъему OBD2 рядом с руль.
Это позволяет ему считывать коды OBD2, также известные как диагностические коды неисправностей (DTC), для просмотра и устранения проблемы.
Разъем OBD2
Разъем OBD2 позволяет легко получить доступ к данным из вашего автомобиля. Стандарт SAE J1962 определяет два типа 16-контактных разъемов OBD2 (A и B).
На иллюстрации показан пример штыревого разъема OBD2 типа A (также иногда называемого разъемом канала передачи данных, DLC).
Несколько замечаний:
- Разъем OBD2 находится рядом с рулем, но может быть спрятан за крышки / панели
- Не все штекерные разъемы подходят ко всем гнездовым разъемам OBD2 — проверьте тип и распиновку порта OBD.
- Контакт 16 обеспечивает питание от автомобильного аккумулятора — часто даже при выключенном зажигании
- Контакты 6 (CAN-H) и 14 (CAN-L) наиболее актуальны, поскольку CAN (ISO 15765-4) является стандартом для большинства современных автомобилей (в т. ч.Электромобили)
Есть ли в моей машине OBD2?
Короче: Наверное!
Почти все новые автомобили поддерживают OBD2 и большинство работают на CAN (ISO 15765). Для старых автомобилей имейте в виду, что даже если присутствует 16-контактный разъем OBD2, он все равно может не поддерживать OBD2. Один из способов определить соответствие — определить где и когда был куплен новый :
Связь между OBD2 и CAN-шиной
Бортовая диагностика, OBD2, является «протоколом более высокого уровня» (воспринимайте его как язык), а шина CAN — это метод для связь (как по телефону).
В частности, стандарт OBD2 указывает разъем OBD2, в т.ч. набор из пяти протоколов, на которых он может работать. Кроме того, с 2008 года шина CAN (ISO 15765) была обязательным протоколом для OBD2 во всех автомобилях, продаваемых в США, что в основном со временем устраняет остальные 4 протокола.
Обратите внимание, что ISO 15765 относится к набору ограничений, применяемых к стандарту CAN, который определен через ISO 11898 — можно сказать, что ISO 15765 подобен «CAN для автомобилей».
Кроме того, OBD2 можно сравнить с другими протоколами более высокого уровня, такими как J1939 и CANopen.
Обзор основных стандартов OBD2Ниже мы перечисляем некоторые из наиболее актуальных стандартов SAE / ISO, относящихся к OBD2:
SAE J1962: Этот стандарт определяет физический разъем, используемый для интерфейса OBD2, то есть разъем OBD2. Стандарт описывает как разъем OBD2 транспортного средства, так и разъем, используемый внешним испытательным оборудованием (например, сканером OBD2 или регистратором данных OBD2). В частности, стандарт диктует расположение и доступ к разъему OBD2.
SAE J1979: Стандарт SAE J1979 описывает методы запроса диагностической информации через протокол OBD2. Он также включает список стандартизированных общедоступных идентификаторов параметров OBD2 (OBD2 PID), которые автомобильные OEM-производители могут внедрить в автомобили (хотя они не обязаны это делать). Производители транспортных средств также могут принять решение о внедрении дополнительных проприетарных PID OBD2 помимо тех, которые указаны в стандарте SAE J1979.
SAE J1939: Стандарт J1939 описывает протокол данных, используемый для связи в тяжелых транспортных средствах.В то время как информация OBD2 PID доступна только по запросу тестовым оборудованием OBD2, протокол J1939 используется в большинстве тяжелых транспортных средств в качестве основного средства для передачи трафика CAN, то есть данные передаются непрерывно.
ISO 11898: Этот стандарт описывает уровень канала передачи данных CAN-шины и физический уровень, служащий основой для связи OBD2 в большинстве современных автомобилей
ISO 15765-2: Стандарт ISO-TP описывает «Транспортный уровень», т.е.как отправлять пакеты данных размером более 8 байт по шине CAN. Этот стандарт важен, поскольку он формирует основу для связи Unified Diagnostic Services (UDS), которая основывается на отправке многокадровых пакетов данных CAN.
ISO 14229-1: Подробно описывает связь UDS, частично заимствованную из уже устаревшего стандарта ISO 15765-3.
История OBD2
OBD2 происходит из Калифорнии , где Калифорнийский совет по воздушным ресурсам (CARB) Требуется OBD во всех новых автомобилях с 1991 года для контроля выбросов.
Стандарт OBD2 был рекомендован Обществом автомобильных инженеров (SAE) и стандартизированными кодами неисправности и Разъем OBD от производителей (SAE J1962).
Оттуда стандарт OBD2 выкатили пошагово :
- 1996: OBD2 сделана обязательной в США для автомобилей / light грузовики
- 2001: Требуется в ЕС для бензиновых автомобилей
- 2003: Требуется в ЕС также для дизельных автомобилей (EOBD)
- 2005: OBD2 требовался в США для автомобилей средней грузоподъемности
- 2008: Американские автомобили должны использовать ISO 15765-4 (CAN) в качестве основы OBD2
- 2010: Наконец, OBD2 требовался в транспортных средствах большой грузоподъемности в США
OBD2 будущее
OBD2 здесь, чтобы остаться — но в какой форме?
Два потенциальных маршрута могут радикально изменить OBD2:
OBD3 / OBD-III — беспроводное тестирование выбросов
В современном мире подключенных автомобилей тесты OBD2 могут показаться обременительными: выполнение проверок контроля выбросов вручную занимает много времени и дорого.
Решение? OBD3 — добавление телематики во все автомобили .
По сути, OBD3 добавляет небольшой радиотранслятор (например, при платных мостах) для всех автомобилей. Используя это, автомобиль , идентификационный номер транспортного средства (VIN) и коды неисправности могут быть отправлены через Wi-Fi на центральный сервер для проверок.
Многие устройства сегодня уже обеспечивают передачу данных CAN или OBD2 через Wi-Fi / сотовую связь — например, регистратор CANedge2 WiFi CAN.
Это экономит средства и удобно, но это также политическая проблема из-за проблем с наблюдением.Для получения дополнительной информации см. Этот обзор AutoTap.
Устранение сторонних сервисов OBD2Протокол OBD2 был первоначально разработан для стационарного контроля выбросов.
Тем не менее, сегодня OBD2 широко используется для генерации данных в реальном времени третьими сторонами — через ключи OBD2, логгеры CAN и т. Д. Однако немецкая автомобильная промышленность стремится изменить это:
OBD предназначена для обслуживания автомобилей в ремонтных мастерских. Это никоим образом не предназначалось для того, чтобы позволить третьим сторонам создавать форму экономия на данных при доступе через этот интерфейс ”
— Кристоф Гроте, старший вице-президент по электронике, BMW (2017)
Предлагается «отключить» функциональность OBD2 во время вождения — и вместо этого собирать данные на центральном сервере.Это эффективно поставило бы производителей в контроль автомобильных «больших данных».
Аргументация основана на безопасности (например, устранение риска автомобиля взлом), хотя многие видят в этом коммерческий ход. Станет ли это реальной тенденцией? можно увидеть — но это может действительно подорвать рынок услуг сторонних производителей OBD2.
Идентификаторы параметров OBD2 (PID)
Зачем вам нужны данные OBD2?
Механики, очевидно, заботятся о диагностических кодах неисправности OBD2 (возможно, вы тоже), в то время как регулирующим органам требуется OBD2 для контроля выбросов.
Но протокол OBD2 также поддерживает широкий диапазон стандартных идентификаторов параметров (PID), которые могут быть зарегистрированы в большинстве автомобилей.
Это означает, что вы можете легко получить удобочитаемые данные OBD2 из вашего автомобиля на скорость, обороты, положение дроссельной заслонки и многое другое.
Другими словами, OBD2 позволяет вам легко анализировать данные с вашего автомобиля — в отличие от оригинальных оригинальных необработанных данных CAN.
Расшифровка данных OBD2 и CAN-шиныВ принципе, записать необработанные кадры CAN с вашего автомобиля просто.Если вы, например, подключить CAN-логгер к разъему OBD2, вы сразу же начнете регистрировать транслируемые данные шины CAN. Однако необработанные сообщения CAN необходимо декодировать с помощью базы данных правил преобразования (DBC) и подходящего программного обеспечения CAN, которое поддерживает декодирование DBC (например, asammdf). Проблема в том, что эти файлы CAN DBC обычно проприетарный, что делает необработанные данные CAN нечитаемыми, если вы не автомобильный OEM.
Автомобильные хакеры могут попытаться реконструировать правила, хотя это может быть сложно.CAN, однако, по-прежнему является единственным способом получить «полный доступ» к данным вашего автомобиля, тогда как OBD2 обеспечивает доступ только к ограниченному набору данные.
Как записать данные OBD2?
Регистрация данных OBD2 работает следующим образом:
- Подключаете регистратор OBD2 к разъему OBD2
- Используя инструмент, вы отправляете «кадры запроса» через CAN
- Соответствующие ЭБУ отправляют «кадры ответа» через CAN
Другими словами, регистратор CAN, который может передавать пользовательские кадры CAN, также может использоваться как регистратор OBD2.
Обратите внимание, что автомобили различаются в зависимости от модели / года тем, какие OBD2 PID они поддерживают. Для получения дополнительной информации см. Наше руководство по регистратору данных OBD2.
Регистратор данных CANedge OBD2
CANedge позволяет легко записывать данные OBD2 на SD-карту емкостью 8-32 ГБ. Просто укажите какие OBD2 PID вы хотите запросить, затем подключите его к автомобилю через адаптер OBD2, чтобы начать регистрацию. Обработайте данные с помощью бесплатного программного обеспечения / API и нашего OBD2 DBC.
учить большеНеобработанные детали рамы OBD2
Чтобы начать запись данных OBD2, полезно понять основы необработанной структуры сообщения OBD2.Говоря упрощенно, сообщение OBD2 состоит из идентификатор и данные . Кроме того, данные разделяются на режим, PID и байты данных (A, B, C, D), как показано ниже.
Пример сообщения CAN запроса / ответа для PID «Скорость автомобиля» со значением 50 км / ч может выглядеть следующим образом:
Запрос: 7DF 02 01 0D 55 55 55 55 55
Ответ: 7E8 03 41 0D 32 AA AA AA AA
Объяснение полей сообщения OBD2Идентификатор: Для сообщений OBD2 стандартный 11-битовый идентификатор используется для различения «сообщений запроса» (ID 7DF) и «сообщений ответа» (ID 7E8). до 7EF).Обратите внимание, что 7E8 обычно находится там, где отвечает главный двигатель или ECU.
Длина: Это просто отражает длину в байтах оставшихся данных (с 03 по 06). В примере со скоростью транспортного средства это 02 для запроса (поскольку следуют только 01 и 0D), а для ответа — 03, так как следуют 41, 0D и 32.
Режим: Для запросов это будет между 01-0A. В ответах 0 заменяется на 4 (т.е. 41, 42,…, 4A). Есть 10 режимов, как описано в SAE Стандарт J1979 OBD2.Режим 1 показывает текущие данные и, например, используется для просмотра скорости транспортного средства в реальном времени, оборотов в минуту и т. д. Другие режимы используются, например, для показать или очистить сохраненную диагностику коды неисправностей и показать данные о стоп-кадре.
PID: Для каждого режима существует список стандартных OBD2 PID — например, в режиме 01 PID 0D — это скорость автомобиля. Полный список можно найти в обзоре Wikipedia OBD2 PID. У каждого PID есть описание, а у некоторых есть заданный минимум / максимум и преобразование. формула.
Формула скорости e.г. просто A, что означает, что байт данных A (который находится в HEX) преобразуется в десятичное, чтобы получить преобразованное значение км / ч (т.е. 32 становится 50 км / ч выше). Например, RPM (PID 0C), формула (256 * A + B) / 4.
A, B, C, D: Это байты данных в HEX, которые необходимо преобразовать в десятичную форму, прежде чем они будут использоваться в вычислениях формулы PID. Обратите внимание, что последний байт данных (после Dh) не используется.
Регистрация данных OBD2 — примеры использования
Данные OBD2 от легковых и легких грузовиков могут использоваться в различных сценариях использования:
Запись данных с автомобилей
OBD2 данные от автомобилей могут e.г. использоваться для снижения затрат на топливо, улучшения вождения, тестирования деталей прототипа и страхования
Учить большеДиагностика автомобиля в режиме реального времени
ИнтерфейсыOBD2 могут использоваться для потоковой передачи данных OBD2 в реальном времени, например для диагностики проблем с автомобилем
Учить большеПрофилактическое обслуживание
Легковые и легкие грузовики можно контролировать с помощью регистраторов IoT OBD2 в облаке, чтобы прогнозировать и избегать поломок
Учить большеРегистратор черного ящика автомобиля
Регистратор OBD2 может служить «черным ящиком» для транспортных средств или оборудования, предоставляя данные для e.г. споры или диагностика
Учить большеЕсть ли у вас вариант использования регистрации данных OBD2? Получите бесплатный спарринг!
Связаться с намиКакой тип регистратора OBD2 вам нужен?
Ниже описаны наиболее распространенные категории анализаторов OBD2:
Сканеры OBD2: Используются в качестве диагностических приборов автомобиля при статическом считывании / очистке кодов неисправности, например, механика. Обычно используется диагностический прибор OBD2. в диагностике проблем с автомобилем, напримеробозначается активированной MIL. Различные типы существуют, и некоторые частные лица используют недорогие варианты в качестве простых считывателей кода автомобиля для самодиагностики состояния своего автомобиля.
Ключи Bluetooth OBD2: Существует множество ключей Bluetooth OBD2, которые позволяют просматривать данные об автомобиле прямо на смартфоне через приложение. Как правило, ключи Bluetooth OBDII дешевы и просты в использовании, хотя также ограничены в плане их использования за пределами цели визуализации Bluetooth в приложении. В Назначение ключа OBD2 bluetooth обычно заключается в мониторинге личного поведения при вождении и состояния автомобиля.
Интерфейсы OBD2: Предоставляют данные OBD2 в реальном времени на ПК через потоковую передачу по USB. Интерфейсы OBD2 обычно используются в расширенной диагностике автомобилей. и разработка автомобилей OEM. Кроме того, интерфейсы CAN, которые поддерживают запросы OBD2, могут быть полезны как часть проприетарных параметров шины CAN при обратном проектировании.
Регистраторы OBD2: Используется для регистрации данных OBD2 от автомобиль на SD-карту — идеально подходит, например, для Варианты использования «черного ящика» или полевые испытания прототипов производителями автомобильных комплектующих.Например, CANedge1 позволяет вам регистрировать данные шины CAN, а также запрашивать данные OBD2, отправляя пользовательские запросы кадров на шину CAN.
Регистратор WiFi OBD2: Регистраторы WiFi OBD2 и ключи WiFi OBD2 обеспечивают автоматическую передачу данных OBD2 через WiFi (включая 3G / 4G) на сервер / облако. Регистраторы WiFi OBD2 обычно используются для OBD2 случаи использования телематики, когда данные о автопарке должны собираться автоматически и визуализироваться с помощью панелей данных OBD2. Например, CANedge2 позволяет вам регистрировать данные CAN / OBD2 и автоматически передавать их через точку доступа WiFi на ваш собственный сервер.Данные могут обрабатываться с помощью бесплатных программных инструментов и, например, визуализируется в дашбордах Grafana.
CANedge2 позволяет легко регистрировать OBD2 данные на SD-карту — и загрузить их через Wi-Fi на свой сервер.
Необходимо регистрировать / передавать данные OBD2?
Получите регистратор данных OBD2 сегодня!
Рекомендовано для вас
Справочная информация по OBD-II
OBD-II Фон
Что такое OBD-II?
Откуда это пришло из?
Зачем это нужно?
Есть ли в моей машине OBD-II?
Как мы измерить выход OBD-II?
Что хорошего это нужно для измерения выхода OBD-II?
Скажите я о том «Проверьте свет двигателя».
OBD-II и ваш исправность автомобиля
Показания собственных датчиков
OBD-II и настройка производительности
Что такое OBD-II?
Бортовые системы диагностики есть в большинстве легковых и легких грузовиков сегодня в дороге. В 70-х и начале 80-х производители начали использовать электронные средства для управления функциями двигателя и диагностики проблем двигателя.Это было в первую очередь для встречи Стандарты выбросов EPA. С годами бортовые диагностические системы стали больше сложный. OBD-II, новый стандарт, представленный в середине 90-х, обеспечивает почти полную управление двигателем, а также отслеживает детали шасси, кузова и вспомогательных устройств, а также в качестве диагностической сети управления автомобилем.
[В начало]
Откуда это взялось?
Для решения проблемы смога в бассейне Лос-Анджелеса, штат Калифорния начала требовать системы контроля выбросов для автомобилей модели 1966 года.Федеральный Правительство распространило этот контроль по всей стране в 1968 году.
Конгресс принял Закон о чистом воздухе в 1970 году и учредил Агентство по охране окружающей среды (EPA). Так началась серия градуированных эмиссий. стандарты и требования по техническому обслуживанию автомобилей в течение длительного периода времени. Чтобы соответствовать этим стандартам, производители перешли на систему подачи топлива с электронным управлением и системы зажигания. Датчики измеряли производительность двигателя и настраивали системы, чтобы обеспечить минимальное загрязнение.Эти датчики также были доступны для ранней диагностики. помощь.
Сначала было несколько стандартов, и каждый производитель имел свои собственные системы и сигналы. В 1988 году Общество автомобильных инженеров (SAE) установило штекер штатного разъема и набор диагностических тестовых сигналов. EPA адаптировало большую часть своих стандарты бортовых диагностических программ и рекомендаций SAE. OBD-II — это расширенный набор стандартов и практик, разработанных SAE и принятых EPA и CARB (Калифорнийский совет по воздушным ресурсам) для внедрения к 1 января 1996 г.
[В начало]
Зачем это нужно?
Агентству по охране окружающей среды было поручено сокращение «мобильных выбросов» от легковых и грузовых автомобилей и получение мощности, необходимой для производителям для создания автомобилей, которые соответствуют все более жестким стандартам выбросов. В производители должны и далее поддерживать стандарты выбросов автомобилей в течение срока полезного использования. автомобиля.OBD-II предоставляет универсальный метод проверки и диагностики, чтобы убедиться, что Автомобиль соответствует стандартам OEM. Хотя есть аргументы относительно точных стандартов и Используемая методология свидетельствует о необходимости сокращения выбросов транспортных средств. уровни в наших городах, и мы должны жить с этими требованиями.
[В начало]
Есть ли в моей машине OBD-II?
Все автомобили, выпущенные с 1 января 1996 года, имеют систему OBD-II.Производители начали включать OBD-II в различные модели еще в 1994 году. Автомобили OBD-II не были на 100% совместимы. <Щелкните здесь> чтобы увидеть даты начала включения OBD-II в определенные марки и модели.
Используется пять основных протоколов OBD-II, каждый с незначительные изменения в схеме связи между бортовым диагностическим компьютером и консоль сканера или инструмент. Хотя между протоколы за последние несколько лет, как правило, продукты Chrysler и все европейские и в большинстве импортных товаров из Азии используются схемы ISO 9141 или KWP2000.Легковые и легкие грузовики GM используют SAE J1850 VPW (Регулируемая широтно-импульсная модуляция), а Ford используют SAE J1850 PWM (широтно-импульсная модуляция) шаблоны общения. <Щелкните здесь>, чтобы увидеть какие автомобили используют каждую систему. CAN — это новейший протокол, добавленный к спецификации OBD-II, и он обязателен для всех моделей 2008 года и более новых лет.
Вы также можете указать, какой протокол используется на конкретном автомобиля, внимательно осмотрев гнездо разъема.Если в разъеме приборной панели есть штырь положение №7 и отсутствие штифта в №2 или №10, тогда автомобиль имеет протокол ISO 9141 или KWP2000. Если нет булавки присутствует в позиции №7, в автомобиле используется протокол SAE. Если в позиции №7, №2 и / или №10, автомобиль может использовать протокол ISO . Протокол CAN использует контакты №6 и №14.
Пока существуют протоколы электрического подключения OBD-II, набор команд установлен в соответствии со стандартом SAE J1979.
[В начало]
Как мы измеряем OBD-II выход?
Автомобили Pre-OBD-II имели разъемы в различных положениях под приборной панелью и под капотом. Все автомобили OBD-II имеют разъем, расположенный в салоне автомобиля, доступный с места водителя. Проверьте под приборной панелью, за пепельницей или рядом с ней. Кабель вставляется в разъем OBD-II J1962 и подключается к AutoTap или другому диагностическому прибору.AutoTap доступен на ПК / ноутбуке. Другие инструменты сканирования, представленные на рынке, варьируются от простых портативных счетчиков, отображающих коды неисправностей, до больших консольных компьютерных устройств стоимостью в тысячи долларов.
[В начало]
Что хорошего в этом для измерения выхода OBD-II?
Сигналы OBD-II чаще всего ищутся в ответ на На приборной панели появляется «Check Engine Light» или проблемы с управляемостью опыт работы с автомобилем.Данные, предоставляемые OBD-II, часто могут точно определить конкретный компонент, который вышел из строя, что значительно экономит время и деньги по сравнению с условный ремонт. Сканирование сигналов OBD-II также может предоставить ценную информацию. при условии покупки подержанного автомобиля.
[В начало]
Расскажите мне об этом «Check Engine Light».
Сфера услуг называет индикатор Check Engine на вашем загорится контрольная лампа «MIL» или индикатор неисправности.Он показывает три разных типа сигналы. Случайные вспышки указывают на кратковременные неисправности. Он остается включенным, если проблема в более серьезный характер, влияющий на уровень выбросов или безопасность транспортного средства. А постоянно мигающий индикатор MIL является признаком серьезной проблемы, которая может вызвать серьезные повреждения, если двигатель не останавливается сразу. Во всех случаях «стоп-кадр» всего датчика показания на момент записываются в центральный компьютер транспортного средства.
Сигналы жесткого отказа, вызванные серьезными проблемами, вызовут контрольная лампа должна оставаться включенной каждый раз, когда машина работает, пока проблема не будет устранена, а контрольная лампа неисправности сброс.Периодические сбои вызывают кратковременное загорание контрольной лампы неисправности и частое ее отключение. до обнаружения проблемы. Стоп-кадр состояния автомобиля, записанный в компьютер во время неисправности может быть очень ценным при диагностике этих периодически возникающие проблемы. Однако в некоторых случаях, если автомобиль выполняет три ездовых цикла без повторного возникновения проблемы стоп-кадр будет удален.
[В начало]
OBD-II и ваш автомобиль здоровье
Из-за инвестиций в необходимое оборудование большинство ремонтные мастерские взимают плату, иногда значительную, за установку сканирующего оборудования и диагностировать проблемы с помощью сигналов системы OBD-II.Домашняя механика и небольшой магазин техническим специалистам было запрещено работать с этими сигналами из-за стоимости и технических сложность оборудования. С введением более экономичных и удобных в использовании сканирующие устройства, теперь практически любой может получить доступ к сигналам OBD-II и использовать их для собственного тестирования и ремонта.
Сканеры сильно различаются по сложности. Лучшее соединение легко и использовать программное обеспечение для быстрого и автоматического вызова информации OBD-II.Система, подключенная к ноутбуку или настольному компьютеру компьютер предоставляет расширенную память для данных и графическую утилиту.
[В начало]
Собственный датчик Показания
Хотя это и не входит в стандарт EPA OBD II, диагностические показания, используемые Технические специалисты дилерского центра также читаются через разъем OBD II. Эти сервисные коды покажет вам такие вещи, как работа датчика детонации, ширина импульса FI, напряжение зажигания, пропуски зажигания в отдельных цилиндрах, моменты переключения передач и состояние тормозов ABS. В зависимости от производителя и модели автомобиля может быть доступно более 300 показаний. Транспортные средства различаются по показаниям, которые они поддерживают. Сканеры сильно различаются по количеству эти сигналы, которые они могут прочитать. Некоторые показывают только основные сигналы OBD или OBD II, другие показывают полный набор сервисных кодов.
[В начало]
OBD-II и настройка производительности
В то время как огромное количество водителей не хочет ничего, кроме надежная, экономичная транспортировка, многие из нас ищут OBD-II в качестве дополнительной спектакль.В более ранних системах бортовых компьютеров были микросхемы, которые можно было заменить для настройки параметры двигателя для дополнительной скорости и мощности. В то время как системы OBD-II запломбированы и работают не позволяют заменять чип, они предоставляют систему сбора данных в реальном времени, которая пригодится тюнерам.
Силовые погрузчики действительно могут перепрограммировать производительность параметры системы OBD-II для размещения вариантов производительности. В настоящее время количество моделей, которые они могут обслуживать, ограничено, но ассортимент расширяется.Быть уверенным человек, выполняющий ваше перепрограммирование, поддерживает соответствие автомобиля требованиям EPA. стандарты. Поскольку производители вторичного рынка разрабатывают дополнительные решения, мы будем добавлять их информация по нашим ссылкам.
[В начало]
Для получения информации о сканирующем приборе AutoTap OBDII посетите сайт www.autotap.com.
[OBD-II Home]
© 2011 B&B Electronics | Домашняя страница OBD-II находится на хосте |
Какой лучший инструмент сканирования OBD2 для портативного компьютера
Сканирование кодов автомобильных ошибок на портативном компьютере имеет преимущества перед многими портативными сканирующими приборами.
Ручные инструменты великолепны и по большей части работают, но иногда могут не работать.
Например, недавно я пытался диагностировать лампу ABS у друга 2004 F150 с помощью моего дешевого сканирующего прибора, и он ничего не нашел.
Затем я отнес его в местный магазин запчастей, и они тоже не смогли найти проблему.
Не желая признать поражение, я начал читать онлайн и нашел Scan Tool 425801 для ПК. Посмотрев на сопоставимые варианты, я подумал, что попробую.
Краткий видеообзор
Он поставляется с адаптером OBD2, который подключается к USB-порту портативного компьютера, и программным обеспечением для кодов диагностики под названием OBDwiz.
Он обнаружил неправильный код на F150, который был задним датчиком скорости.
Имейте в виду, что существуют и другие варианты диагностического прибора, например, использование смартфона или покупка хорошего портативного инструмента.
Если вы не хотите таскать с собой ноутбук, адаптеры Bluetooth OBD2 для смартфонов также могут быть дешевым вариантом.
Одной из причин, по которой решение на базе ПК может быть лучше, является программное обеспечение и простота чтения интерфейса.
Существует множество бесплатных и платных диагностических программ OBD2, которые постоянно обновляются.
Также легко попробовать новые программные интерфейсы, чтобы увидеть, какой из них вам подходит. Вы можете ознакомиться со списком программного обеспечения OBD2 для ПК здесь. https://www.elmelectronics.com/help/obd/software/
На мой взгляд, больший экран ноутбука намного лучше любого сканирующего прибора или смартфона не только по простоте чтения, но и по исследованию.
Есть много хороших программ, которые можно использовать на ПК.
После того, как сканирующий прибор обнаружит код и вы получите номер кода OBD2, следующим шагом будет поиск информации в Интернете.
Быстро искать информацию в Интернете с помощью ноутбука намного проще, по крайней мере, для меня. Читать форумы и смотреть видео на YouTube проще для глаз при проведении исследований.
Конечно, это личный вариант, и использование сканера для смартфона так же дешево, как сканер для ноутбука.
То, что работает для меня, может не сработать для кого-то другого, поэтому обязательно прочитайте другие обзоры, которые лучше всего подходят для вас.
Подробнее о 425801 здесь, на Amazon
ScanTool OBDLink SX USB: инструмент сканирования для автомобилей OBD-II профессионального уровня для Windows — данные и диагностика автомобилей и грузовиков своими руками
Что такое OBD? Система мониторинга выбросов. Где находится OBD? В ПКМ.
Презентация на тему: «Что такое OBD? Система контроля выбросов.Где находится OBD? В РСМ »- стенограмма презентации:
1 Что такое OBD? Система мониторинга выбросов
2 Где находится OBD? В PCM
3 Что делает OBD? Мониторинг систем выбросов в соответствии с требованиями EPA и CARB
4 Каким образом заказчик уведомляется о нарушении выбросов? MIL (контрольная лампа неисправности)
5 Когда я запустил OBD? Калифорнийские автомобили 1988 г.
6 Когда запустился OBD II? 1996 г. (вводится с 1994 г.)
8 Какие системы НЕ контролируются OBD I? HO2S Нагреватель HO2S Эффективность катализатора EGR Пропуски зажигания Вторичный воздух Система EVAP TSTAT PCV
9 Когда OBD I включает MIL? Когда неисправность присутствует Когда неисправности нет Когда OBD I выключает контрольную лампу?
10 Какие системы контролируются OBD II? HO2S Нагреватель датчика HO2S Комплексный компонент топливной системы EGR (CCM) Эффективность катализатора пропусков зажигания Система EVAP Система вторичного воздуха TSTAT PCV
11 Какие мониторы OBD II работают непрерывно? HO2S Нагреватель датчика HO2S Комплексный компонент топливной системы рециркуляции отработавших газов (CCM) Эффективность катализатора Система пропуска зажигания EVAP Система вторичного воздуха TSTAT PCV * * *
12 Когда OBD II отключает MIL? 3 последовательных поездки без неисправности; 3 последовательных поездки без неисправности в «окне схожих условий» для пропусков зажигания и неисправностей топливной системы
.