Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы MySQL.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
448.25 Кб
Скачать

3. Создание базы данных. Создание таблиц. Привести примеры.

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

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

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

Для создания таблиц необходимо выбрать в контекстном меню ветки «Таблицы» пункт «Создать таблицу».

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

БИЛЕТ № 4

1. Свойства компонента adoTable. Методы навигации по набору данных. Привести примеры.

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

Основным преимуществом табличного типа набора данных является то, что они поддерживают индексы. Индексы позволяют очень быстро осуществлять сортировку и поиск. Это особенно актуально для баз данных, отличных от SQL, например для Microsoft Access. Но при использовании баз данных SQL сортировку, фильтрацию и другие подобные операции лучше выполнять при помощи операторов языка SQL.

База данных задается свойствами ConnectionString, или свойством Connection, подключающим компонент к ADOConnection. Для управления таблицей в приложение вводится, помимо компонента ADOTable, обычный компонент источника данных DataSource, в свойстве DataSet которого задается имя компонента ADOTable. Далее к этому источнику данных DataSource подключаются любые компоненты отображения данных.

2. Динамические запросы с параметром. Привести примеры

Т.к. в T-SQL нет возможности использовать в некоторых частях запроса значения переменных, то единственным доступным решением является использование динамического запроса. Идея очень проста: в специально определнной переменной "собирается" строка запроса, которая должна выполняться. Далее эта строка запускается на выполнение. Запуск можно осуществить двумя способами

- с помощью команды EXECUTE

- с помощью системной процедуры sp_executesql.

Выглядит это приблизительно так

DECLARE @SQL varchar(8000), @table_name varchar(10)

SET @SQL = 'SELECT * FROM ' + @table_name

exec(@SQL)

--или

exec sp_executesql @SQL

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

Особенности динамического запроса

1. Динамический запрос всегда выполняется в том-же коннекте и как отдельный пакет(batch). Другими словами при использовании такого запроса,

- вы ни имеете доступа к локальным переменным, объявленым до вызова динамического запроса (однако возможен доступ к cозданным ранее временным таблицам)

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

2. Динамический запрос ВСЕГДА выполняется с ПРАВАМИ ПОЛЬЗОВАТЕЛЯ, ВЫЗВАВШЕГО ПРОЦЕДУРУ, а не с правами владельца процедуры. Другими словами, если владельцем процедуры Procedure1 является User1, который имеет права к таблице Table1, то для пользователя User2 мало назначить права на выполнение процедуры Procedure1, если обращение в ней к таблице Table1 идет через динамический запрос. Придется давать ему соответствующие права и непосредственно для Table1.