Розробка програмного забезпечення з автоматизації навчального процесу в коледжі

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Федеральне агентство з освіти
федеральне Державне освітній заклад
середньої професійної освіти
Бєжецький промислово-економічний коледж

Завдання на дипломне проектування

за спеціальністю: «Програмне забезпечення обчислювальної техніки і автоматизованих систем»

Студента групи: П - 411________________________

П.І.Б.

Тема роботи: _ _ Розробка програмного забезпечення з автоматизації навчального процесу в коледжі _

Дата видачі завдання: «» 2008р.
Термін виконання: «» 2008р.
Завдання склав викладач: ___________
Розглянуто та схвалено
на засіданні методичної комісії
«Математика, інформатика
і обчислювальна техніка »
Протокол № ___ від «___» __________ 2008р.
Голова комісії: _________ І.А. Кувіна
2008

1. ТЕОРЕТИЧНА ЧАСТИНА.
1.1. Аналіз вимог, що пред'являються до організації навчального процесу в ссузів, і способів вирішення поставленого завдання.
1.2. Обгрунтування і теоретичний аналіз обраного способу вирішення завдання. Опис предметної області та моделі досліджуваного об'єкта.
1.3. Опис процесу розробки програмного забезпечення з автоматизації навчального процесу в коледжі і готового програмного продукту.
1.4. Опис результатів дослідження створеного програмного забезпечення з автоматизації навчального процесу в коледжі.
1.5. Складання програмної та експлуатаційної документації. Опис і оцінка отриманих результатів.
2. ПРАКТИЧНА ЧАСТИНА.
2.1. Розробка програмного забезпечення для організації навчального процесу в коледжі, в якому необхідно:
- Спроектувати логічну модель бази даних
- Спроектувати фізичну модель бази даних
- Організувати введення оцінки за кожен місяць по кожній спеціальності, групі, студенту, предмету
- Передбачити можливість коригування даних
- Організувати можливість підведення підсумків успішності по кожній групі, спеціальності і в цілому по коледжу (процентний вміст успішності та якісної успішності)
- Передбачити можливість порівняння підсумкових даних з підсумками попереднього місяця
- Забезпечити формування списків невстигаючих і успішних на оцінку «відмінно»
- Забезпечити формування звіту (див додаток)

ЗМІСТ
Введення
1 Постановка завдання
2 Опис предметної області
2.1 Робота з базами даних в Delphi
2.2 Компоненти доступу до даних у середовищі Delphi
2.3 Компоненти для роботи з даними
2.4 Способи доступу до даних
2.5 Мова запитів SQL
3 База даних в Microsoft Access
3.1 Етапи проектування баз даних
4 Етапи розробка програмного продукту
5 Опис результатів досліджень
6 Програмна та експлуатаційна документація
Висновок
Cписок використаної літератури

ВСТУП
В даний час обробка та зберігання інформації не є суто умоглядною завданням. Втрата інформації або її несвоєчасне одержання можуть обернутися втратою грошей. Саме цією обставиною можна пояснити настільки бурхливе зростання комп'ютерної техніки та стрімкий розвиток електронних таблиць і систем управління базами даних (СКБД) у нашій країні і за кордоном. Для оперативного, гнучкого та ефективного управління підприємствами, фірмами та організаціями різних форм власності, телекомунікаційними засобами цивільного і військового призначення, інформаційно - обчислювальними, екологічними, радіолокаційними системами широко впроваджуються системи автоматизованого управління, ядром яких є бази даних (БД). При великому обсязі інформації та складності, вироблених з нею операцій проблема ефективності засобів організації зберігання, доступу та обробки даних придбає особливе значення. Враховуючи важливість і значимість баз даних в сучасному житті, дуже серйозні вимоги пред'являються до кваліфікації фахівців, що створюють додатки на їх основі.
Додаток баз даних, як випливає вже з його назви, призначений для взаємодії з деяким джерелом даних - базою даних (БД). Взаємодія має на увазі отримання даних, їх подання в певному форматі для перегляду користувачем, редагування відповідно до реалізованими в програмі бізнес-алгоритмами й повернення оброблених даних назад у базу даних. Як джерело даних можуть виступати як власне бази даних, так і звичайні файли - текстові, електронні таблиці і т. д. Бази даних обслуговуються спеціальними програмами - системами управління базами даних (СКБД), які діляться на локальні, переважно однокористувацькі, призначені для настільних додатків, і серверні - мережеві (часто віддалені), розраховані на багато користувачів, що функціонують на виділених комп'ютерах - серверах. Механізм внутрішнього подання даних є ядром програми баз даних. Він забезпечує зберігання отриманих даних у додатку, які надає їх за запитом інших частин програми. Користувальницький інтерфейс забезпечує перегляд та редагування даних, а також управління даними та додатком у цілому. Бізнес-логіка програми представляє собою набір реалізованих у програмі алгоритмів обробки даних. Між додатком і власне базою даних знаходиться спеціальне програмне забезпечення (ПЗ), що зв'язує програму і джерело даних і управляє процесом обміну даними. Це ПО може бути реалізовано найрізноманітнішими способами, в залежності від обсягу бази даних, які вирішуються системою завдань, числа користувачів, способами з'єднання програми та бази даних.

1 ПОСТАНОВКА ЗАВДАННЯ
Програма «Облік успішності» призначена для полегшення роботи з обліку успішності студентів, яка на даний момент ведеться вручну. Дана програма має здійснювати контроль за оцінками. Підводити підсумки, порівнювати показники, виводити підсумки в електронну таблицю Excel. Програма повинна дозволяти коригування введених даних.
Коледжу для роботи з програмою необхідно ввести студентів з наявних табелів і коректувати дані для правильного висновку звіту. Програма повинна бути простою і зрозумілою для користувача в експлуатації і обслуговуванні.

2 ОПИС ПРЕДМЕТНОЇ ОБЛАСТІ
Дана програма необхідна для коледжу, оскільки з її допомогою можна стежити за успішністю студентів. дана програма буде написана на мові програмування Delphi, з використанням бази даних, створених а MS ACSESS.
Мова програмування Delphi - це комбінація кількох найважливіших технологій:
- Високопродуктивний компілятор в машинний код;
- Об'єктно-орієнтована модель компонент;
- Візуальне (а, отже, і швидкісне) побудова додатків з програмних прототипів;
-Масштабовані кошти для побудови баз даних. [2]
Компілятор, вбудований в Delphi, забезпечує високу продуктивність, необхідну для побудови додатків в архітектурі "клієнт-сервер". Він пропонує легкість розробки і швидкий час перевірки готового програмного блоку, характерного для мов четвертого покоління (4GL) і в той же час забезпечує якість коду, характерного для компілятора 3GL. Крім того, Delphi забезпечує швидку розробку без необхідності писати вставки на С або ручного написання коду (хоча це можливо).
У процесі побудови програми розробник вибирає з палітри компонент готові компоненти як художник, що робить великі мазки пензлем. Ще до компіляції він бачить результати своєї роботи - після підключення до джерела даних їх можна бачити відображеними на формі, можна переміщатися за даними, представляти їх у тому чи іншому вигляді. У цьому сенсі проектування в Delphi мало чим відрізняється від проектування в интерпретирующей середовищі, проте після виконання компіляції ми отримуємо код, який виконується в 10-20 разів швидше, ніж те ж саме, зроблене за допомогою інтерпретатора. У Delphi компіляція проводиться безпосередньо у рідній машинний код, в той час як існують компілятори, що перетворюють програму у так званий p-код, який потім інтерпретується віртуальною p-машиною. Це не може не позначитися на фактичному швидкодії готового додатку. [2]
Основний акцент у моделі Delphi робиться на максимальному реіспользованіі коду. Це дозволяє розробникам будувати програми досить швидко з заздалегідь підготовлених об'єктів, а також дає їм можливість створювати свої власні об'єкти для середовища Delphi. Ніяких обмежень по типах об'єктів, які можуть створювати розробники, не існує. Все в Delphi написано на ньому ж, тому розробники мають доступ до тих же об'єктів та інструментів, які використовувалися для створення середовища розробки. У результаті немає ніякої різниці між об'єктами, що поставляються Borland або третіми фірмами, і об'єктами, які можна створити.
У стандартну поставку Delphi входять основні об'єкти, які утворюють вдало підібрану ієрархію з 270 базових класів. Але якщо виникне необхідність у вирішенні якоїсь специфічної проблеми на Delphi, варто переглянути список вільно розповсюджуваних або комерційних компонент, розроблених третіми фірмами, кількість цих фірм в даний час перевищує число 250. Багато в чому це пояснюється тим, що традиційно в середовищі Windows було досить складно реалізовувати користувальницький інтерфейс. Подієва модель в Windows завжди була складна для розуміння і налагодження. Але саме розробка інтерфейсу в Delphi є найпростішим завданням для програміста.
Середовище Delphi включає в себе повний набір візуальних інструментів для швидкісної розробки додатків (RAD - rapid application development), що підтримує розробку користувальницького інтерфейсу і підключення до корпоративних баз даних. VCL - бібліотека візуальних компонент, включає в себе стандартні об'єкти побудови користувальницького інтерфейсу, об'єкти управління даними, графічні об'єкти, об'єкти мультимедіа, діалоги та об'єкти управління файлами, управління DDE і OLE. Єдине, що можна поставити в провину Delphi, це те, що готових компонент, що поставляються Borland, могло б бути і більше. Однак, розробки інших фірм, а також вільно поширювані програмістами freeware-компоненти вже заповнили цей недолік. [2]
Відповідний стандарт компонент називався VBX. І цей стандарт так само підтримується в Delphi. Однак, візуальні компоненти в Delphi мають більшу гнучкість.
У Delphi візуальні компоненти пишуться на об'єктному паскалі, на тому ж паскалі, на якому пишеться алгоритмічна частина програми. І візуальні компоненти Delphi виходять відкритими для надбудови і переписування.
Об'єкти БД в Delphi засновані на SQL і включають в себе повну міць Borland Database Engine. До складу Delphi також включено Borland SQL Link, тому доступ до СУБД Oracle, Sybase, Informix і InterBase відбувається з високою ефективністю.
Крім того, Delphi включає в себе локальний сервер Interbase для того, щоб можна було розробити розгортаються на будь-які зовнішні SQL-сервера програми в офлайновом режимі. Розробник в середовищі Delphi, який проектує інформаційну систему для локальної машини (наприклад, невелику систему обліку медичних карток для одного комп'ютера), може використовувати для зберігання інформації файли формату. Dbf (як в dBase або Clipper) або. Db (Paradox). Якщо ж він буде використовувати локальний InterBase for Windows 4.0 (це локальний SQL-сервер, що входить в постачання), то його застосування без жодних змін буде працювати і в складі великої системи з архітектурою клієнт-сервер.
Одне і те ж додаток можна використовувати як для локального, так і для більш серйозного клієнт-серверного варіантів. [10]
Випущено дві версії Delphi - одна (Delphi Client-Server) адресована для розробників додатків в архітектурі "клієнт-сервер", а інша (Delphi for Windows) призначена для решти програмістів. Програми, розроблені за допомогою Delphi, можна використовувати без виплати royalty-відсотків і без оплати runtime-ліцензій.
Вона адресована корпоративним розробникам, які бажають розробляти високопродуктивні програми для робочих груп і корпоративного застосування.
Клієнт-серверна версія включає в себе такі особливості:
- SQL Links: спеціально написані драйвери для доступу до Oracle, Sybase, Informix, InterBase;
- Локальний сервер InterBase: SQL-сервер для Windows. СУБД для розробки в корпоративних додатків на комп'ютері, не підключеному до локальної мережі;
- ReportSmith Client / server Edition: генератор звітів для SQL-серверів;
- Team Development Support: надає версионном контроль за допомогою PVCS компанії Intersolve (купується окремо) або за допомогою інших програмних продуктів версійного контролю;
- Visual Query Builder - це засіб візуального побудови SQL-запитів;
- Ліцензія на право розповсюдження додатків в архітектурі клієнт-сервер, виготовлених за допомогою Delphi;
- Вихідні тексти всіх візуальних компонентів.
Delphi for Windows представляє з себе підмножина Delphi Client-Server і призначений для розробників високопродуктивних персональних додатків, що працюють з локальними СУБД типу dBase і Paradox.Delphi Desktop Edition пропонує таку ж середовище для швидкої розробки і першокласний компілятор як і клієнт-серверна версія (Client / Server Edition). Це середовище дозволяє розробнику швидко виготовляти персональні програми, що працюють з персональними СУБД типу dBase і Paradox. Delphi дозволяє також створювати розробнику DLL, яка може бути викликана з Paradox, dBase, C + + або яких-небудь інших готових програм:
- Компілятор Object Pascal (ця мова є розширенням мови Borland Pascal 7.0);
- Генератор звітів ReportSmith 2.5;
- Середовище візуального будівника додатків;
- Бібліотека візуальних компонент;
- Локальний сервер InterBase.
У продукт, випущений компанією Borland для Delphi в RAD Pack for Delphi входить набір корисних додатків, які допоможуть розробнику при освоєнні і використанні Delphi. Це підручник з Об'єктний Паскаль, інтерактивний відладчик самої останньої версії, Borland Visual Solutions Pack (набір VBX для реалізації редакторів, електронних таблиць, комунікаційні VBX, VBX з діловою графікою і т.п.), Resource WorkShop для роботи з ресурсами Borland Pascal 7.0, а також експерт для перетворення ресурсів BP 7.0 у форми Delphi.
У першу чергу Delphi призначений для професіоналів-розробників корпоративних інформаційних систем. Деякі продукти, призначені для швидкісної розробки додатків (RAD - rapid application development) чудово працюють при виготовленні досить простих додатків, однак, розробник стикається з непередбаченими труднощами, коли намагається зробити щось дійсно складне. [10]
Delphi призначений не тільки для програмістів-професіоналів. Керівники підприємств, які планують виділення коштів на придбання програмних продуктів, повинні бути впевнені в тому, що плановані інвестиції окупляться. Програміст на паскалі здатний практично відразу професійно освоїти Delphi. Фахівцеві, раніше використовував інші програмні продукти, доведеться важче, проте найперше працює додаток він зможе написати впродовж першого ж години роботи на Delphi. Відкрита технологія Delphi є потужним гарантом того, що інвестиції, зроблені в Delphi, будуть збережені протягом багатьох років. [3]
Локальний сервер InterBase - це інструмент призначений тільки для автономного налагодження додатків. Насправді він представляє з себе скорочений варіант обробника SQL-запитів InterBase, в який не включені деякі можливості справжнього сервера InterBase. Відсутність цих можливостей з лишком компенсується перевагою автономного налагодження програм.
Team Development Support - засіб підтримки розробки проекту в групі. Дозволяє істотно полегшити управління великими проектами. Це зроблено у вигляді можливості підключення такого продукту як Intersolve PVCS 5.1 безпосередньо до середовища Delphi.
Високопродуктивний компілятор в машинний код - на відміну від більшості Паскаль - компіляторів, транслюють у p-код, в Delphi програмний текст компілюється безпосередньо в машинний код, в результаті чого Delphi-додатки виконуються в 10-20 разів швидше (особливо додатки, що використовують математичні функції ). Готове додаток може бути виготовлено або у вигляді виконуваного модуля, або у вигляді динамічної бібліотеки, яку можна використовувати у програмах, написаних на інших мовах програмування.
Завдяки такій архітектурі програми, виготовлені за допомогою Delphi, працюють надійно і стійко. Delphi підтримує використання вже існуючих об'єктів, включаючи DLL, написані на С і С + +, OLE сервера, VBX, об'єкти, створені за допомогою Delphi. Delphi має повністю об'єктну орієнтацію, розробники можуть створювати свої повторно використовувані об'єкти для того, щоб зменшити витрати на розробку.
Delphi пропонує розробникам - як у складі команди, так і індивідуальним - відкриту архітектуру, що дозволяє додавати компоненти, де б вони не були виготовлені, і оперувати цими нововведеними компонентами у візуальному побудувачеві. Розробники можуть додавати CASE-інструменти, кодові генератори, а також авторські help'и, доступні через меню Delphi.
Two-way tools - однозначна відповідність між візуальним проектуванням і класичним написанням тексту програми. Це означає, що розробник завжди може бачити код, відповідний тому, що він побудував за допомогою візуальних інструментів і навпаки.
Візуальний будівник інтерфейсів (Visual User-interface builder) дає можливість швидко створювати клієнт-серверні додатки візуально, просто вибираючи компоненти з відповідної палітри.
Бібліотека об'єктів включає в себе стандартні об'єкти побудови користувальницького інтерфейсу, об'єкти управління даними, графічні об'єкти, об'єкти мультимедіа, діалоги та об'єкти управління файлами, управління DDE і OLE.
Delphi використовує структурний об'єктно-орієнтована мова (Object Pascal), який поєднує з виразну потужність і простоту програмування, характерну для мов 4GL, і ефективність мови 3GL. Програмісти негайно можуть почати виробляти працюючі додатки, і їм не доведеться для цього вивчати особливості програмування подій в Windows. Delphi повністю підтримує передові програмні концепції включаючи інкапсуляцію, успадкування, поліморфізм і керування подіями. [3]
Це дуже важлива особливість для розробників в середовищі Windows, оскільки у вже існуючі Windows-програми програміст може інтегрувати те, що розробить за допомогою Delphi. [2]

2.1 Робота з базами даних в Delphi
Загальна характеристика технології ADO
У Delphi є ряд компонентів, які призначені тільки для роботи з MS Access, ці компоненти знаходяться в ADO. Щоб обробляти деяку структуру даних для неї повинна бути написана програма, постачальник цих даних відповідно до системними вимогами, така програма називається OLE DB Provider. Такі постачальники сьогодні реалізовані для різних структур даних і різних СУБД. За допомогою технології OLE DB можна однотипним чином обробляти складну та специфічну інформацію. Однак робота з OLE DB досить складна, тому фірма Microsoft розробила нову технологію ADO, що представляє собою набір простих компонентів. Якщо планується створити новий додаток, орієнтовану на роботу з даними і незалежна не від конкретної СУБД і не від способу зберігання інформації, то краще використовувати технологію ADO. [5]
Технологія Microsoft ActiveX Data Objects (ADO) забезпечує універсальний доступ до джерел даних з додатків БД. Таку можливість надають функції набору інтерфейсів, створені на основі загальної моделі об'єктів СОМ і описані в специфікації OLE DB.
Технологія ADO і інтерфейси OLE DB забезпечують для додатків єдиний спосіб доступу до джерел даних різних типів (Мал. 1). Наприклад, додаток, що використовує ADO, може застосовувати однаково складні операції і до даних, що зберігаються на корпоративному сервері SQL, і до електронних таблиць, і локальним СУБД. Запит SQL, спрямований будь-якого джерела даних через ADO, буде виконаний. [5]
За сервери БД турбуватися не варто, обробка запитів SQL - це їх основна обов'язком. OLE DB являє собою набір спеціалізованих об'єктів СОМ, стандартні функції обробки даних, і спеціалізовані функції конкретних джерел даних і інтерфейсів, що забезпечують передачу даних між об'єктами.
Відповідно до термінології ADO, будь-яке джерело даних (база даних, електронна таблиця, файл) називається сховищем даних, з яким за допомогою провайдера даних взаємодіє додаток. Мінімальний набір компонентів додатка може включати об'єкт з'єднання, об'єкт набору даних, об'єкт процесора запитів. Технологія ADO в цілому включає в себе не тільки самі об'єкти OLE DB, а й механізми, що забезпечують взаємодію об'єктів з даними і додатками. На цьому рівні найважливішу роль відіграють провайдери ADO, координують роботу додатків з сховищами даних різних типів.
Провайдери ADO забезпечують з'єднання програми, що використовує дані через ADO, з джерелом даних (сервером SQL, локальної СУБД і файлової системою. Для кожного типу сховища даних повинен існувати провайдер ADO.
Провайдер «знає» про місцезнаходження сховища даних та її зміст, вміє звертатися до даних із запитами та інтерпретувати повертається службову інформацію та результати запитів з метою їх передачі з додатком. [5]
Механізм доступу до даних через ADO і численні об'єкти, і інтерфейси реалізовані в VCL Delphi у вигляді набору компонентів, розташованих на сторінці ADO. Всі необхідні інтерфейси, що забезпечують роботу компонентів, оголошені і описані у файлах OleDB.pas і ADODB.pas.
Така архітектура дозволяє зробити набір об'єктів і інтерфейсів відкритим і розширюваним. Набір об'єктів і відповідний провайдер може бути створений для будь-якого сховища даних без внесення змін у вихідну структуру ADO.
Оскільки технологія ADO заснована на стандартних інтерфейсах СОМ, які є системним механізмом Windows, це скорочує загальний обсяг працюючого програмного коду і дозволяє передавати програми БД без допоміжних програм і бібліотек.
Компоненти ADO.
На закладці ADO розташовані компоненти:
а) Компоненти з'єднання:
- ADOConnection;
- ADOCommand;
b) Стандартні компоненти:
- ADODataSet - універсальний набір даних;
- ADOTable - таблиця БД;
- ADOQuery - запит SQL;
- ADOStoredProc - збережена процедура.
На сторінці ADO Палітри компонентів Delphi, окрім компонентів сполуки є стандартні компоненти, що позначають набір даних та адаптовані для роботи з сховищем даних ADO.
Компонент ADOConnection увібрав можливості перечіслітеля, джерела даних та сесії з можливостями обслуговування транзакцій. Текстові команди ADO реалізовані в компоненті ADOCommand. Набори рядів можна отримати за допомогою компонентів ADOTable, ADOQuery, AOostoredProc.
Кожен з них реалізує спосіб доступу до конкретного типу представлення даних в сховищі. Стосовно компонентів Delphi, сукупність повертаються із сховища даних рядків будемо називати набором записів. Набір властивостей і методів компонентів ADO забезпечує реалізацію всіх необхідних додатком БД функцій. Способи використання компонентів ADO трохи відрізняються від стандартних компонентів VCL доступу до даних. Однак при необхідності розробник може використовувати всі можливості інтерфейсів ADO, звертаючись до них через відповідні об'єкти ADO. Посилання на об'єкти є в компонентах. [10]
Налаштування з'єднання база даних з ADO.
Перед створенням з'єднання необхідно визначити його параметри. Для цього, як вже говорилося, призначено властивість ConnectionString.
Набір параметрів змінюється в залежності від типу використовуваного провайдера і може налаштовуватися як вручну, так і за допомогою редактора. Для того щоб викликати редактор з'єднань, необхідно двічі клацнути на компоненті TADOConnection.
У результаті буде активовано діалогове вікно, показане на рис. 2.
У цьому вікні можна налаштувати з'єднання, використовуючи поле Use Connection String, або завантажити параметри з'єднання з файлу в розділі Use Data Link File. Параметри з'єднання зберігаються у файлах UDL, що представляють собою звичайні текстові файли, що містять установки з'єднання.
Для того щоб настроїти з'єднання зданим провайдером, необхідно натиснути на кнопку Build. З'явиться вікно, в якому буде опубліковано список доступних провайдерів.
На вкладці Provider можна вибрати відповідний провайдер даних OLE DB для конкретного джерела даних. У списку провайдерів також присутні провайдери, призначені для доступу до конкретних службам операційної системи. На вкладці Connection необхідно вказати шлях до бази даних або сервер. Вкладка Advanced призначена для вказівки режиму доступу, аналогічно властивості Mode. Вкладка АН призначена для більш «тонкої» налаштування специфічних властивостей провайдера. Для подальшої роботи потрібно вибрати провайдер Microsoft Jet 4.0 OLE DB Provider. Потім потрібно перейти на вкладку Connection.
У вікні необхідно вказати шлях до бази даних. У полі Select or enter a database name потрібно вказати шлях до демонстраційної базі dbdemos.mdb. Після вказівки шляху до бази даних та завдання решти необхідних параметрів потрібно перевірити створене з'єднання за допомогою кнопки Test Connection. Якщо параметри з'єднання вказані вірно, з'явиться повідомлення Test connection succeeded. Після закриття цього вікна у рядку з'єднання буде відображена інформація, за допомогою якої провайдер зможе отримати доступ до даних.
Компонент TADOQuery TADOQuery дозволяє виконувати SQL-запити при роботі з даними через ADO. З'єднання з сховищем даних здійснюється стандартним методом. Текст запиту міститься у властивості SQL.
Параметри запиту містяться у властивості Parameters. У випадку, якщо компонент повертає набір даних, його слід відкривати методом Open або привласнити властивості Active значення True. Якщо запит не повинен повертати набір даних (оператори INSERT, UPDATE, DELETE і CREATE TABLE), то запит слід виконувати викликом методу ExecSQL. Метод повертає число оброблених запитом записів.
Властивість RowsAffected містить число записів, які зачепила останній виконувався запит.
Компонент TADOTable використовується для доступу до сховищ даних ADO та подання інформації з них в табличному вигляді. Компонент надає прямий доступ до кожного запису і її полях, наслідуючи властивості і методи класу TCustomADODataSet. Компонент зв'язується з базою даних через властивості Connection або ConnectionString.
Ім'я таблиці вказується у властивості TableName. Властивість TableDirect вказує, яким чином набір даних зв'язується з сховищем даних. Так як не всі провайдери підтримують пряме з'єднання з набором даних, то в деяких випадках для зв'язку зі сховищем даних доводиться використовувати SQL-оператори. При установці властивості значення True компонент використовує фонові SQL-запити для доступу до даних.
Використовуючи властивість Readonly, можна встановити обмеження «тільки для читання» на цю таблицю, заборонивши, таким чином, можливість змінювати дані. У властивості MasterSource вказується компонент TDataSource, використовуваний для створення відносини посилальної цілісності Master-Detail.
Метод GetlndexNames повертає список індексів, доступних компоненту як список.
Компонент TDataSource - цей компонент зв'язується з набором даних. Цей зв'язок здійснюється через властивість DataSet, яке містить інформацію про поточний стан набору даних. У цього компонента існує набір властивостей і методів, які полегшують роботу з ним.
Властивість AutoEdit автоматично переводить набір даних в стан редагування, якщо має значення True, коли пов'язаний елемент введення отримує фокус.
Метод Edit переводить зв'язаний набір даних у стан редагування. Метод-обробник OnDataChange викликається при редагуванні даних у зв'язаному візуальному компоненті.
Метод-обробник події OnUpdateData викликається перед тим, як змінені дані будуть збережені в наборі даних. Оброблювач викликається перед виконанням методу Post.
Метод-обробник події OnStateChange викликається, коли змінюється стан пов'язаного набору даних.
Набір даних - масив записів, отриманий додатком за власним запитом, називається набором даних. Набір даних як об'єкт веде свій початок від класу TDataSet і успадковує його властивості. [10]
2.2 Компоненти доступу до даних у середовищі Delphi
Особливості компонентів доступу до даних.
Компоненти доступу до даних є невізуальними компонентами. Таблиці БД розташовуються на диску і є фізичними об'єктами. Для операцій з даними, що містяться в таблицях, використовуються набори даних. У термінах системи Delphi набір даних представляє собою сукупність записів, взятих з однієї або декількох таблиць БД. Записи, що входять в набір даних, відбираються за певними правилами, при цьому в окремих випадках набір даних може включати в себе всі записи з пов'язаної з ним таблиці або не містити жодного запису. Набір даних є логічною таблицею, з якою можна працювати при виконанні програми. Взаємодія таблиці і набору даних нагадує взаємодія фізичного файлу, файлової змінної. [5]
У Delphi для роботи з наборами даних служать компоненти DBTable і ADOTable, DBQuery і ADOQuery, DataAccess, DataControl, DecisionQuery і StoredProc.
Компонент StoredProc використовується для виклику збережених процедур при організації взаємодії з віддаленими БД, а компонент UpDateSQL забезпечує роботу з кешовані змінами в записах. Компонент DecisionQuery застосовується при побудові систем прийняття рішень. Найбільш універсальними і, відповідно, часто використовуваними є компоненти Table і Query, що задають набори даних. [5]
Компонент доступу до даних DataSet.
Базові можливості доступу до БД забезпечує клас DataSet, що представляє набори даних у вигляді сукупності рядків і стовпців (записів і полів). Цей клас надає основні засоби навігації та редагування наборів даних.
Компонент DataSet призначений для представлення набору даних зі сховища даних ADO. Він простий у використанні, маючи лише кілька власних властивостей і методів.
Це єдиний компонент ADO, інкапсулює набір даних, для якого опубліковані властивості, що дозволяють керувати командою ADO. У результаті компонент являє собою гнучкий інструмент, який дозволяє (в залежності від типу команди та її тексту) отримувати дані з таблиць, запитів SQL, збережених процедур, файлів і т. д. [5]
Компоненти доступу до даних Table і Query.
Компоненти Table і Query є похідними від класу ADODataSet нащадка класу DataSet. Вони демонструють схожі з базовими класами характеристики і поведінку, але кожен них має і свої особливості.
Компонент АDOTаblе забезпечує використання в додатках Delphi таблиць БД, підключених через провайдери OLE DB. За своїм функціональним можливостям і застосуванню він подібний до стандартного табличному компоненту. В основі компонента лежить використання команди ADO, але її властивості налаштовані заздалегідь і зміні не підлягають.
Інші властивості і методи компонента забезпечують застосування індексів. Так як не всі провайдери ADO забезпечують пряме використання таблиць БД, то для доступу до них може знадобитися запит SQL.
Компонент Table являє собою набір даних, який в деякий момент часу може бути пов'язаний тільки з однією таблицею БД. Цей набір даних формується на базі навігаційного способу доступу до даних, тому компонент Table рекомендується використовувати для локальних БД, таких як dBase і Paradox. При роботі з віддаленими БД слід використовувати компонент Query. Зв'язок між таблицею і компонентом Table встановлюється через його властивості Table Name, яке задає ім'я таблиці.
При завданні значення властивості Table Name вказується ім'я файлу та розширення ім'я файлу. На етапі розробки програми імена всіх таблиць доступні в спадному списку Інспектора об'єктів. У цей список потрапляють таблиці, файли яких розташовані в каталозі, зазначеному у властивості Table Name.
Компонент ADOQuery забезпечує застосування запитів SQL при роботі з даними через ADO. За своєю функціональністю він подібний до стандартного компоненту запиту.
Компонент Query представляє собою набір даних, записи якого формуються в результаті виконання SQL-запиту і засновані на реляційному способі доступу до даних. При роботі з віддаленими БД рекомендується використовувати набір даних Query. При роботі з віддаленими базами даних слід звертатися до засобів мови SQL. Це відноситься і до таких операцій, як переміщення по набору даних або вставка в нього записів. Якщо ж для компонента Query використовуються методи типу Next і Insert, то замість реляційного способу доступу до даних буде застосовано навігаційний. У результаті набору даних Query буде мало чим відрізнятися від набору даних Table. На відміну від компонента Table. Набір даних Query може включати в себе записи більш ніж однієї таблиці БД. Текст запиту, на підставі якого в набір даних відбираються записи, міститься у властивості SQL типу Strings. Запит включає в себе команди на мові SQL і виконується при відкритті набору даних. Запит SQL іноді називається SQL-програмою. SQL-запит можна формувати і змінювати динамічно, вносячи зміни до його тексту безпосередньо при виконанні програми. [5]
2.3 Компоненти для роботи з даними
Поняття та особливості візуальних компонентів у середовищі Delphi.
Візуальні компоненти для роботи з даними розташовані на сторінці DataControls Палітри компонентів і призначені для побудови інтерфейсної частини програми. Вони використовуються для навігації по набору даних, а також для відображення і редагування записів. Часто ці компоненти називаються елементами, чутливі до даних. [5]
Одні візуальні компоненти для роботи з даними призначені для виконання операцій з полями окремого запису, вони відображають і дозволяють редагувати значення поля поточного запису. До таких компонентів належать, наприклад, однорядковий редактор Edit і графічний огляд Image.
Інші компоненти служать для відображення і редагування відразу декількох записів. Прикладами таких компонентів є сітки DBGrid і DBCtrlGrid, що виводять запису набору даних в табличному вигляді. Візуальні компоненти для роботи з даними схожі на відповідні компоненти сторінок Standard і Additional і відрізняються, в основному, тим, що орієнтовані на роботу з БД і мають додаткові властивості DataSource і Datafield. Перше з них вказує на джерело даних, а друге - на поле набору даних, з яким пов'язаний візуальний компонент. Наприклад, Edit відображає строкове значення, дозволяючи користувачеві змінювати його.
Для всіх візуальних компонентів, призначених для відображення і редагування значень полів, при зміні користувачем їхнього вмісту набір даних автоматично переводиться в режим редагування. Вироблені за допомогою цих компонентів зміни автоматично зберігаються в пов'язаних з ними полях при настанні певних подій.
При програмному зміні вмісту ці візуальних компонентів набір даних автоматично в режим редагування не перекладається. Для цієї мети в коді повинен попередньо викликатися метод Edit набору. Щоб зберегти зміни в полі (полях) поточного запису, ми повинні забезпечити відповідні дії, наприклад, виклик методу Post або перехід до іншого запису набору даних. [5]
Загальна характеристика візуальних компонентів.
У бібліотеці візуальних компонентів для всіх компонентів, в тому числі і призначених для роботи з даними, базовим є класу Control. Він забезпечує основні функціональні атрибути такі, як положення і розміри елемента, його заголовок, колір та інші параметри. Клас Control включає в себе загальні для візуальних компонентів властивості, події і методи. У цілому візуальні компоненти можна розділити на дві групи: віконні та неокони.
Віконний елемент керування являє собою спеціалізоване вікно, призначене для вирішення конкретного завдання. До таких елементів відносяться, наприклад, поля редагування, командні кнопки, смуги прокручування.
Такі компоненти, як Edit, DBEdit, Memo або DBMemo при отриманні фокусу вводу відображають у своїй області курсор редагування. Компоненти, не пов'язані з редагуванням інформації, отримання фокусу введення звичайно відображають за допомогою за допомогою пунктирного чорного прямокутника.
До неокони елементам управління базовим є клас GraphiControl, вироблений безпосередньо від класу Control. Неокони елементи управління на можуть отримувати фокус вводу. Їх перевагою є менш витрачання ресурсів.
Властивості та події візуальних компонентів для роботи з даними.
Властивості дозволяють управляти зовнішнім виглядом та поведінкою компонентів при проектуванні і при виконанні програми. Зазвичай установка значень більшості властивостей компонентів виконується на етапі проектування за допомогою інспектора об'єктів.
Властивість Name вказує на ім'я компонента, що використовується для управління компонентів під час виконання програми. Кожен новий компонент, що поміщається на форму, отримує ім'я за замовчуванням, автоматично утворене шляхом додавання до назви компонента його номера в порядку приміщення на форму. На етапі розробки програми ми можемо змінювати ім'я компонента на більш осмислене і відповідне призначенням компонента.
Властивість Aling визначає спосіб вирівнювання компонента на самій формі, на якій воно знаходиться. Вирівнювання використовується у випадку, коли потрібно, щоб будь-якої інтерфейсний елемент займав певне положення.
Властивість Caption містить рядок для написи заголовка компонента. Окремі символи в заголовку можуть бути підкреслені, вони означають комбінації клавіш швидкого доступу.
Властивість Color визначає колір фону. Часто зручно задавати кольори за допомогою констант. Відображувані колір залежить від параметрів відеокарти і монітора, в першу чергу від встановленого кольорового вирішення.
Візуальні компоненти здатні генерувати і обробляти досить велика кількість подій різних видів. До найбільш загальних груп подій можна віднести наступні дії:
- Вибір керуючого елемента;
- Переміщення покажчика миші;
- Натискання клавіш клавіатури;
- Отримання і втрата керуючим елементом фокусу введення;
- Переміщення об'єктів методом drag-and-drop.
Існують і більш складні події, що вимагають передачі додаткових параметрів, наприклад подія, пов'язана з переміщенням покажчика миші, передає координати покажчика.
2.4 Способи доступу до даних
Сутність навігаційного способу доступу до даних.
Навігаційний спосіб доступу полягає в обробки кожного запису набору даних. Перевагою цього способу є простота кодування операції, а основний недолік полягає в тому, що додаток отримує всі записи набору незалежно від того, скільки їх насправді потрібно обробити. Це призводить до великого навантаження на мережу, особливо при інтенсивному обміні даними. Тому застосування навігаційного способу доступу звичайно обмежується локальними БД.
При навігаційному способі доступу операції виконуються з окремими записами. Кожен набір даних має покажчик поточного запису, то є записи, з полями якої можуть бути виконані такі операції, як редагування або видалення. Компоненти Table і Query дозволяють управляти положенням цього покажчика. [5]
Навігаційний спосіб доступу дає можливість здійснювати наступні операції:
- Сортування записів;
- Навігація по набору даних;
- Редагування записів;
- Вставка і видалення записів;
- Фільтрація записів;
- Пошук записів.
Редагування, вставка і видалення записів.
Редагування записів полягає в зміні значень їх полів. Редагувала, може бути тільки поточний запис, тому перед діями, пов'язаними з редагуванням, зазвичай виконуються операції з пошуку і переміщення на необхідну запис. Після того. Як покажчик поточного запису встановлений на потрібний запис, і набір даних знаходиться в режимі перегляду, для редагування запису слід:
- Перевести набір даних в редагування;
- Змінити значення полів запису;
- Підтвердити зміни або відмовитися від них.
Метод Insert переводить набір даних в режим вставки і додає до нього нову порожню запис. Щоб додати записи потрібно:
- Перевести набір даних в режим запису;
- Задати значення полів нового запису;
- Підтвердити зміни або відмовитися від них.
Видалення поточного запису виконує метод Delete, який працює тільки з модифікуються набором даних. У разі успішного видалення запису поточної стає наступний запис, якщо ж віддалялася останній запис, то курсор переміщається на попередній запис, яка після видалення стає останньою. На відміну від деяких СУБД, в Delphi видаляється запис дійсно видаляється з набору даних.
Сортування записів та навігація по набору даних.
Порядок розташування записів може бути невизначеним. За замовчуванням записи не відсортовані або сортуються. З відсортованими наборами записів працювати більш зручно. Сортування полягає в упорядкуванні записів за певним полю в порядку зростання або убування містяться в ньому значень. Сортування можна виконувати і по декількох полях. [5]
При сортування по двох полях запису спочатку впорядковуються за значеннями першого поля, а потім групи записів з однаковим значенням першого поля сортуються по другому полю. Сортування наборів даних Table і Query виконується різними способами. Сортування наборів даних Table виконується автоматично за поточним індексом. При зміні індексу відбувається автоматичне переупорядочивание записів. Таким чином, сортування можлива по полях, для яких створено індекс.
Для сортування за кількома полями потрібно створювати індекс, що включає ці поля. Напрямок сортування визначається параметром ixDescending поточного індексу, за замовчуванням він вимкнений, та впорядкування виконується в порядку зростання значень. Якщо для індексу ознака ixDescending включений, то сортування виконується в порядку убування значень. Поля, за якими сортуються запису, встановлюються через властивостей IndexName.
Переміщення по набору даних полягає в управлінні покажчиком поточного запису. Цей покажчик визначає запис, з якою будуть виконуватися такі операції, як редагування або видалення.
Перед переміщення покажчика поточного запису набір даних автоматично переводиться в режим перегляду. Якщо поточна запис перебувала в режимах редагування або вставки, то перед переміщенням покажчика зроблені в запису зміни вступають в силу, для чого набір даних автоматично викликає метод CheckBrowseMode. Для переміщення покажчика поточного запису в наборі даних використовуються методи:
- Процедура First - установка на перший рядок;
- Процедура Next - установка на наступний рядок;
- Процедура Last - установка на останній рядок;
- Процедура Prior - установка на попередній рядок.
При переміщенні по записах набору даних пов'язані з ним візуальні компоненти відображають зміни даних, причому зміна відображення може відбуватися досить швидко.
Побічним ефектом виконання ряду операцій з наборами даних є зміна положення покажчика поточного запису. Часто цей ефект ненадійний, тому що після виконання такої операції покажчик знаходиться не в тому місці, де був до початку операції. При цьому доводиться знову відшукувати потрібну запис і ставити на неї вказівник, що незручно навіть при невеликій кількості записів.
Фільтрація записів.
Фільтрація - це завдання обмежень для записів, що відбираються в набір даних. Набір даних являє собою записи, набрані з однієї або декількох таблиць. Склад записів в наборі даних в даний момент часу залежить від встановлених обмежень, у тому числі і від фільтрів. Система Delphi дає можливість здійснювати фільтрацію записів:
- За висловом;
- За діапазоном.
За замовчуванням фільтрація записів не ведеться, і набір даних Table містить всі записи пов'язаної з ним таблиці БД, а в набір даних Query включаються всі записи, що задовольняють SQL-запиту, що міститься у властивості SQL. Фільтрація схожа на SQL-запити, але є менш потужним засобом. У порівнянні з SQL-запитами фільтрація менш ефективна, так як обмежується кількість записів, видимих ​​в наборі.
При використанні фільтрації за висловом набір даних обмежується записами, що задовольняють висловом фільтра, що задає умови відбору записів.
Перевагою фільтрації за висловом є те, що вона може бути застосовна до будь-яких полях, в тому числі і неіндексовані. У зв'язку з тим, що в процесі відбору проглядаються всі записи таблиці, фільтрація за висловом ефективна при невеликій кількості записів.
Для завдання вираження фільтра представляє собою конструкцію, до складу якої можуть входити наступні елементи:
- Імена полів таблиці;
- Літерали;
- Операції порівняння;
- Арифметичні операції;
- Логічні операції;
- Круглі і квадратні дужки.
Якщо ім'я поля містить прогалини, то його укладають у квадратні дужки. Літерал представляє собою значення, найчастіше - число, рядок або символ. Імена змінних у виразі фільтра використовувати не можна. Якщо у виразі фільтра потрібно включити значення змінної або властивості будь-якого компоненту, то це значення повинно бути перетворено у послідовну тип. Операції порівняння представляють собою звичайні відносини <,>,=,<=,>=,<>. Арифметичними є операції +, -, * і /. В якості логічних операцій можна використовувати AND, OR і NOT. Круглі дужки застосовуються для зміни порядку виконання арифметичних і логічних операцій.
Набір даних Table допускається два способи завдання умови фільтрації: су допомогою виразу фільтра Filter і в обробнику події OnFilterRecord.
У разі набору даних Query для записів можна використовувати: SQL-запит, обробник собитіяOnFilterRecord, вираження фільтра.
При фільтрації по діапазону в набір даних включаються запису, значення полів яких потрапляють в заданий діапазон, тобто умовою фільтрації є вираз виду «значення> нижня межа AND значення <верхньої межі». Така фільтрація застосовується до наборів даних Table.
Гідність фільтрації по діапазону є висока швидкість обробки записів. На відміну від фільтрації за висловом, коли послідовно проглядаються всі записи таблиці, фільтрація по діапазону ведеться індексно-послідовним методом, тому цей спосіб фільтрації застосовується тільки для індексованих полів. Індекс поля, діапазон якого заданий як поточний за допомогою властивості IndexName або IndexFieldName. Якщо поточний індекс не встановлено, то за замовчуванням використовується головний індекс.
Для включення і виключення фільтрації за діапазоном застосовуються методи ApplyRange і CancelRange. Перший з них активізує фільтрацію, а інший - деактивізує. Попередньо для індексного поля або полів, за яким виконується фільтрація, слід задати діапазон допустимих значень. Коли один з кордонів діапазону не задана, то діапазон відкритий, тобто нижня межа стає рівною мінімально можливого, а верхня межа - максимально можливого значення цього поля.
Пошук записів.
Пошук запису, що задовольняє певним умовам, означає перехід на цю запису. Пошук в чому схожий на фільтрацію, тому що в процесі пошуку також виконується перевірка полів записів на деякі умови. Відмінність полягає в тому, що в результаті пошуку кількість записів в наборі даних не змінюється.
При організації пошуку записів важливе значення має наявність індексу для полів, за якими ведеться пошук. Індексування значно підвищує швидкість обробки даних, крім того, ряд методів може працювати тільки з індексованими полями.
Для пошуку записів по полях служать методи Locate і Lookup, причому поля можуть бути не індексованими. Функція Locate шукає запис із заданими значеннями полів. Якщо задовольняють умовам пошуку запису існує, то покажчик поточного запису встановлюється на першу з них. Якщо запис знайдено, функція повертає значення True, у противному випадку значення False. Зазвичай при розробки програми користувачеві надається можливість впливати на процес пошуку су допомогою керуючих елементів, розташованих на формі. При цьому дії користувача з управління пошуком в наборі даних мало, чим відрізняються від аналогічних дій при виконанні фільтрації. Функція Lookup так само здійснює пошуку запису, що задовольняє певним умовам, але, на відміну від методу Locate, не переміщує покажчик поточного запису, а зчитує інформацію з полів запису. Ще одна відмінність між двома методами полягає в тому, що метод Lookup здійснює пошук на точну відповідність значень для пошуку і значень у полях записів з урахуванням регістру букв.
Для набору даних Table є методи, що дозволяють вести пошук записів тільки по індексних полях. Перед викликом будь-якого з цих методів слід встановити як поточного індекс, побудований по використовуваних для пошуку полях. Методи пошуку можна розділити на дві групи, в першій групі методи, призначені для пошуку на точну відповідність, а іншу утворюють методи, що допускають лише частковий збіг заданих для пошуку значень і значень полів записів. Якщо заданим умовам пошуку відповідає декілька записів, то покажчик поточного запису встановлюється на першу з них. Порядок сортування і, відповідно, порядок розташування записів у наборі дані, визначається поточним індексом, за яким і ведеться пошук. [5]
2.5 Мова запитів SQL
SQL символізує собою Структурований Мова Запитів. Це - мова, яка дає можливість створювати і працювати в реляційних базах даних, які є наборами зв'язаної інформації, що зберігається в таблицях.
Інформаційний простір стає більш уніфікованим. Це призвело до необхідності створення стандартної мови, який міг би використовуватися у великій кількості різних видів комп'ютерних середовищ. Стандартна мова дозволить користувачам, які знають один набір команд, використовувати їх для створення, знаходження, зміни та передачі інформації - незалежно від того, чи працюють вони на персональному комп'ютері, мережевої робочої станції, або на універсальній ЕОМ. У нашому все більш і більш взаємопов'язаному комп'ютерному світі, користувач забезпечений такою мовою, має величезну перевагу у використанні та узагальненні інформації з ряду джерел за допомогою великої кількості способів. Елегантність і незалежність від специфіки комп'ютерних технологій, а також його підтримка лідерами промисловості в області технології реляційних баз даних, зробило SQL (і, ймовірно, протягом осяжного майбутнього залишить його) основним стандартною мовою. [2]
Склад мови SQL.
Мова SQL призначений для маніпулювання даними в реляційних базах даних, визначення структури баз даних і для управління правами доступу до даних в багатокористувацької середовищі. Тому, в мову SQL як складових частин входять:
- Мова маніпулювання даними (Data Manipulation Language, DML)
- Мова визначення даних (Data Definition Language, DDL)
- Мова керування даними (Data Control Language, DCL).
Це не окремі мови, а різні команди однієї мови. Такий поділ проведено тільки лише з точки зору різного функціонального призначення цих команд.
Мова маніпулювання даними використовується, як це випливає з його назви, для маніпулювання даними в таблицях баз даних. Він складається з 4 основних команд:
SELECT (вибрати)
INSERT (вставити)
UPDATE (оновити)
DELETE (видалити)
Мова визначення даних використовується для створення і зміни структури бази даних та її складових частин - таблиць, індексів, уявлень (віртуальних таблиць), а також тригерів і збережених процедур. Основними його командами є:
CREATE DATABASE (створити базу даних)
CREATE TABLE (створити таблицю)
CREATE VIEW (створити віртуальну таблицю)
CREATE INDEX (створити індекс)
CREATE TRIGGER (створити тригер)
CREATE PROCEDURE (створити збережену процедуру)
ALTER DATABASE (модифікувати базу даних)
ALTER TABLE (модифікувати таблицю)
ALTER VIEW (модифікувати віртуальну таблицю)
ALTER INDEX (модифікувати індекс)
ALTER TRIGGER (модифікувати тригер)
ALTER PROCEDURE (модифікувати збережену процедуру)
DROP DATABASE (видалити базу даних)
DROP TABLE (видалити таблицю)
DROP VIEW (видалити віртуальну таблицю)
DROP INDEX (видалити індекс)
DROP TRIGGER (видалити тригер)
DROP PROCEDURE (видалити збережену процедуру)
Мова керування даними використовується для управління правами доступу до даних і виконанням процедур в багатокористувацької середовищі. Більш точно його можна назвати "мова управління доступом". Він складається з двох основних команд:
GRANT (дати права)
REVOKE (забрати права)
З точки зору прикладного інтерфейсу існують два різновиди команд SQL:
- Інтерактивний SQL
- Вбудований SQL.
Інтерактивний SQL використовується в спеціальних утилітах (типу WISQL або DBD), що дозволяють в інтерактивному режимі вводити запити з використанням команд SQL, посилати їх для виконання на сервер і отримувати результати у призначеному для цього вікні.
Вбудований SQL використовується в прикладних програмах, дозволяючи їм посилати запити до сервера і обробляти отримані результати, в тому числі комбінуючи set-орієнтований та record-орієнтований підходи.
Найбільш важливою командою мови маніпулювання даними є команда SELECT. Операція вибірки дозволяє отримати всі рядки (записи) або частину рядків однієї таблиці.
До логічним операторам належать відомі оператори AND, OR, NOT, що дозволяють виконувати різні логічні дії: логічне множення (AND, "перетин умов"), логічне додавання (OR, "об'єднання умов"), логічне заперечення (NOT, "заперечення умов") . У наших прикладах ми вже застосовували оператор AND. Використання цих операторів дозволяє гнучко "налаштувати" умови відбору записів. Оператор AND означає, що загальний предикат буде істинним тільки тоді, коли умови, пов'язані з "AND", будуть істинні.
Оператор OR означає, що загальний предикат буде істинним, коли хоча б одна з умов, пов'язаних з "OR", буде істинним. Оператор NOT означає, що загальний предикат буде істинним, коли умова, перед яким стоїть цей оператор, буде помилковим. В одному предикаті логічні оператори виконуються в наступному порядку: спочатку виконується оператор NOT, потім - AND і тільки після цього - оператор OR. Для зміни порядку виконання операторів дозволяється використовувати дужки.
Зміна порядку рядків, що виводяться (ORDER BY)
Порядок рядків, що виводяться може бути змінений за допомогою опціонального (додаткового) пропозиції ORDER BY наприкінці SQL-запиту. Ця пропозиція має вигляд:
ORDER BY <порядок рядків> [ASC | DESC]
Порядок рядків може задаватися одним із двох способів:
- Іменами стовпців;
- Номерами стовпців.
Спосіб упорядкування визначається додатковими зарезервованими словами ASC і DESC. Способом за замовчуванням - якщо нічого не вказано - є упорядкування "по зростанню" (ASC). Якщо ж зазначено слово "DESC", то упорядкування буде проводитися "за спаданням". [2]

3 БАЗА ДАНИХ У MICROSOFT ACCESS
За допомогою електронних таблиць зі списками студентів їх відвідуваністю і успішністю була створена база даних в MS ACSESS.
Додаток Microsoft Access є потужною і високопродуктивної 32-розрядної системою управління реляційною базою даних (далі СКБД).
База даних - це сукупність структурованих і взаємозалежних даних і методів, що забезпечують додавання вибірку і відображення даних.
Реляційна база даних. Практично всі СУБД дозволяють додавати нові дані в таблиці. З цієї точки зору СУБД не відрізняються від програм електронних таблиць (Excel), які можуть емулювати деякі функції баз даних. [11]
Існує три принципові відмінності між СУБД та програмами електронних таблиць:
1) СУБД розробляються з метою забезпечення ефективної обробки великих обсягів інформації, набагато більших, ніж ті, з якими справляються електронні таблиці;
2) СУБД може легко пов'язувати дві таблиці так, що для користувача вони будуть представлятися однією таблицею. Реалізувати таку можливість в електронних таблицях практично неможливо;
3) СУБД мінімізують загальний обсяг бази даних. Для цього таблиці, що містять повторювані дані, розбиваються на декілька пов'язаних таблиць.
Access - потужна програма Windows. При цьому продуктивність СУБД органічно поєднуються з усіма зручностями та перевагами Windows.
Як реляційна СУБД Access забезпечує доступ до всіх типів даних і дозволяє одночасно використовувати декілька таблиць бази даних. Можна використовувати таблиці, створені в середовищі Paradox або dBase.
Access спеціально спроектований для створення багатокористувацьких додатків, де файли бази даних є розділяютьсяресурсами в мережі. У Access реалізована надійна система захисту від несанкціонованого доступу до файлів.
База даних зберігатися в одному файлі, але професійні користувачі вважають за краще розділяти базу даних на два файли: в одному зберігаються об'єкти даних (таблиці, запити), в іншому об'єкти докладання (форми, звіти, макроси, модулі).
В останніх версіях Access представлений новий формат файлу (MDE)-бібліотеки, за допомогою якого можна створювати додатки, не включаючи VBA-код. [11]
Основні функції:
1) Організація даних. Створення таблиць і керування ними;
2) Зв'язування таблиць і забезпечення доступу до даних. Access дозволяє пов'язувати таблиці по співпадаючим значенням полів, з метою подальшого з'єднання декількох таблиць в одну;
3) Додавання та зміна даних. Ця функція вимагає розробки та реалізації представлених даних, відмінних від табличних (форми);
4) Подання даних. Access дозволяє створювати різні звіти на основі даних таблиць та інших об'єктів бази даних;
5) Макроси. Використання макросів дозволяє автоматизувати повторювані операції. В останніх версіях Access макроси використовують для сумісності;
6) Модулі. Модулі являють собою процедуру або функцію, написані на Access VBA (діалект Visual Basic Application). Ці процедури можна використовувати для складних обчислень. Процедури на Access VBA перевищують можливості стандартних макросів;
7) Захист бази даних. Ці засоби дозволяють організувати роботу програми в багатокористувацької середовищі і запобігти несанкціонований доступ до баз даних;
8) Засоби друку. За допомогою цієї функції Access дозволяє роздрукувати практично все, що можна побачити в базі даних;
Access так само дозволяє створювати дистрибутивні диски для розповсюдження готового додатку (за допомогою Office Developer Edition Tools). Поширення увазі постачання всіх необхідних файлів на будь-якому носії.
Пакет ODE Tools включає майстер установки, що автоматизує створення засобів розповсюдження і програми установки. Він так само дозволяє виконання програми на комп'ютерах, на яких не встановлено Access.
Елементи бази даних:
1) Таблиці. У базі даних інформація зберігається у вигляді двовимірних таблиць.
Можна так само імпортувати і зв'язувати таблиці з інших СУБД або систем управління електронними таблицями. Одночасно можуть бути відкриті 1024 таблиці;
2) Запити. За допомогою запитів можна здійснити вибірку даних з якого-небудь критерію з різних таблиць. У запит можна включати до 255 полів;
3) Форми. Форми дозволяють відображати дані з таблиць і запитів у більш зручному для сприйняття вигляді. За допомогою форм можна додавати і змінювати дані, що містяться в таблицях. У форми дозволяють включати модулі;
4) Звіти. Звіти призначені для друку даних, що містяться в таблицях і запитах, в гарно оформленому вигляді. Звіти так само дозволяють включати модулі;
5) Макроси
6) Модулі. Модулі містять VBA-код, що використовується для написання процедур обробки подій таких, як, наприклад, натискання кнопки у формі або звіті, для створення функцій налаштування, для автоматичного виконання операцій над об'єктами бази даних та програмного управління операціями, тобто додавання VBA-коду дозволяє створити повну базу даних з налаштованим меню, панелями інструментів та іншими можливостями. Модулі знімають з користувача програми на необхідності пам'ятати послідовність вибору об'єктів бази даних для виконання тієї або іншої дії і підвищують ефективність роботи;
До складу Access входить безліч майстрів, розбудовників і надбудов, які дозволяють спростити процес створення об'єктів бази даних.
Таблиці
1) Створення таблиці в режимі Майстра таблиць.
Процес створення об'єкта бази даних за допомогою майстра ділиться на кілька кроків, на кожному з яких можна встановити необхідні характеристики створюваного об'єкта. Майстер таблиць дозволяє створити нову таблицю на основі 33 зразків таблиць ділового застосування і 20 зразків таблиць особистого застосування (для англійської версії Access відповідно 77 і 44). Багато таблиці бази даних створені на основі зразків Майстра таблиць.
Використання Майстра таблиць служить відмінним прикладом, що дозволяє зрозуміти загальну процедуру роботи з майстрами Access. Створення таблиць на основі зразків Майстра таблиць має обмежені можливості у справжніх додатках. У більшості випадків для створення таблиць використовується імпорт або зв'язування даних з іншими базами даних або електронними таблицями.
2) Створення таблиці в режимі Конструктора таблиць.
Якщо імпортувати або зв'язати дані не можна, то найчастіше таблиці створюються в режимі конструктора, який дозволяє визначити необхідну структуру таблиці. У режимі конструктора таблиць можна побачити назви, типи даних, опису призначення, а також деякі додаткові властивості полів таблиці. Те, що з'являється у верхній частині вікна таблиці, відкритої в режимі конструктора, називається бланком структури таблиці або просто бланком таблиці. У нижній частині вікна таблиці, відкритої в режимі конструктора, виводяться властивості полів таблиці, а також короткий опис активного властивості таблиці.
3) Створення таблиці безпосередньо в режимі таблиці.
Access дає можливість створення таблиць безпосередньо в режимі таблиці. При цьому Access створює пусту таблицю на основі таблиці, використовуваної за замовчуванням, зі структурою, що має 20 полів і 30 порожніх записів. Після цього можна вводити дані прямо в таблицю. При її збереженні Access аналізує дані і вибирає той тип для кожного поля, який найбільше відповідає введених даних. Створення таблиць в режимі таблиці має обмежене застосування. Поля таблиці не мають змістовних імен, так що майже завжди потрібно буде редагувати структуру, щоб перейменувати поля.
Крім того, з прикладу Access не завжди може правильно визначити тип даних. Таблиці, які створені в режимі таблиці, не можуть включати об'єкти OLE і мемо-поля. Якщо є бажання мати такі поля, вам потрібно змінити структуру таблиці. При створенні таблиці в режимі таблиці не відбувається економії часу в порівнянні з традиційним способом визначення полів та встановлення їх властивостей у структурі порожній таблиці.
При розробці структури таблиці необхідно вказати, яку інформацію вона повинна містити. Після того як визначена інформація, яка повинна бути включена в таблицю, її варто розбити по полях. Цей процес включає в себе вибір імені поля, яке в таблиці повинне бути унікальним. Необхідно включати в ім'я поля як можна більше інформації про його вміст, але в той же час намагатися уникати довгих імен. Зазвичай при розробці баз даних у різних таблицях могли бути поля з однаковими іменами (найчастіше таблиці зв'язувалися по цих полях). Access також дозволяє використовувати однакові імена полів у різних таблицях, але через те, що Access використовує імена полів при визначенні умов цілісності даних, краще не допускати повторення імен полів.
Перед початком заповнення таблиці потрібно визначити зв'язки цієї таблиці з іншими таблицями бази даних, визначити ключове поле й створити індекси.
Зв'язок між таблицями встановлює стосунки між співпадаючими значеннями в ключових полях - звичайно між полями різних таблиць. У більшості випадків пов'язують ключове поле однієї таблиці з відповідним йому полем (часто мають те ж ім'я), яке називають полем зовнішнього ключа в другій таблиці. Таблиця, що містить ключове поле, називається головної, а таблиця, що містить зовнішній ключ - пов'язаної. Існує чотири види відносин:
- Один до одного. При використанні відносини "один до одного" запис в таблиці "А" (головній таблиці) може мати не більше однієї пов'язаної запису в таблиці "В" (пов'язаної таблиці) і навпаки. Цей тип зв'язку використовують не дуже часто, оскільки такі дані можуть бути поміщені в одну таблицю. Зв'язок з відношенням "один до одного" використовують для розділення дуже широких таблиць або для відділення частини таблиці з міркувань захисту. У таблицях пов'язаних відношенням "один до одного" ключові поля повинні бути унікальними;
- Один до багатьох. Зв'язок з відношенням "один до багатьох" є найбільш часто використовуваним типом зв'язку між таблицями. В такому зв'язку кожного запису в таблиці "А" можуть відповідати кілька записів у таблиці "В", а запис у таблиці "В" не може мати більше однієї;
- Багато до одного. При використанні відносини "багато до одного" одного запису в таблиці "А" може відповідати один запис у таблиці "B", а запис у таблиці "В" може мати більше однієї відповідної їй запису в таблиці "А". У таблиці "А" ключове поле повинно бути унікальним. Зв'язок з відношенням "один до багатьох" таблиць "А" і "В" можна розглядати як зв'язок з відношенням "багато до одного" таблиць "В" і "А";
- Багато до багатьох. При використанні відносини "багато до багатьох" одного запису в таблиці "А" можуть відповідати кілька записів у таблиці "В", а одного запису в таблиці "В" кілька записів у таблиці "А". У цьому випадку не потрібно унікальності ключових полів таблиць "А" і "В". Цей вид відносини використовується для зв'язування таблиць, що мають тільки зовнішні ключі.
Пов'язані поля не обов'язково повинні мати однакові імена, однак, вони повинні мати однакові типи даних. Крім того, що зв'язуються поля типу "Числовий" повинні мати однакові значення властивості "Розмір поля". Винятками з цього правила є поля лічильника з послідовною нумерацією, які можуть зв'язуватися з числовими полями розміру "Довге ціле". Існує можливість створити зв'язок між текстовими полями різної довжини, але це може викликати складності при створенні запитів.
Автоматичне забезпечення посилальної цілісності даних є важливою особливістю Access. Якщо на зв'язок між таблицями накладені умови посилальної цілісності, то Access не дозволяє додавати в пов'язану таблицю запису, для яких немає відповідних записів у головній таблиці, та змінювати записи в головній таблиці таким чином, що після цього у зв'язаній таблиці з'являться записи, що не мають головних записів; а також видаляти записи в головній таблиці, для яких є підлеглі записи в пов'язаної таблиці. Умови цілісності даних визначають систему правил, які використовуються в Access для підтримки зв'язків між записами у зв'язаних таблицях. Ці правила роблять неможливим випадкове видалення або зміна пов'язаних даних. Після накладення умов цілісності даних на операції з пов'язаними таблицями накладаються обмеження. Неможливо ввести в поле зовнішнього ключа зв'язаної таблиці значення, що не міститься в ключовому полі головної таблиці.
Необхідно також визначити первинний ключ. Якщо таблиця ніколи не буде використовуватися в якості головної, то ключ для неї визначати не потрібно. У головних таблицях зазвичай міститься інформація про реальні об'єкти, причому з кожним об'єктом асоціюється тільки один запис. Визначення ключа таблиці є найпростішим способом запобігання появи в таблиці однакових записів. У головній таблиці зв'язку повинен бути визначений первинний ключ. Access вважає таблиці, у яких такий ключ не визначений, підозрілими. При відкритті таких таблиць в режимі конструктора з'являється діалогове вікно, що повідомляє про те, що ключ таблиці не визначений. Ключ можна визначити і в зв'язаних таблицях, що допоможе уникнути появи повторюваних даних. Ключ таблиці можна задати за значенням декількох полів. Access автоматично індексує таблицю за значенням ключа, але може знадобитися створити додаткові індекси за значеннями інших полів. Індекси дозволяють прискорити пошук даних в тих полях таблиці, за якими вона проіндексована. Кожна таблиця Access може мати до 32 індексів, 5 з яких можуть бути складними (в складовою індекс може входити не більше 10 полів). Тим не менш, не варто захоплюватися створенням індексів для кожного поля таблиці і всіх їх комбінацій, оскільки це може істотно уповільнити процес заповнення таблиці (у разі зміни або додаванні запису автоматично оновлюються всі індекси).
Одним з основних принципів розробки реляційних баз даних є те, що всі дані, що містяться в полі таблиці, повинні мати один і той же тип. Для кожного поля таблиці необхідно задати тип даних. За замовчуванням використовується тип даних «Текстовий». При завданні типу даних поля можна також вказати розмір, формат і інші параметри, що впливають на відображення значення поля і точність числових даних.
Основні типи даних:
1) Текстовий. Текст або числа, які потребують проведення розрахунків;
2) МЕМО. Поле цього типу призначено для зберігання невеликих текстових даних (до 64000 символів). Поле цього типу не може бути ключовим або проіндексованим;
3) Числовий. Цей тип даних містить безліч підтипів. Від вибору підтипу (розміру) залежить точність обчислень;
4) Лічильник. Унікальні, послідовно зростаючі числа, автоматично вводяться при додаванні нового запису в таблицю;
5) Логічний. Логические значения, а так
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Диплом
132.1кб. | скачати


Схожі роботи:
Розробка програмного забезпечення
Розробка вимог до автоматизації процесу випробувань резисторів дротяних
Розробка вимог до автоматизації процесу випробувань приймача телевізійного
Розробка вимог до автоматизації процесу випробувань стали арматурної
Розробка інтернет магазину з продажу програмного забезпечення
Розробка системи автоматизації технологічного процесу на прикладі установки ЕЛОУ-АВТ
Розробка вимог до автоматизації процесу випробувань стали арматурної Основні технічні
Розробка програмного забезпечення для пошуку коренів біквадратні рівняння
Розробка бази даних і прикладного програмного забезпечення для автобусного парку
© Усі права захищені
написати до нас