Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сравнение технологий BDE и ADO




Нормализация. 1НФ, 2НФ, 3НФ.

Нормализация – это процесс исключения избыточной информации в результате, которого каждая единица информации должна храниться в базе только один раз (в одном экземпляре).

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

Первая нормальная форма. (1НФ)

1НФ требует, чтобы каждое поле таблицы было неделимым и не содержало повторяющихся групп.

Неделимость подразумевает невозможность выделения в группе более мелких.

Не повторяемость означает, что не существует одинаковых значений полей в одной записи.

Вторая нормальная форма. (2НФ)

2НФ требует соответствие 1НФ, а также каждая строка таблицы однозначна и неизбыточна определена первичным ключом.

3НФ: означает к приведению ко 2НФ, а также значение любого поля не входящего в первичный ключ не зависимо от других полей не входящих в первичный ключ.

Преимущество нормализации:

1. отсутствие дублирования информации (за исключением одинаковых полей связывающих таблицы).

2. В случае модификации данных изменения проводятся только в одном месте.

3. Обозначается целостное восприятие БД как системы взаимосвязанных таблиц.

4. Чем больше число сущностной охватывающей предметной областью, тем из большего числа связанных таблиц состоит нормализованная БД.

5. При составлении запросов необходимо считывать данные из нескольких таблиц.

Borland Database Engine (BDE) - первая такая разработка фирмы Borland. Этот механизм доступа к данным позволяет обращаться к локальным и файл-серверным форматам баз данных dBase, FoxPro и Paradox, к различным серверам SQL и ко многим другим источникам данных, доступ которых поддерживался при помощи драйверов ODBC. Например, с помощью BDE можно напрямую работать с табличными файлами MS Excel. Увы, механизм доступа BDE признается устаревшим даже самой компанией Borland. В данный момент многие инструменты Delphi являются кросс - платформенными, то есть, программы с небольшими доработками можно переносить на другие операционные системы. Корпорация Borland выпустила новую среду быстрой разработки программ - Kylix, на которой создаются приложения для операционных систем семейства Linux. Часто говорят, что Kylix - это Delphi для Linux. Так и есть - если вы умеете программировать на Delphi, сумеете и на Kylix. Большинство инструментов Delphi были унаследованы Kylix, но, увы, не BDE. Дальнейшее развитие этого механизма доступа к данным корпорацией Borland прекращено.

 

Тем не менее, хоронить его рано. Многие программисты до сих пор используют данный инструмент в разработке приложений для небольших компаний. Да что там говорить, китайская компания Huawei, разрабатывающая современнейшие электронные АТС как для городских, так и для мобильных телефонов, до сих пор использует BDE для доступа к настройкам и статистическим данным этих АТС! Кроме того, BDE имеет множество простых и удобных возможностей для программиста, таких например, как создание таблиц программно.

 

Удобство работы с BDE трудно переоценить, однако нельзя не сказать и о минусах. Основной минус - распространение приложений. Если ваше приложение использует для доступа к данным компоненты BDE, то и у клиента, который будет пользоваться вашей программой, должен быть установлен BDE. Причем если вы использовали алиасы (псевдонимы базы данных), то настройка на эти же алиасы должна быть и у клиента. Впрочем, создание инсталляционного пакета при помощи стандартной утилиты Install Shield Express снимает эту проблему. Эта утилита позволяет включать настроенный механизм BDE в состав инсталляционного пакета вашей программы. Конечно, за это приходится расплачиваться большими размерами инсталляционного файла.

 

Другой минус касается не только BDE, но и любого другого универсального механизма доступа к данным. Универсальность такого механизма подразумевает сложность его реализации. Программисту предоставляется уже готовый инструмент, с которым удобно работать, однако этот инструмент достаточно "тяжелый" - используя его, вы довольно существенно увеличиваете размеры своего приложения.

 

На предыдущем курсе "Введение в программирование на Delphi" мы затрагивали работу с базами данных посредством BDE. Больше к этим темам мы возвращаться не будем, хотя изредка будем обращаться к BDE, чтобы продемонстрировать те или иные возможности, отсутствующие в других механизмах доступа к данным, или отличающиеся от них. Поэтому если вы пропустили этот курс, то хотя бы бегло просмотрите работу с BDE в лекциях 29-32.

 

ActiveX Data Object (ADO) - это механизм доступа к данным, разработанный корпорацией Microsoft. Если точнее, то ADO - это надстройка над технологией OLE DB, посредством которой можно связываться с различными данными приложений Microsoft. В середине 1990-х годов большое развитие получила технология COM, и корпорация Microsoft в связи с этим объявила о постепенном переходе от старой технологии ODBS к новой OLE DB. Однако технология OLE DB достаточно сложная, использование этой технологии происходит на системном уровне и требует от программиста немало знаний и труда. Кроме того, технология OLE DB очень чувствительна к ошибкам, и "вылетает" при первом удобном случае. Чтобы облегчить программистам жизнь, корпорация Microsoft разработала дополнительный прикладной уровень ADO, который мы будем изучать на этом курсе.

 

По своим возможностям ADO напоминает BDE, хотя конечно, является более мощным инструментом. Компания Borland разработала набор компонентов для доступа к ADO и первоначально назвала его ADOExpress. Однако корпорация Microsoft упорно противится использованию своих обозначений в продуктах сторонних разработчиков, поэтому, начиная с Delphi 6, этот набор компонентов стал именоваться dbGo. Эти компоненты вы можете увидеть на вкладке ADO палитры компонентов.

 

Технология ADO, как и BDE, независима от конкретного сервера БД, имеет поддержку как локальных баз данных различных типов, так и некоторых клиент-серверных БД. Плюсов у этой технологии много. Драйверы, разработанные корпорацией Microsoft для собственных нужд, более надежные, чем драйверы сторонних производителей. Поэтому если вам требуется работать с базами данных MS Access или для архитектуры клиент-сервер использовать MS SQL Server, то использование ADO будет наиболее предпочтительным. Кроме того, имеется плюс и в вопросе распространения программ - во всех современных Windows встроены драйверы ADO. Другими словами, ваша программа будет работать на любом ПК, где установлен Windows.

 

Как ни странно, но основной минус так же заключается в вопросе распространения программ. Корпорация Microsoft поступает довольно хитро. Каждые пару-тройку лет появляются новые версии Windows. Рядовому пользователю обычно нет нужды переходить на свежую ОС, тем более что каждая новая система становится все требовательней к ресурсам ПК. Для того чтобы заставить пользователя перейти на новую версию, корпорация Microsoft обязательно вводит несколько новых стандартов или технологий, несовместимых со старыми. А для старых версий доработок не предусматривается. Вот и приходится бедному пользователю скрепя зубы тратиться на новые версии операционной системы и пакета MS Office. Поэтому при использовании технологии ADO приходится думать о том, какая версия Windows стоит у конечного пользователя, будет ли ваша программа работать у него на ПК.

 

Технология ADO на самом деле является частью Microsoft Data Access Components (MDAC). Компания Microsoft распространяет MDAC как отдельный продукт, к счастью, бесплатный. При этом поддерживается только самая последняя версия MDAC. Например, в состав Delphi 7 входит MDAC 2.6. При распространении собственных программ следует учитывать, что у клиента с большей долей вероятности уже установлена эта самая MDAC, причем самой последней версии. Однако если он пользуется старыми версиями Windows (Win95, 98, ME, NT), то вам потребуется позаботиться об установке MDAC на его компьютер. Если же у него установлена ОС Win2000, WinXP или более новая, то MDAC у него уже есть, и вам беспокоиться не о чем.

 

Еще один серьезный минус ADO в том, что он для подключения к БД использует довольно медлительную технологию COM. Если ваша база данных будет содержать несколько тысяч записей, то скорость работы с таблицами может стать в сотни раз более медленной, чем если бы вы использовали BDE! На современных ПК, имеющих частоту процессора до 2 ГГц и выше, эти замедления могут быть и незаметны, но работа с огромной базой данных на более медленных ПК превратится в сплошное ожидание.

 

Основными компонентами, с которыми нам предстоит работать, являются TADOConnection (для подключения к БД), TADOTable (аналог TTable из BDE), TADOQuery (аналог TQuery из BDE, предназначенный для набора данных, полученных через SQL-запрос) и TADODataSet (для выполнения запросов и получения набора данных).

 

 




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 1319; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.