Пиши Дома Нужные Работы

Обратная связь

Работа с БД, механизм BDE.Компонент доступа и управления данными.

База данных

1. Уровни моделей и этапы проектирования БД.

 

База Данных - совокупность связанной информации, объединенной вместе по определенному признаку. Большинство БД для хранения данных используют таблицы. По способу установления связи между данными различают три вида модели: реляционная, иерархическая и сетевая модель. Реляционная модель яв-ся простейшей и наиболее привычной формой представления данных. Такая модель имеет вид таблицы, для которой в теории множеств соответствует термин отношение, который дал название модели. Иерархическая и сетевая модели предполагают наличие связи между данными имеющий какой либо общий признак В иерархической модели такие связи могут быть отображены в виде дерева графа где возможны только односторонние связи, от старшин вершин к младшим. В сетевой модели, по крайней мере, теоретически возможны связи всех со всеми. Поскольку на практике это естественно не возможно приходиться прибегать к некоторым ограничениям. Процесс проектирования БД рассматривают как последовательность выполнения трех шагов: инфологическое проектирование, датологическое проектирование, физическое проектирование.

Инфологическое проектирование - описание предметной области выполненных с использованием специальных языковых средств, независящих от использования в дальнейшем программных средств. Инфологическая модель должна строиться вне зависимости от того, будете ли вы в дальнейшем использовать какую- либо СУБД или пользоваться другими программными ср-ми для реализации своей ИС. Требования к ИМ: адекватное отображение предметной области; непротиворечивость; ИМ должна отражать взгляды и потребности всех пользователей системы; необходима однозначная трактовка модели; ИМ должна быть конечной; модель должна быть легко расширяемой, т.е. возможность ввода новых данных без изменения старых; ИМ должна обладать свойствами композиции и декомпозиции; она должна быть легко реализуемой на ЭВМ; должна быть независимой от оборудования и языков организации БД. Основными конструктивными элементами ИМ яв-ся сущности, связи между ними их свойства-атрибуты. Сущностью яв-ся различимый объект инф-цию о котором необходимо хранить в БД. Сущностью могут быть люди, рейсы, места, цвет. Атрибут поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей. Обычно для изображения связей между объектом и единичным свойством используется единичная стрелка, а для множественных свойств – двойная стрелка. Свойства могут быть статическими и динамическими. След этапом яв-ся даталогическая модель. Это модель которая описывается на языке описания данных соответствующей СУБД. После построения даталогической модели выполняется физическое моделирование. Эта модель описывает хранение данных на физических носителях. С появлением персональных компьютеров и соответственно СУБД для них данный этап проектирования утратил свое значение.



Реляционные СУБД.

Реляционная модель яв-ся простейшей и наиболее привычной формой представления данных. Такая модель имеет вид таблицы, для которой в теории множеств соответствует термин отношение (relation), который дал название модели. Для этой модели имеется развитый математический аппарат реляционное исчисление и реляционная алгебра, где для БД определены такие операции как объединение вычитание пересечение и др. Достоинством реляционной модели яв-ся сравнительная простата инструментальных средств его поддержки. Недостатком жесткость структуры и зависимость скорости обработки от ее размера

Реляционная СУБД (РСУБД; иначе Система управления реляционными базами данных, СУРБД) — СУБД, управляющая реляционными базами данных.

Понятие реляционный (англ. relation — отношение) связано с разработками известного английского специалиста в области систем баз данных.

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

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

-определение реляционной системы управления базами данных.

  1. Данные воспринимаются пользователем как таблицы (и никак иначе).
  2. В распоряжении пользователя имеются операторы, которые генерируют новые таблицы из старых.

Как уже было сказано, таблица состоит из столбцов и записей. На пересечении столбца и записи находится ячейка. Общих ячеек, как в системе Exell, быть не может. Каждый столбец имеет заданный типа данных, а также ограничения на допустимые значения и диапазон значений.

Одна из непосредственных задач СУБД (здесь и далее речь идет о реляционных СУБД, поэтому слово "реляционный" опускается) - осуществлять контроль целостности данных. Под целостностью данных подразумевается логическая непротиворечивость данных. Различают три понятия целостности:

  1. Целостность в отношении конкретной базы.

Такие данные, как возраст, рост, вес не могут быть отрицательными. IP-адрес имеет строго заданный формат - это четыре числа в диапазоне от 0 до 255, разделенных точкой, плюс дополнительные ограничения на использование 0, 255 и спецадресов. Большинство СУБД не предоставляют механизмов, в полной мере позволяющих контролировать данный тип целостности.

  1. Целостность сущностей.

В таблице, где хранятся записи об объектах, не может быть двух одинаковых объектов, а также не может быть неопределенных объектов, т.е. записей с неопределенным значением (NULL-значением) первичного ключа. СУБД не должна допускать записей с повторяющимися значениями первичного ключа или NULL-значением одного из компонентов первичного ключа. Данный тип целостности поддерживают все СУБД. Более подробно мы поговорим об этом понятии целостности ниже, при описании первичных ключей.

  1. Ссылочная целостность.

Как вы уже видели на примере системы гостевых книг(см. рисунок ниже) в главе "Язык SQL", одной записи в таблице гостевых книг может соответствовать несколько записей в таблице сообщений. Таблицы могут находиться во взаимосвязях один к одному, один ко многим и многие ко многим. Связи между таблицами осуществляются на основании внешних ключей. В таблице сообщений не может быть сообщения, принадлежащего к несуществующей гостевой книге, иначе говоря, любой записи в таблице сообщений должна найтись запись в таблице гостевых книг. СУБД должна предоставлять механизмы для контроля операций и соблюдения ссылочной целостности при выполнении операций INSERT, UPDATE и DELETE. К сожалению, не все СУБД имеют такие механизмы.

 

 

3. Система визуально-ориентированного проектирования в Borland C++ Builder. Основные возможности.

 

C++ Builder яв-ся мощной системой визуального объектно-ориентированного проектирования. Она сама и поставляемые с ней программные продукты позволяют решать след круг задач:

1. быстро создавать профессионально выглядящие оконные интерфейсы для любых приложений даже начинающим программистам;

2. создавать приложения любой сложности и любого назначения будь то офисные, бухгалтерские, инженерные, инф-но поисковые приложения;

3. создавать удобный интерфейс к любым ранее созданным программам;

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

5. создавать системы работы-с локальными и удаленными БД любых типов. Подход используемый в системе позволяет получить доступ к БД созданных на платформах InterBase, Access, FoxPro, Paradox, Microsoft SQL, dBase;

6. создавать БД различных типов с помощью инструментария C++ Builder(DataBase DeskTop);

7. формировать и печатать из приложения сложные отчеты включающие в себя таблицы, графики самого разного назначения;

8. связываться со своего приложения с такими продуктами компании Microsoft как Word, Excel и др;

9. создавать систему помощи как дл своих так и для любых приложений

4. Проектирование структуры БД с использованием инструменты C++ Builder Database Desktop. Задание свойств таблицы БД.

Вместе с BDE и C++Builder поставляется программа Database, которая позволяет со­здавать таблицы баз данных некоторых СУБД, задавать и изменять их структуру.

Обычно вызов Database Desktop включен в главное меню C++Builder в раздел Tools. Если это не сде­лано, то полезно включить его туда с помощью команды Tools | Configure Tools

Для создания таблицы БД необходимо выполнить команду Database Desktop File | New- откроется подменю, содержа­щее три варианта. Выбираем Table, откроется небольшое диалоговое окно, в нем из выпадающего списка вы можете выбрать СУБД, для которой хотите создать таблицу. Выбираем Paradox 7.После подтверждения выбора типа на экране откроется окно создания таблицы. В левой части этого окна задается структура таблицы, а в правой части свойства таблицы, внизу окна располагаются кнопки: сохранить, отменить, помощь. Для каждого поля создаваемой таблицы прежде всего указывается имя (Field Name) — идентифика­тор поля. Он может включать до 25 символов и не может начинаться с пробела (но внутри пробелы допу­скаются). Затем надо выбрать тип (Type) данных этого поля. Для этого перейдите в раздел Type поля и щелкните правой кнопкой мыши. Появится список доступных типов, из которого вы можете выбрать необходимый вам. Приведем пояснения типов данных, используемых в Paradox. А - строковое поле, содержащее любые печатаемые символы ASCII, размер число символов 1-255; N - действительные числа от -10 307-10308с 15 значащими разрядами; $ - положительные или отрицательные числа, отличающиеся от Number формой представления; S - короткие числа -32767 до 32767; I - длинные числа от -2 147 483 648 до 2 147 483 647; # - числа в формате BCD Binary Coded Decimal, вычисления проводятся с большей точностью, размерность 0-32; D - значения представления даты; T - значения представления времени; @ - значения хранящие и дату и время; M - поля для хранения текстов неограниченной длины. Тексты хранятся в отдельных файлах .mb, размерность 1-240; F - поля для хранения форматированных текстов неограниченной длины. Тексты хранятся в отдельных файлах .mb, размерность 0-240; G - изображение из файлов в форматах .bmp, .pcx, .tif, gif, .eps. Database Desktop преобразует их в формат .bmp.; O - данные типа OLE – изображения, звуки, документы. Database Desktop не поддерживает поля этого типа; L - логические поля – true, false; + - автоматическое увеличение на 1; B - данные хранящиеся в отдельных двоичных файлах .mb. Database Desktop не поддерживает поля этого типа; Y- Database Desktop не поддерживает поля этого типа, размерность 1-255.

В правой части окна задаются свойства таблицы (Table properties). Вверху имеется выпадающий список с рядом разделов. Validity Checks — проверка правильности значений. Начнем с первого из них: Validity Checks — проверка правильности значений. Вы можете задать следующие характеристики поля: - поля с обязательным заполнением, минимальное значение, максимальное значение, значение по умолчанию, шаблон данных. Table Lookup — таблица просмотра. Следующий раздел в выпадающем списке свойств таблицы в правом верхнем углу экрана: Table Lookup — таблица просмотра. Этот раздел позволяет связать с полем данной таблицы ка­кое-то поле другой, просматриваемой таблицы, из которого будут браться допустимые значения. При выборе Table Lookup на экране появляется кнопка Define — определить. При ее нажатии открывается диалоговое окно. В нем вы можете для данного поля задать таблицу просмотра (Lookup table). При этом вы можете воспользоваться выпадающим списком драйверов или псевдонимов (Drive or Alias) и кнопкой просмотра (Browse...). А затем кнопкой со стрелкой занести поле просматривае­мой таблицы, из которого будут браться допустимые значения. Secondary Indexes — вторичные индексы. Следующий раздел в выпадающем списке свойств таблицы: Secondary Indexes — вторичные индек­сы. Этот раздел позволяет создать необходимые для дальнейшей работы вторичные индексы (первичный индекс создается по ключевым полям). Чтобы создать новый вторичный индекс, нажмите кнопку Define — определить. В его левом окне Fields содержится список доступных полей, в пра­вом окне Indexed fields вы можете подобрать и упорядочить список полей, включаемых в индекс. Для пе­реноса поля из левого окна в правое надо выделить интересующее вас поле или группу полей и нажать кнопку со стрелкой вправо. Стрелками Change order (изменить последовательность) можно изменить по­рядок следования полей в индексе. Referential Integrity — целостность на уровне ссылок. Речь идет о способах, позволяющих обеспе­чить постоянные связи между данными отдельных таблиц. Если устанавливается целостность на уровне ссылок между двумя таблицами, одна из которых — головная (родительская), а другая — вспомогатель­ная (дочерняя), то во вспомогательной таблице указывается поле (или группа полей), которые могут брать свои значения только из ключевого поля (или полей) головной таблицы. Password Security — пароли доступа. Paradox позволяет задать для таблицы пароли и для каждо­го из них определить разрешенные операции как для таблицы в целом, так и для отдельных ее полей.Table Language — язык таблицы. Этот раздел в выпадающем списке Table Properties позволяет задать (если он не задан) или переопре­делить (кнопкой Modify,-) язык таблицы, установленный по умолчанию в драйвере данной СУБД с помо­щью программы BDE Configuration Utility. Правильный выбор языка определяет, бу­дут ли нормально читаться в таблице русские тексты. Dependent Tables — зависимые таблицы. Этот последний раздел в выпадающем списке Table Properties позволяет просмотреть список зависи­мых таблиц, связанных с данной целостностью на уровне ссылок Referential Integrity. Завершение создания таблицы. После того, как все необходимые данные о структуре таблицы внесены, щелкните на кнопке Save as... (сохранить как) и перед вами откроется окно, напоминающее обычный диалог сохране­ния в файле. От обычного это окно отличается выпадающим списком Alias. Этот список содержит псевдо­нимы различных баз данных (о них пойдет речь позднее), из которого вы можете выбрать базу данных, в которую будете сохранять свою таблицу. Если вам не надо сохранять таблицу в одной из существующих баз данных, то вы можете воспользоваться обычным списком Сохранить в в верхней части окна. При этом вы с помощью обычной быстрой кнопки можете создать новую папку (каталог). Вспомните, что для Paradox база данных — это каталог, в котором сохраняется таблица. Изменение структуры и заполнение таблицы с помощью Database Desktop. После того, как вы создали таблицу, вы можете ее открыть командой File | Open. Впрочем, если при сохранении структуры таблицы вы использовали описанную выше опцию Display Table, то таблица от­кроется автоматически. Команда Table info Structure... позволяет просмотреть информацию о структуре таблицы, а команда Table | Restructure... позволяет изменить структуру таблицы или какие-то ее характеристики. При выпол­нении этой команды вы попадаете в окно, аналогичное используемому ранее при разработке структуры.

5. Инструментальная среда разработки в C++Builder: Главное меню, панели инструментов, библиотека виртуальных компонент инспектор объектов.

Интегрированная среда разработки (ИСР) это среда в которой есть все необходимое для проектирования, запуска и тестирования приложения и где все направлено на облегчение процесса создания проекта. В верхней части окна ИСР находится главное меню. Ее состав частично зависит от варианта с которым мы работаем. Ниже полосы главного меню располагаются две инструментальные панели, левая инструментальная панель содержит ряд быстрых кнопок дублирующих наиболее часто используемые команды главного мню; правая панель содержит палитру компонентов. В основном окне в левой части располагается инспектор объекта, с помощью которого задаются свойства компонентов и обработчики событий, правее располагается окно редактора кода. Элементы главного меню: File он позволяет создавать новый проект, новую форму, открыть ранее созданный проект или форму, сохранить проект и форму в файлах с заданным именем; Edit данный пункт позволяет выполнить обычные для ОС Widows операции обмена с буфером памяти, а также позволяет выравнивать группы размещенных в форме компонентов; Search позволяет производить поиск и контекстные замены в редакторе кода; View позволяет вызывать на экран различные окна необходимые при проектировании; Project позволяет добавлять или убирать из проекта формы, задавать опции проекта, компилировать проект без его выполнения; Run данный пункт дает возможность выполнить проект в нормальном и отладочном режимах; Component он позволяет создавать и устанавливать новые компоненты, конфигурировать палитру компонентов; DataBase данный пункт позволяет использовать инструментарии для работы с БД; Tools включает ряд разделов позволяющих настраивать ИСР и выполнить различные вспомогательные программы; Help данный раздел позволяет вызвать встроенную с C++Builder справочную систему. Назначение быстрых кнопок в инструментальной панели можно узнать по изображениям, размещенным на них, при задержке курсора мыши появляется сообщение о назначении быстрой кнопки. Палитра компонентов это витрина библиотеки визуальных компонентов. Она позволяет сгруппировать компоненты в соответствии с их смыслом и назначением. Эти группы ли страницы снабжены закладками. Основные компоненты: STANDART она содержит наиболее часто используемые компоненты; ADDITIONAL располагаются дополнительные компоненты стандарта; WIN-32 она содержит компоненты в стиле приложений Windows 95,98 NT; SISTEM системная страница содержащая такие компоненты как таймеры, плееры и ряд других; DataAccess это страница доступа к БД; DataControl страница управления данными; ADO она обеспечивает связь данными через систему ADO; Internet данная страница содержит компоненты приложений работающих с Интернетом; Samples образцы различных компонент не до конца документированных. Инспектор объектов обеспечивает простой и удобный интерфейс для изменения свойств объектов в C++Builder, а также управление событиями, на которые реагирует объект. Страница свойств Properties инспектор объектов показывает свойства того объекта, кот-ый в данный момент выделен. Страница событий Events. На ней указаны все события, на кот-ые может реагировать выделенный компонент.

6. Типы данных используемых в системе визуального объектно-ориентированного программирования C++Builder . Типы файлов обрабатываемых в системе визуального объектно-ориентированного программирования C++Builder.

 

А - строковое поле, содержащее любые печатаемые символы ASCII, размер число символов 1-255; N - действительные числа от -10 307-10308с 15 значащими разрядами; $ - положительные или отрицательные числа, отличающиеся от Number формой представления; S - короткие числа -32767 до 32767; I - длинные числа от -2 147 483 648 до 2 147 483 647; # - числа в формате BCD Binary Coded Decimal, вычисления проводятся с большей точностью, размерность 0-32; D - значения представления даты; T - значения представления времени; @ - значения хранящие и дату и время; M - поля для хранения текстов неограниченной длины. Тексты хранятся в отдельных файлах .mb, размерность 1-240; F - поля для хранения форматированных текстов неограниченной длины. Тексты хранятся в отдельных файлах .mb, размерность 0-240; G - изображение из файлов в форматах .bmp, .pcx, .tif, gif, .eps. Database Desktop преобразует их в формат .bmp.; O - данные типа OLE – изображения, звуки, документы. Database Desktop не поддерживает поля этого типа; L - логические поля – true, false; + - автоматическое увеличение на 1; B - данные хранящиеся в отдельных двоичных файлах .mb. Database Desktop не поддерживает поля этого типа; Y- Database Desktop не поддерживает поля этого типа, размерность 1-255.При проектировании приложений в C++Builder создаются след файлы: головной файл (.cpp) C++Builder создает файл для головной функции WinMain инициирующий приложения и запускающий их на выполнение; файл опций приложений (.bpr) это текстовый файл содержащий установки опции проекта, в нем также указаны на какие файлы необходимо ссылаться при компилировании проекта; файл ресурсов проекта (.res) это двоичный файл содержащий ресурсы проекта. По умолчанию содержит только пиктограмму самого проекта, может дополняться с помощью редактора изображения; файл реализации модуля (.cpp) каждой создаваемой форме соответствует файл реализации модуля, а также заголовочный файл. В файле реализации модуля хранится код программы в текстовой форме; Заголовочный файл модуля (.h) в заголовочном файле хранится описание класса формы; файл формы (.dFm) это текстовый или двоичный файл созданный для хранения инф-ции о формах проекта; заголовочный файл компонента (.hpp) данный файл создается при создании нового компонента; файл группы проектов (.bpg) данный файл яв-ся тестовым и создается при создании группы проектов; файл рабочего стола (.dsk) в этом файле хранится инф-ция о последнем сеансе работы. Вторая группа файлов создается при компилировании: Exe-файлы; объектный файл модуля (.obj) данный файл создается при компилировании файла реализации модуля (.cpp); динамически присоединяемые библиотеки (.DLL); файлы таблицы символов (.tds) данный файл используется отладчиком в процессе отладки приложения; файлы выборочной компоновки (.il?)

Работа с БД, механизм BDE.Компонент доступа и управления данными.

В C++Builder организуется доступ к приложениям БД таким образом, чтобы полностью отстранить разработчика от спецификации обслуживания конкретной БД. Ключевой механизм BDE обеспечивающий работу визуальных компонент БД действует как интерфейс между создаваемым приложением и самой БД. BDE реализован в виде DLL – библиотек. Взаимодействие компонентов с BDE ни как не специфицирует конкретную Бди не зависит от реализации, обмена инф-ции на нижнем уровне иерархии. Общ схема:

 

Компоненты, используемые для работы с базами данных, расположены в библиотеке компонентов на страницах Data Access (доступ к данным) и Data Control (управление данными). Каждое приложение, использующее базы данных, обычно имеет по крайней мере по одному компо­ненту следующих трех типов:1) Компоненты — наборы данных (data set), непосредственно связывающиеся с базой данных. Это та­кие компоненты, какTable, Query и др. 2)Компонент - источник данных (data source), осуществляющий обмен информацией между компо­нентами первого типа и компонентами визуализации и управления данными. Таким компонентом являетсяDataSource.3)Компоненты визуализации и управления данными, такие, какDBGrid, DBText, DBEdit и множест­во других. Расширенная схема:

TDataSource действует как интерфейс между некоторым объектом набора данных (таблица, запрос) и визуальной компонентой управления. С одной стороны, все наборы данных должны быть ассоциированы с некоторым источником. С другой стороны, каждая компонента управления должна быть ассоциирована с источником, чтобы получать данные для отображения и редактирования. Каждой компоненте набора данных должна соответствовать, по меньшей мере, одна компонента источника. Далее мы увидим, что все компоненты управления имеют свойство DataSource, значение которого замыкает трехступенчатую связь. TTable устанавливает прямую связь с таблицей базы данных посредством BDE, причем все записи или столбцы этой таблицы становятся доступными для приложения - как раздельно, так и внутри определенного интервала адресов. Компонента запроса TQuery обеспечивает доступ к нескольким таблицам и способна адресовать некоторое подмножество записи. Вид возвращаемого набора данных зависит от формы запроса, который может быть статическим, когда все параметры запроса задаются на стадии проектирования, или динамическим, когда параметры определяются во время выполнения программы Указанные дейтсвия записываются и реализуются на языке SQL.






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.