Перейти на главную страницу
Центральной компонентой ИС является БД, по форме представления информации различают визуальные и аудиосистемы, эта классификация показывает в каком виде информация хранится в БД и выдается из нее пользователям. В виде изображения звука или имеется возможность другой формы представления данных. По характеру данных могут быть разделены на неструктурированные частично структурированные и структурированные. К неструкт. Можно отнести базы реализованные в виде сетей, к частично структурированным в виде обычного текста, к структурированным требующие предварительного описания и разработки структур, только после этого БД может быть заполнена данными. Структурированные подразделяются по типу используемой модели на иерархические, сетевые, реляционные, смешанные, мультимедийные. В структур опред несколько уровней, обычно это уровень поля уровень записи и файла. В иерархических и сетевых между информац единицами могут задаваться связи
Банк данных - автоматизированная информационная система централизованного хранения и коллективного использования данных. В состав банка данных входят одна или несколько баз данных, справочник баз данных, СУБД, а также библиотеки запросов и прикладных программ.
база данных — (мы будем говорить о так называемых реляционных базах
данных) это, прежде всего, набор таблиц, хотя, как мы увидим позднее, в базу дан-
ных могут входить также процедуры и ряд других объектов. Таблицу можно пред-
ставлять себе как обычную двумерную таблицу с характеристиками (атрибутами)
какого-то множества объектов.
Приложение C++Builder, когда ему нужно связаться с базой данных, обраща-
ется к BDE и сообщает обычно псевдоним базы данных и необходимую таблицу
в ней. BDE реализован в виде динамически присоединяемых библиотек DLL (фай-
лы IDAPI01.DLL, IDAPI32.DLL). Они, как и любые библиотеки, снабжены API
(Application Program Interface — интерфейсом прикладных программ), названным
IDAPI (Integrated Database Application Program Interface). Это список процедур и
функций для работы с базами данных, которым и пользуются приложения.
BDE по псевдониму находит подходящий для указанной базы данных драй-
вер. Драйвер — это вспомогательная программа, которая понимает, как общаться
с базами данных определенного типа. Если в BDE имеется собственный драйвер со-
ответствующей СУБД, то BDE связывается через него с базой данных и с нужной
таблицей в ней, обрабатывает запрос пользователя и возвращает в приложение ре-
зультаты обработки. BDE поддерживает естественный доступ к таким базам дан-
ных, как Microsoft Access, FoxPro, Paradox, dBase.
Если собственного драйвера нужной СУБД в BDE нет, то используется драйвер
ODBC. ODBC (Open Database Connectivity) — это DLL, аналогичная по функциям
BDE, но разработанная фирмой Microsoft. Она хранится в файле ODBC.DLL. По-
скольку Microsoft включила поддержку ODBC в свои офисные продукты и для
ODBC созданы драйверы практически к любым СУБД, фирма Borland включила
в BDE драйвер, позволяющий использовать ODBC. Правда, работа через ODBC осу-
ществляется несколько медленнее, чем через собственные драйверы СУБД, вклю-
ченные в BDE. Но благодаря связи с ODBC масштабируемость C++Builder сущест-
венно увеличилась и сейчас из C++Builder можно работать с любой сколько-ни-
будь значительной СУБД. 562 Глава 8.
BDE поддерживает SQL — стандартизованный язык запросов, позволяющий
обмениваться данными с SQL-серверами, такими, как Sybase, Microsoft SQL,
Oracle, Interbase. Эта возможность используется особенно широко при работе на
платформе клиент/сервер и в распределенных базах данных.
Начиная с C++Builder 5 введена другая альтернативная возможность работы
с базами данных, минуя BDE. Это разработанная в Microsoft технология ActiveX
Data Objects (ADO). ADO — это пользовательский интерфейс к любым типам дан-
ных, включая реляционные и не реляционные базы данных, электронную почту,
системные, текстовые и графические файлы. Связь с данными осуществляется по-
средством так называемой технологии OLE DB.
Использование ADO обеспечивает более эффективную работу с данными и по-
зволяет избежать некоторых неприятностей (в частности, с кириллицей), которые
иногда возникают в BDE. Однако надо сказать, что возможности ADO в C++Buil-
der пока в некоторых отношениях ниже, чем возможности BDE. Поэтому в даль-
нейшем мы в основном сосредоточимся на работе с BDE. А особенности использо-
вания ADO будут рассмотрены в гл. 10, в разд. 10.4.
Еще один альтернативный доступ к базам данных Interbase был введен
в C++Builder 5 на основе технологии InterBase Express (IBX). В библиотеке компо-
нентов C++Builder 5 появилась страница InterBase, содержащая компоненты для
работы с InterBase, минуя BDE. Эти компоненты обеспечивают повышенную про-
изводительность и позволяют использовать новые возможности сервера InterBase,
недоступные обычным компонентам BDE.
3. Типы баз данных
Для разных задач целесообразно использовать различные модели баз данных, поскольку, конечно, базу данных сведений о сотрудниках какого-то небольшого коллектива и базу данных о каком-нибудь банке, имеющем филиалы во всех концах страны, надо строить по-разному.
Процесс определения того, какая база данных более подходит для конкретного приложения, называется масштабированием. Это сложная задача, которую мы не будем затрагивать. Однако, прежде, чем двигаться дальше, необходимо иметь представление о возможных моделях баз данных, поскольку это влияет на построение приложений в Borland C++Builder.
Рассмотрим коротко следующие четыре модели баз данных:
• Автономные;
• С разделяемыми файлами;
• Клиент/сервер;
• Многоярусные.
Автономные базы данных являются наиболее простыми. Они хранят свои данные в локальной файловой системе на том компьютере, на котором установлены; система управления и машина базы данных, осуществляющая к ним доступ, находятся на том же самом компьютере. Сеть не используется. Поэтому разработчику автономной базы данных не приходится иметь дело с проблемой параллельного доступа, когда два человека пытаются одновременно изменить одну и ту же запись, потому что такого никогда не может быть. Вообще, автономные базы данных не используются для приложений, требующих значительной вычислительной мощности, потому что процессорное время будет потрачено на выполнение манипуляций с данными и в целом будет потеряно для приложения.
Автономные базы данных полезны для развития тех приложений, которые распространены среди многих пользователей, каждый из которых поддерживает отдельную базу данных. Это, например, приложения, обрабатывающие документацию небольшого офиса, кадровый состав небольшого предприятия, бухгалтерские документы небольшой бухгалтерии. Каждый пользователь такого приложения манипулирует своими собственными данными на своем компьютере. Пользователю нет необходимости иметь доступ к данным любого другого пользователя, так что отдельная база данных здесь вполне приемлема.
Для больших баз данных с множеством пользователей часто используются базы данных на платформе клиент/сервер. В этом случае доступ к базе данных для группы клиентов выполняется специальным компьютером — сервером. Клиент дает задание серверу выполнить те или иные операции поиска или обновления базы данных. И мощный сервер, ориентированный на операции с запросами самым оптимальным способом, выполняет их и сообщает клиенту результаты своей работы. При таком подходе возникает дополнительная проблема — спроектировать приложение так, чтобы оно максимально использовало возможности сервера и минимально нагружало сеть, передавая через нее только минимум информации.
• На нижнем уровне на компьютерах пользователя расположены приложения клиентов, обеспечивающие пользовательский интерфейс.
• На втором уровне расположен сервер приложений, обеспечивающий обмен данными между пользователями и распределенными базами данных. Сервер приложений размещается в узле сети, доступном всем клиентам.
• На третьем уровне расположен удаленный сервер баз данных, принимающий информацию от серверов приложений и управляющий ими.
Подобную концепцию обработки данных пропагандируют, в частности, фирмы Oracle и Sun. Первый, элементарный уровень состоит из «тонких клиентов», то есть несложных терминалов, предназначенных, в основном, для ввода — вывода. Второй, средний (middleware) уровень — это рабочие станции и серверы приложений, то есть значительно более серьезные машины, на которых выполняются программы, критичные к загрузке процессора. Третий и последний уровень — мощные специализированные серверы баз данных.
4. Создание базы данных с помощью Database Desktop
Прежде, чем начать строить приложения, работающие с базами данных, надо иметь сами базы данных. Вместе с BDE и Borland C++Builder поставляется программа Database Desktop (файл DBD.EXE для 16-разрядных приложений, файл DBD32.EXE для 32-разрядных приложений, файл DBDLOCAL.EXE — файл конфигурирования), которая позволяет создавать таблицы баз данных некоторых СУБД, задавать и изменять их структуру.
Обычно вызов Database Desktop включен в главное меню Borland C++Builder в раздел Tools. Если это не сделано, то полезно включить его туда с помощью команды Tools | Configure Tools.... Вызовите Database Desktop. Вы увидите окно, показанное на рис. 2.1 (если в предыдущем сеансе работы с Database Desktop не была открыта какая-то таблица, то таблицы в середине окна не будет видно и разделов меню будет поменьше).
Давайте создадим с помощью Database Desktop таблицу базы данных СУБД Paradox v.7. В Paradox v.7 база данных — это каталог, в котором лежат таблицы — файлы с расширением .db. Поэтому прежде надо создать соответствующий каталог с помощью любой программы Windows, например, с помощью «Проводника». Далее выполните команду Database Desktop File | New- Вам откроется подменю, содержащее три варианта.
Выберите Table. Вам откроется небольшое диалоговое окно, в нем из выпадающего списка вы можете выбрать СУБД, для которой хотите создать таблицу. Выберите Paradox. Вы увидите окно, представленное на рис. 2.2. В этом окне вы можете задать структуру таблицы (поля и их типы), создать вторичные индексы, ввести диапазоны допустимых значений полей, значения по умолчанию и ввести много иной полезной информации о создаваемой таблице.
Рис.2.2. Окно создания таблицы.
Для каждого поля создаваемой таблицы прежде всего указывается имя (Field Name) — идентификатор поля. Он может включать до 25 символов и не может начинаться с пробела (но внутри пробелы допускаются). Затем надо выбрать тип (Type) данных этого поля. Для этого перейдите в раздел Type поля и щелкните правой кнопкой мыши. Появится список доступных типов, из которого вы можете выбрать необходимый вам. Приведем пояснения типов данных, используемых в Paradox.
Обозначение |
Размер |
Обозначение в списке |
Пояснение |
1 |
2 |
3 |
4 |
А |
1-255 |
Alpha |
Строковое поле, содержащее любые печатаемые символы ASCII. Размер число символов |
N |
|
Number |
Действительные числа от -10 307-10308с 15 значащими разрядами. |
$ |
|
Money |
Положительные или отрицательные числа, отличающиеся от Number формой представления |
S |
|
Short |
Короткие числа -32767 до 32767 |
I |
|
Long Integer |
Длинные числа от -2 147 483 648 до 2 147 483 647 |
1 |
2 |
3 |
4 |
# |
0-32 |
BCD |
Числа в формате BCD Binary Coded Decimal, вычисления проводятся с большей точностью. |
D |
|
Date |
Значения представления даты |
T |
|
Time |
Значения представления времени |
@ |
|
Timestamp |
Значения, хранящие и дату и время |
M |
1-240 |
Memo |
Поля для хранения текстов неограниченной длины. Тексты хранятся в отдельных файлах .mb |
F |
0-240 |
Formatted Memo |
Поля для хранения форматированных текстов неограниченной длины. Тексты хранятся в отдельных файлах .mb |
G |
|
Graphic |
Изображение из файлов в форматах .bmp, .pcx, .tif, gif, .eps. Database Desktop преобразует их в формат .bmp. |
O |
|
OLE |
Данные типа OLE – изображения, звуки, документы. Database Desktop не поддерживает поля этого типа. |
L |
|
Logical |
Логические поля – true, false |
+ |
|
Autoincrement |
Автоматическое увеличение на 1. |
B |
|
Binary |
Данные хранящиеся в отдельных двоичных файлах .mb. Database Desktop не поддерживает поля этого типа |
Y |
1-255 |
Bytes |
Database Desktop не поддерживает поля этого типа. |
Начнем с первого из них: Validity Checks — проверка правильности значений. Вы можете задать следующие характеристики поля: - поля с обязательным заполнением, минимальное значение, максимальное значение, значение по умолчанию, шаблон данных.
Следующий раздел в выпадающем списке свойств таблицы в правом верхнем углу экрана на рис. 2.3: Table Lookup — таблица просмотра. Этот раздел позволяет связать с полем данной таблицы какое-то поле другой, просматриваемой таблицы, из которой будут браться интересующие нас значения. При выборе Table Lookup на экране появляется кнопка Define — определить. При ее нажатии открывается диалоговое окно. В нем вы можете для данного поля задать таблицу просмотра (Lookup table). При этом вы можете воспользоваться выпадающим списком драйверов или псевдонимов (Drive or Alias) и кнопкой просмотра (Browse...). А затем кнопкой со стрелкой занести поле просматриваемой таблицы, из которого будут браться данные.
Следующий раздел в выпадающем списке свойств таблицы: Secondary Indexes — вторичные индексы. Этот раздел позволяет создавать необходимые для дальнейшей работы вторичные индексы (первичный индекс создается по ключевым полям).
Чтобы создать новый вторичный индекс, нажмите кнопку Define — определить. В его левом окне Fields содержится список доступных полей, в правом окне Indexed fields вы можете подобрать и упорядочить список полей, включаемых в индекс. Для переноса поля из левого окна в правое надо выделить интересующее вас поле или группу полей и нажать кнопку со стрелкой вправо. Стрелками Change order (изменить последовательность) можно изменить порядок следования полей в индексе.
Referential Integrity — целостность на уровне ссылок
Речь идет о способах, позволяющих обеспечить постоянные связи между данными отдельных таблиц. Если устанавливается целостность на уровне ссылок между двумя таблицами, одна из которых — головная (родительская), а другая — вспомогательная (дочерняя), то во вспомогательной таблице указывается поле (или группа полей), которые могут брать свои значения только из ключевого поля (или полей) головной таблицы.
Paradox позволяет задавать для таблицы пароли и для каждого из них определить разрешенные операции как для таблицы в целом, так и для отдельных ее полей.
Этот раздел в выпадающем списке Table Properties позволяет задавать (если он не задан) или переопределить (кнопкой Modify,-) язык таблицы, установленный по умолчанию в драйвере данной СУБД с помощью программы BDE Configuration Utility. Правильный выбор языка определяет, будут ли нормально читаться в таблице русские тексты.
Этот последний раздел в выпадающем списке Table Properties позволяет просмотреть список зависимых таблиц, связанных с данной целостностью на уровне ссылок Referential Integrity.
После того, как все необходимые данные о структуре таблицы внесены, щелкните на кнопке Save as... (сохранить как) и перед вами откроется окно, напоминающее обычный диалог сохранения в файле. От обычного это окно отличается выпадающим списком Alias. Этот список содержит псевдонимы различных баз данных, из которого вы можете выбрать базу данных, в которую будете записывать свою таблицу. Если вам не надо сохранять таблицу в одной из существующих баз данных, то вы можете воспользоваться обычным списком «Сохранить» в верхней части окна. При этом вы с помощью обычной быстрой кнопки можете создать новую папку (каталог). Вспомните, что для Paradox база данных — это каталог, в котором сохраняется таблица.
После того, как вы создали таблицу, вы можете ее открыть командой File | Open. Впрочем, если при сохранении структуры таблицы вы использовали описанную выше опцию Display Table, то таблица откроется автоматически. В обоих случаях вы увидите окно, представленное на рис. 2.4.
Команда Table info Structure... позволяет просмотреть информацию о структуре таблицы, а команда Table | Restructure... позволяет изменить структуру таблицы или какие-то ее характеристики. При выполнении этой команды вы попадаете в окно, аналогичное используемому ранее при разработке структуры.
Объединяя частные представления о содержимом базы данных, полученные в результате опроса пользователей, и свои представления о данных, которые могут потребоваться в будущих приложениях, разработчик сначала создает обобщенное неформальное описание создаваемой базы данных. Это описание, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающих над проектированием базы данных, называют инфологической моделью данных
Такая человеко-ориентированная модель полностью независима от физических параметров среды хранения данных. В конце концов этой средой может быть память человека, а не ЭВМ. Поэтому инфологическая модель не должна изменяться до тех пор, пока какие-то изменения в реальном мире не потребуют изменения в ней некоторого определения, чтобы эта модель продолжала отражать предметную область.
7. Понятие "объект" и "класс объектов"
8. Разновидности объектов
9. Изображение простого объекта. Описание свойства объекта. Разновидности свойств
10. Связи между объектами
11. Исходные данные и результаты даталогического проектирования
12. Подход к даталогическому проектированию
13. Определение состава баз данных
14. Введение искусственных идентификаторов
Структурированные подразделяются по типу используемой модели на иерархические, сетевые, реляционные, смешанные, мультимедийные. В структур опред несколько уровней, обычно это урове
11 09 2014
5 стр.
Новосибирск, 19 июля. /Фис/ Как стало известно корреспонденту фис из уст новосибирского исследователя Владимира Ларина, Департамент Обороны США /он же Пентагон/ не проявил заинтере
25 09 2014
1 стр.
Классификация механического оборудования. Основные части машин, передаточные механизмы
13 10 2014
1 стр.
Пневмокониозы. Классификация. Силикоз. Этиопатогенез. Клиника. Лечение. Профилак
25 12 2014
1 стр.
Классификация средств рекламы. Их краткая характеристика Печатная реклама: виды, особенности, преимущества и недостатки
06 10 2014
1 стр.
Фототриангуляция методом проложения: построение модели маршрута; внешнее ориентирование модели маршрута; устранение систематических искажений сети по опорным точкам
14 12 2014
1 стр.
Курс I-II-III, семестр 2, 3, 4, 5, форма обучения очная
08 10 2014
1 стр.
Врожденные деформации. Косорукость и ее формы, синдактилия, полидактилия. Методы лечения
15 12 2014
1 стр.