Можно ли открыть в субд несколько разных баз данных кратко

Обновлено: 08.07.2024

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

Я реализовал это в CodeIgniter с добавлением данных авторизации обеих баз данных в файле database.php и для загрузки необходимой базы данных с помощью $this->load->database('dbname'); в script.

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

Это связано с моей первой базой данных.

Теперь я хочу подключиться ко второй базе данных:

1) Я не закрыл выше соединение и связан со вторым с

2) Будет ли это плохой практикой? Будет ли он потреблять больше объектов? Должна ли мы быть обязательной для закрытия первой?)

ОТВЕТЫ

Ответ 1

Не нужно открывать 2 соединения, чтобы использовать таблицы из 2 баз данных на одном сервере. Вам просто нужно использовать ноту database.table. Это означает, что вы можете даже присоединить таблицы из разных баз данных в том же запросе

Итак, если вы сначала подключились к db1, вы можете использовать таблицы db2 и то же самое, если вы подключились к db2, вы можете использовать таблицы db1.

Ответ 2

Вы пробовали это?

Ответ 3

Вы можете сделать это, следуя объектно-ориентированному подходу

Прежде всего создайте соединение с двумя базами данных:

Вывод: Если вы хотите использовать database1 использовать объект $Db1 , и если вы хотите использовать database2 , используйте $DB2 .

Ответ 4

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

Ответ 5

Я не думаю, что одновременное подключение к двум БД - это проблема, так как вы успешно сделали это (или знаете, как это сделать). Я могу это понять из вашего вопроса. Поэтому я не буду показывать, как это сделать. Если вам нужно, обратитесь к другим ответам.

Но для непосредственного решения ваших проблем:

  • Будет ли это плохой практикой? Как правило, вам следует избегать двух одновременных ручек подключения к БД. Если вам нужно только получить данные из одной базы данных и использовать их для выполнения чего-то другого, лучше всего поставить данные из DB1 в соответствующие переменные PHP, закрыть соединение; затем выполните второе соединение. Это было бы дешевле, чем одновременное открытие двух соединений DB. Однако, если вы делаете что-то вроде INSERT INTO db1.table SELECT FROM db2.table И ТАКЖЕ НЕОБХОДИМО СОБИРАТЬ ИЛИ ROLLBACK в зависимости от успеха или неудачи некоторых запросов, тогда AFAIK, вы должны держать оба соединения открытыми до тех пор, пока ваши процессы не закончатся. Видите ли, всегда есть компромиссы. Таким образом, вы решаете на основе потребности своего приложения и нести расходы.

В качестве практического примера этого сценария я когда-то работал над проектом, где мне нужно было выбрать SELECT table1, INSERT INTO table2, если INSERT преуспеет, я удаляю все строки из таблицы1, если DELETE терпит неудачу, я откатываюсь операция INSERT, потому что данные не могут жить в двух таблицах одновременно.

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

Будет ли он потреблять больше объектов? Никаких других объектов, кроме тех, которые указаны в 1 выше, а именно, соединения DB подключаются в соответствии с вашим вопросом.

Должны ли мы обязательным требовать закрытия первого? Еще раз, в зависимости от вашего приложения.

Ответ 6

Вместо mysql_connect используйте mysqli_connect.

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

Ответ 7

1) Можно ли подключиться к нескольким базам данных в одном script?

Да, мы можем создать несколько идентификаторов ссылок MySQL в одном и том же script.

2) Не должно быть похоже на закрытие одного соединения с mysql_close и открытие нового, но оба соединения должны открываться одновременно, и пользователь может использовать любую таблицу из любой базы данных?

Использовать постоянные подключения к базе данных, такие как mysql_pconnect

3) Если это возможно, что может быть недостатком этого? Будет ли создан два объекта, и это создаст проблему?

Я не думаю, что он создает какие-то проблемы, кроме увеличения загрузки на сервере.

Ответ 8

Вы можете использовать это как

Для базы данных 1

Для базы данных 2

Ответ 9

В: Какие минусы существуют для подключения к другой базе данных без закрытия предыдущей базы данных?

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

В: Является ли это подходящей практикой? Каков наилучший способ сделать это, не открывая это соединение в каждом script несколько раз? Я хочу, чтобы это выполнялось в основном php только в том случае, если я уже знаю это в codeigniter.

Односторонние СЕЗОНЫ, но вы не можете хранить контуры базы данных в сеансах. Прочитайте в PHP.net это предупреждение: "Некоторые типы данных не могут быть сериализованы таким образом, хранятся в сеансах. Они включают переменные ресурсов или объекты с круговыми ссылки (т.е. объекты, которые передают ссылку на себя другому объекту)". Соединения MySQL - один из таких ресурсов.

Вам нужно подключиться к каждой странице.

Это не так плохо, как кажется, если вы можете положиться на объединение пулов через mysql_pconnect(). При подключении функция сначала попытается найти (постоянную) ссылку, которая уже открыта с тем же хостом, именем пользователя и паролем. Если он найден, идентификатор для него будет возвращен вместо открытия нового соединения. Соединение с SQL-сервером не будет закрыто при завершении выполнения script. Вместо этого ссылка останется открытой для будущего использования ( mysql_close() не будет закрывать ссылки, установленные mysql_pconnect() ).

Ответ 10

Лучший способ использования нескольких баз данных - использовать функции PDO

Если вы раньше не использовали PDO, прочитайте этот короткий учебник:

Практически такой же, как соединения mysql и mysqli, но более продвинутый, быстрый и безопасный.

И вы можете добавить более двух баз данных

Ответ 11

Использовать PDO, поддерживаемый версией php 5, вместо mysql connect

Ответ 12

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

Ответ 13

Затем для запроса базы данных 1 передайте первый идентификатор ссылки:

а для базы данных 2 - второе:

Ответ 14

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

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

В этой статье

Обзор способов общего доступа к данным Access

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

Общие сведения о параметрах общего доступа в Access

Совместное доступ к одной базе данных

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

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

Чтобы поделиться базой данных с помощью общей папки:

В среде домашнего или малого бизнеса поделитесь папкой с определенными людьми. Дополнительные сведения см. в разделе "Общий доступ к файлам по сети в Windows 10".

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

Запустите Access и на вкладке Файл выберите пункт Параметры.

В окне Параметры Access выберите пункт Параметры клиента.

В разделе "Дополнительные настройки" в режимеоткрытия по умолчанию выберите "Общие", нажмите кнопку "ОК"и закроем Access.

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

На компьютере каждого пользователя создайте ярлык для файла базы данных. Дополнительные сведения см. в ярлыке "Создание ярлыка на рабочем столе" дляприложения или файла Office.

Совместное использование разделенной базы данных

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

Преимущества разделения базы данных включают в себя следующие преимущества:

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

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

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

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

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

Совместное передачу данных на сайте SharePoint

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

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

Дополнительные сведения см. в том, как импортировать, связатьили переместить данные в SharePoint.

Совместное использование данных с помощью сервера базы данных

Совместное использование базы данных можно организовать с помощью приложения Access и сервера баз данных (например, сервера SQL Server). Этот способ обеспечивает много преимуществ, но для него требуется дополнительное программное обеспечение — сервер баз данных.

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

Преимущества совместного использования базы данных с помощью сервера баз данных

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

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

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

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

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

Azure SQL Server В дополнение к преимуществам SQL Server динамической масштабируемости без простоев, интеллектуальной оптимизации, глобальной масштабируемости и доступности, отказом от затрат на оборудование и сокращением администрирования.

Базы данных и СУБД

Презентация по информатике на тему "Базы данных и система управления базами данных" (10 класс, информатика). Цель изучения данной темы: Познакомить с понятиями: база данных , система управления базами данных, Выделить типы баз данных. Определить состав баз данных. В конце урока проводится рефлексия и дается домашнее занятиеПрезентация

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Верные и неверные утверждения Понятие До После 1.Система управления базой данных (СУБД) – это программное обеспечение для работы с БД. 2.Базы данных – это программные средства, осуществляющие поиск информации 3.Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Это характеристика иерархической базы данных. 4. Табличная база данных образуется обобщением иерархической за счет допущения объектов, имеющих более одного предка. 5.Табличная база данных содержит перечень объектов одного типа, т. е. объектов с одинаковым набором свойств. 6.Поле баз данных – строка таблицы, содержащая значения определенного свойства. 7.Запись базы данных – это столбец таблицы, содержащий значения определённого свойства. 8.Ключевое поле – это поле, значение которого однозначно определяет запись в таблице.

Базы данных и СУБД

Базы данных и СУБД

Тема урока Базы данных и системы управления базами данных. • Цели: • Познакомиться с….. • Выделить ……. • Определить …….

Базы данных и СУБД

Базы данных и СУБД

Цели: • Познакомиться с понятиями: база данных , система управления базами данных. • Выделить типы баз данных. • Определить состав баз данных.

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Как называется база данных, поддерживающая структуру в виде дерева? Пример – Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина. Объекты нижнего уровня подчинены объектам верхнего уровня

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Как называется база данных, элементы которой могут быть связаны между собой произвольным образом? Самый яркий пример – Глобальная сеть Интернет. Схема связей между объектами может быть любой

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

Базы данных и СУБД

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

Базы данных и СУБД

Базы данных и СУБД

Типы баз Типы баз данных данных Иерархическая Сетевая Табличная (реляционная) Типы баз Типы баз данныхданныхСетеваяТабличная(реляционная)

Можно ли открыть в СУБД несколько разных баз данных? Единовременно может быть открыта только одна база данных, содержащая обязательное окно базы данных и окно работы с объектами базы данных. 1. Система управления базой данных (СУБД) – это программное обеспечение для работы с БД.

Как называется элемент базы данных содержащий однородные данные о разных объектах?

В базах данных вся информация хранится в двумерных таблицах. Каждая строка в таблице – запись базы данных, а столбец — поле. . Запись содержит набор данных об одном объекте, а поле — однородные данные обо всех объектах.

Какие основные объекты входят в СУБД?

Каждой СУБД могут реализовываться свои типы объектов. К основным объектам СУБД относятся: таблицы, формы, запросы, отчеты.

Сколько баз данных может быть открыто одновременно?

Одновременное открытие нескольких баз данных

В одном экземпляре Access одновременно можно открыть только одну базу данных.

Какие функции выполняет СУБД?

Основные функции СУБД

управление данными во внешней памяти (на дисках); управление данными в оперативной памяти с использованием дискового кэша; журнализация изменений, резервное копирование и восстановление базы данных после сбоев; поддержка языков БД (язык определения данных, язык манипулирования данными).

В чем суть этапа проектирование базы данных?

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

Как называется структура базы данных которая состоит из нескольких взаимосвязанных таблиц?

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

Что понимается под базой данных?

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

Что является объектами Субд Access?

СУБД называет объектами все, что может иметь имя. В БД Access основными объектами являются таблицы, запросы, формы, отчеты, макросы и модули. . Таблица - это объект, определяемый для хранения данных. Каждая таблица включает информацию об объекте реального мира, например о клиентах фирмы.

Как открыть базу данных с монопольным доступом?

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

Для чего служит структура таблица?

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

Читайте также: