Ответы на экзаменационные вопросы № 1-25 по дисциплине "Информационные системы" (Недостаточность файловых систем для инф.технологий. Представления реляционных баз данных), страница 21

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

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

Пример: пусть в БД находятся две таблицы: товар и расход. При формировании заявки на покупку товара второй покупатель не должен передавать запрос на этот е товар, т.к общим требованием к предметной области является количество товара большее чем количество расхода. Для выполнения запроса на запрос в таблицу товар следует ввести поле Status, если оно False, то запись занята другой транзакцией, если true, то свободно.

Update Tovar

Set status=false

Where Tovar.tovar=:parametr, где parametr код товара.

2, Оптимизация запросов в БД связана с построением адекватной запросов и оптимальной структуры индексов таблиц БД, а также оптимизация текстов запросов в соответствии с использованными индексами. От структуры индексов структуры БД зависит эффективность построения запросов, т.к. они используют существующие индексы не будут последовательно просматривать таблицу в целом. Индексы  следует создавать в случае: 1) если по столбцу или группы столбцов производится поиск в таблице БД.(используется в приложении Where оператора Select);  2)если по столбцу производится сортировка набора данных возвращаемого в качестве результата запроса (приложение Order By запроса Select) Не рекомендуется создавать индексы, если: *Поле редко используется для поиска сортировки или объединения; *Поле содержит часто меняющееся значение; *Поле содержит небольшое количество вариантов значений.

3, оптимизация клиентских приложений.

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

1)Минимизация соединения с БД. Если используется интерфейс соединения с БД BDE, то для связи с драйвером БД вместе с компонентами TDataSet (TTable u TQuery) целесообразно использовать компоненты TDataSet, которые предназначены:

- Для создания постоянного соединения с БД

- Для создания локального псевдонима БД

- Изменение параметров соединения, установленных для псевдонима БД

- Для управления транзакциями.

Компонент TDataBase содержит 2 свойства: AliasName (выбирается созданный драйвер для конкретной БД), DataBaseName (указывается ее локальный псеводним). Пример: AliasName Stud; DataBaseName Stud1.

Установить свойство Connect в True, компонент осуществляет связь с БД и создает ее локальную копию. Компоненты TDataSet в свойстве DataBaseName должны содержать не Stud, а Stud1. в компоненте Dataase для отключения аутентификации пользователя свойство LoginPront следует установить в False. Т.о. использование компонентов TDataBase позволяет обращаться напрямую к БД 1 раз, а все невизуальные компоненты будут обращаться к локальной копии без использования компонента TDataBase. Обращение к БД происходит каждый раз, когда компонент TDataSet активизируется.