Создание базы данных. Как создать базу данных в MySQL Создание пустой базы данных

Есть разные по сложности базы данных, мы создадим самую простую. Создавать базу данных мы будем в Access, это программа не требует много времени в освоении. Мы будем создавать простую базу данных “Библиотека фильмов”, на этой основе можно создавать и другие базы данных. И так, для начала установите на свой компьютер офисное приложение, и начнем работать. Запускаем программу и нажимаем на панели инструментов “создать” новая база данных.

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

Теперь мы будем создавать таблицу. Нужно выбрать объект “таблицы” создание таблицы в режиме конструктора и щелкнуть левой кнопкой мыши.

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

Я предлагаю заполнить поля таким образом:

Вы можете заполнять как вам угодно. Тип данных должен соответствовать тому, что вы хотите заполнять. Например, если год то это естественно будет числовой тип данных, если хотите прикрепить объект (рисунок) то это OLE. Далее нажимаем на “файл” “сохранить как” задаем имя и сохраняем таблицу.

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

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

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

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

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

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

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

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

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

Вторую кнопку делаем также, только меняем действия. Менять “следующая запись”. Добавим поиск в базе данных. Нажимаем опять на кнопку и щелкаем по области. В результате у нас должны получиться три кнопки, если вы хотите, можете добавить еще.

Наша форма готова для заполнения, но для начала давайте ее сохраним. Наводим курсор на панель инструментов “Файл” “Сохранить как” даем название нашей форме и сохраняем ее. Теперь можно приступать к заполнению базы данных. Переключаемся в режим формы и заполняем данными.

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

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

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

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

Создание БД через панель управления сервером

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

Создание базы данных на хостинге утилитой PhpMyAdmin

На самом деле утилит для работы с MySQL и другими БД много, но с этой встречаются чаще всего. Создать базу в phpmyadmin тоже легко.

JavaScript. Быстрый старт

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

Как видите, тут можно посмотреть, какие пользователи уже имеют доступ к БД, а также добавить нового.

Перенос БД и ее загрузка на другой хостинг

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

Если что, расширение дампа базы данных – sql. То есть на компьютер вы скачиваете именно дамп БД. Ну а как же, собственно, загрузить БД? Лучше всего для этого использовать всю ту же утилиту – PhpMyAdmin. Зайдем в нее. Там есть кнопка Импорт, но пока не трогаем его. Для начала нужно будет создать новую БД или удалить все таблицы в старой.

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

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

Как связать с сайтом?

Связка происходит автоматически на этапе установки движка. Там вы указываете имя БД, имя пользователя и его пароль для доступа к базе, сервер (почти всегда localhost) и префикс таблиц. Но если вдруг в процессе работы что-то меняется, то нужно будет изменить данные.

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

В связи с этим, СРАЗУ же после внесения подобных изменений нужно изменять и соответствующие параметры. Если у вас движок wordpress, то они хранятся в файле wp-config. В частности, там есть такие константы:

DB_NAME – имя базы данных. DB_USER – имя пользователя DB_PASSWORD – пароль

А также переменная: $table_prefix;

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

Может ли быть несколько баз на хостинге?

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

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

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

В наше время базы данных очень широко применяются в различных сферах: на предприятиях, в компаниях, учебных заведениях и так далее. А работать с ними позволяет программа из пакета Office - Microsoft Access, которая даёт юзерам очень широкие возможности для взаимодействия с таблицами. Навыки работы в программе Microsoft Access будут полезны каждому современному пользователю. В этой статье подробно рассмотрим, как создать базу данных в Access. Давайте разбираться. Поехали!

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

Пример создания базы с многоуровневым списком

Запустив Microsoft Access, выберите «Создать» в меню «Файл». Затем нажмите кнопку «Новая база данных». Справа в окне укажите имя файла и место, где он будет храниться. После этого нажмите кнопку «Создать». Также вы можете воспользоваться одним из списка шаблонов, предлагаемых утилитой. В некоторых случаях будет гораздо удобнее просто отредактировать шаблон, чем самостоятельно создать всё заново.

Как начать создание базы данных

Перед вами появится таблица с одним единственным полем. Наведите курсор на вкладку и выберите пункт «Конструктор». В появившемся окне будет предложено изменить название. Теперь можно начать заполнять ячейки в колонке «Имя поля». Следующий столбец «Тип данных» будет заполняться автоматически, в зависимости от того, вводили вы слова или числа. Тип данных в каждой ячейке можно изменять. Существуют такие типы данных:

  • текстовый;
  • поле МЕМО (эксплуатируется для описаний объектов, так как разрешает вводить большое количество символов, >255);
  • числовой;
  • дата/время;
  • денежный;
  • счётчик;
  • логический (удобно применять для полей, содержащих «да» или «нет»);
  • поле объекта OLE (позволяет вставлять файлы мультимедиа: фото, видео);
  • гиперссылка;
  • вложение (используется для хранения нескольких файлов в одном поле);
  • вычисляемый (разрешает рассчитать сумму, разность, произведение на основе других данных из таблицы);
  • мастер подстановок.

В большинстве случаев вам пригодятся только «числовой», «текстовый», «денежный», «вычисляемый» и «Дата/время», именно такие типы данных эксплуатируются наиболее часто. Ниже, в разделе «Свойства поля», вы можете увидеть размер поля. В случае, если у вас текстовый тип данных, там будет стоять 255. Это значит, что вы можете ввести в данной ячейке 255 символов . Разумеется, это слишком много, поэтому следует сократить размер указанного поля до 30 (вы можете поставить любое другое число, в зависимости от стоящих задач). Делается это для того, чтобы БД занимала меньше дискового пространства.

Для разного атрибута разный тип данных, пример на скриншоте.

Выбрав числовой тип данных, можно задать так называемую маску ввода. Нужна она для того, чтобы определённым образом отображать введённые числовые значения . Задаётся маска при помощи пробелов и решёток. Например, если ваша таблица содержит номера паспортов, то, чтобы эти номера отображались в соответствующем формате, задайте маску «####_######». То есть 4 символа, затем пробел и ещё 6 символов. Для номеров телефона можно указать маску «8(###)-###-##-##».

Для типа «Дата/время» дозволено выбрать различные форматы отображения в разделе «Свойства поля».

Не забудьте сохранить созданную таблицу . Сделать это можно, воспользовавшись комбинацией клавиш Ctrl+S. Если при сохранении появляется окно с предупреждением, что ключевые поля не заданы, то нажмите «Нет», так как их можно создать позже.

Клавиша сохранения находиться в левом верхнем углу.

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

Проектирование системы управления базами данных в Delphi.

Что нужно освоить:

1) каким образом подключать базу данных к компонентам Delphi;

2) порядок создания приложения для управления простейшей локальной базой данных;

3) как управлять отображением таблиц баз данных;

4) как организовать сортировку и фильтрацию данных;

5) как использовать язык запросов SQL.

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

ШАГ 1. СОЗДАЕМ ПРОСТЕЙШУЮ БАЗУ ДАННЫХ

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

В данном пособии будут рассмотрены возможности доступа к базам данных посредством только одной технологии – ADO (Active Data Objects), разработанной Microsoft. Это современная библиотека, прежде всего, позволяет работать с локальными базами MS Access и клиент-серверными MS SQL Server. Изучение этой библиотеки позволит вам в дальнейшем без затруднений перейти к базам данных, построенным на основе иных технологий.

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

Запустите Microsoft Office Access. В меню нажмите Файл/Создать и далее в мастере выберите Новая база данных. Вам будет предложено выбрать место хранения базы и имя файла. Укажите путь к вашему первому будущему приложению (где в дальнейшем будете сохранять проект Delphi) и осмысленное имя для базы данных магазина компьютерной литературы, например, mkl.mdb.

Откроется окно организации работы с базой данных (см. рис.).

Выберите двойным кликом мыши пункт «Создание таблицы в режиме конструктора» – откроется конструктор таблицы, в котором следует задать наименование полей таблицы и тип данных содержащихся в соответствующих полях.

Пример описания полей таблицы смотрите на рисунке ниже. Пусть в таблице будет шесть полей. В Access именам полей можно давать наименование, как на английском, так и на русском языках. Наименование полей №№2-5 очевидно, так же как и тип данных этих полей. Разберем поле №1. Наименование поля: id_kn – идентификатор книги. Это поле имеет для базы особое значение – это поле ключевое в таблице, оно несет неповторимый идентификатор записи. Установить опцию «Ключевое поле» можно через контекстное меню, возникающее при нажатии правой клавишей мыши на соответствующем поле в конструкторе таблицы. Сохраните таблицу, нажав на клавишу сохранения, вам будет предложено выбрать имя для таблицы – установите имя магазин.


Через меню Вид установите просмотр в Режим таблицы:

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

ШАГ 2. СОЗДАЕМ ПРОСТЕЙШЕЕ ПРИЛОЖЕНИЕ ДЛЯ УПРАВЛЕНИЯ БАЗОЙ ДАННЫХ

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

Итак, запустите Delphi, создайте новое приложение и сохраните проект в папку, где находится файл базы данных. Пусть имя модуля будет magazin.pas, а имя проекта ProjectMagazin.dpr.

Теперь давайте определимся, какие компоненты с палитры необходимы для работы с базой данных. База данных состоит из таблиц, для просмотра которых необходим соответствующий визуальный компонент – DBGrid с вкладки Data Controls. Кроме того должны быть еще компоненты, которые обеспечивают связь приложения с местом расположения базы данных, распознают ее формат, делают выборку из определенной таблицы базы данных. Для этих целей используем следующие три компонента: ADOConnection и ADOTable с вкладки ADO и DataSource с вкладки Data Access.

Настроим свойства всех компонентов на форме.

1. ADOConnection1. Дважды кликните по компоненту (или в инспекторе объектов по строке свойства ConnectionString) – вам представится возможность ввести строку подключения (Use Connection String), запустите мастер нажатием клавиши Build и на вкладке «Поставщик данных» выберите драйвер подключения к базам данных Microsoft Jet OLE DB Provider. Нажмите «Далее» для перехода на вкладку «Подключение» и там, в строке «Выберите или введите имя базы данных», наберите имя файла – в нашем случае это mkl.mdb. Можно, конечно, нажать на клавишу рядом со строкой и непосредственно указать на файл, но, в этом случае, лучше сразу убрать путь к файлу, оставив только имя, чтобы при переносе приложения в другое место не возникло проблем с доступом к базе данных. Нажмите OK в мастере и OK на форме выбора строки подключения. Свойство LoginPromt переключите в False, чтобы каждый раз при подключении к базе данных к пользователю не было запроса о пароле.

2. ADOTable1. В свойстве Connection в выпадающем списке укажите на ADOConnection1, в свойстве TableName выберите таблицу (у нас она пока одна магазин). Свойство Active переведите в положение True (обратите внимание, что в дальнейшем при смене настроек вам часто придется это свойство возвращать в положение True). И, для удобства, переименуйте компонент в TableMagazin.

3. DataSource1. У этого компонента-посредника необходимо свойство DataSet установить в выпадающем списке на таблицу TableMagazin.

4. DBGrid1. Свяжем сетку с DBGrid1 с таблицей магазин из базы данных посредством DataSource1, установив в инспекторе объектов для свойства DataSource в выпадающем списке доступных компонентов DataSource1.

На этом создание простейшей базы данных закончено, а ведь мы не написали ни одной строчки кода. Если бы у вас уже был опыт работы с этими компонентами, то вы бы затратили менее минуты на разработку такой СУБД.

Запустите приложение клавишей F9 и поработайте над наполнением базы данных (клавиши управления: F2 – редактировать ячейку, Ins – добавить запись, Ctrl+Del – удалить запись). Закройте приложение и затем снова запустите – и вы убедитесь, что внесенные вами изменения сохранены.

Пример заполнения базы данных:

Не все предпочитают работать клавиатурой, если есть мышь. Поэтому иногда полезным может оказаться компонент DBNavigator с вкладки Data Controls. Разместите его для пробы (в дальнейшем его следует удалить) на форме по своему усмотрению и подсоедините используя посредник DataSource1 – укажите на него в свойстве DataSource. По необходимости можно некоторые клавиши из панели управления базой данных отключить в свойстве VisibleButtons. И, хотя кнопки управления интуитивно понятны, имеется возможность снабдить их всплывающими подсказками, для чего установите свойство ShowHint в True, а текст подсказок можно установить/изменить в свойстве Hints. Возможный вид приложения после подключения компонента DBNavigator смотри на рисунке:

Базы данных на ПК развивались по направлению от настольных (desktop), или локальных приложений, когда реально с БД могло работать одно приложение, до систем коллективного доступа к БД.
Локальное приложение устанавливалось на единичном ПК; там же располагалась и база данных (БД), с которой работало данное приложение. Однако необходимость коллективной работы с одной и той же БД повлекло за собой перенос БД на сервер. Приложение, работающее с БД, располагалось также на сервере.

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

Местоположение БД определяет так называемую архитектуру базы данных. Имеются четыре разновидности архитектур баз данных:

Локальные базы данных;

Архитектура "файл-сервер";

Архитектура "клиент-сервер";

Многозвенная архитектура.

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

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

В архитектуре "файл-сервер" вся тяжесть выполнения запросов к базе данных и управления целостностью базы данных ложится на приложение пользователя. База данных на сервере является пассивным источником данных.
Кардинальных различий с точки зрения архитектуры между однопользовательской архитектурой и архитектурой "файл-сервер" нет. И в том, и в ином случае в качестве СУБД применяются так называемые "персональные" (или "настольные", "локальные") СУБД, такие как paradox, dbase и пр. Сама база данных в этом случае представляет собой набор таблиц, индексных файлов, файлов полей комментариев (memo-полей) и пр., хранящихся в одном каталоге на диске в виде отдельных файлов.

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

Не оптимально расходуются ресурсы клиентского компьютера и сети; например, если в результате запроса мы должны получить 2 записи из таблицы объемом 10000 записей, все 10000 записей будут скопированы с файл-сервера на клиентский компьютер; в результате возрастает сетевой трафик и увеличиваются требования к аппаратным мощностям пользовательского компьютера.
В базе данных на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты database desktop фирмы borland для файлов paradox или dbase); подобная возможность облегчается тем обстоятельством, что, фактически, у локальных СУБД база данных – понятие более логическое, чем физическое, поскольку под базой данных понимается набор отдельных таблиц, сосуществующих в едином каталоге на диске. Все это позволяет говорить о низком уровне безопасности – как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения ошибочных изменений.

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

Поскольку настольные СУБД не содержат специальных приложений и сервисов, управляющих данными, а используются для этой цели файловые сервисы операционной системы, вся реальная обработка данных в таких СУБД осуществляется в клиентском приложении, и любые библиотеки доступа к данным в этом случае также находятся в адресном пространстве клиентского приложения. Поэтому при выполнении запросов данные, на основании которых выполняется такой запрос (это может быть одна или несколько таблиц целиком либо, если повезет, один или несколько индексов и выбранные с их помощью части таблиц), должны быть доставлены в то же самое адресное пространство клиентского приложения. Это и приводит к перегрузке сети при увеличении числа пользователей и объема данных, а также грозит иными неприятными последствиями, например разрушением индексов и таблиц. Недаром до сих пор популярны утилиты для "ремонта" испорченных файлов настольных СУБД.
Недостатки архитектуры "файл-сервер" решаются при переводе приложений в архитектуру "клиент-сервер", которая знаменует собой следующий этап в развитии СУБД. Характерной особенностью архитектуры "клиент-сервер" является перенос вычислительной нагрузки на сервер базы данных (sql-сервер) и максимальная разгрузка приложения клиента от вычислительной работы, а также существенное укрепление безопасности данных – как от злонамеренных, так и просто ошибочных изменений.
БД в этом случае помещается на сетевом сервере, как и в архитектуре "файл-сервер", однако прямого доступа к базе данных (БД) из приложений не происходит. Функция прямого обращения к БД осуществляет специальная управляющая программа – сервер БД (sql-сервер), поставляемый разработчиком СУБД.

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

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

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

Функциями приложения-клиента являются:

Посылка к серверу запросов;

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

Реализация интерфейса пользователя.

sql-сервер должен быть загружен на момент принятия запроса клиента. Функциями сервера БД являются:

Прием запросов от приложений-клиентов, интерпретация запросов, выполнение запросов в БД, отправка результата выполнения запроса приложению-клиенту;

Управление целостностью БД, обеспечение системы безопасности, блокировка неверных действий приложений-клиентов;

Хранение бизнес-правил, часто используемых запросов в уже интерпретированном виде;

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

В архитектуре "клиент-сервер" используются так называемые "удаленные" (или "промышленные") СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. Локальные СУБД предназначены для однопользовательской работы или для обеспечения работы информационных систем, рассчитанных на небольшие группы пользователей.
К разряду промышленных СУБД принадлежат oracle, informix, sybase, ms sql server, db2, interbase и ряд других.

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

Механизмы доступа

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

Существует несколько способов доступа к данным из средств разработки и клиентских приложений.
Подавляющее большинство СУБД содержит в своем составе библиотеки, предоставляющие специальный прикладной программный интерфейс (application programming interface, api) для доступа к данным этой СУБД. Обычно такой интерфейс представляет собой набор функций, вызываемых из клиентского приложения. В случае настольных СУБД эти функции обеспечивают чтение/запись файлов базы данных (БД), а в случае серверных СУБД инициируют передачу запросов серверу баз данных и получение от сервера результатов выполнения запросов или кодов ошибок, интерпретируемых клиентским приложением. Библиотеки, содержащие api для доступа к данным серверной СУБД, обычно входят в состав ее клиентского программного обеспечения, устанавливаемого на компьютерах, где функционируют клиентские приложения.

В последнее время windows-версии клиентского программного обеспечения наиболее популярных серверных СУБД, в частности microsoft sql server, oracle, informix, содержат также СОМ-серверы, предоставляющие объекты для доступа к данным и метаданным.
Использование клиентского api (или клиентских СОМ-объектов) является наиболее очевидным способом манипуляции данными в приложении. Однако в этом случае созданное приложение сможет использовать данные только СУБД этого производителя, и замена ее на другую повлечет за собой переписывание значительной части кода клиентского приложения – клиентские api и объектные модели не подчиняются никаким стандартам и различны для различных СУБД.

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

Отметим, что достоинством универсальных механизмов является возможность применения одного и того же абстрактного api, а во многих случаях – СОМ-серверов, компонентов, классов для доступа к различным типам СУБД. Поэтому приложения, использующие универсальные механизмы доступа к данным, легко модифицировать, если необходима смена СУБД.
Наиболее популярными среди универсальных механизмов доступа к данным можно назвать следующие:

open database connectivity (odbc). ole db. activex data objects (ado). borland database engine (bde).

Универсальные механизмы odbc, ole db и ado фирмы microsoft представляют собой по существу промышленные стандарты. Что касается механизма доступа к данным bde фирмы borland, то он так и не стал промышленным стандартом, однако до недавнего времени применялся довольно широко, поскольку до выхода delphi 5 был практически единственным универмальным механизмом доступа к данным, поддерживаемым средствами разработки borland на уровне компонентов и классов

Что такое sql?

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