Головна

Приклад розробки бази даних.

  1.  BDECiientDataSet - клієнтський набір даних.
  2.  ER-модель бази даних. Основні нотації зображення ER-моделі.
  3.  III. Приклади фізіологічного будови тварин
  4.  Nbsp; Приклад 7.3 / Змінивши умови прикладу 7.1: відсотки нараховуються 3 рази в рік за ставкою 15% річних і платежі по ренті осуществляются 3 рази в рік.
  5.  UML. Концептуальний рівень. Діаграма класів і правила її побудови. Приклад.
  6.  VII. Тематика випускних кваліфікаційних робіт з дисципліни. (Орієнтовна тематика).
  7.  VII. Тематика випускних кваліфікаційних робіт з дисципліни. (Орієнтовна тематика).

Як приклад розглядається послідовність дій для створення та обробки бази даних «Навчальний процес». Створимо базу даних, яка буде складатися з трьох таблиць: предмети (вихідна таблиця), викладачі (вихідна), навчальний план (підпорядкована таблиця). Так як підпорядкована таблиця буде містити відомості з вихідних таблиць, то спочатку створюються вихідні таблиці, потім підпорядкована таблиця.

Після відкриття програми на екрані з'явиться діалог створення нової БД. Спочатку необхідно вибрати «Нова база банних», потім в рядку "Ім'я файлу" ввести ім'я відповідно до завдання і натиснути кнопку «Створити».

Створення таблиці Предмети в режимі Конструктора: для переходу в режим Конструктора виконайте Вид - Конструктор, а потім введіть ім'я таблиці. Режим Конструктора таблиці представлений на рис.3. Необхідно заповнити імена полів, типи даних і визначити ключове поле.

Після заповнення таблиці в режимі Конструктора необхідно її наповнити даними, для цього виконайте Вид - Режим таблиці. Заповнена таблиця представлена ??на рис.4. Якщо для поля код предмета був обраний тип даних - лічильник, То заповнювати його не потрібно (лічильник заповнюється автоматично). Після заповнення таблиці даними закрийте її.

1.3.3 Компоненти доступу до даних

Для доступу до даних, представленим за допомогою різних компонент будь то BDE-орієнтовані джерела (наприклад, Table), або ADO, IB Express, або dbExpress, використовується один і той же набір компонентів, розташованих на закладці Data Access:

- DataSource - джерело даних;

- ClientDataSet - клієнтський набір даних;

- DataSetProvider - провайдер набору даних;

- XMLTransform - перетворювач даних, представлених у вигляді XML в звичайний пакет даних і назад;

-XMLTransformProvider - Провайдер даних для XML-документів, який здійснює так само їх оновлення;

- XMLTransformClient - адаптер між XML-документом і провайдером.

З цього списку нам цікаво тільки перші 3 компонента, а саме DataSource, ClientDataSet і DataSetProvider. Використовуючи набір з цих компонент, можна забезпечити доступ до даних. Причому в разі, коли мова йде про BDE і таблицях Paradox, як правило, досить використовувати лише один з перерахованих компонентів - DataSource. Цей компонент має всього 4 власних властивості - AutoEdit, DataSet, Enabled і State. Властивість Enabled схоже на властивість Active таблиці або Connected у бази даних, т. Е. Робить активним або неактивним з'єднання. А властивість AutoEdit, будучи включеним, забезпечує можливість редагування записів без написання будь-якого додаткового коду. Властивість State інформує про те, в якому стані в поточний момент знаходиться джерело даних. Ну а найважливіше властивість цього компонента - це, звичайно ж, DataSet, яке і визначає джерело даних - таблицю, запит і т. Д.

Решта ClientDataSet і DataSetProvider можуть знадобитися в тому випадку, якщо потрібно забезпечити кешування записів, наприклад, для того, щоб представити у вигляді таблиці джерело даних типу dbExpress.

1.3.4 Відображення даних

Користувач може працювати з базою даних в режимі таблиці або в режимі форми. У режимі таблиці інформація відображається у вигляді таблиці, що дозволяє бачити одночасно кілька записів. Цей режим звичайно використовується для перегляду інформації. У режимі форми відображається один запис. Зазвичай даний режим використовується для введення і редагування інформації.

Відображення даних у табличній формі забезпечує компонент DBGrid (рисунок 1.1). Властивості компонента (таблиця 1.1) визначають вид таблиці і дії, які можуть бути виконані над даними під час роботи програми.

Малюнок 1.1 Значок компонента DBGrid

Таблиця 1.1 Властивості компонента DBGrid

 властивість  Опісной
 DataSourse  Посилання на джерело даних (наприклад, ADODataSet)
 Columns  Інформація, що відображається (стовпці)
 BorderStyle  Вид кордону навколо компонента
 Options.dgEditing  Вирішує (True) зміна, додавання і видалення даних. Щоб активізувати режим редагування запису, треба натиснути ; щоб додати запис - ; щоб видалити запис - + або , якщо значення властивості Options.dgConfirmDelete одно False
 Options.dgConfirmDelete  Необхідність підтвердження видалення запису. Якщо значення властивості рівне True, то щоб видалити запис, користувач повинен натиснути + і підтвердити виконання операції видалення клацанням на кнопці ОК у вікні Confirm. Якщо значення властивості рівне False, то поточна запис буде видалена в результаті натискання
 Options.dgTitles  Дозволяє висновок рядка заголовка стовпців
 Options.dgIndicator  Вирішує (True) відображення колонки індикатора. Під час роботи з базою даних поточний запис позначається в колонці індикатора трикутником, новий запис - зірочкою, редактіруемая- спеціальним значком
 Options.dgColumnResize  Вирішує (True) міняти під час роботи програми ширину колонок таблиці
 Options.dgColLines  Вирішує (True) виводити лінії, що розділяють колонки таблиці
 Options.dgRowLines  Вирішує (True) виводити лінії, що розділяють рядки таблиці

Властивість Columns компонента DBGrid є колекцією (масив) об'єктів типу TColumn. Властивості об'єкта TColumn (таблиця 1.2) визначають інформацію, яка відображається в стовпці.

Таблиця 1.2 - Властивості об'єкта TColumn

 властивість  Опісной
 FieldName  Поле, вміст якого відображається в стовпці
 Width  Ширина стовпчика в пікселах
 Font  Шрифт, використовуваний для відображення тексту в осередках таблиці
 Color  Колір фону
 Alignment  Спосіб вирівнювання тексту в осередках колонки.
 Title.Caption  Тема колонки. За замовчуванням в заголовку відображається ім'я поля
 Title.Alignment  Спосіб вирівнювання заголовка
 Title.Color  Колір фону заголовка колонки
 Title.Font  Шрифт заголовка колонки

Налаштування компонента DBGrid виконується наступним чином. Спочатку в колекцію Columns треба додати стільки елементів, скільки стовпців даних необхідно відобразити в поле компонента DBGrid. Для цього слід розкрити вікно редактора колекції - клацнути на кнопці з трьома крапками, яка знаходиться в полі значення властивості Columns, або з контекстного меню, яке з'являється в результаті клацання правою кнопкою миші в полі компонента, вибрати команду Columns Editor. У вікні редактора колекції треба зробити клацання на кнопці Add New. В результаті в колекцію Columns буде додано новий елемент - об'єкт Columns. Додавши потрібну кількість елементів в колекцію Columns, можна приступити до їх налаштування. У найпростішому випадку для кожної колонки досить встановити значення властивостей FieldName і Title.Caption. в таблиці 1.3 наведені значення властивостей компонента DBGrid1.

Таблиця 1.3 - Значення властивостей компонента DBGrid1.

 властивість  значення
 Font.Name  Tahoma
 Font.Size
 Columns [0]. FieldName  Name
 Columns [0]. TitleCaption  ім'я
 Columns [0]. Title.Width
 Columns [0]. Title.Font.Style  fsBold
 Columns [1]. FieldName  Phone
 Columns [1]. TitleCaption  Телефон
 Columns [1]. Width
 Columns [1] .Title.Font.Style  fsBold

Спостерігає, що потрібно зробити - створити процедури обробки подій Activate і Close форми. Процедура обробки події Activate повинна відкрити базу даних, події Close - зберегти останні зміни, зроблені користувачем. Тут потрібно звернути увагу, що зміни, зроблені користувачем, автоматично фіксуються в базі даних (у файлі) в момент переходу до наступного запису. Однак якщо користувач, не завершивши введення даних, закриє вікно програми, дані останнього редагованої записі не будуть записані в файл. Тому, перед тим як завершити роботу програми, треба перевірити, чи не редагує користувач запис, і якщо редагує (в цьому випадку значення властивості EditorMode компонента DBGrid одно True), то зберегти редаговану запис в базі даних.

1.3.5 Навігаційний спосіб доступу до даних

Навігаційний спосіб доступу полягає в обробці кожного окремого запису набору даних. Цей спосіб зазвичай використовується в локальних БД або в віддалених БД невеликого розміру. При навігаційному способі доступу кожен набір даних має невидимий покажчик поточного запису. Покажчик визначає запис, з якої можуть виконуватися такі операції, як редагування або видалення. Поля поточної записи доступні для перегляду. Наприклад, компоненти DBEdit і DBText відображають вміст відповідних полів саме поточного запису. Компонент DBGrid вказує поточну запис за допомогою спеціального маркера.

В додатку, що розробляється навігаційний спосіб доступу до даних можна реалізувати, використовуючи будь-який з компонентів таblе або Query.

Реляційний спосіб доступу заснований на обробці групи записів. Якщо потрібно обробити одну запис, все одно обробляється група, що складається з одного запису. При реляционном способі доступу використовуються SQL-запити, тому його називають також SQL-орієнтованим. Реляційний спосіб доступу орієнтований на роботу з віддаленими БД і є для них найкращим. Однак його можна використовувати і для локальних БД. Реляційний спосіб доступу до даних в додатку можна реалізувати за допомогою компонента Query.

У формі програми відображається одна запис бази даних (цей запис називається поточної). Компонент DBNavigator, його властивості приведені в табл. 6.14, забезпечує переміщення покажчика поточного запису до наступної, попередньої, першої або останньої записи, а також виконання інших операцій в результаті клацання на відповідній кнопці (табл. 6.15). Слід звернути увагу на властивість VisibleButtons. Воно дозволяє приховати деякі кнопки компонента DBNavigator і тим самим заборонити виконання відповідних операцій над файлом даних. Наприклад, присвоївши значення False властивості VisibleButtons.nbDelete, можна приховати кнопку nbDelete і тим самим заборонити видалення записів. Значення властивостей компонента DBNavigator1 наведені в таблиці 1.4.

Таблиця 1.4 - Властивості компонента DBNavigator

 властивість  визначає
 DataSource  Джерело даних. Як джерело даних може виступати, наприклад, компонент ADODataSet, ADOTable або ADOQuery
 VisibleButtons  Кнопки, які відображаються в поле компонента. Приховавши деякі кнопки, можна заборонити виконання відповідних дій.

Таблиця 1.5 - Кнопки компонента DBNavigator

 кнопка  позначення  Дія
 До першої  nbFirst  Покажчик поточного запису переміщається до першого запису файлу даних
 До попередньої  nbPrior  Покажчик поточного запису переміщається до попереднього запису файлу даних
 До наступної  nbNext  Покажчик поточного запису переміщається до наступного запису файлу даних
 До останньої  nbLast  Покажчик поточного запису переміщається до останнього запису файлу даних
 Додати  nbInsert  У файл додається новий запис
 видалити  nbDelete  Видаляється поточний запис файлу даних
 редагування  nbEdit  Встановлює режим редагування поточного запису
 зберегти  nbPost  Зміни, внесені до поточного запису, записуються в файл даних
 Скасувати  Cancel  Скасовує внесені до поточного запису зміни
 оновити  nbRefresh  Записує внесені зміни в файл

1.3.6 Вибір інформації з бази даних

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

Більшість систем управління базами даних дозволяють зробити вибірку потрібної інформації шляхом виконання запитів. Користувач відповідно до певних правил формулює запит, вказуючи, якими критеріями повинна задовольняти його цікавить інформація, а система виводить записи, що задовольняють запиту.

Для вибірки з бази даних записів, що задовольняють деякому критерію, призначений компонент Query.

Для того щоб під час розробки програми задати, яка інформація буде виділена з бази даних в результаті виконання запиту, властивість SQL має містити представлений на мові SQL запит на вибірку даних.

У загальному вигляді запит на вибірку з таблиці даних виглядає так:

SELECT Список-Полів FROM Таблиця WHERE (Критерій) ORDER BY Список Полів, де:

- SELECT - команда вибору записів з таблиці і виведення вмісту полів, імена яких вказані в списку;

- FROM - параметр команди, який визначає ім'я таблиці, з якої потрібно зробити вибірку;

- WHERE - параметр, який задає критерій вибору. У найпростішому випадку критерій - це інструкція перевірки вмісту поля;

- ORDER BY - параметр, який задає умову, відповідно до якого будуть впорядковані записи, що задовольняють критерію запиту.

Часто потрібна інформація вже є в завантаженої таблиці. У цьому випадку, для того щоб її знайти (приховати непотрібну в даний момент інформацію), слід скористатися механізмом фільтрації записів.

Фільтр - це умова відбору записів. Можливістю фільтрації мають компоненти ADODataset, ADOQuery і ADOTable. Для того щоб фільтрація була виконана, в властивість Filter треба записати умова відбору записів і активізувати процес фільтрації - привласнити значення True властивості Filtered (щоб скасувати дію фільтра, властивості Filtered треба привласнити значення False). Слід звернути увагу, що фільтр впливає на набір даних, сформований в результаті виконання команди SELECT. Принципова відмінність механізму фільтрації від вибірки записів командою SELECT полягає в тому, що фільтр впливає на записи, завантажені з бази даних, і приховує записи, що не відповідають критерію запиту, в той час як команда SELECT завантажує з бази даних записи, що задовольняють критерію запиту.

Як приклад використання фільтра в лістингу 6.4 наведені процедури обробки подій Click для кнопок Знайти і Всі записи програми роботи з базою даних Нотатки.

Обробка події Click (використання фільтра):

// Клацання на кнопці Знайти

Procedure TForm1.Button1Click (Sender: TObject);

begin

Form2.ShowModal; // Form2- форма Запит (див. Модуль FindForm.pas)

if Form2.ModalResult = mrOk then

// Користувач ввів критерій запиту

// І натиснув кнопку ОК

Begin

// фільтр

ADODataSet1.Filtered: = False;

ADODataSet1.Filtered: = 'name Like' '%' +

Form2.Edit1.Text + '%' '';

ADODataSet1.Filtered: = True;

 Перевірка інформації експерта і гіпотези про характерності |  if ADODataSEt1.RecordCount <0 then

© 2016-2022  um.co.ua - учбові матеріали та реферати