База даних "Кафедра" в Access з меню MDI
База даних "Кафедра" в Access з меню MDI
Зміст
Вступ
1. Узагальнена структурна схема інформаційної системи та алгоритми її роботи
2. Проект бази даних
2.1 Інфологічне проектування
2.1.1 Інформаційне дослідження предметної області
2.1.2 Розробка інфологічної моделі предметної області
2.2 Даталогічне проектування
2.2.1 Вибір типу моделі даних
2.2.2 Розробка композиційної системи бази даних
2.2.3 Розробка логічної схеми бази даних
2.2.4 Розробка фізичної схеми бази даних
3. Інтерфейс користувача інформаціїної системи
4. Програмні додатки (схеми алгоритмів і програм), які реалізують пункт меню
5. Запити на мові SQL
5.1 Структура бази даних
5.2 Запити до бази даних і відповіді на них
6. Операції реляційної алгебри
7. Презентація курсового проекту
Висновки
Список використаної літератури
Вступ
Система управління базами даних та ІС, що побудовані на доступі й публицації БД надає вам можливість контролювати завдання структури і опис своїх даних, роботу з ними і організацію колективного користування цією інформацією. СУБД також істотно збільшує можливості і полегшує каталогізацію і ведення великих об'ємів в численних таблицях інформації, що зберігається.
Microsoft Access, за за допомогою якої буде вирішуватися предметна область - це функціонально повна реляційна СУБД. В ній передбачені всі необхідні вам засоби для визначення і обробки даних, а також для управління ними при роботі з великими об'ємами інформації. Що стосується легкості використовування, то Microsoft Access вчинив тут справжній переворот, і багато хто для створення своїх власних баз даних і додатків звертається саме до нього.
СУБД включає три основні типи функцій: визначення (завдання структури і опис) даних, обробка даних і управління даними. Всі ці функціональні можливості повною мірою реалізовані в Microsoft Access. В практиці, як правило, необхідно вирішувати і задачі з використанням електронних таблиць і текстових процесорів. Наприклад, після підрахунку або аналізу даних необхідно їх представити у вигляді певної форми або шаблону. У результаті користувачу доводиться комбінувати програмні продукти для отримання необхідного результату. В цьому значенні все істотно спростять можливості, що надаються Microsoft Access. Microsoft Access також дуже зручно інтегрується з технологією MDI - інтеграцією вікон, що вспливають у Windows. Та майже саме Microsoft Windows побудована за допомогою цієї технології. Ця технологія буде розглянута на прикладі побудови системи меню. В даної курсової роботі предлагається розглянути ці можливості.
1. Узагальнена структурна схема інформаційної системи та алгоритми її роботи
Дано:
1. Предметна область - БД „Кафедра”, об'єкти предметної області - таблиці БД „Кафедра”, згідно варіанту 37
2. СУБД - MS Access
3. Операційна платформа MS Windows XP
4. Користувачи бази даних
5. Форма і зміст запитів до БД
6. Тип бази даних - локальна з централізованим управлінням, багатокористувальницька
ІС “Кафедра” призначена для отримання інформації про фактичний рух студентських груп, співробітників кафедри у деякому вищому навчальному закладі.
Мета розв'язання задачі - своєчасне отримання документів, що засвідчують фактичний стан студентських груп, співробітників кафедри у деякому вищому навчальному закладі у будь який момент часу, а також операції руху предметних ресурсів, які були проведені у зазначений термін.
В курсової роботі будемо розробляти:
1. Інфологічну модель предметної області „Кафедра” в загальному проектному представленні на базі ER-моделі („сутність-зв'язок”).
2. Логічну (концептуальну) схему бази даних на базі інфологічної моделі предметної області і композиційної схеми БД з застосуванням ручної процедури побудови логічної схеми БД.
3. Інтерфейс користувача інформаційної системи.
4. Програму на мові Pascal згідно розробленого інтерфейсу.
5. Розробити запити на мові SQL до бази даних відповідно варіанту.
6. Виконати операції реляційної алгебри об'єднання (R = R1 U R2), перетину (R = R1 ? R2) і декартового добутку (R = R1 x R2) будь яких двох відношень логічної схеми бази даних.
7. Презентацію курсового проекту в Power Point.
Задача „Кафедра” виникає у тому разі, коли уповноважена особа кафедри навчального закладу хоче побачити, які кадрові та інші операції відбувалися по кафедрі за деякий період. При цьому необхідно видати паперовий документ, якій є офіційним підтвердженням проведених дії. Тому така задача повинна бути автоматизована на кафедрі вищого навчального закладу.
Ця задача вирішується при керуванні такими об'єктами:
- АРМ робітника кафедри;
- АРМ оператора кафедри.
Рис.1. Інформаційна схема предметної області.
Інформаційна система - сукупність апаратних, програмних, інформаційних та інших засобів, які використовуються при розвязуванні даної прикладної задачі.
Банк даних - різновід інформаційної системи в котрому реалізується функція централізованого зберігання і накопичення інформації, яка організована в одну, або декілька баз даних.
База даних - поіменована структурована сукупність даних, які відносяться до певної предметної області, організованих по відповідним правилам, що передбачає загальні принципи опису, зберігання і маніпулювання даними незалежно від запитів користувача.
Апаратні засоби - засоби, за допомогою яких відбуваються запити та отримуються відповіді; також місце зберігання інформації.
Апаратні засоби - це технічні засоби і операційна система.
СУБД - це комплекс мовних і програмних засобів, які призначені для створення, супроводження і використання БД користувачами.
Словник даних - компонент БД, який є призначеним для централізованого зберігання інформації про:
- структури даних;
- взаємозвязки між файлами БД;
- типи даних і формати їх представлення;
- коди захисту даних.
Обмін даних ІС в БД при виборі даних:
1. Взаємодія користувача з базою даних за допомогою додатку.
2. Додаток формує запит з яким звертається до СУБД.
3. СУБД використовує словник даних, визначає місце розміщення необхідних даних в базі і звертається до операційної системи.
4. Операційна система зчитує з бази даних необхідні дані і розміщує їх в системний буфер.
5. Перетворені дані СУБД пересилає з системного буферу у додатки і сігналізує про закінчення операції.
6. Результат вибору даних з відповідної області додатку зображується на екрані терміналу.
Обмін даних ІС із БД при виборі даних (рис.2)
Рис.2.
Алгоритм обробки даних за допомогою СУБД зображений на рис.3.
Рис.3.
Під час роботи з документом або електронною таблицею ви звичайно повністю вільні у визначенні вмісту документа або кожного елементу таблиці. В текстовому редакторі така гнучкість необхідна для того, щоб помістити ту або іншу інформацію в потрібне місце на сторінці, а в електронній таблиці ви повинні мати нагоду берегти початкові дані, проводити необхідні обчислення і представляти результати в потрібному вигляді. Ця гнучкість забезпечує успішне рішення щодо невеликих, добре сформульованих задач. Але коли електронна таблиця містить декілька сотень рядків, а документи складаються із багатьох сторінок, то працювати з ними стає досить важко. Із зростанням обсягу даних ви можете знайти обмеження, що перевищені чи встановлені електронною таблицею або текстовим редактором або ж взагалі вичерпані можливості комп'ютерної системи. Якщо ви розробляєте документ або електронну таблицю, які призначені для інших користувачів, то стає важко (або навіть неможливо) проконтролювати введення нових і використовування вже введених даних. Наприклад, коли в електронній таблиці в одної комірці повинна зберігатися дата, а в іншій - грошове надходження, користувач чисто випадково може їх переплутати. Крім того, якщо вам знадобиться працювати не тільки з цифровою або текстовою інформацією, ви можете знайти, що ваша електронна таблиця не може працювати з інформацією, представленою у вигляді малюнка або звуку.
СУБД дозволяє задати типи даних і способи їх зберігання. Ви також можете задати критерії (умови), які СУБД надалі використовуватиме для забезпечення вірності введення даних. В найпростішому випадку умова на значення повинна гарантувати, що ви не введете випадково в числове поле буквений символ. Інші умови можуть визначати область або діапазони допустимих значень ваших даних. В самих вчинених системах ви можете задати відносини між сукупностями даних (що звуться таблицями або файлами) і покласти на СУБД забезпечення сумісності або цілісності даних. Наприклад, можна примусити систему автоматично перевіряти відношення введених замовлень до конкретних книг.
Microsoft Access надає вам максимальну свободу в завданні типу даних: текст, числові дані, дати, час, грошові значення, малюнки, звук, документи, електронні таблиці. Ви можете задати також формати зберігання (довжина рядка, точність представлення чисел і дати часу) і надання цих даних при виведенні на екран або друк. Для упевненості, що в базі даних зберігаються тільки коректні значення, можна задати умови на значення різного ступеня складності.
Оскільки Microsoft Access є сучасним додатком Windows, ви можете використовувати всі можливості DDE (Dynamic Data Exchange, динамічний обмін даними) і ОLЕ (Оbject. Linking and Embedding, зв'язок і упровадження об'єктів). DDE дозволяє здійснювати обмін даними між Access і будь-яким іншим підтримуючим DDE додатком. В Access ви можете за допомогою макросів або Access Basic здійснювати динамічний обмін даними з іншими додатками. OLE є більш витонченим засобом Windows, яке дозволяє встановити зв'язок з об'єктами іншого додатку або упровадити які-небудь об'єкти в базу даних Access . Такими об'єктами можуть бути картинки, діаграми, електронні таблиці або документи з інших підтримуючих ОLЕ додатків Windows.
Microsoft Access може працювати з великим числом найрізноманітніших форматів даних, включаючи файлові структури інших СУБД. Ви можете здійснювати імпорт і експорт даних з файлів текстових редакторів або електронних таблиць. За допомогою Access можна безпосередньо - обробляти файли Рагаdох, dВАSE III, dВАSЕ IV, FохРго і ін. Можна також імпортувати дані з цих файлів в таблицю Access .
СУБД дозволяє працювати з даними, застосовуючи різні способи. Наприклад, ви можете виконати пошук інформації в окремій таблиці або створити запит з складним пошуком по декількох зв'язаних між собою таблицях або файлах. За допомогою однієї єдиної команди можна відновити зміст окремого поля або декількох записів. Для читання і коректування даних ви можете створити процедури, що використовують функції СУБД. У систем багато кого є розвинуті можливості для введення даних і генерації звітів.
В Microsoft Access для обробки даних таблиць використовується могутня мова SQL (Structured Query Language - Структурована мова запитів). Використовуючи її, ви можете виділити з однієї або декількох таблиць необхідну для вирішення конкретної задачі інформацію. Access значно спрощує задачу обробки даних. Щоб примусити Microsoft Access вирішувати ваші задачі, вам абсолютно не вимагається знати мову SQL. При будь-якій обробці даних з декількох таблиць використовує одного разу задані вами зв'язки між таблицями. Ви можете сконцентрувати свої зусилля на рішенні інформаційних проблем, не затрачувавши сил на побудову складної системи, яка відстежує у вашій базі всі зв'язки між структурами даних. В Microsoft Access є також простий і в той же час багатий можливостями засіб графічного завдання запиту - так званий «запит за зразком» (QBE, query example), яке використовується для завдання даних, необхідних для вирішення деякої задачі. Використовуючи для виділення і переміщення елементів на екрані стандартні прийоми роботи з мишею в Windows і декілька клавіш на клавіатурі, ви можете буквально за секунди побудувати досить складний запит.
В світлі вищесказаного для автоматизації рішення задач нам необхідна могутня реляційна СУБД і система розробки додатків. Практично всі існуючі СУБД мають засоби розробки додатків, які можуть бути використаний програмістами або кваліфікованими користувачами при створенні процедур для автоматизації управління і обробки даних. На жаль, багато систем розробки додатків для створення процедур вимагають знання деякої мови програмування, наприклад С або XBase. Не дивлячись на всю їх силу і багатство засобів, для успішного їх використовування від вас потрібна наявність певної професійної підготовки і досвіду роботи з ними. На щастя, є засоби, що дозволяють легко проектувати і створювати додатки для роботи з базами даних без знання мови програмування. Робота в Microsoft Access починається з визначення реляційних таблиць і їх полів, які міститимуть дані. Відразу після цього ви за допомогою форм, звітів і макросів зможете визначати дії над цими даними.
Форми і звіти можна використовувати для завдання форматів виведення даних на екран і додаткових обчислень. Що в цьому випадку міститься у формах і звітах формати і інструкції по проведенню обчислень відокремлені від даних (що знаходиться в таблицях), так що можна мати повну свободу дій у використовуванні даних, не міняючи при цьому самі дані - достатньо створити додаткову форму або звіт, використовуючи ті ж самі дані. Якщо довестися автоматизувати деякі дії, то для встановлення зв'язків між певними формами і звітами або для виконання певних дій як відгук на деяку подію (наприклад, зміна даних в деякому полі форми) можна без особливих зусиль створити макроси. Якщо будуть потрібно більш витончені засоби, наприклад бібліотечні утиліти Windows, можна написати процедуру на Access Basic.
2. Проект бази даних.
2.1 Інфологічне проектування
Надзвичайно важливим і відповідальним етапом проектування як ІС, так і БД є передпроектна стадія, на якій проводиться співбеседа з виконавцями робіт, тобто на кафедрі вищого навчального закладу, що підлягає автоматизації.
Власне вони в перспективі будуть користувачами ІС та БД.
У процесі проектування БД, як і при проектуванні ІС, потрібно дотримуватися принципів системної єдності розвитку, сумісності, стандартизації. Завдання створення єдиної системи БД для великої установи неймовірно складе. Виняток становлять порівняно невелики підприємства і установи.
Різні підрозділи установи можуть використовувати різні позначення для одних і тих самих елементів даних і по різному організують процес оброблення цих даних. Поетапне впровадження ІС на підприємстві за таких обставин зводиться до трудоміського та хворобливого процесу узгодження розробок локальних ІС різних підрозділів.
Сфера застосування БД має визначатися незалежно від будь-якої прикладної задачі в межах певної ПС, а при зміні меж ПС повинна видбивати інформаційні потреби якмога більших підрозділів установи. Іншими словами, БД має бути універсальною, придатною для розв'язання багатьох прикладних задач і відкритою для подальшого нарощування її структури.
БД потрібна бути присуща цілістність. Цілістність БД - це властивість, що дає змогу зберігати певні обмеження значень даних при всіх модифікаціях БД.
У проекті Mіcrosoft Access мається можливість забезпечити цілісність даних в операціях вставки, відновлення і видалення багатьох записів шляхом створення приєднаної форми, що використовує пакетні транзакции.
Пакетні транзакции гарантують, що інформація в базі даних завжди залишиться погодженої, навіть у тому випадку, коли єдина логічна операція містить у собі безліч операцій бази даних. Mіcrosoft Access і SQL Server розглядають усі бази даних у межах транзакции як одну одиницю обробки. По визначенню, транзакция або безпечно виконується цілком з відображенням усіх результуючих змін у базі даних, або відкочується зі скасуванням усіх змін у базі даних. Погодженість і можливість відновлення транзакций бази даних гарантується навіть у випадку збою системи і при складних відновленнях, виконуваних декількома користувачами.
Без пакетної транзакции кожен запис зберігається в базі даних незалежно від інших, що робить скрутним підтримку цілісності даних в одній логічній операції. За допомогою пакетної транзакции можна забезпечити двох можливостей: у єдиній логічній операції або всіх змінах виконуються, або ніякі зміни не вносяться в базу даних на сервері.
При відновленні форми в пакетної транзакции можливі три ситуації.
1) Завершення. Після внесення змін у кілька записів усі записи зберігаються й успішно обновляються на сервері бази даних. Всі обновлені записи знову синхронізуються, щоб одержати нові значення полів, що обчислюються, значення за замовчуванням і інші дані, що генеруються сервером. Положення запису, порядок сортування і застосовуваних фільтрів залишаються незмінними.
2) Відкіт. Після внесення змін у кілька записів робиться спроба зберегти всі записи, але має місце відмовлення у виконанні транзакции. Сервер бази даних повертає помилку для однієї чи декількох записів, таку як порушення чи обмеження блокування. Однак усі відкладені зміни даних залишаються у формі, що дозволяє виправити помилку і заново зберегти запис, не повторюючи всіх змін.
3) Скасування для всіх записів. Після внесення змін у кілька записів у меню Запису вибирається команда Скасувати всі записи. Mіcrosoft Access ігнорує всі зміни і повертає форму і дані до стану перед початком пакетної транзакции. Ніякі зміни на сервер не надходять.
Удала розробка бази даних забезпечує простоту її підтримки. Дані варто зберігати в таблицях, причому кожна таблиця повинна містити інформацію одного типу, наприклад, зведення про працівників кафедри. Тоді досить буде обновити конкретні дані, такі як адреса чи телефон, тільки в одному місці, щоб обновлена інформація відображалася у всій базі даних.
Вірно спроектована база даних звичайно містить різноманітні запити, що дозволяють відображати потрібну інформацію. У запитах може виводитися підмножина даних, наприклад, перелік спеціальностей кафедри, чи комбіновані дані з декількох таблиць, наприклад, зведення про працівників кафедри спільно зі зведеннями про розклад занять.
2.1.1 Інформаційне дослідження предметної області
Після створення в базі даних окремих таблиць по кожній темі необхідно вибрати спосіб, яким СУБД Mіcrosoft Access буде знову поєднувати зведення таблиць. Першою справою варто визначити зв'язки між таблицями. Після цього можна створити запити, форми і звіти для одночасного відображення зведень з декількох таблиць.
Полючи в шостьох таблицях повинні бути скоординовані таким чином, щоб відображати зведення про одне й те саме замовлення. Ця координація здійснюється шляхом встановлення зв'язків між таблицями. Зв'язок між таблицями встановлює стосунки між співпадаючими значеннями в ключових полях, звичайно між полями, що мають однакові імена в обох таблицях. У більшості випадків із ключовим полем однієї таблиці, що є унікальним ідентифікатором кожного запису, зв'язується зовнішній ключ іншої таблиці. Наприклад, для зв'язування співробітників лабораторії кафедри із відповідальним майном, за які вони відповідають, варто створити зв'язок між полями «ПІБ».
2.1.2 Розробка інфологічної моделі предметної області
Завдання концептуального інфологічного проектування полягає в одержанні логічної моделі БД у термінах об'єктів ПС та зв'язків між ними, що не залежить від конкретної СУБД й узагальнює інформаційні вимоги потенційних користувачів ІС. Розрізняють два основні методи концептуального інфологічного проектування: низхідне проектування (метод формулювання та аналізу сутностей) і висхідне проектування (метод синтезу атрибутів). Ці методи недостатньо формалізовані, єдиних правил використання їх не існує.
Найпридатнишим для практичного застосування є перший метод. Він складається з двох етапів проектування БД: ідентифікації та моделювання локальних інформаційних структур.
БД у вигляді локальних ER-діаграм і побудови глобальної інформаційної моделі - глобальної ER-діаграми.
Локальні інформаційні структури відповідають локальним задачам.
Проектування глобальної інфологічної моделі даних полягає в інтеграції локальних інформаційних структур, здобутих на попередньому етапі. При об'єднанні локальних інформаційних структур у глобальну використовують поняття - ідентичність, агрегація, узагальнення. Усі вони однаковою мірою належать до типів сутностей або об'єктів ПС та їхніх атрибутів, зв'язків між об'єктами ПС та їхніх атрибутів
Розробляємо тільки в одному Загальному представленні на базі ER-моделі (модель „сутність-зв'язок”). В зв'язку з тим, що предметна область не складна - виділяємо тільки одне локальне уявлення.
1. Формуємо сутності (об'єкти ПС)
1) Начальник кафедри
2) Лабораторія
3) Співробітники лабораторії
4) Майно
5) Технічне обслуговування
2. Формуємо атрибути сутностей
Аналізуємо зв'язки між сутностіми.
Встановимо таки зв'язки в своєму проектуванні бази даних: науково-викладницький склад може викладати багато навчальних дисциплін, одна навчальна група має один напрям підготовки, викладач може викладати і викладає в декількох навчальних групах, а навчальна група вивчає декілька навчальних дисциплін.
1. Аналізуємо зв'язки між сутностями
Рис.4.
Складемо схему інфологічної моделі ПО
Рис.5.
Відношення, що створені на підставі реляційної моделі даних характеризуються властивостями:
1. В таблиці відсутні рядки з однаковими значеннями.
2. Відношення має домени, або стовпці, значення яких відповідає атрибутам, або назвам стовпців.
3. Кожний атрибут має унікальне і'мя
4. Порядок слідування рядків в таблиці довільний.
Кожне відношення являється динамічною моделлю деякого об'єкту предметної області. Для отримання інформації з відношення необхідно мати засоби маніпуляції даними.
Існують 3 типи засобів маніпуляції даними:
1 тип - реляційна алгебра,
2 тип - реляційне зчислення зі змінними кортежами
3 тип - реляційне зчислення зі змінними доменами.
Операції реляційної алгебри ми розглянемо пізніше на прикладі нашої бази даних.
2.2 Даталогічне проектування.
2.2.1 Вибір типу моделі даних
Тип моделі даних в нас - реляційний. Також MS Access - це реляційна офісна програма, що допомагає розробляти реляційні БД, тобто БД, що влючають в себе декілька повязаних між собою таблиць за допомогою ключьових полів. Кожне поле таблиці в реляционной моделі містить визначені фактичні дані по сутностях (об'єктам), як наприклад, конкретні зведення про співробітників лабораторії (посада, освіта, телефон), чи зведення про технічне обслуговування майна лабораторії (дата обслуговування, вид обслуговування і т.п.). Для автоматизації рішення задач нам необхідна могутня реляційна СУБД і система розробки додатків. Практично всі існуючі СУБД мають засоби розробки додатків, які можуть бути використаний програмістами або кваліфікованими користувачами при створенні процедур для автоматизації управління і обробки даних. На жаль, багато систем розробки додатків для створення процедур вимагають знання деякої мови програмування, наприклад С або XBase. В MS Access програмувати можна за допомогою макросів, що ми продемонструємо у практичній частині курсового проекту.
2.2.2 Розробка композиційної системи бази даних
Етап концептуального моделювання - це побудова опису ПО в термінах деякої формальної мови. На підставі змістовного опису ПО, побудованого в результаті виконання етапу аналізу, будується строгий формальний опис інформаційного забезпечення ПО, що автоматизується.
Концептуальне моделювання призначене для інтегрованого опису інформаційного забезпечення ПО, що автоматизується не залежно від її спрійняття окремими користувачами й від способів її реалізації в комп'ютерній системі.
Композиційна схема - це проміжний елемент при переході від інфологічної схеми до логічної схеми бази данних.
Результатом композиції являється логічна схема відношень реляційної бази даних.
Відобразимо на схемі всі транзитивні залежності, після цього можемо розробити кінцеву схему відношень перед побудовою логічної (концептуальної) схеми бази даних „Кафедра”.
Рис.6.
Розробимо композиційну схему в який будуть відсутні транзитивні залежності (рис.7), після чого на підставі цієї схеми будемо розробляти логічну (концептуальну) схему бази даних.
Рис.7.
Перевіримо побудовану композиційну схему на відсутність протирічь (рис.8)
Рис.8.
Логічні і тимчасові протиріччя в БД відсутні, таблиці БД поділяти не рекомендується.
2.2.3 Розробка логічної схеми бази даних
Логічне проектування - це розробка логічної структури системи баз даних. Відстранив всі логічні і тімчасові протиріччя, ми отримали логічну схему бази даних „Кафедра” (рис.9).
Начальник кафедри
|
|
№ кафедри
|
Назва кафедри
|
Назва факультету
|
Корпус
|
Телефон
|
|
1
|
Кріптографії
|
Інформаційних систем
|
1
|
345-76-65
|
|
2
|
ТСП
|
Інформаційних систем
|
1
|
659-45-32
|
|
3
|
Зв'язку
|
Зв'язку
|
2
|
876-56-43
|
|
4
|
Експлуатації
|
Експлуатації систем
|
3
|
659-69-87
|
|
5
|
Комп'ютерних наук
|
Кибернетиці
|
4
|
564-65-11
|
|
|
Лабораторія
|
|
Код лабораторії
|
№ кафедри
|
В/звання
|
ПІБ начальника лабораторії
|
Телефон
|
|
11
|
1
|
Магистр
|
Абель П.С.
|
345-98-19
|
|
21
|
2
|
к.т.н.
|
Бабич Р.О.
|
659-64-44
|
|
31
|
3
|
Магистр
|
Бубка П.Р.
|
876-86-27
|
|
41
|
4
|
к.т.н.
|
Валин К.Д.
|
659-88-79
|
|
51
|
5
|
Магистр
|
Ганин Н.Л.
|
564-67-77
|
|
|
Співробітники лабораторії
|
|
ПІБ
|
№ кафедри
|
Посада
|
Освіта
|
Телефон
|
|
Абель П.С.
|
1
|
Завлаб
|
Вища
|
345-98-19
|
|
Бабин К.П.
|
3
|
Лаборант
|
Середня
|
876-86-27
|
|
Бабич Р.О.
|
2
|
Завлаб
|
Вища
|
659-64-44
|
|
Бубка П.Р.
|
3
|
Завлаб
|
Вища
|
876-56-43
|
|
Валин К.Д.
|
4
|
Завлаб
|
Вища
|
659-88-79
|
|
Волин Н.Г.
|
2
|
Лаборант
|
Середня фахова
|
659-35-55
|
|
Врубель А.Т.
|
1
|
Лаборант
|
Середня фахова
|
345-78-67
|
|
Вунин Ш.Б.
|
4
|
Лаборант
|
Середня
|
659-34-43
|
|
Ганин Н.Л.
|
5
|
Завлаб
|
Вища
|
564-67-77
|
|
Гунин К.П.
|
5
|
Лаборант
|
Середня
|
564-11-22
|
|
|
Майно
|
|
Інв.№
|
Рік випуску
|
Відповідальний
|
|
101
|
01.02.1999
|
Абель П.С.
|
|
102
|
01.03.2008
|
Абель П.С.
|
|
103
|
15.03.2008
|
Врубель А.Т.
|
|
104
|
21.04.2008
|
Врубель А.Т.
|
|
201
|
18.02.2008
|
Бабич Р.О.
|
|
202
|
23.03.2008
|
Бабич Р.О.
|
|
203
|
24.01.2008
|
Волин Н.Г.
|
|
204
|
14.02.2008
|
Волин Н.Г.
|
|
301
|
12.01.2008
|
Бубка П.Р.
|
|
302
|
23.02.1993
|
Бубка П.Р.
|
|
303
|
21.02.2008
|
Бабин К.П.
|
|
304
|
25.04.1995
|
Бабин К.П.
|
|
401
|
12.03.1997
|
Валин К.Д.
|
|
402
|
17.05.2008
|
Валин К.Д.
|
|
403
|
24.04.1998
|
Вунин Ш.Б.
|
|
404
|
18.08.2007
|
Вунин Ш.Б.
|
|
501
|
25.04.1999
|
Ганин Н.Л.
|
|
502
|
30.12.2007
|
Ганин Н.Л.
|
|
503
|
21.02.2000
|
Гунин К.П.
|
|
504
|
30.01.2008
|
Гунин К.П.
|
|
|
Технічне обслуговування
|
|
Дата
|
Інв.№ майна
|
Вид обслуговування
|
|
05.05.1999
|
101
|
Гарантийне
|
|
27.06.2003
|
403
|
Профілактичне
|
|
24.08.2003
|
503
|
Профілактичне
|
|
30.03.2004
|
401
|
Профілактичне
|
|
27.04.2005
|
302
|
Профілактичне
|
|
23.05.2005
|
304
|
Профілактичне
|
|
18.09.2006
|
501
|
Профілактичне
|
|
09.12.2007
|
101
|
Профілактика
|
|
30.01.2008
|
404
|
Гарантийне
|
|
18.02.2008
|
203
|
Гарантийне
|
|
26.02.2008
|
504
|
Гарантийне
|
|
16.03.2008
|
201
|
Гарантийне
|
|
22.03.2008
|
303
|
Гарантийне
|
|
23.03.2008
|
502
|
Гарантийне
|
|
25.03.2008
|
204
|
Гарантийне
|
|
02.04.2008
|
102
|
Гарантийне
|
|
20.04.2008
|
103
|
Гарантийне
|
|
22.04.2008
|
202
|
Гарантийне
|
|
25.04.2008
|
201
|
Гарантийне
|
|
26.04.2008
|
301
|
Гарантийне
|
|
15.05.2008
|
104
|
Гарантийне
|
|
20.05.2008
|
402
|
Гарантийне
|
|
|
Рис.9.
Тепер на підставі логічної моделі ми бачимо, що нормалізація здійснена вірно.
2.2.4 Розробка фізичної схеми бази даних
Таким чином, остаточна схема бази даних „Кафедра” виглядає так, як це зображено на рис.10.
Рис.10.
Схема даних має зв'язки типу „Один-до-багатьох”.
3. .Інтерфейс користувача інформаціїної системи
Інтерфейс користувача - це зручний засіб спілкування з даними який дозволяє швидко зробити певну дію не використовуя ніяких особових команд.
Схема алгоритму доступу до БД і меню наведена на рис.11.
Рис.11. Схема алгоритму.
Інтерфейс за допомогою технології MDI у Windows реалізується наступним чином (рис.12):
Рис.12.
Меню „Файл” має підменю „Знищити об'єкт” (деяку таблицю).
Меню „Редагування” має підменю „Додати новий запис”, „”Знищити запис”, „На останній запис”.
Меню „Сервіс” має підменю „Доступ до даних” (відкриття сторінки доступу до даних через Інтернет).
Меню „Вихід” здійснює вихід з інформаційної системи зі збереженням усіх даних.
4. Програмні додатки, які реалізують пункт меню
Модуль реалізації меню у вікнах MDI наведений у лістингу 1.
Лістинг 1
unit MainFrm;
interface
uses
WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Menus,
StdCtrls, Messages, Dialogs, SysUtils, ComCtrls,
ToolWin, ExtCtrls, Buttons, ImgList;
type
TMainForm = class(TForm)
mmMain: TMainMenu;
OpenDialog: TOpenDialog;
mmiFile: TMenuItem;
mmiExit: TMenuItem;
N3: TMenuItem;
mmiOpen: TMenuItem;
mmiNew: TMenuItem;
mmiWindow: TMenuItem;
mmiArrangeIcons: TMenuItem;
mmiCascade: TMenuItem;
mmiTile: TMenuItem;
mmiCloseAll: TMenuItem;
tlbMain: TToolBar;
ilMain: TImageList;
tbFileOpen: TToolButton;
{ File Event Handlers }
procedure mmiNewClick(Sender: TObject);
procedure mmiOpenClick(Sender: TObject);
procedure mmiExitClick(Sender: TObject);
{ Window Event Handlers }
procedure mmiTileClick(Sender: TObject);
procedure mmiArrangeIconsClick(Sender: TObject);
procedure mmiCascadeClick(Sender: TObject);
procedure mmiCloseAllClick(Sender: TObject);
public
{ User defined methods }
procedure OpenTextFile(EditForm: TForm; Filename: string);
procedure OpenBMPFile(FileName: String);
procedure Open MDBFile(RTFForm: TForm; FileName: string);
procedure SetToolBar(AToolBar: TToolBar);
end;
var
MainForm: TMainForm;
implementation
uses MDIBmpFrm, MdiEditFrm, MdiRtfFrm, FTypForm;
const
{ Define constants to represent file name extensions }
BMPExt = '.BMP'; // Bitmapped file
TextExt = '.TXT'; // Text file
RTFExt = '.MDB'; // File BD
{$R *.DFM}
procedure TMainForm.mmiNewClick(Sender: TObject);
begin
{ Determine the file type the user wishes to open by calling the
GetFileType function. Call the appropriate method based on the
retrieved file type. }
case GetFileType of
mrTXT: OpenTextFile(nil, ''); // Open a text file.
mrMDB: OpenMDBFile(nil, ''); // Open an MDB file.
mrBMP:
begin
{ Set the defalt filter for OpenDialog1 for BMP files. }
OpenDialog.FilterIndex := 2;
mmiOpenClick(nil);
end;
end;
end;
procedure TMainForm.mmiOpenClick(Sender: TObject);
var
Ext: string[4];
begin
{ Call the appropriate method based on the file type of the file
selected from OpenDialog1 }
if OpenDialog.Execute then
begin
{ Get the file's extension and compare it to determine the
file type the user is opening. Call the appropriate method and
pass in the file name. }
Ext := ExtractFileExt(OpenDialog.FileName);
if CompareStr(UpperCase(Ext), TextExt) = 0 then
OpenTextFile(ActiveMDIChild, OpenDialog.FileName)
else if CompareStr(UpperCase(Ext), BMPExt) = 0 then
OpenBMPFile(OpenDialog.FileName)
else if CompareStr(UpperCase(Ext), MDBExt) = 0 then
Open MDBFile(ActiveMDIChild, OpenDialog.FileName);
end;
end;
procedure TMainForm.mmiExitClick(Sender: TObject);
begin
Close;
end;
{ Window Event Handlers }
procedure TMainForm.mmiTileClick(Sender: TObject);
begin
Tile;
end;
procedure TMainForm.mmiArrangeIconsClick(Sender: TObject);
begin
ArrangeIcons;
end;
procedure TMainForm.mmiCascadeClick(Sender: TObject);
begin
Cascade;
end;
procedure TMainForm.mmiCloseAllClick(Sender: TObject);
var
i: integer;
begin
{ Close all forms in revers order as they appear in the
MDIChildren property. }
for i := MdiChildCount - 1 downto 0 do
MDIChildren[i].Close;
end;
{ User Defined Methods }
procedure TMainForm.OpenTextFile(EditForm: TForm; FileName: string);
begin
{ If EditForm is of a TEditForm type, then give the user the option
of loading the file contents into this form. Otherwise, create a
new TEditForm instance and load the file into that instance }
if (EditForm <> nil) and (EditForm is TMdiEditForm) then
if MessageDlg('Load file into current form?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
TMdiEditForm(EditForm).OpenFile(FileName);
Exit;
end;
{ Create a new TEditForm and call its OpenFile() method }
with TMdiEditForm.Create(self) do
if FileName <> '' then
OpenFile(FileName)
end;
procedure TMainForm.OpenMDBFile(MDBForm: TForm; FileName: string);
begin
{ If MDBForm is of a TMDBForm type, then give the user the option
of loading the file contents into this form. Otherwise, create a
new TMDBForm instance and load the file into that instance }
if (MDBForm <> nil) and (MDBForm is TMdiMDBForm) then
if MessageDlg('Load file into current form?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then begin
(MDBForm as TMdiMDBForm).OpenFile(FileName);
Exit;
end;
{ Create a new TMDBForm and call its OpenFile() method }
with TMdiMDBForm.Create(self) do
if FileName <> '' then
OpenFile(FileName);
end;
procedure TMainForm.OpenBMPFile(FileName: String);
begin
{ Create a new TBMPForm instances and load a BMP file into it. }
with TMdiBmpForm.Create(self) do
OpenFile(FileName);
end;
procedure TMainForm.SetToolBar(AToolBar: TToolBar);
begin
if (MDIChildCount = 1) and (AToolBar = nil) then
tlbMain.Parent := self
else begin
tlbMain.Parent := nil;
if not (AToolBar = nil) then
AToolBar.Parent := self;
end;
end;
end.
Контрольний приклад роботи випливаючого меню наведено на рис.13.
Рис.13.
Для доступу до БД в локальній мережі та через інтернет розроблена сторінка доступу до даних, яка може бути розміщена на сервері.
Поперше ниж скористатися пунктами випливаючого меню, необхідно закрити форму (кнопка „Закрити форму”), яка зявляється автоматично при відкритті БД „Кафедра”, так як меню демонструє команди на прикладі цієї форми.
5. Запити на мові SQL. Структура бази даних
5.1 Структура БД „Кафедра” наведена на наступному рис.14.
Рис 14.
5.2 Запити до бази даних і відповіді на них
Запит на вибірку з БД інформації, для заповнення таблиці за №групи1 та №групи5 мовою SQL:
SELECT [Base 1].[№ кафедри], [Base 1].[№ групи 1], [Base 1].[№ групи 5]
FROM [Base 1]
WHERE ((([Base 1].[№ групи 1]) Like "C*#") AND (([Base 1].[№ групи 5]) Like "C*#"));
Запит 1 у режимі таблиці (рис.15):
Рис.15.
Запит 2 з використанням внутрішнього підзапиту мовою SQL:
TRANSFORM First([Base 1].[№ групи 1]) AS [First-№ групи 1]
SELECT [Base 1].[№ кафедри], First([Base 1].[№ групи 1]) AS [Итоговое значение № групи 1]
FROM [Base 1]
GROUP BY [Base 1].[№ кафедри]
PIVOT [Base 1].[№ групи 2];
Запит з використанням внутрішнього підзапиту у режимі таблиці (рис.16):
Рис.16.
Запит 3 про № груп 1 і 5 і відповідних їм шифрів і назв спеціальностей, якщо задані № кафедр 3 і 5 мовою SQL:
SELECT [Спеціальна кафедра].[№ групи], [Спеціальна кафедра].№кафедри, [Спеціальність підготовки].ШифрСпеціальності, [Спеціальність підготовки].НазваСпеціальності
FROM [Спеціальність підготовки] INNER JOIN [Спеціальна кафедра] ON [Спеціальність підготовки].ШифрСпеціальності = [Спеціальна кафедра].ШифрСпеціальності
WHERE ((([Спеціальна кафедра].[№ групи]) Like "C0*") AND (([Спеціальна кафедра].№кафедри)=3 Or ([Спеціальна кафедра].№кафедри)=5)) OR ((([Спеціальна кафедра].[№ групи]) Like "C4*"));
Запит 3 у режимі таблиці (рис.17):
Рис.17.
Четвертий запит про усі записи, що впорядковані по полю - № кафедри мовою SQL:
SELECT [Base 1].[№ кафедри], [Base 1].[№ групи 1], [Base 1].[№ групи 2], [Base 1].[№ групи 3], [Base 1].[№ групи 4], [Base 1].[№ групи 5], [Спеціальна кафедра].НазваКафедри
FROM [Base 1] INNER JOIN [Спеціальна кафедра] ON [Base 1].[№ кафедри] = [Спеціальна кафедра].№кафедри
GROUP BY [Base 1].[№ кафедри], [Base 1].[№ групи 1], [Base 1].[№ групи 2], [Base 1].[№ групи 3], [Base 1].[№ групи 4], [Base 1].[№ групи 5], [Спеціальна кафедра].НазваКафедри
ORDER BY [Base 1].[№ кафедри];
Четвертий запит у режимі таблиці (рис.18):
Рис.18.
6. Операції реляційної алгебри
Операції реляційної алгебри об'єднання (R = R1 U R2) і перетину (R = R1 ? R2) накладають додаткові умови на схеми початкових відношень.
Декартовий добуток (R = R1 x R2) не накладає ніяких додаткових умов на схеми початкових відношень, тому ця операція допустима для будь яких двох відношень без додаткових умов.
Base1
Спеціальна кафедра
|
|
№ кафедри
|
Назва кафедри
|
ПІБ начальника кафедри
|
|
1
|
Кріптографії
|
Король О.С.
|
|
2
|
ТСП
|
Богуш С.В.
|
|
3
|
Зв'язку
|
Бойко О.В.
|
|
5
|
Комп'ютерних наук
|
Палій М.М.
|
|
|
Base2
Спеціальна кафедра
|
|
№ навчального корпусу
|
№ курсу
|
|
1
|
С1
|
|
2
|
С0
|
|
2
|
С2
|
|
4
|
С4
|
|
|
Base3
Спеціальна кафедра
|
|
№ кафедри
|
Назва кафедри
|
ПІБ начальника кафедри
|
№ навчального корпусу
|
№ курсу
|
|
1
|
Кріптографії
|
Король О.С.
|
2
|
С0
|
|
3
|
Зв'язку
|
Бойко О.В.
|
2
|
С2
|
|
5
|
Комп'ютерних наук
|
Палій М.М.
|
4
|
С4
|
|
2
|
ТСП
|
Богуш С.В.
|
1
|
С1
|
|
2
|
ТСП
|
Богуш С.В.
|
1
|
С1
|
|
1
|
Кріптографії
|
Король О.С.
|
2
|
С0
|
|
3
|
Зв'язку
|
Бойко О.В.
|
2
|
С2
|
|
5
|
Комп'ютерних наук
|
Палій М.М.
|
4
|
С4
|
|
1
|
Кріптографії
|
Король О.С.
|
2
|
С0
|
|
5
|
Комп'ютерних наук
|
Палій М.М.
|
4
|
С4
|
|
3
|
Зв'язку
|
Бойко О.В.
|
2
|
С2
|
|
2
|
ТСП
|
Богуш С.В.
|
1
|
С1
|
|
3
|
Зв'язку
|
Бойко О.В.
|
2
|
С2
|
|
2
|
ТСП
|
Богуш С.В.
|
1
|
С1
|
|
1
|
Кріптографії
|
Король О.С.
|
2
|
С0
|
|
5
|
Комп'ютерних наук
|
Палій М.М.
|
4
|
С4
|
|
5
|
Комп'ютерних наук
|
Палій М.М.
|
4
|
С4
|
|
2
|
ТСП
|
Богуш С.В.
|
1
|
С1
|
|
3
|
Зв'язку
|
Бойко О.В.
|
2
|
С2
|
|
1
|
Кріптографії
|
Король О.С.
|
2
|
С0
|
|
|
Презентація курсового проекту з ефектами анімації по роботі з ІС „Кафедра” додана до курсового проекту у файлі „Кафедра37.ppt”.
Висновки
В даної курсової роботі було розроблено:
1. Інфологічну модель предметної області „Кафедра” в загальному проектному представленні на базі ER-моделі („сутність-зв'язок”).
2. Логічну (концептуальну) схему бази даних на базі інфологічної моделі предметної області і композиційної схеми БД з застосуванням ручної процедури побудови логічної схеми БД.
3. Інтерфейс користувача інформаційної системи.
4. Програму на мові Pascal згідно розробленого інтерфейсу.
5. Запити на мові SQL до бази даних відповідно варіанту.
6. Операції реляційної алгебри об'єднання (R = R1 U R2), перетину (R = R1 ? R2) і декартового добутку (R = R1 x R2) будь яких двох відношень логічної схеми бази даних.
7. Презентацію курсового проекту в Power Point.
При практичном опрацюванні курсового проекту ми побачили, що MS Access - це не тільки могутня, гнучка і проста у використовуванні СУБД, але і система для розробки працюючих з базами даних додатків. За допомогою Access ви можете створити додаток, що працює в середовищі Windows і повністю відповідне вашим потребам по управлінню даними. Використовуючи запити, ви можете вибирати і обробляти в таблицях інформацію, що зберігається. Можна створювати форми для введення, перегляду і оновлення даних, а також використовувати Access для створення як простих, так і складних звітів. Форми і звіти «успадковують» властивості базової таблиці або запиту, так що в більшості випадків ви вказуєте формати, умови на значення і деякі інші характеристики даних тільки один раз. До числа наймогутніших засобів Access відносяться засоби розробки об'єктів - Майстри, яких ви можете використовувати для створення таблиць, запитів різних типів форм і звітів, а також кнопок і інших атрибутів вбудованого Visual Basic, просто вибравши за допомогою миші потрібні опції. Щоб повністю автоматизувати роботу вашого додатку, за допомогою макросів Access ви легко зв'яжете дані з формами і звітами. Ви можете створити більшість додатків, не написавши ні єдиного рядка програми, але якщо вам необхідно створити щось вже дуже витончене, то на цей випадок Microsoft Access надає могутню мову програмування - Microsoft Access Basic.
І, нарешті, всі ці засоби дозволяють створювати додатки, що працюють не тільки з базою даних Access, але і з іншими найпоширенішими базами даних. Ваш додаток може працювати безпосередньо з файлами dBASE, з базами даних Раrаdох, FохРrо і будь-якою базою даних, підтримуючих ОDВС. Ви зможете також легко імпортувати дані з текстових файлів, документів текстових процесорів і електронних таблиць (і експортувати дані в них).
Microsoft Access має безліч областей застосування: на малому підприємстві; в роботі за контрактом, коли ви розробляєте прикладні програми за замовленням або виступаєте в ролі консультанта; у великих корпораціях, коли ви виступаєте в ролі координатора виробничих інформаційних систем і навіть у сфері домашнього застосування.
Список використаної літератури
1. Харитонова И.А., Михеева В.Д. Microsoft Access 2000: Разработка приложений. - СПб.: БХВ, 2000. - 832 с.
2. Робинсон С. Microsoft Access 2000: - СПб.: Издательский дом Питер, 2002. - 512 с.
3. Вейскас Дж. Эффективная работа с Microsoft Access 2000: СПб.: Питер-Пресс, 2002. - 1040 с.
4. Дженнингс Р. Использование Microsoft Access 2000: Специальное издание. - Издательский дом «Вильямс», 2002. - 1152 с.
5. Справка Microsoft Access 2002.//Корпорация Microsoft (Microsoft Corporation), - 2001.
6. Справка Microsoft Power Point 2002.//Корпорация Microsoft (Microsoft Corporation), - 2001.
7. Ситник В.Ф. та ін. Основи інформаційних систем - К.:КНЕУ, 2001
8. Береза А.М. Основи створення інформаційних систем - К.:КНЕУ, 2001
9. Информационные системы в экономике. Под редакцией профессора В.В.Дика - М.:Финансы и статистика, 1996
10. Смирнова Г.Н, Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем - М.:Финансы и статистика, 2003
|