C++ Builder: работа с файлами и базами данных


Download 58 Kb.
Sana01.03.2023
Hajmi58 Kb.
#1239256
Bog'liq
C Builder работа с файлами и базами данных

C++ Builder: работа с файлами и базами данных


  • 1. Borland C++ Builder: работа с файлами и базами данных Attribution-ShareAlike (by-sa) — Лицензия «С указанием авторства — Копилефт» stanislav.katsko.name Informatics.ssga.ru

  • 2. 1. Введение в системы управления базами данных

  • 3. База данных – совокупность данных, которые определенным образом организованы и связаны друг с другом. Модель базы данных – способ организации БД и связей в них. Таблица БД – набор записей фиксированной структуры, где каждая запись описывает определенный информационный объект. СУБД – технологическая программная система, предназначенная для обработки данных, предоставляющая пользователю средства просмотра и редактирования этих данных.

  • 4. Данные в файлах неупорядочены. Файловые методы доступа – на низком уровне. Сложно организовать промежуточное хранение сведений из файла. Сложно вносить изменения в файл, содержащий структурированную информацию. Обращение к записи в файле – временной фактор. Сложная организация многопользовательской работы. Нет средств связи между файлами. Недостатки файлового подхода

  • 5. Информационное правило: информация в реляционной БД – на логическом уровне. Правило гарантированного доступа: любой элемент доступен по имени таблицы, первичному ключу и имени поля. Правило систематической обработки нулевых значений : не заданные значения должны корректно обрабатываться СУБД. Правило ведения динамического каталога : описание БД представляется на логическом уровне так же, как и обычные данные. 12 правил Кодда

  • 6. Правило всеобъемлющего подмножества языка работы с данными : СУБД поддерживает формальные языки с вычисляемыми выражениями и определенным синтаксисом. Правило обновления представлений . Правило высокоуровневой вставки, обновления и удаления : концепция работы не с отдельной записью, а с множеством записей. Правило физической независимости данных : способы доступа к данным и способы их хранения не влияют на логику их обработки. 12 правил Кодда

  • 7. Правило логической независимости данных : модификация структуры таблиц не влияет на логику их обработки. Правило независимой целостности : а) сущностная целостность – не должно быть первичных ключей с нулевыми значениями; б) ссылочная целостность – для каждого внешнего ключа в БД должна существовать запись с соответствующим первичным ключом. Правило независимого распространения . Правило отсутствия побочных эффектов . 12 правил Кодда

  • 8. Общий вывод ( нулевое правило ): любая система, которая названа реляционной системой обработки данных, должна управлять данными исключительно за счет реляционных механизмов. 12 правил Кодда

  • 9. 2. Принципы проектирования баз данных

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

  • 11. Первая нормальная форма (1NF) – в записях должны быть выделены первичные ключи и исключено дублирование. Вторая нормальная форма (2NF) – все вторичные значения в записях должны полностью зависеть от первичного ключа. Третья нормальная форма (3NF) – сами вторичные значения взаимно независимы. Технология нормализации

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

  • 13. Проектирование баз данных

  • 14. Проектирование баз данных

  • 15. 1. Подготовка исходных данных. 2. Снижение размерности – первая нормальная форма. Этапы нормализации

  • 16. 3. Выделение ключевых полей – вторая нормальная форма. 4. Выделение вторичных связанных признаков – третья нормальная форма. Этапы нормализации

  • 17. 3. Технологии работы с файлами

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

  • 19. Открытие файла: а) на чтение б) на запись в) на чтение-запись Обработка файла. Закрытие файла Файловые операции

  • 20. Для работы с файлом создается переменная, которая хранит системное значение, идентифицирующее файл. Эта переменная связывается с полным именем файла. Файл открывают обращением к стандартной процедуре или функции. Обработку содержимого файла ведут с помощью файловой переменной. Файл закрывают. Общая технология работы с файлами в C++ Builder

  • 21. 4. Технология работы с типизированными файлами

  • 22. Для обработки файлов используют библиотеку ввода-вывода stdio.h Файловая переменная описывается с помощью типа данных FILE Пример: FILE* fi; Объявление файловой переменной

  • 23. Необходимо определить способ открытия, задать местонахождение файла и связать с ним файловую переменную. Функция fopen() : FILE* fopen(const char *filename, const char *mode); Первый параметр – путь к файлу Второй параметр – способ открытия файла. FILE* fi; fi = fopen("data.txt","rt"); if (fi ==0) // обработка ошибки … Открытие файла

  • 24. Функции ввода fread() и вывода fwrite() Имеют одинаковый список параметров. size_t fread(void *ptr, size_t size, size_t n, FILE *stream); size_t fwrite(void *ptr, size_t size, size_t n, FILE *stream); Обмен данными с файлом

  • 25. Команда закрытия файла: fclose(имя-файловой-переменной); Закрытие файла

  • 26. 5. Объектные технологии работы с файлами

  • 27. Стандартная библиотека stream.h Поток ввода-вывода – объект, который организует побайтовый обмен данными между программой и внешними устройствами хранения. Потоки, как правило, используют временные буферы в оперативной памяти.

  • 28. Для ввода данных используется оператор << , для считывания данных из потока используется оператор >> . В левой части – имя потока, в правой – либо данные для записи, либо имя переменной, в которую должны быть введены данные. cout << x << ";"<< y; В поток вывода cout помещается значение переменной x, строка ";" и значение переменной y. cin >> n; В переменную n помещается вводимое пользователем значение. Стандартная библиотека stream.h

  • 29. Чтобы использовать операторы >> и << , нужно подключить заголовочный файл fstream: #include В нем определены классы ifstream и ofstream, предназначенные для ввода и вывода данных. Пусть имеется файл info.txt с содержимым: 15 3.14 строка Определим экземпляр класса ifstream: ifstream fi; Открытие потока с помощью метода open(): fi.open("info.txt") Файловый потоковый обмен

  • 30. В файле 3 значения. Загрузим их в программу: char s[1024]; int n; double x; fi >> n >> x >> s; Закроем файл методом close() : fi.close(); Файловый потоковый обмен

  • 31. Для вывода данных используем класс ofstream : ofstream fo; fo.open("info.txt"); char *s = "привет"; int n = 20; double x = 2.81; fo << n << " " << x << " " << s; fo.close(); Результат – строка: 20 2.81 привет Файловый потоковый обмен

  • 32. Базовый класс TStream (поток). Для работы с файлами – класс TFileStream. Пример открытия файла в режиме "для чтения": TFileStream * fi = new TFileStream("myfile.txt",Sysutils::fmOpenRead); В прикладном коде для чтения и записи данных используются методы ReadBuffer() и WriteBuffer() Пример: TRect rc; fi->ReadBuffer(&rc,sizeof(rc)); Закрытие файла – метод Free() Объектная технология потокового обмена

  • 33. 6. Файл-серверные технологии

  • 34. Файл-серверная архитектура приложения – архитектура, в которой вся деятельность по выполнению прикладной логики и обработке баз данных происходит на компьютерах пользователей. Сама же база данных может храниться как на компьютерах пользователей, так и на файловом сервере в сети.

  • 35. Ход работы файл-серверного приложения: 1. Пользователь обращается к набору данных через элементы интерфейса. 2. Приложение формирует запрос к СУБД на языке SQL. 3. Запрос отправляется к программе-посреднику (системный драйвер СУБД). 4. СУБД обрабатывает запрос. 5. Драйвер переводит полученный от СУБД набор данных в вид, понятный приложению. Контролирует завершение всего процесса, сохранность передаваемой информации. Технология работы с файл-серверной СУБД

  • 36. Набор компонентов BDE в рамках библиотеки VCL – программная прослойка между создаваемым приложением и файл-серверными драйверами. Поддерживается взаимодействие с драйверами для файл-серверных СУБД (dBase, FoxPro, MS Access) и драйверами технологии ODBC. Технология Borland Data Engine

  • 37. Набор данных – набор записей фиксированной структуры, составленных из одинакового набора полей. Реализован в библиотеке VCL в виде базового класса DB.TDataSet. На логическом уровне представляет классическую таблицу базы данных. Физически может быть копией реальной таблицы БД или результатом работы запроса SQL. Технология Borland Data Engine

  • 38. Для доступа к таблице БД применяется компонент TTable, наследник класса TBDEDataSet. Технология Borland Data Engine

  • 39. Организация взаимодействия с файл-серверной БД осуществляется в несколько этапов. 1. Создается БД и таблицы в ней, формируется внутренняя структура таблиц, задаются перекрестные ссылки. 2. БД регистрируется в службе BDE. 3. В проекте создается модуль данных, в который включаются компоненты, ответственные за взаимодействие с СУБД. Технология Borland Data Engine

  • 40. 4. Организуется доступ к полям таблиц в программном коде приложения. 5. На форму добавляются компоненты, ответственные за визуализацию данных из таблиц базы. 6. Организуется работа с содержимым БД с помощью команд языка C++. Технология Borland Data Engine

  • 41. 1. Создание таблицы БД. File – New – Table. 2. Выбор форматов таблицы. 3. Описание каждого поля таблицы: порядковый номер, имя, тип хранимых в поле данных, длина поля в символах для текстовых данных. 4. Сохранение структуры таблицы. File – Save as. Открытие таблицы: File – Open. Вернуться в режим проектирования: Table – Restructure. Технология создания БД и таблиц

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

  • 43. 7. Технологии создания файл-серверных приложений

  • 44. 1. Формируется пустая заготовка приложения VCL. 2. Создается модуль данных, в котором группируются невизуальные компоненты взаимодействия с СУБД. 3. Организуется доступ к таблице БД. 4. Настраивается список полей таблицы. 5. Действия по абстрагированию пользовательского интерфейса от СУБД. 6. Формируется пользовательский интерфейс. 7. Программируется детальная обработка набора данных. Этапы создания приложения

  • 45. File – New – Other. Выбрать Data Module в категории C++Builder Files. Создание модуля данных

  • 46. 1. Компонент TTable в категории BDE палитры инструментов, щелкнуть на пространстве модуля данных. 2. Для доступа к СУБД необходимо настроить свойство DatabaseName компонента TTable . Выбираем имя СУБД. 3. Нужную таблицу описывает свойство TableName . Заносим в это свойство имя таблицы. 4. Заносим в свойство Active значение True. Таблица станет активной. Доступ к таблице БД

  • 47. Обращаться из программы к базе данных с запросом SQL позволяет компонент TQuery . Запрос получает от СУБД не содержимое реально существующей таблицы, а временный набор записей – результат работы выражения SQL. Свойство SQL компонента TQuery содержит текст команды SQL. Отладка кода SQL выполняется в окне SQL Window. Создание запросов

  • 48. Динамическое поле – поле, точно и однозначно соответствующее в программе физическому полю базы данных. Постоянное поле (псевдополе) – поле, которое может соответствовать физическому полю таблицы БД или существовать виртуально (например, вычисляться на основе сторонних величин). Поля наборов данных

  • 49. Источник данных – компонент системы C++Builder, предназначенный для организации взаимодействия между прикладной программой и конкретной базой данных. Источник данных делает приложение независимым от конкретной СУБД и предоставляет стандартный интерфейс их взаимодействия. Компонент TDataSource из категории палитры инструментов Data Access . Источники данных

  • 50. Используют компоненты из категории палитры инструментов Data Controls . Если в проекте создан отдельный модуль данных, в котором хранятся компоненты TTable , TDataSource и другие, то его сначала надо сделать доступным в модуле формы. File – Use Unit – выбрать модуль данных проекта в открывшемся диалоговом окне. Создание пользовательского интерфейса

  • 51. Пользовательская таблица данных – компонент TDBGrid . В его свойстве DataSource указывается ссылка на источник данных TDataSource . Отображение содержимого исходной таблицы БД в компоненте TDBGrid происходит автоматически на этапе проектирования. Создание пользовательского интерфейса

  • 52. Для обработки объемных таблиц используют элемент TDBNavigator . Он связывается с источником данных через свойство DataSource , а синхронизация его работы с таблицей TDBGrid выполняется автоматически. Навигатор отображает на форме кнопки перемещения и редактирования . Логические значение отображают с помощью компонента-флажка TDBCheckBox , двоичные данные – поле TDBMemo или компонента TDBImage . Создание пользовательского интерфейса

http://www.slideshare.net/esperu/5-c-builder
Download 58 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling