Базы Данных 2.ppt
- Количество слайдов: 10
1. 2. 3. Технологии DAO Архитектура ODBC (Open Database Connectivity ) RDO(Remote Data Object) DAO (Data Access Object ) Active. X ADO (Active. X Data Object )
Экран запуска Администратор BDE
Экраны создания создается нового источника данных ODBC
В основе программирования в СУБД “MS Access” лежат объектноориентированные технологии, причём не только собственной объектная модель Access, но и объектные модели Visual Basic for Application и Microsoft Office. В настоящее время широко используются два протокола: DAO и ADO. Протокол ADO – Active. X Data Object – основан на смене сервера Microsoft Jet на программный сервер MS SQL Server. Эта объектная модель предназначена: Для обеспечения доступа к различным источникам данных, начиная от текстовых файлов до распределенных баз данных. Для использования более нового объектно-ориентированного интерфейса приложений, основного на программном интерфейсе OLE DB, который удовлетворяет спецификации COM (Component Object Model). Эта спецификация СОМ представляет собой унифицированный доступ к различным источникам данных. ADO базируется на следующих трех объектных моделях: – Объектная модель MS Active. X Data Object (ADODB) обеспечивает доступ и возможности выборки и обработки данных, но не позволяет менять исходную структуру таблиц. – Объектная модель определения и защиты данных MS Active. X Data Object Extensions for DDL and Security (ADOX) позволяет программно изменять структуру источников данных, создавать новые, создавать и изменять запросы, а также программно управлять защитой данных. – Объектная модель репликации и службы ядра данных Microsoft Jet – MS Jet and Relation Object (JRO) позволяет создавать, модифицировать и синхронизировать реплики. Репликация – это средство управления работой нескольких пользователей к одним объектами без одновременного доступа к ним на основании того, что они работают с копиями этих объектов (репликами), а обмен данных автоматическим синхронизируется.
Протокол DAO – Data Access Object – создан как объектноориентированный интерфейс к ядру базы данных Microsoft Jet, которое (ядро) начиная с версии MS Office-95 стало сервером Automation. DAO имеет два режима доступа к данным. Режим доступа на основе объектной модели рабочей области Microsoft Jet. В этом случае доступ к данным реализуется с помощью самого ядра Microsoft Jet. Этот режим в основном используется для доступа к локальным базам данных, когда требуется воспользоваться уникальными возможностями ядра, или для доступа к базам данных ISAM (это базы данных с индексно-последовательным методом доступа Indexed Sequential Access Method). Более новый режим доступа к данным объектной модели MS DAO 3. 6 – это режим доступа к данным ODBC Direct, который позволяет манипулировать данными в обход ядра Microsoft Jet, напрямую связываясь с источником ODBC-данных по технологии «клиент-сервер» . Этот режим рекомендуется: • во-первых, если необходимо выполнить процедуру или запрос, хранимые на сервер баз данных, • во-вторых, если требуется воспользоваться специфическими возможностями ODBC Direct, например таким, как пакетное обновление данных, • в-третьих, если целесообразно асинхронное выполнение запроса, то есть выполнение запроса в фоновом режиме, не останавливая при этом других вычислительных процессов.
Фрагмент иерархии подчинения объектной модели DAO
1. 2. 3. 1. Текст DAO-процедуры создания файла Public Sub Creat_Dogovor_1() Dim My. BD As DAO. Database Set My. BD = Current. Db() Dim My. Tab As Table. Def Dim New_Table As String New_Table = "Dogovor_1_" & Forms![Start]![Надпись2]. Caption Set My. Tab = My. BD. Create. Table. Def(New_Table) With My. Tab. Fields. Append. Create. Field("INN", db. Text) ' Задание свойства для поля: . Fields(0). Required = True My. Tab. Fields("INN"). Default. Value = "770". Fields![INN]. Size = 10. Fields. Append. Create. Field("Number Dogovor", db. Text, 12). Fields. Append. Create. Field("Date Dogovor", db. Date). Fields. Append. Create. Field("Predmet", db. Text) ' Вариант № 1: Полный путь по иерархии объектов и классам: . Fields. Append. Create. Field("Summa", db. Double) 'Set My. Seans = DBEngine. Workspaces(0). Fields. Append. Create. Field("Valuta", db. Text, 4) 'Set My. BD = My. Seans. Databases(0) My. Tab. Fields("Valuta"). Default. Value = "USD" '------------------' Вариант № 2: Открытие доступа к. Fields. Append. Create. Field("Act", db. Boolean) текущей базе данных My. Tab. Fields("Act"). Default. Value = False Set My. BD = Current. Db() End With '------------------' Вариант № 3: Открытие доступа к My. BD. Table. Defs. Append My. Tab другой базе данных: My. BD. Close 'Set My. BD = Open. Database ("D: My. mdb") End Sub
1. 2. 3. 2. Текст ADO-процедуры создания файла Public Function Cr_Table_ADO() Dim My. Catalog As New ADOX. Catalog Set My. Catalog. Active. Connection = Current. Project. Connection Dim My. Table As New Table My. Table. Name = "INN_ADO" My. Table. Columns. Append "INN", ad. Var. WChar, 10 My. Table. Columns. Append "DS", ad. Date My. Table. Columns. Append "Summa", ad. Double My. Catalog. Tables. Append My. Table Dim My. Key As New ADOX. Key My. Key. Name = "INN" Key. Type = ad. Key. Primary My. Key. Columns. Append "INN" My. Catalog. Tables("INN_ADO"). Keys. Append My. Key, ad. Key. Primary Set My. Catalog. Active. Connection = Nothing End Function
1. 2. 3. 3. Текст функции создания файла с помощью SQL-запроса Public Function Cr_Table_SQL(My_Name_1 As String) As Boolean ' Создание таблицы с помощью SQL-запроса Dim My. SQL As String If Find_Table(My_Name_1 & Right$(Year(Date), 2)) Then 'Динамическое формирование таблиц My. SQL = "CREATE TABLE " & My_Name_1 & Right$(Year(Date), 2) & " (INN Text(10), DSF Date, Suuma Double); " Call Current. Db. Execute(My. SQL) Cr_Table_SQL = True Else Cr_Table_SQL = False End If End Function
Базы Данных 2.ppt