Книга известного профессионала в области баз данных посвящена новым версиям самой популярной в настоящее время базы данных, рассчитанной на широкий круг пользователей - MySQL. Подробно рассматриваются такие вопросы, как установка и конфигурирование MySQL, выполнение повседневных задач и улучшение производительности. На примере тестовых баз данных он приводит решения проблем, с которыми читатель обязательно должен столкнуться при практическом использовании реляционной СУБД MySQL. Читатель получит навыки интеграции MySQL с такими программными средствами, разработанными сторонними компаниями, как компиляторы языков PHP и Perl, позволяющими создавать с помощью запросов к базе данных динамические Web-страницы. Кроме того, здесь приведен обширный справочный материал, посвященный таким темам, как типы столбцов, операторы, функции, синтаксические конструкции языка SQL, интерфейсам C API, Perl DBI и PHP API. В книге уделено особое внимание доработкам и дополнениям, появившимся в версиях 4.1 и 5.0.
Книга рассчитана на пользователей, администраторов и разработчиков систем клиент/сервер на основе MySQL.
Эта книга — практическое руководство по разработке бизнес-приложений на основе XML и SQL Server. В ней подробно обсуждаются получение, вставка и сопоставление XML-данных при помощи известных технологий (XPath, XDR-схемы, язык XSL Transformation, HTTP и OLE DB)и новых технологий. На реальных примерах демонстрируется перенос важных бизнес-процессов предприятия в Web с использованием SQL Server и XML. В приложении, предназначенном администраторам СУБД SQL Server, обсуждаются основы языка XML. Книга состоит из 9 глав и приложения. Она адресована всем, кто хочет научиться при помощи XML интегрировать приложения и бизнес-процессы предприятий, хранящих данные в БД SQL Server.
В книгу включены наиболее важные предложения базового варианта SQL, позволяющие познакомиться с основными средствами манипулирования данными. Недостаток места не позволил подробно рассмотреть другие его конструкции. Однако и таких знаний достаточно для получения данных из баз, находящихся под управлением большинства современных СУБД (если, конечно, вам предоставят привилегии доступа к ним).
Если вы приступаете к изучению СУБД Oracle - начните с этой книги. Если вы опытный разработчик приложений или администратор баз данных Oracle, - прочтите ее и проверьте, достаточно ли глубоко вы вы знаете эту СУБД и умеете использовать ее возможности. Вы найдете в книге десятки советов, описаний приемов и методов решения задач, о которых вы никогда и не подозревали. Том Кайт отвечает на десятки вопросов в день. Он не только делится знаниями, но и умело подталкивает читателя к самостоятельным экспериментам. Следуя по указанному им пути становишься профессионалом.
На фоне прочих СУБД, распространяемых с открытыми текстами, PostgreSQL выделяется своей надежностью и богатством возможностей. В книге рассматриваются практические аспекты установки и сопровождения сервера БД на базе PostgreSQL. Основное внимание уделяется таким стандартным операциям, как архивация и восстановление баз данных, управление учетными записями пользователей, создание новых баз данных, запуск и остановка сервера и т.д. Отдельная часть книги посвящена нетривиальным темам, специфическим для PostgreSQL, в том числе работе с базами данных в языке Java и построению web-сайтов на основе данных PostgreSQL.
Книга предназначена для системных администраторов, занимающихся техническим сопровождением серверов БД, но ее материал также представляет интерес для широкого круга читателей, желающих поближе познакомиться с PostgreSQL.
От автора: В этом описании рассматривается СУБД MySQL. Руководство рассчитано на пользователей среднего уровня подготовки. Оно может быть использовано как в качестве справочного руководства по данной СУБД, так и в качестве учебника. В целях его использования в качестве справочника, в самом начале документа предусмотрено полное оглавление.
ЭТО НЕ ПЕРЕВОД ОРИГИНАЛЬНОЙ ДОКУМЕНТАЦИИ! Этот документ написан после прочтения фирменной документации, работы с пакетом и даже попыток его повалить, правда, не слишком удачных. Таким образом, в документе нашлось место и для личного мнения автора по ряду вопросов. Этот абзац мне пришлось включить на основании опыта подготовки подобной документации. Увы, описания, выстраданные кропотливым изучением программ, посчитали примитивным переводом, что говорит о том, что с ними просто не ознакомились должным образом. Я не отрицаю изучения мной оригинальной документации на пакет, но этот документ переводом не является.
PostgreSQL заслуженно считается одной из лучших СУБД, распространяемых с открытыми текстами, а по своим возможностям PostgreSQL успешно конкурирует со многими коммерческими пакетами.
Настоящая книга была задумана как практическое руководство по PostgreSQL версии 7.1.x, хотя большая часть материала в равной степени относится как к предыдущим, так и к будущим версиям PostgreSQL. При подборе материала авторы стремились к тому, чтобы читатель как можно быстрее освоил практические навыки работы с PostgreSQL. Хотя в книге затрагиваются некоторые теоретические аспекты функционирования СУБД, подобные теоретические отступления будут относительно короткими. Прежде всего, мы стремились к тому, чтобы полученные знания позволили читателю самостоятельно создать работоспособную базу данных PostgreSQL и обеспечить ее дальнейшее сопровождение. Надеемся, книга поможет всем, кто хочет ближе познакомиться с СУБД PostgreSQL и ее возможностями.
Книга ориентирована на широкий круг читателей, интересующихся объектно-реляционной системой управления базами данных (ОРСУБД) PostgreSQL. Предполагается, что читатель знаком с системами Linux и Unix, хотя и не является экспертом в области баз данных. Хотя все примеры тестировались в системе Red Hat Linux, практически весь материал относится к большинству систем семейства Unix.
Очень часто при работе с запросами приходится менять SQL этого запроса. Например, при изменении порядка сортировки или при необходимости изменения фильтра, прописанного в where. Сделать это стандартными средствами можно, но довольно муторно, т.к. весь запрос хранится в одном месте (для TQuery и её потомков это свойство Sql). При желании изменить, например, количество или порядок следования полей в order by, нужно программно найти этот order by, написать свой, вставить его вместо старого и т.д. Для меня, честно говоря, загадка, зачем борланд пошла по такому ущербному пути: стандарт ANSI SQL-92, с которым (и только с которым!) работает Bde, подразумевает достаточно жёсткий синтаксис запроса, вполне допускающий обработку на уровне отдельных секций. Сегодня я хотел бы поделиться одним из вариантов реализации потомка TQuery, в котором задачи такого класса будут решаться на лету одной строчкой кода.
Смысл очень простой. Для того, чтобы уйти от ручной обработки текста sql-запроса, надо просто разбить его на стандартные секции. И менять их по отдельности. Ведь любой select-запрос имеет достаточно строгий синтаксис, состоя из определённого количества заранее известных секций (clauses), задаваемых в строго определённой последовательности. Рассмотрим этот синтаксис поподробнее на примере СУБД Interbase:
Как видим, обязательными являются две секции: SELECT и FROM.
Ещё восемь секций опциональны. Наша задача сводится к тому, чтобы значение каждой секции устанавливать отдельно, при необходимости переоткрывая запрос. Можно было бы плясать от стандартного свойства Sql, выделять нужную секцию, менять и вставлять обратно. Но зачем это, если можно сам Sql формировать на основе заданных секций? Конечно, этот подход имеет тот минус, что накрывается прямая установка Sql одной строкой, что может быть неудобно при хранении запроса в реестре, базе и т.д., но и это, при желании, можно побороть.
В общем-то, ничего заумного, реализация до смешного проста, но при использовании в проектах позволяет сэкономить массу времени и значительно увеличить читабельность кода.
Чтобы не писать отдельное свойство на каждую секцию, задавать их будем в виде массива строк. Для работы с этим массивом нам понадобятся индексы, которые тоже лучше определить заранее:
Определим тип нашего индексированного свойства и определим сам класс:
Свойство fClauses будет содержать все секции запроса, на основе которых и будет формироваться сам запрос. Занимается этим процедура UpdateSql. Ну а методы GetClause/SetClause стандартны, и служат для установки/чтения значений отдельных секций. Поглядим на сам код:
Всё достаточно прозрачно, отмечу лишь, что метод UpdateSql добавляет в текст Sql-запроса только те секции, для которых установлено начение, и переоткрывает квери, если она была открыта на момент изменения секции. Здесь есть мелкие недоработки, например, не проверяется выход индекса за пределы допустимых значений, я просто не хотел мусорить исходный код вещами, которые очевидны и принципиально не важны. Можно было бы привести код регистрации компонента в палире дельфи, но это также тривиально. Приведу лучше исходник тестового проекта, в котором используется этот квери. В этом проекте на форме находятся компоненты DbGrid1, подключенные к источнику данных DataSource1, динамически создаётся экземпляр TDynQuery, открывающий таблицу "biolife" из DbDemos, входящую в стандартную поставку Delphi. После этого изменяется по кликанью на заголовке (Title) грида меняется сортировка таблицы:
Большинство владельцев доменных имен не хотят использовать поддомены, поскольку они считают их обладающими большим количеством недостатков, будь-то префикс в имени домена, что их игнорируют роботы и индексирующие пауки поисковых системах.
Поэтому давайте проверим эти факты о поддоменах. Поддомен является составной частью основного домена. Типичный домен выглядит следующим образом как www.codeguru.com.ua. Поддомен домена выглядит так http://inet.coders-library.ru. Но есть и поддомены вида http://coders-library.ru/forums. Вот такие и вызывают к себе неприязнь.
Но это лишь предрассудки. В наши дни поисковые роботы уже умеют индексировать и поддомены. Главное, чтобы все было по правилам поисковой машины, а для домена или поддомена она не делает особых различий. Ведь вы можете иметь сайт на несколько разных тематик, так что логично будет каждой теме выделить свой поддомен.
Каждый субдомен также будет получать трафик из поисковых систем, как новый сайт со своим собственным индексом и страничками. Так что нет ничего плохого в использовании субдоменов.
Если вы хотите развивать свой каждый субдомен, как свои отдельные сайты, пожалуйста. Если нет, то вложите все силы в получение трафика на основной домен и используйте его в полной мере, будь-то продажа товаров, заработок на контекстной рекламе или других способах.