` Добавляем поля в отношение
oAutoRel.Fields.Append oRelFld
` Добавляем индексы в таблицы
oCustomerTd.Indexes.Append oCustomerIdx
oAccountTd.Indexes.Append oAccountIdx(0)
oAccountTd.Indexes.Append oAccountIdx(1)
` Добавляем таблицы в БД
oAutoDB.TableDefs.Append oCustomerTd
oAutoDB.TableDefs.Append oAccountTd
` Добавляем отношение в БД
oAutoDB.Relations.Append oAutoRel
Для ясности в примере мы использовали различные переменные для каждого объекта доступа
к данным. На практике обычно для сокращения объема кода используют одну и ту же
переменную сначала для создания объекта, а после его добавления в коллекцию - для ссылки на
следующий объект.
После создания БД вы можете использовать объекты доступа к данным для программного
изменения ее структуры. Модификация БД очень похожа на те действия, которые мы выполняли
при ее создании. В большинстве случаев для добавления объектов достаточно использовать те
же самые методы Create и Append. Вы также можете добавлять в БД новые таблицы, добавляя
новые объекты TableDef или новые поля и индексы, добавляя новые объекты Field и Index в
существующие таблицы. Если вам больше нравится SQL, используйте для модификации БД
операторы этого языка.
Давайте посмотрим на следующий простейший пример добавления таблицы в существующую
БД с помощью объектов DAO:
Dim oDB As Database
' Переменная для нового объекта TableDef
Dim oNewTd As TableDef
Dim oNewFld As Field' Переменная для нового объекта Field
' Открываем БД
Set oDB =_ DBEngine.Workspaces(0).OpenDatabase("AUTOSTORE.MDB")
Set oNewTd = oDB.CreateTableDef("Новая таблица")
Set oNewFld = oNewTd.CreateField("Новое поле", dbInteger)
' Добавляем новое поле в таблицу
oNewTd.Fields.Append oNewFld
oDB.TableDefs.Append oNewTd' Добавляем таблицу в БД
oDB.Close ` Закрываем БД
Естественно, существующие в БД объекты могут быть удалены. Мы можем использовать метод
Delete для удаления таблицы, добавленной в БД в предыдущем примере:
oDB.TableDefs.Delete "Новая таблица"
Следует иметь в виду, что при удалении индексного поля сначала следует удалить сам индекс
и связанные с ним объекты Relation. Лишь после этого вы сможете удалить объекты Field или
TableDef, являющиеся составными частями отношения.
На прилагаемой к книге дискете помещен полный код программы для создания БД Auto_Store
в Visual Basic.
6.4. MS SQL Server
Создать базу данных в MS SQL Server можно несколькими путями: визуально, находясь в
Microsoft SQL Enterprise Manager, программно, посредством редактора Microsoft ISQL/w,
программно посредством технологии SQL pass-through из клиентского приложения и путем
наращивания (upsizing) локальной БД.
В этом параграфе мы опишем создание базы данных как программным путем, так и с помощью
процесса наращивания.
Программный путь создания БД посредством одной из составных частей MS SQL Server -
редактора Microsoft ISQL/w - реализуется простым набором команд, которые мы можем тут же
запускать на выполнение. Редактор ISQL/w имеет несколько страниц, на первой из которых мы
можем набирать необходимые команды, как это показано на рис. 6.18. Набранную команду
можно тут же запустить на выполнение, нажав кнопку с треугольником в верхней правой части
окна. На вкладке Results вы можете просмотреть результат выполнения команды, если она
converted to PDF by HupBaH9I