
- •Русский университет инноваций кировский филиал кафедра «информационные системы в экономике»
- •Постановка задачи
- •Подготовка сервера к импорту базы данных
- •2.1. Обследование сервера с использованием хранимых процедур
- •3. Импорт данных
- •. Фиксация результатов импорта
- •Далее указывается драйвер системного источника данных
- •3.2. Обследование вновь импортированной базы данных
- •3.3. Дополнение базы данных необходимыми хранимыми процедурами и триггерами
- •Создание клиентского приложения (Delphi)
Постановка задачи
Необходимо осуществить импорт базы данных в формат SQL Server 7.0, разработать клиентское приложение, которое могло бы предоставить пользователю интерфейс для работы с базой данных. Перед тем как импортировать базу данных, необходимо произвести обследование сервера с применением системных хранимых процедур. В результате этого обследования должны быть выявлены особенности данного сервера: наличие достаточного дискового пространства, наличие одноименной базы данных. Также необходимо произвести настройки сервера.
Процесс импорта данных нужно зафиксировать и провести анализ результатов: общее количество импортированных таблиц, возможные ошибки при импорте (не импортировалась какая-либо таблица, или импортировалась только структура данной таблицы). При наличии ошибок попытаться устранить их средствами сервера или иными средствами.
После импорта данных осуществить с помощью системных хранимых процедур повторный осмотр сервера и выяснить текущее состояние новой базы данных и её объектов.
Исходя из описания модели данных и требований предметной области, связанных с ограничением ссылочной целостности и логикой работы базы данных, осуществить разработку хранимых процедур и триггеров с целью разгрузки клиентского приложения.
Выбрать технологию доступа к данным со стороны клиентского приложения. Спроектировать основные экранные формы приложения и отчеты, список пользователей.
Подготовка сервера к импорту базы данных
При подготовке сервера к импорту базы данных необходимо определить основные свойства данного сервера. К числу основных программных свойств сервера относятся: версия продукта, имя сервера, группы пользователей, глобальные настройки сервера, список баз данных на сервере, текущая активность пользователей и процессов. К числу основных аппаратных свойств сервера относят: тип и число процессоров, число дисковых накопителей, их емкость и объем свободного дискового пространства (последняя характеристика имеет значение только в случае значительного объема импортируемой базы).
2.1. Обследование сервера с использованием хранимых процедур
Сведения о сервере можно узнать с помощью системных хранимых процедур.
Ниже приведём список хранимых процедур, которые необходимо выполнить, чтобы получить предварительную информацию о сервере.
Имя процедуры |
Назначение |
sp_server_info |
Возвращает список текущих значений свойств SQL сервера (имя, версия, схема сортировки, применяемая в БД на сервере COLLATION-SEQ) |
sp_configure |
Отображает глобальные настройки текущего сервера: минимальные/максимальные значения параметров, текущее значение параметров (число подключений пользователей, время ожидания ввода логина) |
sp_help |
Предназначена для получения информации о различных объектах базы данных |
sp_helpdb
|
Возвращает информацию о всех базах на данном сервере (имя, размер файлов, дата создания, владелец, текущее состояние) |
Результаты выполнения процедур:
sp_server_info
Attribute_id |
Attribute_name |
Attribute_value |
1 |
DBMS_NAME |
Microsoft SQL Server |
2 |
DBMS_VER |
Microsoft SQL Server 7.00 - 7.00.623 (Intel X86) |
10 |
OWNER_TERM |
Nov 13 1998 02:37:14 |
11 |
TABLE_TERM |
Copyright (c) 1988-1998 Microsoft Corporation |
12 |
MAX_OWNER_NAME_LENGTH |
Standard Edition on Windows NT 4.0 (Build 1381: Service Pack 4, RC 1.130) |
Attribute_id |
Attribute_name |
Attribute_value |
13 |
TABLE_LENGTH |
|
14 |
MAX_QUAL_LENGTH |
owner |
15 |
COLUMN_LENGTH |
table |
16 |
IDENTIFIER_CASE |
128 |
17 |
TX_ISOLATION |
128 |
18 |
COLLATION_SEQ |
128 |
19 |
SAVEPOINT_SUPPORT |
128 |
20 |
MULTI_RESULT_SETS |
MIXED |
22 |
ACCESSIBLE_TABLES |
2 |
100 |
USERID_LENGTH |
charset=cp1251 sort_order=nocase_1251 charset_num=5 sort_order_num=106 |
101 |
QUALIFIER_TERM |
Y |
102 |
NAMED_TRANSACTIONS |
Y |
103 |
SPROC_AS_LANGUAGE |
Y |
104 |
ACCESSIBLE_SPROC |
128 |
105 |
MAX_INDEX_COLS |
database |
106 |
RENAME_TABLE |
Y |
107 |
RENAME_COLUMN |
Y |
108 |
DROP_COLUMN |
Y |
109 |
INCREASE_COLUMN_LENGTH |
16 |
110 |
DDL_IN_TRANSACTION |
Y |
111 |
MAX_OWNER_NAME_LENGTH |
Y |
112 |
TABLE_LENGTH |
N |
113 |
MAX_QUAL_LENGTH |
N |
500 |
SYS_SPROC_VERSION |
7.00.621 |
sp_configure
name |
minimum |
maximum |
сonfig_value |
run_value |
allow updates |
0 |
1 |
0 |
0 |
default language |
0 |
9999 |
0 |
0 |
language in cache |
3 |
100 |
3 |
3 |
max text repl size (B) |
0 |
2147483647 |
65536 |
65536 |
nested triggers |
0 |
1 |
1 |
1 |
remote access |
0 |
1 |
1 |
1 |
remote login timeout (s) |
0 |
2147483647 |
5 |
5 |
name |
minimum |
maximum |
сonfig_value |
run_value |
remote proc trans |
0 |
1 |
0 |
0 |
remote query timeout (s) |
0 |
2147483647 |
0 |
0 |
show advanced options |
0 |
1 |
0 |
0 |
user options |
0 |
4095 |
0 |
0 |
sp_helpdb
name |
db_size |
owner |
dbid |
created |
status |
Borey10 |
20.00 MB |
1 |
9 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
Db10 |
1.49 MB |
sa |
7 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
db11111 |
1.37 MB |
sa |
10 |
Apr 22 2004 |
select into/bulkcopy, trunc. log on chkpt. |
db2 |
2.00 MB |
sa |
11 |
Apr 8 2004 |
select into/bulkcopy, trunc. log on chkpt. |
db20 |
1.24 MB |
sa |
14 |
Apr 28 2004 |
select into/bulkcopy, trunc. log on chkpt. |
db4141 |
1.37 MB |
sa |
13 |
Apr 22 2004 |
select into/bulkcopy, trunc. log on chkpt. |
dbмоя |
1.49 MB |
1 |
8 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
master |
9.25 MB |
sa |
1 |
Nov 13 1998 |
trunc. log on chkpt. |
model |
1.50 MB |
sa |
3 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
msdb |
8.50 MB |
sa |
4 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
Northwind |
3.94 MB |
sa |
6 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
pubs |
2.31 MB |
sa |
5 |
Mar 31 2004 |
select into/bulkcopy, trunc. log on chkpt. |
ss |
2.13 MB |
sa |
12 |
Apr 22 2004 |
select into/bulkcopy, trunc. log on chkpt. |
tempdb |
2.50 MB |
sa |
2 |
Apr 29 2004 |
select into/bulkcopy, trunc. log on chkpt. |
По результатам процедуры sp_helpdb, большинство баз данных находятся в состоянии select into/bulkcopy, что означает, что база данных готова к импорту. Для того, чтобы продуктивно работать с базой данных, после импорта эту опцию следует отключить с помощью процедуры sp_dboption:
settabledatabaseoptions |
ANSI null default |
ANSI nulls |
ANSI warnings |
auto create statistics |
auto update statistics |
autoclose |
autoshrink |
concat null yields null |
cursor close on commit |
dbo use only |
default to local cursor |
merge publish |
offline |
published |
quoted identifier |
read only |
recursive triggers |
select into/bulkcopy |
single user |