- Что такое База Данных (БД) / Хабр
- Основные сведения о базах данных
- Что такое база данных и SQL.
- Что такое База знаний?
- Что такое база данных?
- Что такое «большая база данных»?
- Что такое базы данных?
- Базовое определение в химии
- Что такое база в химии?
- База (химия) — Энциклопедия Нового Света
- Что такое кислоты и основания?
- Какие четыре основы любви?
- Как называются основания, растворяющиеся в воде?
- Каковы 4 основы любви? Вот все, что вам нужно знать
- Что такое «базы» в свиданиях?
- Четыре базы
- Каковы наши новые четыре основы любви?
- Вот как можно округлить основы любви
- Что для вас значат эти новые базы
- Другая терминология, которую используют люди
- Действительно ли основы имеют значение для отношений?
- Вехи взаимоотношений, на которые следует обратить внимание
- Следуйте уникальному графику ваших отношений
- Hack Spirit только что запустил канал на YouTube… И это круто!
Что такое База Данных (БД) / Хабр
База данных — это место для хранения данных. Используется в том числе в клиент-серверной архитектуре. Это все интернет-магазины, сайты кинотеатров или авиабилетов… Вы делаете заказ, а система сохраняет ваши данные в базе.
В этот статье я на простых примерах расскажу, что такое база данных и как она выглядит. А потом поясню некоторые термины из конкретной (реляционной) базы. Те, с которыми вы почти наверняка столкнетесь на работу.
Статья рассчитана на начинающих тестировщиков или аналитиков, то есть тех, кто будет работать с базой, но не на супер-глубоком уровне. Она для тех, кто только входит в мир ИТ, и многого не знает. Она объясняет, что это за звено в клиент-серверной архитектуре такое, и зачем оно нужно.
Содержание
Что такое база данных
База данных — хранилище, куда приложение складывает свои данные. Если приложение небольшое, отдельная база не нужна. Но потом это становится удобнее и выгоднее с точки зрения памяти.
Катя решила открыть свой магазинчик. Она нашла хорошую марку обуви, которую «днем с огнем» не сыскать в ее городе. Заказала оптовую партию и стала потихоньку распродавать через знакомых. Пришлось освободить половину шкафа под коробки, но вроде всё поместилось.
Обувь хорошая, в розницу заказывать в других местах невыгодно — и вот уже у Кати есть постоянные клиенты, которые приводят друзей. Как только какая-то пара заканчивается, Катя делает новый заказ.
Но покупатели хотят новинок, разных размеров. Да и самих покупателей становится все больше и больше. В шкаф коробки уже не влезают!
Теперь, если покупатель просит определенную пару, Катьке сложно её найти. Пока коробок было мало, она помнила наизусть, где что лежит. А теперь уже нет, да и все попытки организовать систему провалились. Места мало, да и детки любят с коробками поиграть.
Тогда Катька решила арендовать складское помещение. И вот теперь красота! Не надо теснить своих домашних, дома чисто и свободно! И на складе место есть, появилась система — тут босоножки, тут сапоги…
Чем больше объемы производства, тем больше нужно места. Если в начале пути склад не нужен, всё поместится дома, то потом это будет оправданно.
Тоже самое и в приложениях. Если приложение маленькое, то все данные можно хранить в памяти. Но учтите, что это память на вашем компьютере, вашем телефоне. И чем больше данных туда пихать, тем медленнее будет работать программа.
Место в памяти ограничено. Поэтому когда данных много, их нужно куда-то сложить. Можно писать в файлики, а можно сохранять информацию в базу данных (сокращенно БД). Выбор за вами. А точнее, за вашим разработчиком.
Как она выглядит
Да примерно как excel-табличка! Есть колонки с заголовками, и информация внутри:
Это называется реляционная база данных — набор таблиц, хранящихся в одном пространстве.
Что за пространство? Ну вот представьте, что вы храните все данные в excel. Можно запихать всю-всю-всю информацию в одну огро-о-о-о-мную таблицу, но это неудобно. Обычно табличек несколько: тут информация по клиентам, там по заказам, а тут по адресам. Эти таблицы удобно хранить в одном месте, поэтому кладем их в отдельную папочку:
Так вот пространство внутри базы данных — это та же самая папочка в винде. Место, куда мы сложили свои таблички, чтобы они все были в одном месте.
Пример базы OracleЦель та же — выделить отдельное место, чтобы у вас не была одна большая свалка:
заходишь в папку в винде → видишь файлики только из этой папки
заходишь в пространство → видишь только те таблицы, которые в нем есть
Хранение данных в виде табличек — это не единственно возможный вариант. Вот вам для примера запись из таблицы в системе Users. Там используется MongoDB база данных, она не реляционная. Поэтому вместо таблички «словно в excel» каждая запись хранится в виде объекта, вот так:
А еще есть файловые базы — когда у вас вся информация хранится в файликах. Да-да, простых текстовых файликах!
Почитать о разных видах баз данных можно в википедии. Я не буду в этой статье углубляться в эту тему, потому что моя задача — объяснить «что это вообще такое» для ребят, которые базу в глаза не видели. А на работе они скорее всего столкнутся именно с реляционной базой данных, поэтому о ней и речь.
Да, базы бывают разные. Классификацию можно изучить, можно выучить. Но по факту от начинающего тестировщика обычно нужно уметь достать информацию из реляционной БД («обычно» != «всегда», если что).
Как получить информацию из базы
Нужно записать свой запрос в понятном для базы виде — на SQL. SQL (Structured Query Language) — язык общения с базой данных. В нем есть ключевые слова, которые помогут вам сделать выборку:
select — выбери мне такие-то колонки…
from — из такой-то таблицы базы…
where — такую-то информацию…
Например, я хочу получить информацию по клиенту «Назина Ольга». Составляю в уме ТЗ:
Дай мне информацию по клиенту, у которого ФИО = «Назина Ольга»
Переделываю в SQL:
select * from clients where name = 'Назина Ольга';
В дословном переводе:
select -- выбери мне * -- все колонки (можно выбирать конкретные, а можно сразу все) from clients -- из таблицы clients where name = 'Назина Ольга'; -- где поле name имеет значение 'Назина Ольга'
См также:
Комментарии в Oracle/PLSQL — мой перевод остается работающим запросом, потому что я убрала «лишнее» в комментарии
Если бы у меня была не база данных, а простые excel-файлики, то же действие было бы:
Открыть файл с нужными данными (clients)
Поставить фильтр на колонку «ФИО» — «Назина Ольга».
То есть нам в любом случае надо знать название таблицы, где лежат данные, и название колонки, по которой фильтруем. Это не что-то страшное, что есть только в базе данных. Тоже самое есть в простом экселе.
Бывают запросы и сложнее — когда надо достать данные не из одной таблицы, а из разных. В базе это будет выглядеть даже лучше, чем в эксельке. В экселе вам нужно открыть 1-2-3 таблицы и смотреть в каждую. Неудобно.
А в базе данных вы внутри запроса SQL указываете, какие колонки из каких таблиц вам нужны. И результат запроса их отрисовывает. Скажем, мы хотим увидеть заказ, который сделал клиент, ФИО клиента, и его номер телефона. И всё это в разных таблицах! А мы написали запрос и увидели то, что нам надо:
id_order | order (таблица order) | fio (таблица client) | phone (таблица contacts) |
1 | Пицца «Маргарита» | Иванова Мария | +7 (926) 555-33-44 |
2 | Комбо набор 1 | Петров Павел | +7 (926) 555-22-33 |
И пусть в таблице клиентов у нас будет 30 колонок, а в таблице заказов 50, в результате выборки мы видим ровно 4 запрошенные. Удобно, ничего лишнего!
Конечно, написать такой запрос будет немного сложнее обычного селекта. Это уже select join, почитать о нем можно тут. И я рекомендую вам его изучить, потому что он входит в «базовое знание sql», которое требуется на собеседованиях.
Результаты выборки можно группировать, сортировать — это следующий уровень сложности. См раздел «статьи и книги по теме» для получения большей информации.
Как связать данные между собой
Вот например, у нас есть интернет-магазин по доставке пиццы. Так выглядит его база данных:
В таблице «client» лежат данные по клиентам: ФИО, пол, дата рождения и т.д.
last_name | first_name | birthdate | VIP |
Иванов | Иван | 01.02.1977 | true |
Петрова | Мария | 02. 04.1989 | false |
Сидоров | Павел | 03.02.1991 | false |
Иванов | Вася | 04.04.1987 | false |
Ромашкина | Алина | 16.11.2000 | true |
В таблице «orders» лежат данные по заказам. Что заказали (пиццу, суши, роллы), когда, насколько довольны доставкой?
order | addr | date | time |
Пицца «Маргарита» | ул Ленина, д5 | 05.05.2020 | 06:00 |
Роллы «Филадельфия» и «Канада» | Студеный пр-д, д 10 | 15.08.2020 | 10:15 |
Пицца 35 см, роллы комбо 1 | Заревый, д10 | 08. 09.2020 | 07:13 |
Пицца с сосиками по краям | Турчанинов, 6 | 08.09.2020 | 08:00 |
Комбо набор 3, обед №4 | Яблочная ул, 20 | 08.09.2020 | 08:30 |
Но как понять, где чей был заказ? Сколько раз заказывал Вася, а сколько Алина?
Тут есть несколько вариантов:
1. Запихать все данные в одну таблицу: тут и заказы, и информация по клиентам… В целом удобно, открыл табличку и сразу видишь — ага, это Васин заказ, а это Машин.
Но есть минусы:
Таблица все растет и растет, в итоге получается просто огромной! А когда данных много, легкость чтения пропадает, придется листать до нужной колонки.
Поиск будет работать медленнее. Чем меньше информации в таблице, тем быстрее поиск. Когда у нас много строк, количество колонок становится существенным.
Много дублей — один человек может сделать хоть сотню заказов. И вся информация по нему будет продублирована сто раз. Неоптимальненько!
Чтобы избежать дублей, таблицы принято разделять:
Клиенты отдельно
Заказы отдельно
Новые объекты отдельно
Но надо при этом их как-то связать между собой, мы ведь всё еще хотим знать, чей конкретно был заказ. Для связи таблиц используется foreign key, внешний ключ.
Нам надо у заказа сделать отметку о клиенте. Значит, таблица «orders» будет ссылаться на таблицу «clients». Ключ можно поставить на любую колонку таблицы (в некоторых базах колонка должна быть уникальной, сначала её нужно такой указать). Какую бы выбрать?
Можно ссылаться на имя. А что, миленько, в таблице заказов будем сразу имя видеть! Но минуточку… А если у нас два клиента Ивана? Или три Маши? Десять Саш… Ну вы поняли =) И как тогда разобраться, где какой клиент? Не подходит!
Можно вешать foreign key на несколько колонок. Например, на фамилию + имя, или фамилию + имя + отчество. Но ведь и ФИО бывают неуникальные! Что тогда? Можно добавить в связку дату рождения. Тогда шанс ошибиться будет минимален, хотя и такие ребята существуют. И чем больше клиентов у вас будет, тем больше шанс встретить дубликат.
А можно не усложнять! Вместо того, чтобы делать внешний ключ на 10 колонок, лучше создать в таблице клиентов primary key, первичный ключ. Первичный ключ отвечает за то, чтобы каждое значение в поле было уникальным, никаких дублей. При попытке добавить в таблицу запись с неуникальным первичным ключом получаешь ошибку:
Здесь ключ — «id_order»Вот на него и нужно ссылаться! Обычно таким ключом является ID, идентификатор записи. Его можно сделать автоинкрементальным — это значит, что он генерируется сам по алгоритму «прошлое значение + 1».
Например, у нас гостиница для котиков. Это когда хозяева едут в отпуск, а котика оставить не с кем — оставляем в гостинице!
Есть таблица постояльцев:
ID | name | year |
1 | Барсик | 2 |
2 | Пупсик | 1 |
Тут привозят еще одного Барсика. Добавляем его в таблицу:
— Имя Барсик, 5 лет! (мы не указываем ID)
Система добавляет:
ID | name | year |
1 | Барсик | 2 |
2 | Пупсик | 1 |
3 | Барсик | 5 |
ID сгенерился автоматически. Последнее значение было 2, значит, новый Барсик получил номер 3. Обратите внимание — Барсиков уже два, но их легко различить, ведь у них разные идентификаторы!
Теперь, если в другой таблице надо будет сослаться на котика, мы будем делать это именно через уникальный идентификатор. Например, у нас есть таблица комнат для постояльцев, куда мы заносим информацию о том, кто там живет:
id_room | square | id_cat (ссылка на id в таблице котиков) |
1 | 5 | 11 |
2 | 10 | 2 |
3 | 10 |
Мы видим, что в первой комнате живет котик с id = 1, а во второй — с id = 2. В третьей комнате пока никто не живет. Так, благодаря связке таблиц, мы всегда можем понять, что именно за котофей там проживает.
Итак, теперь мы знаем, что идентификатор лучше делать первичным ключом, дабы обеспечить его уникальность. Можно сделать поле автоинкрементальным, чтобы оно заполнялось само. Так и поступим в таблице клиентов:
И в таблице заказов! «id_order» пусть генерится сам и всегда будет уникален. А еще в таблицу заказов мы добавим колонку «id_client» и повесим на нее foreign key, ссылку на «id_client» в таблице клиентов.
Ключей может быть несколько. Одна таблица может ссылаться на несколько других. Скажем, в заказе мы ссылаемся на клиента и поставщика.
И наоборот, несколько таблиц могут ссылаться на одну и ту же колонку текущей таблицы. ID клиента мы можем указывать в таблице адресов, телефонов, email адресов, документов, заказов… Ограничений на это нет.
Зачем в базе индексы
Давайте представим, что у нас есть табличка excel. Если она небольшая (пара строк, пара колонок), то найти нужную ячейку не составит труда:
Открыли файлик — открывается моментально (если нет проблем с жестким диском)
Нажали «Ctrl + F», ввели запрос — тут же нашли результат.
Но что, если у нас сотни колонок и миллионы строк в файлике? Тогда начинаются тормоза. Файл открывается долго, в поиск значение ввели и система подвисла, обрабатывая результат…
Всё то же самое и в базе данных. Если табличка маленькая, любой запрос к ней отработает моментально. Если же таблица будет большая и с кучей данных, то результата запроса можно ждать минут по 15. А иногда и пару часов!
Если вы заранее знаете, что данных в базе будет много, нужно продумать основные сценарии поиска. И на колонки, по которым будете искать, нужно повесить индексы.
Индекс — это как алфавитный указатель в библиотеке. Вот представьте, заходите вы в библиотеку и хотите найти «Преступление и наказание» Достоевского. А все книги стоят «от балды», никакого порядка. Чтобы найти нужную, надо обойти все стелажи и просмотреть все полки!
Совсем другое дело, если книги отсортированы по авторам. А внутри автора — по названию. Тогда найти нужную книгу будет легко!
Индекс играет ту же роль для базы данных. Если повесить его на колонку таблицы, поиск по ней пойдет быстрее!
А можно повесить индекс на несколько нужных колонок (автор + название). Тут главное — не забывать порядок поиска в индексе. Если у нас индекс сначала по автору, а потом по названию, он будет бесполезен для поиска по названию, придется все равно пересматривать все книги. Поэтому, если нам часто нужно искать по названию и почти никогда — только по автору, имеет смысл поменять порядок в индексе — сначала название, потом автор.
Что делать, если запрос к БД тормозит
Если мы говорим о тестировщиках (а статья написана в первую очередь для них), то тут есть 2 варианта:
Вы работаете с базой напрямую, составляете запросы к ней. И эти запросы работают медленно.
Медленно работает система, но уже поняли, что тормозит выборка из БД (например, увидели в логах).
Первый вариант мы разбирать не будем. Потому что это не про базу, а про SQL. И, если вы работаете с базой, то должны уметь писать сложные запросы, применять хинты там, где нужно, и так далее. Это не тема базовой статьи.
А вот что делать во втором случае? Это не задача тестировщика — разбираться в том, почему запрос работает медленно. Этим занимаются DBA (администраторы баз данных) или разработчики.
Зато задача тестировщика — предоставить разработчику всю нужную информацию. Иногда её можно запросить у заказчика и его админов, а иногда нужно достать самому. Обычно для этого нужно:
Получить план запроса
Пересобрать статистику и проверить, продолжает ли тормозить
План запроса
Смотрите, когда вы выполняете любой запрос, что делает система:
Строит план выполнения запроса (как ей кажется, оптимальный)
Выполняет его
Посмотреть план можно через ключевые слова. В Oracle это EXPLAIN PLAN:
EXPLAIN PLAN FOR -- построй мне план для...
SELECT last_name FROM employees; -- вот такого запроса!
А если вы работаете через графический интерфейс, то там обычно можно просто выделить запрос и нажать горячую клавишу. Выглядит ответ примерно так:
На рис sql developer — графический интерфейс для обращения к базе OracleСверху на картинке идёт запрос. А снизу — план его выполнения. Нас сейчас не сильно волнует, что значит информация из первых колонок (то, как именно запрос обходит базу, в данном случае фулл-скан по таблице), нас интересует последняя колонка, «COST». Это стоимость запроса — 857 ms.
А теперь изменим запрос, сделав выборку по одному конкретному человеку по колонке с индексом:
Оп, цена запроса уже 5 ms. Это, на минуточку, в 170 раз быстрее!
И это простейший запрос на тестовой базе. В реальной базе данных будет сильно больше, поэтому проход таблицы по индексированной колонке существенно сократит время выполнения запроса.
Вот пример плана чуть более сложного запроса, когда мы делаем выборку из двух таблиц:
Вы не обязаны понимать, «что тут вообще происходит», но вам нужно уметь получать этот план. Пригодится.
Допустим, поступает жалоба от заказчика — клиент открывает карточку в вебе, а она открывается минуту. Что-то где-то тормозит! Но что и где? Начинаем разбираться. Причины бывают разные:
Тормозит на уровне БД — тут или сам запрос долго отрабатывает, или статистику давно не пересобирали, или диски подыхают.
Тормозит на уровне приложения — тогда надо копаться внутри кода функции «открыть карточку», что она там делает, получив ответ от Базы (и снова есть вариант «подыхают диски, на которых установлено ПО»).
Тормозит на уровне сети — сервер приложения и сервер БД обычно размещают на разных машинах. Значит, есть общение между ними по интернету. А интернет может тупить.
Если есть подозрение, что тормозит сам select, разработчик попросит прислать план его выполнения на реальной базе. Конечно, если «с той стороны» грамотные админы, они это сделают сами. Но иногда это нужно уметь вам. Например, если вас отправили в банк разбираться на месте, что пошло не так. Вы проверяете разные гипотезы и собираете информацию для разработчика.
Собираете план, сохраняете в файлик и прикладываете в задачу в джире. Или отправляете по почте.
У меня бывало, что именно так находился баг — на тестовой базе запрос идет по правильному пути, а на боевой — нет. И на боевой идет не по индексам, что сильно его тормозит. Тут уже дальше разработчик думает, почему так получилось и как именно это исправить.
Статистика в БД
Именно статистика позволяет базе данных выбрать оптимальный план выполнения запроса. Почему вообще возникают проблемы вида «на тестовой базе один план, на боевой другой»?
Да потому, что один и тот же запрос можно выполнить несколькими способами. Например, у нас есть таблица клиентов и таблица телефонов, и мы пишем такой запрос:
Найди мне всех клиентов, созданных в этом году,
У которых оператор связи в телефоне — Мегафон
Как можно выполнить запрос? Можно сначала обойти таблицу клиентов и поискать тех, кто создан в этом году. А потом уже для них проверять телефоны. Можно наоборот, проверить все телефоны на оператора и потом уже для связанных клиентов проверять дату создания.
Какой вариант будет лучше? Никто не скажет без данных по таблицам. Может, у нас мало клиентов, но кучи телефонов (база перекупщиков), тогда быстрее будет начать с клиентов. А может, у нас куча миллионы клиентов, но всего пара сотен телефонов, тогда мы начнем с них.
Так вот, в статистике по БД хранится в том числе информация о распределении данных и характеристики хранения таблиц и индексов. И когда вы запускаете запрос, база (а точнее, оптимизатор внутри нее) строит возможные планы выполнения. Для каждого плана рассчитывает примерное время выполнения, а потом выбирает лучшее.
Время же он рассчитывает, ориентируясь на статистику:
Сколько данных находится в таблице?
Есть ли индекс по колонке, по которой я буду искать?
Именно поэтому просто пересбор статистики иногда убирает проблему «у нас тут тормозит».
См также:
Ручной и автоматический сбор статистики оптимизатора в базе данных Oracle
Практические методы оптимизации запросов в Apache Spark — подробнее об оптимизации запросов, в том числе и про индексы
Преимущества реляционных баз данных
Почему используют реляционную базу данных:
Она поддерживают требования ACID (по крайней мере транзакционная БД)
Это единый синтаксис SQL, который используется повсеместно
Требования ACID
ACID — это аббревиатура из требований, которые обеспечивают сохранность ваших данных:
Atomicity — Атомарность
Consistency — Согласованность
Isolation — Изолированность
Durability — Надёжность
Если база данных не поддерживает их, то могут быть печальные последствия из серии «Деньги с одного счета ушли, на другой не пришли? Ну сорян, бывает».
См также:
Требования ACID на простом языке — подробнее об этих требованиях
Единый синтаксис SQL
Я спросила знакомого разработчика:
— Ну и что, что единый синтаксис? В чем его плюшка то?
Ответ прекрасен, так что делюсь с вами:
— Почему в школе все преподают на русском? Почему не каждый свой язык? Одна школа — один, другая — другой. А ещё лучше не школа, а для каждого человека. Почему вавилонскую башню недостроили?
Как разработчик пишет код? Написал, проверил на коленке. Если не работает — думает, почему. Если непонятно, идет гуглить похожие ошибки. А что проще нагуглить? Ошибку распространенной БД, или сделанный на коленке костыль для работы с файлами? Вот то-то и оно…
Что знать для собеседования
Для начала я хочу уточнить, что я сама тестировщик. И мои статьи в первую очередь для тестировщиков ))
Так вот, тестировщика на собеседовании не будут спрашивать про базы данных. Разработчика ещё могут спросить, а вас то зачем? Вполне достаточно понимания, что это вообще такое. И про ключи могут спросить — что такое primary или foreign key, зачем они вообще нужны.
Зато тестировщика спрашивают про SQL. Вот вам обсуждение из чатика выпускников, пригодится для повторения материала:
— В вакансии написано: уметь составлять простые SQL запросы. А простые это какие в народном понимании?
— (inner, outer) join, select, insert, update, create, последнее время популярны индексы, group by, having, distinct.
SQL выходит за рамки данной статьи, здесь я лишь пояснила, что это вообще такое. А дальше читайте статьи / книги из следующего раздела, или гуглите каждое слово из цитаты выше.
Статьи и книги по теме
База данных
Википедия
Какие бывают базы данных
Базы данных. Виды и типы баз данных. Структура реляционных баз данных. Проектирование баз данных. Сетевые и иерархические базы данных.
SQL
Книги:
Изучаем SQL. Линн Бейли — Обожаю эту линейку книг, серию Head First O`Reilly. И всем рекомендую)) Просто и доступно даже о сложном пишут.
Статьи:
Как изучить основы SQL за 2 дня
Полезные запросы
Тренажеры:
http://www.sql-ex.ru/ — Бесплатный тренажер для практики
Ресурсы и инструменты для практики с базами данных | SQL
Задачка по SQL. Найти объединенные данные
Резюме
База данных — это место для хранения данных. Они бывают самых разных видов, даже файловые! Но самые распространенные — реляционные базы данных, где данные хранятся в виде таблиц.
Если посмотреть на информацию о таблице в БД, мы можем увидеть ее ключи и индексы. Что это такое:
1. PK — primary key, первичный ключ. Гарантирует уникальность данных, часто используется для колонки с ID. Если ключ наложен на одну колонку — каждое значение в ячейках этой колонки уникальное. Если на несколько — комбинации строк по колонкам уникальны.
2. FK — foreign key, внешний ключ. Нужен для связки двух таблиц в разных соотношениях (1:1, 1:N, N:N). Этот ключ указываем в «дочерней» таблице, то есть в той, которая ссылается на родительскую (в таблице с данными по лицевому счету отсылка на client_id из таблицы клиентов).
3. Индекс. Нужен для ускорения выборки из таблицы.
Транзакционные базы данных выполняют требования ACID:
Atomicity — Атомарность
Consistency — Согласованность
Isolation — Изолированность
Durability — Надежность
См также:
Что такое транзакция
И за это их выбирают разработчики. Мы получаем не просто хранилище данных. Наши данные защищены от неприятностей типа отключения электричества на середине бизнес-операции (с одного счета деньги списать, на другой записать). А еще по ним можно быстро искать, ведь разработчики баз данных оптимизируют свои приложения для этого.
Поэтому логика приложения — отдельно, база — отдельно. Так и получается клиент-серверная архитектура =)
См также:
Клиент-серверная архитектура в картинках
Чтобы достать данные из базы, надо написать запрос к ней на языке SQL (Structured Query Language). Разработчики пишут SQL-запросы внутри кода приложения. А тестировщики используют SQL для:
Поиска по базе — правильно ли данные сохранились? В нужные таблицы легли? Это select-запросы.
Подготовки тестовых данных — а что, если это значение будет пустое? А что, если у меня будет 2 лицевых счета на одной карточке? Можно готовить данные через графический интерфейс, но намного быстрее отправить несколько запросов в базу. Когда есть к ней доступ и вы знаете SQL =)
План-минимум для изучения: select, join, insert, update, create, delete, group by, having, distinct.
PS — больше полезных статей ищите в моем блоге по метке «полезное». А полезные видео — на моем youtube-канале
Основные сведения о базах данных
Эта статья содержит краткие сведения о базах данных: что это, чем они могут быть полезны, каковы функции их отдельных элементов. Здесь используется терминология, свойственная Microsoft Access, однако описываемые понятия применимы по отношению к любым базам данных.
В этой статье:
Что представляет собой база данных?
База данных — это инструмент для сбора и у организатора сведений. В базах данных могут храниться сведения о товарах, товарах, заказах и других данных. Многие базы данных начинаются с списка в word-processing program или spreadsheet. По мере роста списка в данных появляются избыточные и несоответствия. Данные становится трудно понять в форме списка, и существует ограниченный способ поиска или вывода подмног данных для проверки. Когда эти проблемы начнут появляться, лучше перенести данные в базу данных, созданную системой управления базами данных (СУБД), такой как 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.
Таблицы
Таблица базы данных похожа на электронную таблицу — и там, и там информация расположена в строках и столбцах. Поэтому импортировать электронную таблицу в таблицу базы данных обычно довольно легко. Основное различие заключается в том, как данные структурированы.
Чтобы база данных была как можно более гибкой и чтобы в ней не появлялось излишней информации, данные должны быть структурированы в виде таблиц. Например, если речь идет о таблице с информацией о сотрудниках компании, больше одного раза вводить данные об одном и том же сотруднике не нужно. Данные о товарах должны храниться в отдельной таблице, как и данные о филиалах компании. Этот процесс называется нормализацией.
Строки в таблице называются записями. В записи содержатся блоки информации. Каждая запись состоит по крайней мере из одного поля. Поля соответствуют столбцам в таблице. Например, в таблице под названием «Сотрудники» в каждой записи находится информация об одном сотруднике, а в каждом поле — отдельная категория информации, например имя, фамилия, адрес и т. д. Поля выделяются под определенные типы данных, например текстовые, цифровые или иные данные.
Еще один способ описания записей и полей — визуализация старого стиля каталога карток библиотеки. Каждая карточка в карточке соответствует записи в базе данных. Каждый фрагмент сведений на отдельной карточке (автор, заголовок и так далее) соответствует полю в базе данных.
Дополнительные сведения о таблицах см. в статье Общие сведения о таблицах.
Формы
С помощью форм создается пользовательский интерфейс для ввода и редактирования данных. Формы часто содержат кнопки команд и другие элементы управления, предназначенные для выполнения различных функций. Можно создать базу данных, не используя формы, если просто отредактировать уже имеющуюся информацию в таблицах Access. Тем не менее, большинство пользователей предпочитает использовать формы для просмотра, ввода и редактирования информации в таблицах.
С помощью кнопок команд задаются данные, которые должны появляться в форме, открываются прочие формы и отчеты и выполняется ряд других задач. Например, есть «Форма клиента», в которой вы работаете с данными о клиентах. И в ней может быть кнопка, нажатием которой открывается форма заказа, с помощью которой вы вносите информацию о заказе, сделанном определенным клиентом.
Формы также дают возможность контролировать взаимодействие пользователей с информацией базы данных. Например, можно создать форму, в которой отображаются только определенные поля и с помощью которой можно выполнять только ограниченное число операций. Таким образом обеспечивается защита и корректный ввод данных.
Дополнительные сведения о формах см. в статье Формы.
Отчеты
Отчеты используются для форматирования, сведения и показа данных. Обычно отчет позволяет найти ответ на определенный вопрос, например «Какую прибыль в этом году принесли нам наши клиенты?» или «В каких городах живут наши клиенты?» Отчеты можно форматировать таким образом, чтобы информация отображалась в наиболее читабельном виде.
Отчет можно сформировать в любое время, и в нем всегда будет отображена текущая информация базы данных. Отчеты обычно форматируются таким образом, чтобы их можно было распечатать, но их также можно просматривать на экране, экспортировать в другие программы или вкладывать в сообщения электронной почты.
Дополнительные сведения об отчетах см. в статье «Обзор отчетов в Access».
Запросы
Запросы могут выполнять множество функций в базе данных. Одна из их основных функций — находить информацию в таблицах. Нужная информация обычно содержится в нескольких таблицах, но, если использовать запросы, ее можно просматривать в одной. Кроме того, запросы дают возможность фильтровать данные (для этого задаются критерии поиска), чтобы отображались только нужные записи.
Используются и так называемые «обновляемые» запросы, которые дают возможность редактировать данные, найденные в основных таблицах. При работе с обновляемым запросом помните, что правки вносятся в основные таблицы, а не только в таблицу запроса.
У запросов два основных вида: запросы на выборки и запросы на выполнение действий. Запрос на выборки просто извлекает данные и делает их доступными для использования. Вы можете просмотреть результаты запроса на экране, распечатать его или скопировать в буфер обмена. Вы также можете использовать выходные данные запроса в качестве источника записей для формы или отчета.
Запрос на изменение, как следует из названия, выполняет задачу с данными. С помощью запросов на изменения можно создавать новые таблицы, добавлять данные в существующие таблицы, обновлять или удалять данные.
Дополнительные сведения о запросах см. в статье Знакомство с запросами.
Макросы
Макросы в Access — это нечто вроде упрощенного языка программирования, с помощью которого можно сделать базу данных более функциональной. Например, если к кнопке команды в форме добавить макрос, то он будет запускаться всякий раз при нажатии этой кнопки. Макросы состоят из команд, с помощью которых выполняются определенные задачи: открываются отчеты, выполняются запросы, закрывается база данных и т. д. Используя макросы, можно автоматизировать большинство операций, которые в базе данных вы делаете вручную, и, таким образом, значительно сэкономить время.
Дополнительные сведения о макросах см. в статье Общие сведения о программировании в Access.
Модули
Подобно макросам, модули — это объекты, с помощью которых базу данных можно сделать более функциональной. Но если макросы в Access составляются путем выбора из списка макрокоманд, модули создаются на языке Visual Basic для приложений (VBA). Модули представляют собой наборы описаний, инструкций и процедур. Существуют модули класса и стандартные модули. Модули класса связаны с конкретными формами или отчетами и обычно включают в себя процедуры, которые работают только с этими формами или отчетами. В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом. Стандартные модули, в отличие от модулей класса, перечисляются в списке Модули в области навигации.
Дополнительные сведения о модулях см. в статье Общие сведения о программировании в Access.
К началу страницы
Что такое база данных и SQL.
Как работают с базами и что в них хранят Если сказать упрощённо, то база данных — это среда, в которой существуют таблицы с данными. Если вы когда-нибудь работали в офисной программе «Excel», в которой можно делать таблицы, то считайте что работали с базой данных.В базах данных сайтов могут содержаться таблицы, в которых может быть записано всё что угодно:
- данные новостей, которые опубликованы на сайте
- данные пользователей, которые зарегистрированы на сайте
+--------------------+ | Пользователи | +--------------------+ | Имя | Любимая еда | +------+-------------+ | Мышь | Сыр | +------+-------------+ | Кот | Молоко | +------+-------------+Как можно заметить, это обычная таблица. Но в таком виде на сайте её увидеть нельзя. Сайт делает запрос к ней с помощью специального языка, который называется SQL (Structured Query Language — «язык структурированных запросов»). Эти запросы возвращают массив строк, которые подходят под параметр запроса. Разберём далее логику запросов.
Представьте, что необходимо получить из примера выше все данные таблицы и вывести их на экран. Тогда нужно сделать запрос к базе данных на языке SQL:
SELECT 'Имя пользователя', 'Любимая еда' FROM 'Пользователи';
Как можно догадаться из этой строчки, к базе данных будет сделан запрос на получение данных. Об этом говорит слово SELECT, который переводится как «ВЫБРАТЬ». После слова SELECT стоят названия двух столбцов, значение которых необходимо получить из базы данных. Если название столбца не указать, то его значение не будет получено. Можно написать нужные столбцы через запятую, как это сделано в примере, а если нужно вывести все, то можно просто поставить значок звёздочки *.Последняя часть запроса содержит слово FROM, которое дословно переводится как «из». После этого слова стоит таблица ИЗ которой надо получить данные. Если не указать из какой таблицы нужны данные, то база данных выдаст ошибку.
Пример SQL запроса, который приведён выше, сильно утрирован для большей наглядности и простоты. Потому что в базах данных крайне нежелательно создавать таблицы с кириллическими названиями таблиц и столбцов. А ещё названия столбцов и самой таблицы нужно заключать не в одинарную кавычку ‘ , а в наколнную `
Перейдём к обработке результатов выполнения запроса. Если утрировать, то после выполнения запроса из примера выше база данных вернёт такой массив:Array ( [0] => Array ( [Имя] => Мышь [Любимая еда] => Сыр ) [1] => Array ( [Имя] => Кот [Любимая еда] => Молоко ) )После получения этого массива необходимо сделать цикл аналогичный foreach( ) по всем элементам полученного массива. Внутри цикла можно обернуть полученные значения в различные HTML теги, чтобы вывод был красивым, чтобы у страницы сайта был дизайн. Так и происходит взаимодействие сайтов с базами данных. Базы данных — это не лучшее хранилище информации. Конёк баз данных — это быстрый поиск информации и вывод с сортировкой. Поэтому базы данных целесообразно использовать далеко не везде. Если же нужно обрабатывать терабайты статичной информации без необходимости поиска и сортировки, то выгоднее использовать использовать простые файлы для хранения информации.
Базы данных используются для сайтов в основном потому, что с их помощью можно организовать уровни доступа к информации. И базы данных большинства сайтов в интернете очень редко когда превышают 10 Гигабайт (считая размеры всех таблиц в базе).
В следующих статьях мы разберём более сложные примеры обращения с базой данных: научимся создавать и удалять таблицы, объединять результаты выборки из нескольких разных таблиц и обновлять данные в таблицах. Если вам не терпится приступить к программированию, то рекомендуем ознакомиться со статьёй «Как сделать запрос из PHP к базе данных».Что такое База знаний?
База знаний – справочник компании, где сотрудники могут найти всю информацию для работы: регламенты, график работы, формы отчетов, советы по продажам. Базы знаний пригодятся компаниям с удаленными сотрудниками. Вам не придётся сто раз созваниваться с людьми и объяснять им одно и то же. Достаточно скинуть нужную страницу, и сотрудник поймет, что нужно делать.
Базы знаний помогают обучать новых сотрудников. Внесите в нее информацию о структуре компании, какие задачи нужно выполнить на старте, какие программы установить для работы. Когда мы создали базы знаний у себя в компании, новые сотрудники начали обучаться в два раза быстрее, чем раньше.
Что хранить в базе знаний
Общую информацию о компании. Продукты, ценности, клиенты. Новым сотрудникам важно узнать, чем занимаются разные отделы компании.
Технические вопросы. Какие установить программы для работы, где скачать мобильное приложение, у кого можно заказать канцтовары и пропуск, как отремонтировать сломавшийся компьютер, что нажать на кофеварке, чтобы сварить эспрессо.
Организационные вопросы. Какой в компании график работы, как оформить отпуск или больничный, по какому принципу рассчитываются премии, когда платят зарплату и аванс.
Как создать базу знаний
Чтобы создать базу выберите шаблон и цветовую схему. После этого просто добавляйте на страницу базы блоки с различными элементами сайта: картинки, видео, тексты. Настройте дизайн вашей базы, чтобы она выглядела именно так, как вы хотите.
Как использовать базы знаний в компании
Разделяйте базы знаний и делайте в них структуру. Сотрудники смогут быстрее найти любую нужную информацию.
Сделайте общую базу знаний, для всех сотрудников компании, выделите в ней подразделы. Например, график работы или юридические документы. Поручите каждому отделу сделать свою базу знаний, чтобы сотрудники могли найти свои ответы и там. Даже если уволится опытный сотрудник, его знания останутся в компании, и ими смогут воспользоваться другие сотрудники.
Подключите базу знаний к группе или проекту. Укажите в ней правила общения в группе или шаблоны отчетов по результату проекта. Доступ к такой базе знаний будут иметь только члены группы.
Рекомендую также прочитать:
Что такое база данных?
Вы, наверное, часто сталкивались со словосочетанием «база данных». База данных телефонов, база данных ГИБДД… Но, на самом деле, большинство людей, не связанных с программированием, неправильно представляют, что такое база данных.
Начнем с того, чем база данных не является. Не является она таблицей, перечисляющей что-то. До есть лист excel, даже если он содержит много информации, не является базой данных.
База данных — это не одна таблица. Это совокупность таблиц определенного рода, позволяющая не хранить дублирующиеся данные, а при этом легко получать различные выборки и отчеты.
Приведем простой пример. Допустим, вы собираетесь хранить информацию о книгах и авторах. Для начала мы просто предположим, что нам требуется хранить название книги и ФИО автора. Как правильно содержать такую информацию и что будет представлять собой наша база данных?
Конечно, можно создать одну таблицу, в которой в первой колонке написано название книги, а во второй — ФИО автора. Но в таком случае авторы будут повторяться (пока мы не рассматриваем случай, когда у книги есть несколько авторов).
Название книги | ФИО |
---|---|
Базы данных. Введение. | Иванов Иван Иванович |
Базы данных. Для продвинутых. | Иванов Иван Иванович |
Все о базах данных. | Сидоров Сергей Сергеевич |
Иванов Иван Иванович встретился в правой колонке два раза. Какие проблемы это может вызвать? А такие, что когда мы захотим собрать отчет и вывести все книги Иванова, может оказаться, что его ФИО написали в разных местах по-разному, так что они и будут восприняты системой как разные авторы.
Решение, предлагаемое базами данных — нужно сделать две таблицы. В одной занумеровать всех авторов, в другой же перечислять книги и номера авторов. Получается две таблицы
Название книги | ФИО-ID |
---|---|
Базы данных. Введение. | 1 |
Базы данных. Для продвинутых. | 1 |
Все о базах данных. | 2 |
ФИО-ID | ФИО |
---|---|
1 | Иванов Иван Иванович |
2 | Сидоров Сергей Сергеевич |
Если же еще допустить, что Сидоров также принял участие в работе над книгой «Базы данных. Для продвинутых.», то таких таблиц нам уже не хватит. Отдельно мы занумеруем книги, отдельно авторов и сделаем таблицу-переходник.
Книга-ID | Название книги |
---|---|
1 | Базы данных. Введение. |
2 | Базы данных. Для продвинутых. |
3 | Все о базах данных. |
ФИО-ID | ФИО |
---|---|
1 | Иванов Иван Иванович |
2 | Сидоров Сергей Сергеевич |
Книга-ID | ФИО-ID |
---|---|
1 | 1 |
2 | 1 |
2 | 2 |
3 | 2 |
Вот что такое база данных. Конечно, с такими цифрами работать неудобно. Но для того и существуют специальные программы, которые хранят данные внутри в структурированным формате, а пользователю выдают удобный интерфейс.
Какие существуют базы данных? Microsoft Access одновременно представляет и базу данных и интерфейс для работы с ней. Часто база реализуется при помощи Microsoft SQL Server, а доступ огранизуется при помощи программы, написанной на Delphi. А разные CMS зачастую работают с базой MySQL.
Для обращения к базам данных существует так называемый язык запросов SQL = Structured Query Language. Так что если вы собираетесь заниматься чем-то, связанным с базами данных, то для начала стоит изучить его.
Зачем нужны базы данных? Вот как раз для систематизации хранения данных, для того, чтобы избежать дублирования данных, чтобы легко собирать отчеты. Автоматизация документооборота — также одна из задач, решаемых при помощи баз данных.
Надеюсь, что это введение немножко прояснило для вас, что же такое база данных. Если что-то непонятно, задавайте вопросы!
Please enable JavaScript to view the comments powered by Disqus. comments powered byЧто такое «большая база данных»?
“Large Database”-это действительно туманное понятие. В ответах на этот вопрос уже есть очень разные ответы и мнения. Некоторые подходы к определению баз данных “small”, “medium” и “large” могут иметь больше смысла, чем другие, НО ТОГДА, в какой-то момент, я считаю, что каждое определение является правильным, истинным и действительным.
Некоторые определения имеют больше смысла, чем другие, потому что они фокусируются на различных аспектах, важных для проектирования, программирования, использования, обслуживания и администрирования базы данных, и эти различные аспекты действительно важны для полезной базы данных. Просто так получилось, что на все эти аспекты влияет туманная концепция “Database size”.
Итак, означает ли это, что не имеет значения, можете ли вы определить, является ли конкретная база данных большой или нет?
Конечно, нет. Это означает, что вы будете применять эту концепцию по-разному при оценке различных аспектов design/operational/administrative вашей базы данных. Это также означает, что каждый раз это понятие будет туманным.
В качестве примера: Стратегия индекса базы данных (аспект проектирования базы данных) зависит от количества записей для каждой таблицы (мера “size”), от размера записи, умноженного на количество записей (другая мера “size”), и от соотношения операций запроса и Creation/Update/Delete (аспект использования базы данных).
Время ответа на запрос лучше, если индексы используются для таблиц с большим количеством записей. В зависимости от характера ваших предложений WHERE, ORDER BY и record-aggregation вам может потребоваться несколько индексов для определенных таблиц.
На операции создания, обновления и удаления негативно влияет увеличение числа индексов в затронутых таблицах. Больше индексов для затронутой таблицы означает больше изменений, которые должен выполнить RDBMS, затрачивая больше времени и ресурсов на применение этих изменений.
Кроме того, если ваш RDBMS тратит больше времени на применение этих изменений, то блокировки также сохраняются в течение более длительного времени, что влияет на время отклика других запросов, отправляемых в систему одновременно.
Итак, как вы сбалансируете количество и дизайн ваших индексов? Как узнать, нужен ли вам дополнительный индекс и не окажет ли добавление этого индекса большого негативного влияния на время ответа на запрос? Ответ: Вы тестируете и профилируете свою базу данных в соответствии с целевой нагрузкой в соответствии с вашими требованиями к нагрузке/производительности и анализируете данные профилирования, чтобы определить, нужны ли дополнительные optimizations/redesigns/indexes.
Для разных соотношений операций запроса и Creation/Update/Delete требуются разные стратегии индексирования. Если ваша база данных находится под большой нагрузкой запросов, но редко обновляется, производительность всего приложения будет лучше, если вы добавите каждый индекс, который улучшает время отклика на запросы. С другой стороны, если ваша база данных постоянно обновляется, но не выполняется больших операций с запросами, производительность будет лучше, если вы будете использовать меньше индексов.
Конечно, есть и другие аспекты: Проектирование схемы базы данных, Стратегия хранения, Проектирование сети, Стратегия резервного копирования, Хранимая Procedures/Triggers/Etc. программирование, Прикладное программирование (против базы данных) И т. Д. На все эти аспекты по-разному влияют различные концепции “size” (размер записи, количество записей, размер индекса, количество индексов, дизайн схемы, размер хранилища и т. Д.).
Я хотел бы иметь больше времени, так как эта тема увлекательна. Я надеюсь, что этот небольшой вклад послужит для вас отправной точкой в этом увлекательном мире SQL.
Что такое базы данных?
← →Denis_ (2004-12-01 16:25) [0]
Общее понятие ,
понимате нужно написать реферат на тему базы данных, не СУБД , не конкретная база данных , а в общих чертах , буду очень благодарен
за любую помощь , может знаете какие-нить ссылки или если не трудно прямо здесь напишите
← →
msguns © (2004-12-01 16:28) [1]
Конкретные базы:
— Торговые
— Овощные
— Транспортные
— Военные
Тебе какую ?
← →
Alexander Panov © (2004-12-01 16:29) [2]
http://www.yandex.ru/yandsearch?rpt=rad&text=%F7%F2%EE+%F2%E0%EA%EE%E5+%C1%E0%E7%E0+%E4%E0%ED%ED%FB%F5
Интернет тебе поможет.
← →
Alexander Panov © (2004-12-01 16:31) [3]
Слова для заклинания — «Что такое база данных»
← →
Sergey_Masloff (2004-12-01 16:44) [4]
Дейт. Теория баз данных (или просто Базы данных навскидку не помню). Первая и вторая главы — исчерапывающие ответы. Где есть в электронном виде не знаю.
← →
msguns © (2004-12-01 17:08) [5]
Если кратко, то Базы Данных это:
Коллекция отобранной, структурированной, логически связанной информации об определенном объекте (объектах одного типа), хранящейся в цифровом виде на магнитных носителях.
СУБД — это программно-аппаратный (чаще всего просто программный) комплекс, обеспечивающий доступ (извлечение, изменение, дополнение) к БД конкретного типа.
← →
Anatoly Podgoretsky © (2004-12-01 17:16) [6]
msguns © (01.12.04 17:08) [5]
Реферат это 50-100 страниц
← →
Sergey_Masloff (2004-12-01 17:20) [7]
msguns © (01.12.04 17:08) [5]
Дейт с тобой не согласен 😉
Кстати базы данных бывают без всяких магнитных носителей а просто на бумажных карточках. Но удовлетворяют всем признакам, да и действительно являются базами данных. И индексирование там есть и некий аналог «аппаратного» SQL конда на штырьках задаешь WHERE и тебе выдвигает нужные карточки. Видел лично 😉
← →
msguns © (2004-12-01 17:23) [8]
Если реферат о БД вообще, то следует акцентироваться на таких моментах, как реляционность, нормализация, избыточность, таблицы, записи и т.д.
Если же надо с использованием методик доступа, то не обойтись без основ СУБД и средств ускорения поиска. Таких как ключи, индексы, отношения и т.д. Кратко характеризовать подходы к проектированию БД: локальные, файл-серверные, клиент-серверные.
В общих чертах о новом направлении — объектно-ориентированных БД.
Для верного пятака вставь предложение про OLAP и хранилища данных.
Два слова о наиболее распространенных СУБД (dBase,Paradox,Access,.. + MS SQL Server,Oracle,InterBase,..)
Лирическое дополнение о сиквеле (SQL): стандартах, особенностях реализации конкретными серверами и т.д.)
Вот и получится рефератец стр. на 15-20.
Инфу ищи по кл.словам, которых приведено достаточно в этом посте.
← →
msguns © (2004-12-01 17:23) [9]
Удалено модератором
Примечание: Дубль
← →
Anatoly Podgoretsky © (2004-12-01 17:28) [10]
msguns © (01.12.04 17:23) [8]
Каким шрифтом, я беспокоюсь про количество страниц.
← →
msguns © (2004-12-01 17:29) [11]
>Sergey_Masloff (01.12.04 17:20) [7]
Ну Дейт-то когда писал ?
А по поводу бумажных баз, то это чисто американское+перевод. ЧтО американцы понимают под словом «Файл» и что мы понимаем — это две большие разницы.
Когда учился в ХАИ (70-е) видел «Базу данных» на перфокартах, перфолентах. Т.е. никак не магнитные носители, а очень даже бумажные 😉
← →
Johnmen © (2004-12-01 17:33) [12]
БД — это набор таблиц. И ничего более. (могут быть нюансы, но это неважно).
Вот и весь реферат…:)
← →
Sergey_Masloff (2004-12-01 17:33) [13]
msguns © (01.12.04 17:29) [11]
>А по поводу бумажных баз, то это чисто американское+перевод.
Не-а. Говорю ж видел сам. Именно карточки и механический способ быстрого доступа. Где видел не скажу ибо шибко секретно 😉 Не в 70-е, позже.
А вообще это придирки, твои посты дают отличный ответ на изначальный вопрос.
← →
MOA © (2004-12-01 17:43) [14]
>БД — это набор таблиц. И ничего более.
Т.е. иерархические БД и сетевые БД СODASIL базами данных не являются по причине отсутствия таблиц ;). И Мартин написал свою книжку СУБД в 197… году совсем и не про БД 😉 — про таблицы там 60 страниц из ~600 (аппарат реляционных БД ещё только разрабатывался тогда) ;).
Можно посмотреть сюда http://www.osp.ru/dbms/numbers.htm — Вас интересует раздел «Архив номеров Системы управления базами данных». Правла, журнал уже не выходит, и архив плохо сделан — искать неудобно. Но статьи «Что такое СУБД» там есть ;).
← →
Johnmen © (2004-12-01 18:00) [15]
>MOA © (01.12.04 17:43) [14]
Извини, забыл добавить реляционные…
← →
MOA © (2004-12-01 18:10) [16]
2Johnmen
Пустяки, я не хотел обидеть 😉 — хотел просто подчеркнуть термин ;). Не факт, что эволюция СУБД на следующем витке не приведёт нас опять к иерархическим или сетевым БД 😉 — т.ч. знать про них в реферате, ПМСМ, нужно ;).
← →
Fay © (2004-12-01 20:09) [17]
2 msguns © (01.12.04 17:23) [8]
>> Если реферат о БД вообще, то следует акцентироваться на таких
>> моментах, как реляционность, нормализация, избыточность,
>> таблицы, записи и т.д.
Вас не затруднит объяснить, что такое «реляционность»?
И что такое «нормализация» без «реляционности»?
← →
Johnmen © (2004-12-01 21:22) [18]
>MOA © (01.12.04 18:10) [16]
>Пустяки, я не хотел обидеть 😉
Да нет, я действительно забыл.
И ещё смайл поставить 🙂
← →
kaif © (2004-12-01 23:35) [19]
Мне кажется, что нельзя отрывать понятие базы данных от понятия СУБД. Не всякое хранилище называют базой данных, но лишь хранилище, организованное таким способом, чтобы информацию можно было не только хранить, но и эффективно управлять ею. Та же бумажная картотека является базой данных лишь постольку, поскольку существуют и выполняются правила обращения с карточками, строгие способы поддержки уникальностей и т.п.. Если все эти правила упразднить, а карточки внавал высыпать где-нибудь на свалке за городом, перемешав с остальным мусором, то вряд ли такое «хранилище» можно будет назвать базой данных, несмотря на то, что информация вроде бы «никуда и не исчезла». Так что правила обращения с информацией и хорошие абстракции эффективного управления данными (например, реляционная модель) позволяют назвать нечто базой данных. Одним словом база данных отличается от «вообще хранилища» так же, как, скажем, спящий человек от трупа.
← →
Sergey_Masloff (2004-12-02 08:10) [20]
kaif © (01.12.04 23:35) [19]
Если залить данные базы ORACLE в бинарный поток то с ними будет то же самое что с карточками на свалке. Вобщем, не убедил.
Нет никакого отличия между бумажной и электронной. Если я не соблюдая правил напишу в HEX-редакторе пару — тройку слов в файл скажем базы Interbase то толку с этого тоже будет немного. А последствия могут быть даже хуже чем с бумажной базой 😉
Так что в общем случае база данных это совокупность хранящихся файлов данных (под файлом подразумевается абстрактный кортеж связанных данных независимо от физического способа их хранения). Пользователь может манипулировать этими файлами:
— добавлять новые файлы
— добавлять данные в существующие
— производить поиск данных в файлах
— изменять данные в существующих файлах
— удалять данные из файлов
— удалять сами файлы.
Если это в наличии — мы имеем дело с базой данных. В компьютере она, на бумажных карточках, в виде берестяных грамот или восковых дощечек — это нам все равно.
← →
Anatoly Podgoretsky © (2004-12-02 09:12) [21]
kaif © (01.12.04 23:35) [19]
Знаешь, но у многих как раз такие базы, достаточно только долго почитать конференцию Базы
← →
KSergey © (2004-12-02 09:24) [22]
> [20] Sergey_Masloff (02.12.04 08:10)
Признаться, я не понимаю ваштх возражений. kaif же выделил «правила обращения», которые вы пытаетесь нарушить. Зачем?
Впрочем то, что нет разницы на чем именно сделано хранилище и, соответственно, каковы правила обращения — вроде никто и не оспаривал…
← →
Sergey_Masloff (2004-12-02 09:52) [23]
KSergey © (02.12.04 09:24) [22]
Я оспариваю только завязку на «электронность». Все что описывает kaif можно достичь без всякой электроники. С чего начинали IBM более 100 лет назад.
← →
KSergey © (2004-12-02 09:57) [24]
> [23] Sergey_Masloff (02.12.04 09:52)
> Я оспариваю только завязку на «электронность». Все что описывает
> kaif можно достичь без всякой электроники.
Возможно я кого-то из вас двоих не понимаю, но вроде он не давал жесткую привязку на электронность… Или я ошибаюсь?
← →
КаПиБаРа © (2004-12-02 10:01) [25]
Sergey_Masloff (02.12.04 9:52) [23]
Я оспариваю только завязку на «электронность». Все что описывает kaif можно достичь без всякой электроники
Внимательнее читайте. Не стоит воевать с миражами.
> Та же бумажная картотека является базой данных лишь
> постольку, поскольку существуют и выполняются правила
> обращения с карточками, строгие способы поддержки
> уникальностей и т.п..
← →
blackman © (2004-12-02 10:11) [26]
Вот тут :
http://articles.org.ru/docum/docum.php
все есть
Читай и пиши на здоровье
← →
Sergey_Masloff (2004-12-02 10:13) [27]
КаПиБаРа © (02.12.04 10:01) [25]
>Внимательнее читайте. Не стоит воевать с миражами.
Да внимательно я читал. Чегоон противопоставляет мои любимые бумажные. Они ТОЧНО такие же а не постольку поскольку!
😉
← →
msguns © (2004-12-02 10:33) [28]
>Fay © (01.12.04 20:09) [17]
>Вас не затруднит объяснить, что такое «реляционность»?
И что такое «нормализация» без «реляционности»?
Весь пост я писал немного в ироничной форме, если Вас не затруднило это заметить. Слово «реляционность» я придумал, т.к. не смог образовать именительное от сказуемого «Реляционная» (т.е. перевести англ.слово relation не как «отношение» или «связь»).
Понятие «нормализация» имеет несколько толкований (в частности математическое). Применительно к БД это понятие означает сведение к минимуму дублирования информации в различных фрагментах БД (У классиков «несколько» другое определение, но я предпочитаю понимать этот термин именно так). Связь с реляционностью (т.е.независимостью характеристик данных от физического представления и хранения этих данных) у нормализации, возможно и есть, но весьма косвенная. Так, для примера, можно представить себе БД в виде одной таблицы, хранящей телефонные номера абонентов вместе с их адресами. БД вполне реляционная, т.к. обращение к таблице выполняется по символическим именам полей, а не по физическим адресам в таблице (записи). Однако ни о какой нормализации в данном случае нет речи, поскольку одни и те же улицы и ФИО (при условии, что одно лицо может иметь несколько телефонов) повторяются многократно во всей своей «ширине». Естественно, тяжело при вводе в такую БД не повториться с Иван Иванычем или дважды по-разному написать название одной и той же улицы.
Все это ИМХО и ни в коей мере не претендует на постулат. Мне кажется, что на этом форуме найдется немало мастеров, с удовольствием покритикующих эти определения ;))
———————————————————————————
← →
kaif © (2004-12-04 00:12) [29]
2 Sergey_Masloff
Я действительно не делал различия между бумажной базой и электронной. И именно Ваш пример бумажной картотеки считаю прекрасной иллюстрацией правильной базы данных. Именно Ваш пример и вдохновил меня вообще высказаться в этой ветке. Я как раз захотел подчеркнуть общее между ними — правила обращения с данными. Если правил не будет, то никакая это не база данных (пример со свалкой). Кстати, Ваше определение
— добавлять новые файлы
— добавлять данные в существующие
— производить поиск данных в файлах
— изменять данные в существующих файлах
— удалять данные из файлов
— удалять сами файлы.
тоже есть именно набор правил обращения с данными.
Однако я все же нахожу этот список недостаточным, так как именно то, что я не считаю правильным называть базой данных (мусорную свалку) вполне можно подвести под такие правила (мусор можно на свалку добавлять, на свалке можно что-то искать, там можно мусор перемещать или потихоньку утилизировать)
Я все же добавил бы в него самое существенное — то, о чем говорит msguns — борьба с дубликатами. Именно отсутствие дубликатов (или сведение к минимуму дублирования информации — отлично сказано) делает управление данными эффективным. О том, что такое дублирование информации, можно размышлять долго. Это очень интересная тема. Ведь речь идет не о том, чтобы не повторять с целью экономии слова, например, фамилию «Иванов», а о том, чтобы не создавать дуликаты экземпляров реальных сущностей, то есть не завести случайно двойника для «Иванова», со своей особенной историей платежей за телефон или сведениями о судимости.
Базовое определение в химии
В химии основание — это химическое соединение, которое отдает электроны, принимает протоны или выделяет ионы гидроксида (ОН-) в водном растворе. Базы отображают определенные характерные свойства, которые можно использовать для их идентификации. Они имеют тенденцию быть скользкими на ощупь (например, мыло), могут иметь горький вкус, вступать в реакцию с кислотами с образованием солей и катализировать определенные реакции. Типы баз включают базу Аррениуса, базу Бронстеда-Лоури и базу Льюиса. Примеры оснований включают гидроксиды щелочных металлов, гидроксиды щелочноземельных металлов и мыло.
Ключевые выводы: базовое определение
- Основание — это вещество, которое реагирует с кислотой в кислотно-щелочной реакции.
- Механизм, с помощью которого работает база, обсуждался на протяжении всей истории. Обычно основание либо принимает протон, либо выделяет гидроксид-анион при растворении в воде, либо отдает электрон.
- Примеры оснований включают гидроксиды и мыло.
Происхождение слова
Слово «основа» вошло в употребление в 1717 году французским химиком Луи Лемери.Лемери использовал это слово как синоним алхимической концепции Парацельса о «матрице» в алхимии. Парацельс предположил, что природные соли выросли в результате смешивания универсальной кислоты с матрицей.
Хотя Лемери, возможно, сначала использовал слово «основа», его современное употребление обычно приписывают французскому химику Гийому-Франсуа Руэлю. Руэль определил нейтральную соль как продукт объединения кислоты с другим веществом, которое действует как «основание» для соли. Примеры оснований Руэля включают щелочи, металлы, масла или абсорбирующую землю.В 18 веке соли представляли собой твердые кристаллы, а кислоты — жидкости. Таким образом, для ранних химиков было логично, что материал, нейтрализующий кислоту, каким-то образом разрушил ее «дух» и позволил ей принять твердую форму.
Свойства основания
База демонстрирует несколько характерных свойств:
- Водный раствор основания или расплавленные основания диссоциируют на ионы и проводят электричество.
- Сильные основания и концентрированные основания являются едкими. Они бурно реагируют с кислотами и органическими веществами.
- Основания предсказуемо реагируют с помощью индикаторов pH. Основа превращает лакмусовую бумагу в синий, метиловый оранжевый — в желтый и фенолфталеин — в розовый. Бромтимоловый синий остается синим в присутствии основания.
- Щелочной раствор имеет pH больше 7.
- Базы имеют горький вкус. (Не пробуй их!)
Типы оснований
Основания можно разделить на категории по степени их диссоциации в воде и реакционной способности.
- Сильное основание полностью диссоциирует на ионы в воде или представляет собой соединение, способное отщеплять протон (H + ) из очень слабой кислоты.Примеры сильных оснований включают гидроксид натрия (NaOH) и гидроксид калия (КОН).
- Слабое основание не полностью диссоциирует в воде. Его водный раствор включает как слабое основание, так и сопряженную с ним кислоту.
- superbase даже лучше при депротонировании, чем сильная база. Эти основания имеют очень слабые сопряженные кислоты. Такие основания образуются при смешивании щелочного металла с сопряженной с ним кислотой. Супероснование не может оставаться в водном растворе, потому что это более сильное основание, чем гидроксид-ион.Пример супероснования в гидриде натрия (NaH). Самым сильным супероснованием является дианион орто-диэтинилбензола (C 6 H 4 (C 2 ) 2 ) 2−.
- Нейтральное основание — это основание, которое образует связь с нейтральной кислотой, так что кислота и основание имеют общую пару электронов от основания.
- Твердая основа активна в твердой форме. Примеры включают диоксид кремния (SiO 2 ) и NaOH, нанесенный на оксид алюминия. Твердые основания могут использоваться в анионообменных смолах или для реакций с газообразными кислотами.
Реакция между кислотой и основанием
Кислота и основание реагируют друг с другом в реакции нейтрализации. При нейтрализации водная кислота и водное основание образуют водный раствор соли и воды. Если соль насыщенная или нерастворимая, она может выпасть в осадок из раствора.
Хотя может показаться, что кислоты и основания — противоположности, некоторые виды могут действовать как кислота или основание. Фактически, некоторые сильные кислоты могут действовать как основания.
Источники
- Дженсен, Уильям Б.(2006). «Происхождение термина« основа ». The Journal of Chemical Education . 83 (8): 1130. doi: 10.1021 / ed083p1130
- Джолл, Мэтью Э. (2009). Изучение химии: перспективы судебной медицины (2-е изд.). Нью-Йорк: W.H. Freeman and Co. ISBN 1429209895.
- Whitten, Kenneth W .; Пек, Ларри; Дэвис, Раймонд Э .; Локвуд, Лиза; Стэнли, Джордж Г. (2009). Химия (9-е изд.). ISBN 0-495-39163-8.
- Зумдал, Стивен; ДеКост, Дональд (2013). Химические принципы (7-е изд.). Мэри Финч.
Что такое база в химии?
Традиционно основания имеют горький вкус, а кислоты кислые, но в химии определения эволюционировали так, что вещества являются либо основаниями, либо кислотами, используя их химические свойства. Эта классификация важна, потому что кислоты и основания могут реагировать с образованием солей, и они являются основой многих других типов обычных химических реакций. Основания обладают определенными общими химическими свойствами, и выбор подходящего химического вещества может повлиять на результат реакции.
TL; DR (слишком долго; не читал)
Более ограниченное и старое определение заключалось в том, что основание — это вещество, которое растворяется в воде и диссоциирует на гидроксид или ион OH — и положительный ион. В более общем определении основание — это вещество, которое при растворении в воде увеличивает количество гидроксид-ионов. Это определение достаточно широко, чтобы включать вещества, которые сами по себе не содержат гидроксид-ионы в составе своих молекул, и реакции, которые не происходят в воде.
Ранние определения базы
Химические вещества были базами из-за их наблюдаемых свойств. В этом отношении основы представляли собой вещества, которые имели горький вкус, были скользкими и превращали лакмусовую краску из красного в синий. Когда вы добавляли кислоты к основаниям, оба вещества теряли свои характеристики, и вы получали твердое вещество или соль. Основания получили свое название от этих реакций, потому что они были «основным» химическим веществом, к которому вы добавляли кислоты.
Arrhenius Bases
Сванте Аррениус предложил более общее определение в 1887 году.Аррениус изучал ионы в водных растворах, предполагая, что поваренная соль или NaCl растворяются в воде путем разделения на положительные ионы натрия и отрицательные ионы хлора. Основываясь на этой теории, он думал, что основания — это вещества, которые растворяются в воде с образованием отрицательных ионов OH — и положительных ионов. С другой стороны, кислоты производили положительные ионы H + и другие отрицательные ионы. Эта теория хорошо работает со многими распространенными химическими веществами, такими как щелочь или NaOH. Щелок растворяется в воде с образованием положительных ионов натрия Na + и отрицательных ионов OH — , и это сильное основание.
Определение Аррениуса не объясняет, почему такие вещества, как NaCO 3 , которые не имеют гидроксид-иона, способного растворяться в воде, тем не менее обладают свойствами, типичными для оснований. Определение также работает только для реакций в воде, потому что оно указывает, что основания должны растворяться в воде.
Кислоты и основания в химии
Определения Аррениуса верны в том смысле, что они идентифицируют гидроксид-ион как активный компонент для оснований. Для кислот определения Аррениуса указывают, что кислотное вещество растворяется с образованием положительных ионов водорода H + , соответствующего активному компоненту для кислот.
Эти определения могут применяться к веществам за пределами водных растворов, которые не содержат гидроксид или ионы водорода. Вместо этого основания могут быть веществами, которые при растворении в воде увеличивают количество гидроксид-ионов в растворе. Кислоты также увеличивают количество ионов водорода. Это более широкое определение успешно объединяет все вещества, которые ведут себя как основания, в более общую категорию и описывает, что такое основания в химии.
База (химия) — Энциклопедия Нового Света
В химии основание рассматривается как вещество, которое может принимать протоны или любое химическое соединение, которое образует гидроксид-ионы (OH —) в растворе.Его также обычно называют любым веществом, которое может реагировать с кислотой для уменьшения или нейтрализации ее кислотных свойств, изменения цвета индикаторов (например, превращение красной лакмусовой бумажки в синий), ощущения скользкости на ощупь в растворе, горького вкуса, реакции с кислотами с образованием солей и способствует определенным химическим реакциям (например, щелочной катализ). Примеры простых оснований — гидроксид натрия и аммиак. Гидроксид натрия (NaOH), также известный как каустическая сода или щелочь, диссоциирует в воде с образованием ионов гидроксида (OH —) и ионов натрия (Na + ).
В основном растворе фенолфталеин имеет розовый или красный цвет.Базы имеют множество практических применений, и некоторые из них обычно используются в домашних условиях. Бытовой аммиак — привычное чистящее средство. Щелок используется для чистки засоров и сточных вод в раковинах. Гидроксид калия, также называемый едким калием, используется для изготовления мягкого мыла, легко растворяющегося в воде. Гидроксид магния в воде (также называемый молоком магнезии) используется как антацидное или слабительное средство.
Щелочь и основа
Истоки концепции
Термин «щелочь» происходит от арабского слова al qalīy , означающего «кальцинированный пепел».«Эта растительная зола рассматривалась как обладающая такими свойствами, как способность обращать действие кислот и обладающая моющей способностью. Таким образом, щелочь изначально считалась антитезой кислоты. Образование солей в результате реакции кислоты и щелочи привело к к мнению, что соли могут быть получены из двух компонентов противоположной природы.
Однако не все некислотные компоненты обладают щелочными свойствами. Примерами являются оксиды и гидроксиды тяжелых металлов. Так родилось понятие «база».Эта концепция была впервые введена французским химиком Гийомом Франсуа Руэлем в 1754 году. Он отметил, что кислоты, которые в то время были в основном летучими жидкостями, такими как уксусная кислота, превращались в твердые соли только в сочетании с определенными веществами. Эти вещества сформировали бетонную основу , основу для соли, [1] и отсюда и название.
Путаница между основанием и щелочью
Термины «основание» и «щелочь» часто используются взаимозаменяемо, поскольку наиболее распространенными основаниями являются щелочи.Обычно говорят об «измерении щелочности почвы», когда на самом деле имеется в виду измерение pH (основного свойства). Точно так же основания, не являющиеся щелочами, такие как аммиак, иногда ошибочно называют щелочными.
Обратите внимание, что не все или даже большинство солей, образованных щелочными металлами, являются щелочными; это обозначение применяется только к тем солям, которые являются основными.
В то время как большинство электроположительных оксидов металлов являются основными, только растворимые оксиды щелочных и щелочноземельных металлов можно правильно назвать щелочами.
Это определение щелочи как основной соли щелочного или щелочноземельного металла действительно является наиболее распространенным, исходя из словарных определений, [2] , однако, существуют противоречивые определения термина щелочь. Это включает:
- Любая водорастворимая основа. [3] Alkali, Farlex, 2008. Получено 8 апреля 2008 г. Более точно это называется основанием Аррениуса.
- Раствор основы в воде. [4]
Определения кислот и щелочей
Кислоты и основания образуют дополнительные пары, поэтому их определения следует рассматривать вместе.Есть три общие группы определений: определения Аррениуса , Бронстеда-Лоури и Льюиса в порядке возрастания общности.
- Аррениус : Согласно этому определению, кислота — это вещество, которое увеличивает концентрацию иона гидроксония (H 3 O + ) при растворении в воде, а основания — это вещества, увеличивающие концентрацию гидроксид-ионов ( ОН — ). Это определение ограничивает кислоты и основания веществами, которые могут растворяться в воде.Около 1800 года многие французские химики, в том числе Антуан Лавуазье, ошибочно полагали, что все кислоты содержат кислород. Действительно, современное немецкое слово для обозначения кислорода — Sauerstoff (букв. Кислое вещество). Английские химики, в том числе сэр Хэмфри Дэви, в то же время считали, что все кислоты содержат водород. Шведский химик Сванте Аррениус использовал это убеждение, чтобы разработать определение кислоты.
- Brønsted-Lowry : Согласно этому определению, кислота является донором протона (ядро водорода), а основание — акцептором протона (ядро водорода).Говорят, что кислота диссоциирует после передачи протона. Кислота и соответствующее основание называются сопряженными парами кислота-основание. Бренстед и Лоури сформулировали это определение, которое включает нерастворимые в воде вещества, которых нет в определении Аррениуса.
- Льюис : Согласно этому определению, кислота является акцептором электронной пары, а основание — донором электронной пары. (Их часто называют «кислоты Льюиса [5] » и «основания Льюиса [6] », и в органической химии они являются электрофилами [7] и нуклеофилами [8] , соответственно; Льюис основания также являются лигандами в координационной химии.Кислоты Льюиса включают вещества, не содержащие переносимых протонов (например, ионы водорода H + ), такие как хлорид железа (III), и, следовательно, определение кислоты Льюиса имеет более широкое применение, чем определение Бренстеда-Лоури. Определение Льюиса также можно объяснить с помощью теории молекулярных орбиталей. В общем, кислота может получить пару электронов на своей самой низкой незанятой орбитали (НСМО) с самой высокой занятой орбитали (ВЗМО) основания. То есть HOMO из основания и LUMO из кислоты объединяются в связывающую молекулярную орбиталь.Это определение было разработано Гилбертом Н. Льюисом.
Общая недвижимость
Некоторые общие свойства баз включают:
- Вкус : Горький вкус (в отличие от кислого вкуса кислот и сладости альдегидов и кетонов)
- Touch : Склизкие или мыльные ощущения на пальцах
- Реакционная способность : Каустик [9] на органических веществах, бурно реагирует с кислотными или восстанавливаемыми веществами
- Электропроводность : водные растворы или расплавленные основания диссоциируют на ионы и проводят электричество
- Лакмусовая бумажка : Основа становится красной лакмусовой бумажкой синей.{-}] \ over [BH]}}
Константа равновесия Kb также называется базовой константой ионизации. Это относится к реакции, в которой основание образует сопряженную кислоту путем удаления иона H + из воды.pH (нечистой) воды является мерой ее кислотности. В чистой воде примерно одна из десяти миллионов молекул диссоциирует на ионы гидроксония (H 3 O + ) и ионы гидроксида (OH —) в соответствии со следующим уравнением:
- 2H 2 O (l) ⇌ H 3 O + (вод.) + OH — (вод.)
Основание принимает (удаляет) ионы гидроксония [10] (H 3 O + ) из раствора или отдает в раствор гидроксид-ионы [11] (OH — ).Оба действия снизят концентрацию ионов гидроксония и, таким образом, повысят pH. Напротив, кислота отдает ионы H 3 O + раствору или принимает OH —, тем самым понижая pH.
Например, если 1 моль гидроксида натрия (40 г) растворить в 1 литре воды, концентрация гидроксид-ионов станет [OH — ] = 1 моль / л. Следовательно, [H + ] = 10 -14 моль / л, а pH = -log 10 -14 = 14.
Константа основности или pK b является мерой основности и связана с pKa простым соотношением pK a + pK b = 14.
Базовая прочность
A «Сильное основание» — это соединение, которое полностью гидролизует, депротонируя кислоты в кислотно-основной реакции, следовательно, повышая pH раствора до 14. Соединения с pH более чем примерно 13 называются сильными основаниями. Сильные основания, такие как сильные кислоты, атакуют живые ткани и вызывают серьезные ожоги. Они по-другому реагируют на кожу, чем кислоты, в то время как сильные кислоты вызывают коррозию, мы говорим, что сильные основания являются едкими. Обычными примерами сильных оснований являются гидроксиды щелочных и щелочноземельных металлов, таких как NaOH и Ca (OH) 2 .Очень сильные основания способны даже депротонировать очень слабокислые C-H-группы в отсутствие воды. Супероснования — это класс особо основных соединений, а гарпунные основания — это особый класс сильных оснований с плохой нуклеофильностью.
Примеры сильных оснований (гидроксидных соединений) по нисходящей силе:
- Гидроксид калия (КОН)
- Гидроксид бария (Ba (OH) 2 )
- Гидроксид цезия (CsOH)
- Гидроксид натрия (NaOH)
- Гидроксид стронция (Sr (OH) 2 )
- Гидроксид кальция (Ca (OH) 2 )
- Гидроксид лития (LiOH)
- Гидроксид рубидия (RbOH)
Катионы этих сильных оснований входят в группы 1 и 2 периодической таблицы (щелочные и щелочноземельные металлы).
Еще более сильными основаниями являются:
- Натрия гидрид (NaH)
- Диизопропиламид лития (LDA) (C 6 H 14 LiN)
- Амид натрия (NaNH 2 )
«Слабое основание» — это вещество, которое не полностью ионизируется в растворе. Когда основание ионизируется, оно забирает ион водорода из окружающей воды, оставляя после себя ион ОН-. Слабые основания имеют более высокую концентрацию H + , чем сильные основания. Слабые основания существуют в химическом равновесии так же, как и слабые кислоты.Константа ионизации основания K b указывает на прочность основания. Большие K b s относятся к более прочным основаниям. PH основания больше 7 (где 7 — нейтральное число; ниже 7 — кислота), обычно до 14. Типичным примером слабого основания является аммиак, который используется для очистки.Примеры слабых оснований:
- Аланин (C 3 H 5 O 2 NH 2 )
- Аммиак (вода) (NH 3 (NH 4 OH))
- Диметиламин ((CH 3 ) 2 NH)
- Этиламин (C 2 H 5 NH 2 )
- Глицин (C 2 H 3 O 2 NH 2 )
- Гидразин (N 2 H 4 )
- Метиламин (CH 3 NH 2 )
- Триметиламин ((CH 3 ) 3 N)
Кислотно-щелочная нейтрализация
Основания можно рассматривать как химическую противоположность кислот.Реакция между кислотой и основанием называется нейтрализацией. Основания и кислоты рассматриваются как противоположности, потому что действие кислоты заключается в увеличении концентрации иона гидроксония (H 3 O + ) в воде, тогда как основания снижают эту концентрацию. Основания реагируют с кислотами с образованием солей и воды.
Положительный ион соли происходит от основания, а отрицательный ион — от кислоты. Если рассматривать гидроксид металла в качестве основания, то общая реакция выглядит так:
- HX (водн.) + MOH (водн.) → MX (водн.) + HOH (л)
- кислотно-щелочная соленая вода
Соли сильных оснований и сильных кислотСильная кислота HCl (соляная кислота) реагирует с сильным основанием NaOH (гидроксид натрия) с образованием NaCl (соль = хлорид натрия) и воды.Если количества кислоты и основания находятся в правильном стехиометрическом соотношении, тогда реакция подвергнется полной нейтрализации, при которой кислота и основание потеряют свои соответствующие свойства.
- HCL (водн.) + NaOH (водн.) → NaCl (водн.) + H 2 O (л)
- сильная соленая вода
- кислотное основание
соли сильных оснований и слабых кислотыСильное основание NaOH (гидроксид натрия) добавляют к слабой кислоте CH 3 COOH (уксусная кислота) в 1 л раствора, образуя NaCH 3 COO (ацетат натрия) и воду.
- CH 3 COOH (водн.) + NaOH (водн.) → NaCH 3 COO (водн.) + H 2 O (л)
- слабосоленая вода
- кислотное основание
Соли слабых оснований и сильных кислотСлабые основания реагируют с сильными кислотами с образованием кислых солевых растворов. Конъюгированная кислота слабого основания определяет его pH. Например, NH 3 (аммиак) добавляют к HCl (соляной кислоте) с образованием NH 4 Cl (хлорид аммония).
- NH 3 (водн.) + HCl (водн.) → NH 4 Cl (водн.)
- слабая сильная соль
- основная кислота
Как только соль образуется, она вступает в реакцию с водой , в результате чего получается слабокислый раствор.
Соли слабых оснований и слабых кислотСолевые растворы, содержащие кислотные катионы и основные анионы, такие как NH 4 F (фторид аммония), имеют две возможные реакции:
- NH 4 + (вод.) + H 2 O (л) ↔ H 3 O + (водн.) + NH 3 (водн.) K a (NH 4 + ) = 5.6 x 10-10
- F — (водн.) + H 2 O (л) ↔ HF (водн.) + OH — (водн.) K b (F — ) = 1,4 x 10-11
Поскольку K a (NH 4 + )> K b (F — ), реакция аммиака с водой более благоприятна. Следовательно, полученный раствор слабокислый.
Щелочи
Щелочные соли
Большинство основных солей являются щелочными солями, распространенными примерами которых являются:
- гидроксид натрия (часто называемый каустической содой)
- гидроксид калия (обычно называемый «поташ»)
- щелок (общий термин для любого из двух предыдущих или даже для смеси)
- карбонат кальция (иногда называемый «свободная известь») Гидроксид магния
- является примером атипичной щелочи: это слабое основание (не может быть обнаружено фенолфталеином) и имеет низкую растворимость в воде.
Щелочная почва
Почва со значением pH выше 7,4 обычно называется щелочной. Это свойство почвы может возникнуть естественным образом из-за присутствия солей щелочных металлов. Хотя некоторые растения предпочитают слегка щелочную почву (включая овощи, такие как капуста, и корм, например, буйволин), большинство растений предпочитают умеренно кислую почву (pH от 6,0 до 6,8), и щелочные почвы могут вызывать проблемы.
Щелочные озера
В щелочных озерах (разновидность соленых озер) испарение концентрирует встречающиеся в природе щелочные соли, часто образуя корку слабощелочной соли на большой площади.
Примеры щелочных озер:
Щелочность негидроксидов
И карбонат натрия, и аммиак являются основаниями, хотя ни одно из этих веществ не содержит групп OH — . Это потому, что оба соединения принимают H + при растворении в воде:
- Na 2 CO 3 + H 2 O → 2 Na + + HCO 3 — + OH —
- NH 3 + H 2 O → NH 4 + + OH —
Основания как гетерогенные катализаторы
Основные вещества могут использоваться как нерастворимые гетерогенные катализаторы химических реакций.Примерами являются оксиды металлов, такие как оксид магния, оксид кальция и оксид бария, а также фторид калия на оксиде алюминия и некоторые цеолиты. Многие переходные металлы являются хорошими катализаторами, многие из которых образуют основные вещества. Основные катализаторы использовались для гидрирования, миграции двойных связей, восстановления Меервейна-Понндорфа-Верли, реакции Михаэля и многих других реакций.
Практические основы химии
Базы могут использоваться не только в промышленности, но и дома.Антациды используются для нейтрализации кислотности желудка; садовники используют основы, такие как лайм (CaO), чтобы сделать почву более простой. Мягкие основы используются для очистки всего: от посуды и одежды до транспортных средств и домашних собак.
Нейтрализует кислотность желудка
Антацид — это основа, которая используется для нейтрализации избытка желудочной кислоты. Рекомендуемая доза — это количество основания, необходимое для нейтрализации , , но не всей желудочной кислоты.
Кислотно-основной химический состав некоторых антацидов:
Соединение Химическая формула Химическая реакция Гидроксид алюминия Al (OH) 3 Al (OH) 3 (т.) + 3 HCl (водн.) ——> AlCl 3 (водн.) + 3 H 2 O (л) Карбонат кальция CaCO 3 CaCO 3 (т) + 2 HCl (водн.) ——> CaCl 2 (водн.) + H 2 O (л) + CO 2 (г) Карбонат магния мгCO 3 MgCO 3 (т) + 2 HCl (водн.) ——> MgCl 2 (водн.) + H 2 O (л) + CO 2 (г) Гидроксид магния мг (OH) 2 Mg (OH) 2 (т.) + 2 HCl (водн.) ——> MgCl 2 (водн.) + 2 H 2 O (л) Бикарбонат натрия NaHCO 3 NaHCO 3 (водн.) + HCl (водн.) ——> NaCl (водн.) + H 2 O (l) + CO 2 (г) Бытовые чистящие средства
Большинство чистящих средств, таких как средства для мытья посуды, чистящие порошки, средства для стирки и чистящие средства для духовки, являются простыми.Много десятилетий назад домашнее щелочное мыло использовалось для чистки одежды и кожи людей. Самое близкое к щелочному мылу, которое мы видим сегодня, — это средство для мытья посуды. Для действительно сложных работ по уборке дома требуются химически агрессивные чистящие средства. Для избавления от грязи, жира или пятен используются чистящие средства высокой степени очистки. Очистители слива и духовки находятся на другом конце спектра pH, имея pH 12 или выше. Обычно они содержат сильное основание, такое как NaOH, которое реагирует с жирами и жиром с образованием растворимого мыла.Все базовые решения, как в лаборатории, так и дома, опасны, и с ними всегда следует обращаться с осторожностью. [12]
См. Также
- Теории кислотно-основных реакций
- Кислота
Банкноты
- ↑ Уильям Б. Дженсен, «Происхождение терминологической базы», Журнал химического образования , 1130 83 (8) (август 2006 г.).
- ↑ Щелочь, Лексико Паблишинг Груп, ООО. Проверено 8 апреля 2008 года.
- ↑ Щелочь, Тискали, 2008.Проверено 8 апреля 2008 года.
- ↑ Кислоты, основания и соли, КрыссТал, 2005. Проверено 8 апреля 2008 г.
- ↑ Вещество, которое может принимать пару электронов для образования новой связи.
- ↑ Вещество, которое может отдавать пару электронов для образования новой связи.
- ↑ Химическое соединение или группа, которые притягиваются к электронам и склонны принимать электроны.
- ↑ Химическое соединение или группа, которую привлекают ядра и которая имеет тенденцию отдавать или делиться электронами.
- ↑ Способен гореть, разъедать, растворять или разъедать химическим действием.
- ↑ Ион гидратированного водорода, h4O + . Также называется ион гидроксония.
- ↑ Ион OH — , характерный для основных гидроксидов. Также называется гидроксил-ион.
- ↑ Дж. У. Мур, К. Л. Станицки и П. К. Юрс, 2002, Chemistry The Molecular Science , New York: Harcourt College.
Список литературы
- Браун, Теодор Э., Х. Юджин Лемей и Брюс Э. Бурстен. Химия: Центральная наука (10-е издание).Река Аппер Сэдл, Нью-Джерси: Prentice Hall, 2005. ISBN 0131096869
- Корвин, К. Х. Введение в химические концепции и связи (3-е изд.). Река Аппер Сэдл, Нью-Джерси: Прентис-Холл, 2001. ISBN 0130874701
- Макмерри Дж. И Р. К. Фэй. Химия (4-е изд.). Река Аппер Сэдл, Нью-Джерси: Прентис-Холл, 2004. ISBN 0131402080
- Moore, J. W., C. L. Stanitski, and P. C. Jurs. Химия Молекулярная наука . Нью-Йорк: Harcourt College, 2002.ISBN 0030320119
- Oxlade, Крис. Кислоты и основания (Химические вещества в действии). Библиотека Heinemann, 2002. ISBN 1588101940
Внешние ссылки
Все ссылки получены 13 мая 2016 г.
- CurTiPot — Диаграммы кислотно-основного равновесия, расчет pH, моделирование и анализ кривых титрования — бесплатное ПО
Кредиты
Энциклопедия Нового Света Писатели и редакторы переписали и завершили статью Википедия в соответствии со стандартами New World Encyclopedia .Эта статья соответствует условиям лицензии Creative Commons CC-by-sa 3.0 (CC-by-sa), которая может использоваться и распространяться с указанием авторства. Кредит предоставляется в соответствии с условиями этой лицензии, которая может ссылаться как на участников New World Encyclopedia, , так и на самоотверженных добровольцев Фонда Викимедиа. Чтобы процитировать эту статью, щелкните здесь, чтобы просмотреть список допустимых форматов цитирования. История более ранних публикаций википедистов доступна исследователям здесь:
История этой статьи с момента ее импорта в New World Encyclopedia :
Примечание. Некоторые ограничения могут применяться к использованию отдельных изображений, на которые распространяется отдельная лицензия.
Что такое кислоты и основания?
Что такое кислоты и основания?
Хотя я уже говорил вам, что кислоты и основания не сложно понять, у меня плохие новости: для описания кислот и оснований используется не одно, а три общих определения: кислоты и основания Аррениуса, кислоты Бренстеда-Лоури. и основания, и кислоты и основания Льюиса. Хотя это звучит так, будто вам придется узнать о кислотах и основаниях трижды, хорошая новость заключается в том, что для многих практических целей эти три определения примерно эквивалентны.
Аррениусовские кислоты и основания
Еще в конце 1800-х наш старый друг Сванте Аррениус придумал определения кислот и оснований, работая над проблемами кинетики.
Согласно Аррениусу, кислоты — это соединения, которые распадаются в воде с выделением ионов гидроксония (H + ). Типичным примером кислоты Аррениуса является соляная кислота (HCl):
Формулы кислот обычно начинаются с водорода, хотя органические кислоты являются заметным исключением. Названия и формулы некоторых распространенных кислот приведены в таблице ниже: