Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Архитектура Microsoft SQL Server

Клиент-сервер. | Исследование предметной области | Типы денормализации |


Читайте также:
  1. Andrew Collins, Observer, July 4, 1999
  2. Bill Gates and Microsoft
  3. E-mail addresses and servers
  4. GCS_SERVER_PROCESSES
  5. License Server Administration
  6. Microsoft Dynamics CRM Правильно
  7. Microsoft Dynamics CRM Правильно

В архитектуре Microsoft SQL Server в первую очередь следует отметить следующие компоненты:

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

В состав Microsoft SQL Server также входят компоненты, обеспечивающие:

Самый простой способ создания клиентов для просмотра или занесения данных в таблицы баз данных на SQL Server - воспользоваться возможностями MS Access.

Преимущества:

1) самый простой способ

2) очень легко вносить изменения в созданное клиентское приложение

3) можно использовать все возможности встроенного в MS Office языка VBA

Недостатки:

1) необходимо покупать и устанавливать на каждый клиентский компьютер MS Access

2) невысокие возможности с точки зрения производительности, особенно при необходимости реализовать в клиенте ресурсоемкие операции по обработке данных

3) при работе в MS Access может не хватить функциональных возможностей, которые есть в C++ и Visual Basic (не все типы данных поддерживаются, могут быть проблемы при обращении к внешним COM-серверам, не поддерживающих стандарт Automation и т.п.)

4) в MS Access версий до XP можно было стандартными способами подключиться только по ODBC - производительность не оптимальная.

Как создать клиента для работы в SQL Server из MS Access стандартным способом (можно использовать в любых версиях Access):

1) создать источник данных ODBC (Data Source Name - DSN), предпочтительнее System, поскольку он может использоваться любыми пользователями;

2) открыть в MS Access новую или существующую базу данных;

3) в меню File выбрать Get External Data -> Link Tables;

4) в окне Link в нижнем списке выбрать ODBC Databases() и в списке источников данных выбрать созданный вами DSN

5) далее выбрать те таблицы, с которыми вы будете работать, и нажать OK.

В MS Access, начиная с версии XP, появилась специализированная возможность настроить подключение к MS SQL Server по OLE DB - Access Project. Как ей воспользоваться:

1) закрыть текущую базу данных (если она открыта) и в меню File выбрать New. Затем в списке New File (справа) выбрать Project (Existing Data) и выбрать место для сохранения файла Access Data Project с расширением ADB.

2) в стандартном окне настроить параметры подключения по OLE DB. Все таблицы в базе данных SQL Server будут помещены в контейнер Tables, все представления и хранимые процедуры - в контейнер Queries.

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

В принципе, после создания Linked Table (первый вариант) или настройки параметров проекта Access XP можно открыть таблицу и работать с ней напрямую, но правильнее будет воспользоваться средствами MS Access - формами и отчетами, чтобы настроить более удобное представление информации.

Если вам необходимо использовать MS Access версии до XP, или же у вас есть другой клиент, который работает по ODBC, можно улучшить производительность при подключении к базе данных SQL Server путем замены драйвера ODBC на драйвер OLE DB. Процедуру замены можно произвести следующим образом (пример приводится для System DSN):

1) создать файл User Data Link (UDL) с параметрами подключения по OLE DB.

2) в редакторе реестра открыть раздел HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI и в нем раскрыть контейнер, имя которого соответствует созданному вами источнику данных ODBC.

3) в ключе Driver заменить существующее значение на имя созданного вами файла UDL с указанием полного пути.

Заблокировать проект, запретив пользователю просматривать его структуру и изменять его, можно через меню Tools -> Startup. Выбираем форму, которая будет открываться при открытии файла проекта, и запрещаем все остальное. Однако если при открытии удерживать кнопку Shift, то все процедуры автозапуска будут пропущены, и пользователю откроется окно базы данных.

Откомпилировать код всех программных модулей файла ADP можно путем преобразования его в файл ADE. При этом исходный код всех программных модулей будет убран - за счет этого будет запрещено их редактирование и сократится размер файла проекта (ту же самую операцию можно сделать с MDB, преобразовав его в файл MDE). Вначале нужно преобразовать файл в формат MS Access 2000-2003 (Tools -> Database Utilities -> Convert), а затем в том же меню Tools -> Database Utilities выбрать команду Make ADE File.

 


Подходы к повышению производительности баз данных. Понятия об индексации и хешировании.

Хеширование (Hashing) – алгоритмическое преобразование значений некоторого поля записей (первичного ключа или любого другого поля) в адреса их размещения на внешнем носителе.

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

Сведения о поставках товаров в магазин

 

Номер накладной Название товара Артикул Количество Дата поставки
  Костюм     10.12.05
  Сапоги     10.12.05
  Туфли     11.12.05
  Костюм     11.12.05
  Костюм     12.12.05
  Костюм     12.12.05
  Туфли     12.12.05

Рассмотрим технологию хеширования на примере данных, приводимых в табл. 3.1. Используем для вычисления адресов страниц значения данных в поле первичного ключа таблицы Номер накладной: 18, 28, 37, 54, 60, 74, 80. Предположим, что на каждой странице внешней памяти можно разместить только одну запись.

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

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

Таблица 3.6

Сведения о поставках товаров в магазин

 

Номер накладной Название товара Артикул Количество Дата поставки Адрес (номер страницы)
  Костюм     10.12.05  
  Сапоги     10.12.05  
  Туфли     11.12.05  
  Костюм     11.12.05  
  Костюм     12.12.05  
  Костюм     12.12.05  
  Туфли     12.12.05  

 

С помощью выполненного хеширования записи размещаются на семи страницах внешней памяти с адресами от 00 до 10.

Рассмотренный пример иллюстрирует и недостатки хеширования:

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

2. Возможно совпадение рассчитанных адресов страниц для двух или нескольких записей (например адреса, вычисленные для номеров накладных 18, 29, 40, будут равны одному числу – семи).

Совпадение вычисленных адресов называется коллизией, значения данных, для которых получены одинаковые адреса – синонимами.

Существует много стратегий разрешения коллизий, но основные из них две:

а) с областью переполнения;

б) свободного замещения.

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

Поля первичного ключа таблиц индексируются автоматически, а поля с типом данных «Поле объекта OLE» индексировать нельзя. Для остальных полей индексирование используется, если выполняются следующие условия.

* Поле имеет тип данных «Текстовый», «Числовой», «Денежный» или «Дата/время».

* Предполагается выполнение поиска значений в поле.

* Предполагается выполнение сортировки значений в поле.

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


Дата добавления: 2015-11-14; просмотров: 127 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Типы данных SQL.| Образов-е месторождений нефти и газа

mybiblioteka.su - 2015-2024 год. (0.012 сек.)