Реферат по предмету "Информатика, программирование"


Довідник аматора живопису

Зміст
Вступ
1. Постановка задачі
1.1Опис задачі
1.3.1 DBaseі Visual DBase
1.3.2Paradox
1.3.3Microsoft Visual FoxPro
1.3.4Microsoft Access
1.3.5Microsoft Data Engine
2. Проектування задачі
2.1Проектування і створення бази даних довідника аматора живопису
2.1.1Створення проекту
2.1.2Створення бази даних
2.1.3Створення таблиць
2.1.4Встановлення зв’язків між таблицями
2.1.5Визначення умов цілісності даних
2.2Створення форм
2.3Формування запитів
2.4Формування локальних представлень даних
2.5Створення звітів
2.6Створення власного меню
2.7Компіляція додатку
3. Програмування програмної оболонки керування базами даних
4. Створення інсталяційного пакету
Висновки
Перелік використаної літератури
Вступ
Зміни, щовідбуваються в нашій країні останнім часом, не могли не торкнутися областейінформатики й обчислювальної техніки. Ще 10 років тому робота з базами данихбула долею професійних програмістів. Самі системи не були призначені дляпростого користувача. Основним споживачем таких систем буввійськово-промисловий комплекс. З появою банків, акціонерних товариств, приватнихкомпаній бази даних знайшли більше широке застосування. Люди розуміють, щоінформація — це гроші. Її втрата або несвоєчасне одержання можуть дорогокоштувати. Саме цим можна пояснити настільки бурхливий ріст інформаційнихтехнологій і стрімкий розвиток систем керування базами даних (СУБД).
Перші системикерування базами даних з'явилися в середині шістдесятих і підтримувалиієрархічну модель даних, у якій між записами існували відносини предок/нащадок.Через короткий час, були розроблені мережні бази даних, в основу яких булазакладена значно більше складна мережна модель. У кожної із цих моделей булисвої достоїнства й недоліки, які зіграли ключову роль у розвитку реляційноїмоделі.
В 1970 роцістаття наукового співробітника компанії IBM доктори Е. Ф. Кодда прореляційну модель даних зробила революцію в підході до зберігання й обробкиінформації. На основі цієї моделі в сімдесяті роки були розроблені першіреляційні бази даних, а в цей час вони розглядаються як стандарт для сучаснихкомерційних СУБД.
У реляційнихбазах даних вся інформація зведена в таблиці, рядки й стовпці яких називаютьсязаписами й полями відповідно. Ці таблиці одержали назву реляцій, тому модельстала називатися реляційною.
Записи втаблицях не повторюються. Їхня унікальність забезпечується первинним ключем, щомістить набір полів, що однозначно визначають запис. Для швидкого пошукуінформації в базі даних створюються індекси по одному або декількох поляхтаблиці. Значення індексів зберігаються в упорядкованому виді й містятьпосилання на записі таблиці. Для автоматичної підтримки цілісності зв'язанихданих, що перебувають у різних таблицях, використаються первинні й зовнішніключі. Для вибірки даних з декількох зв'язаних таблиць використаються значенняодного або декількох співпадаючих полів.
Одним з важливихдостоїнств баз даних є швидка вибірка збереженої в ній інформації.Використовуючи телефонно-адресну книгу, у якій дані впорядковані по прізвищах,ви можете знайти номер телефону на прізвище його власника. Однак, якщо запису вкнизі реєстрації міжміських розмов упорядковані в хронологічному порядку, вамдоведеться витратити значний час на одержання списку клієнтів, що замовлялирозмову з певним містом, або на з'ясування того, у якому районі проживаютьабоненти, що приносять найбільший прибуток телефонної компанії своїми тривалимирозмовами.
Комп'ютерні базиданих, незважаючи на величезний обсяг інформації, що зберігається в них,забезпечують високу швидкість пошуку необхідної інформації. У таких базах данихкористувач може виконати пошук по будь-якому його параметрі, що цікавить. Крімтого, комп'ютерні бази даних дуже компактні. База даних, утримуюча кілька тисячзаписів, може поміститися на одній дискеті.
Використання базданих і інформаційних систем стає невід'ємної складової ділової діяльностісучасної людини й функціонування процвітаючих організацій. У зв'язку із цимбільшу актуальність здобуває освоєння принципів побудови й ефективногозастосування відповідних технологій і програмних продуктів: систем керуваннябазами даних, CASE-систем автоматизації проектування, засобів адміністрування йзахисту баз даних і інших.
Від правильноговибору інструментальних засобів створення інформаційних системі, визначенняпідходящої моделі даних, обґрунтування раціональної схеми побудови бази даних, організаціїзапитів до збереженим даних і ряду інших моментів багато в чому залежитьефективність функціонування розроблювальних систем. Все це вимагаєусвідомленого застосування теоретичних положень і інструментальних засобіврозробки баз даних і інформаційних систем.
У цей часвеликою популярністю користується мережа Інтернет, Однієї із причин цього єможливість одержання в реальному масштабі часу різноманітної інформації, щоохоплює всі сфери діяльності людини. Для ефективної роботи з інформацією такоговеличезного обсягу потрібна високий ступінь її впорядкування. Сучасні системикерування базами даних надають розвинені кошти для організованого доступу доінформації. Цілком логічне застосування технології систем керування базамиданих у мережі Інтернет.
Для забезпеченнядоступу клієнтів мережі Інтернет до потрібної інформації з бази даних, щоперебуває на комп'ютері, на якому запущений Web-сервер, потрібно ці даніопублікувати (представити) в HTML-форматі. Публікація баз даних в Інтернетіздійснюється за допомогою технологій, що реалізують можливість розміщення наWeb-сторінках інформації з баз даних, що зберігаються на Web-сервері.
Результатомзастосування об'єднаної технології Інтернет/СУБД є здешевлення установки йсупроводу програмного забезпечення як користувачів мережі Інтернет, так іпрограмного забезпечення інформаційних систем, побудованих на основівикористання СУБД.
/>1.Постановка задачі/> 1.1 Опис задачі
Останнідесятиріччя людської історії ознаменувалися бурхливим розвитком техніки,зокрема комп’ютерних технологій. Від винаходу першої ЕОМ і до сьогодні пройшлодосить небагато часу – всього 60 років – а комп’ютери стали невід’ємноючастиною усіх сфер людського життя, починаючи з військової справи тапромисловості й закінчуючи повсякденним вжитком в лікарнях, вдома та унавчальних закладах.
Живопис (відрос. жваво і писати) — один з найдавніших видів образотворчого мистецтва, видакадемічних мистецтв, пов'язаний з передачею зорових образів за допомогоюнанесення фарб на тверду або гнучку основу; створенням зображення з допомогоюцифрових технологій; а також твори мистецтва, виконані такими способами.
До наших часівдійшли зображення тварин і людей, зроблені ще в епоху первісного суспільства настінах печер. З тих пір пройшло багато тисячоліття, але живопис завждизалишався незмінним супутником духовного життя людини. В останні століття вона,безперечно, самий популярний з усіх видів образотворчого мистецтва.
Найбільшпоширені твори живопису, виконані на плоских або майже плоских поверхнях, такихяк натягнутий на підрамник полотно, дерево, папір, картон, оброблені поверхністін і т.д. У тому числі до живопису відносять і виконані фарбами зображення надекоративних і церемоніальних судинах, поверхні яких можуть мати складну форму.
Кількість картинживопису, технік їх написання, епох (направлень) живопису досить багато. Томуіснує необхідність їх систематизації. Систематизувати всі ці дані допоможе базаданих Visual FoxPro. За його допомогою можна організувати дані так, щоббудь-яка людина могла їх переглянути, включаючи також і людей, які займаютьсяабо почали займатися живописом, тобто аматорів.
Вихіднідані до проекту:
В базі данихнеобхідно зберігати всі дані про::
- художників;
- їх картини;
- епохи, в які картини були написані;
- музеї, в яких картини зберігаються.
 
1.2Вимоги до програмно-апаратного комплексу
Системапрограмування баз даних повинна бути такою, що підтримує сучасну технологіювізуального та об’єктно-орієнтованого програмування. Проектувати програмнусистему слід за допомогою засобів візуального моделювання. Для вирішенняпоставленої задачі достатньо настільної СУБД. Обчислювальна система повиннабути побудована на базі персонального комп’ютера з процесором не гірше 600 МГцз операційною системою Windows XP, тому що перераховане вище сучаснеінструментальне програмне забезпечення не забезпечує комфортної роботи накомп’ютерах нижчого класу. Оперативної пам’яті повинно бути від 256 Мб,місткість накопичувача на жорсткому диску від 10 Гб.
Для комфортноїроботи слід вважати комп’ютер з характеристиками не гірше ніж:
· Процесор Pentium III – 600 МГц (абоCeleron);
· Оперативна пам'ять – 256 Мб;
· Накопичувач на жорсткому диску – 10 Гб.

1.3Вибір СУБД
На сьогоднішнійдень відомо більш двох десятків форматів даних настільних СУБД, однак найбільшпопулярними, виходячи з числа проданих копій, варто визнати dBase, Paradox,FoxPro і Access. Слід також зазначити Microsoft Data Engine — власне кажучисерверну СУБД, що представляє собою “полегшену” версію Microsoft SQL Server,але призначену, проте, для використання головним чином у настільних системах іневеликих робочих групах.
Проаналізуємо зазначенівище СУБД на предмет можливості їх використання./>1.3.1DBase і Visual DBase
В даний часVisual dBase належить компанії dBase Іnc. Його остання версія — Visual dBase7.5 має наступні можливості:
• Засобиманіпуляції даними dBase і FoxPro усіх версій.
• Засобистворення форм, звітів і додатків.
• Засобипублікації даних в Internet і створення Web-клієнтів.
• Ядро доступудо даних Advantage Database Server фірми Extended Systems і ODBC- драйвер для доступудо даних цієї СУБД.
• Засобипублікації звітів у Web.
• Засобивізуальної побудови запитів.
• Засобигенерації файлів, що виконуються, і дистрибутивів.
В даний час доVisual dBase як доповнення може бути придбаний компонент dConnectіons, щодозволяє здійснити доступ до даних Oracle, Sybase, Informix, MS SQL Server,DB2, InterBase з Visual dBase 7.5 і додатків, створених з його допомогою.

/>1.3.2 Paradox
Поточна версіяданої СУБД – Paradox 9, поставляється в двох варіантах – Paradox 9Standalone Edition і Paradox 9 Developer's Edition. Перший з них призначенийдля використання в якості настільної СУБД і входить у Corel OfficeProfessional, другий — у якості як настільної СУБД, так і засобу розробки додатківі маніпуляції даними в серверних СУБД. Обидві версії містять:
• Засобиманіпуляції даними Paradox і dBase.
• Засобистворення форм, звітів і додатків.
• Засобивізуальної побудови запитів.
• Засобипублікації даних і звітів в Internet і створення Web-клієнтів.
• CorelWeb-сервер.
• ODBC — драйвердля доступу до даних формату Paradox з Windows — додатків.
• Засобу длядоступу до даних формату Paradox з Java-додатків.
Крім цьогоParadox 9 Developer's Edition містить:
• Run-time-версію Paradox для постачання разом з додатками.
• Засобистворення дистрибутивів.
• Драйвери SQLLinks для доступу до даних серверних СУБД.
Відзначимо,однак, що популярність цього продукту як засобу розробки останнім часом трохизнизилася, хоча у світі експлуатується ще чимало інформаційних систем,створених з його допомогою./>1.3.3Microsoft Visual FoxPro
Visual Fox Pro 9.0надає наступні можливості:
• Засобипублікації даних в Internet і створення Web-клієнтів.
• Засоби створенняASP — компонентів і Web-додатків.
• Засобистворення COM — об'єктів і об'єктів для Microsoft Transactіon Server, щодозволяють створювати багатоланкові додатки для обробки даних, якімасштабуються.
• Засоби доступудо даних серверних СУБД, що базуються на використанні OLE DB (набірCOM-інтерфейсів, що дозволяє здійснити уніфікований доступ до даних зрізноманітних джерел, у тому числі з нереляційних баз даних і інших джерел,наприклад Microsoft Exchange).
• Засоби доступудо даних Microsoft SQL Server і Oracle, включаючи можливість створення іредагування таблиць, тригерів, збережених процедур
• Засобиналагодження збережених процедур Microsoft SQL Server.
• Засібвізуального моделювання компонентів і об'єктів, що є складовими частинамидодатка — Visual Modeler.
• Засіб длякерування компонентами додатків, що дозволяє здійснювати їхнє повторневикористання.
Отже, тенденціїрозвитку цього продукту очевидні: з настільної СУБД Visual FoxPro поступовоперетворюється в засіб розробки додатків в архітектурі “клієнт-сервер” ірозподілених додатків в архітектурі Windows DNA. Утім, ці тенденції деякоюмірою характерні для усіх найбільш популярних настільних СУБД — ми вжепереконалися, що і dBase, і Paradox також дозволяють здійснювати доступ донайбільш популярних серверних СУБД./>1.3.4Microsoft Access
На відміну відVisual FoxPro, що фактично перетворились у засіб розробки додатків, Accessорієнтований у першу чергу на користувачів Microsoft Office, у тому числі і незнайомих із програмуванням. Це, зокрема, проявилося в тім, що вся інформація,що відноситься до конкретної бази даних, а саме таблиці, індекси (природно, тіякі підтримуються), правила посилальної цілісності, бізнес-правила, списоккористувачів, а також форми і звіти зберігаються в одному файлі, що в ціломузручно для починаючих користувачів.
Остання версіяцієї СУБД — Access 2010 входить до складу Microsoft Office 2010, а такождоступна як самостійний продукт. До складу Access 2010 входять:
• Засобиманіпуляції даними Access і даними, доступними через ODBC (останні можуть бути“приєднані” до бази даних Access).
• Засобистворення форм, звітів і додатків; при цьому звіти можуть бути експортовані уформат Microsoft Word чи Microsoft Excel, а для створення додатківвикористовується Visual Basic for Applications, загальний для всіх складовихчастин Microsoft Office.
• Засобипублікації звітів в Internet.
• Засобистворення інтерактивних Web — додатків для роботи з даними (Data Access Pages).
• Засоби доступудо даних серверних СУБД через OLE DB.
• Засобистворення клієнтських додатків для Microsoft SQL Server.
• Засобуадміністрування Microsoft SQL Server.
Підтримка COM уAccess виражається в можливості використовувати елементи керування Active уформах і Web-сторінках, створених за допомогою Access. На відміну від VisualFoxPro створення COM — серверів за допомогою Access не передбачається.Microsoft Access може бути використаний, з одного боку, у якості настільноїСУБД і складової частини офісного пакета, а з іншого боку, в якості клієнтаMicrosoft SQL Server, що дозволяє здійснювати його адміністрування, маніпуляціюйого даними і створення додатків для цього сервера.
Крім маніпуляціїданими Microsoft SQL Server, Access 2000 дозволяє також як сховище данихвикористовувати Microsoft Data Engine (MSDE), що представляє собою власнекажучи настільний сервер баз даних, сумісний з Microsoft SQL Server./>/>

1.3.5Microsoft Data Engine
MSDE являє собоюСУБД, що базується на технологіях Microsoft SQL Server, але призначену длявикористання в настільних системах чи у мережних додатках з обсягом даних до 2Гбайт і невеликою кількістю користувачів. Власне кажучи MSDE є полегшеноюверсією Microsoft SQL Server, які не підтримують засобів адміністрування, і донастільних СУБД може бути віднесена дуже умовно. Бази даних MSDE цілком сумісніз базами даних Microsoft SQL Server і можуть при необхідності керуватися цимсервером. Як більшість серверних СУБД, ці бази даних підтримують трансакції,дозволяють створювати тригери і збережені процедури (недоступні в базах данихAccess), використовувати механізми захисту даних, надані операційною системою.
Крім цього привеликому числі користувачів і великому обсязі дані додатки, що використовуютьMSDE, відрізняються більш високою продуктивністю, тому що обробка запитіввідбувається усередині процесу, що керує базою даних, а не усерединіклієнтського додатка, що дозволяє знизити мережний трафік, зв'язаний зпередачею даних від сервера до клієнта.
Всі перерахованівище СУБД загалом можуть бути використані в якості інструментального середовищадля вирішення поставленої задачі. З урахуванням можливої необхідності міграціїв наступному на клієнт — серверні СУБД найбільш сприйнятливими є MSDE та VisualFoxPro. А враховуючи багатий інструментарій та розвинуті засоби проектування іпрограмування додатків зупиняємося на останньому тобто Visual FoxPro.
1.4Розробка тестової задачі
Тестова задача –це сукупність даних та процедур їх обробки, які дозволяють визначити чи євірними та безпомилково реалізованими алгоритми обробки даних. Інакше кажучи,це «правильні» та «неправильні» дані які необхіднорозмістити у базі даних і при виконанні програми вона повинна "правильні" дані обробити наперед заданим чином, а на«неправильні» дані відреагувати адекватно (виправити їх, видативідповідні діагностичні повідомленні і т.д.).
/>2.Проектування задачі/>/>/>/>/> 2.1 Проектування і створення бази даних довідникааматора живопису
Visual FoxPro –це мова програмування систем управління реляційними базами даних, розробленакорпорацією Microsoft. Також це об’єктно-орієнтована, процедурна,візуально-програмована мова, що керується по подіях. В якості подій у VisualFoxPro розглядаються певні дії, що викликають стандартну реакцію об’єкта.
Основою дляданого програмного продукту послужив мова програмування FoxPro. Відноситься досімейства мов xBase, розроблених на базі синтаксису мови програмування dBase.
Visual FoxProналежить до реляційних баз даних, у яких вся інформація зведена до таблиць, строкита стовпці у яких називаються відповідно записами та полями./>/>/>2.1.1Створення проекту
Для створеннянового проекту у головному вікні Visual FoxPro обираємо пункт меню File→New…та обираємо створення проекту за допомогою майстра (Wizard). Пишемо ім’япроекту Dovidnik_givopis та обираємо каталог для збереження файлівпроекту (рис. 2.1)
/>
Рис.2.1– Створення файлу проекту

Після цьогоVisual FoxPro створює структуру каталогів та необхідні для проекту базовікомпоненти і на екрані з’являється діалогове вікно конструктора додатків, що показанона рис.2.2, з пропозицією ввести параметри для даного проекту:ім’я, малюнок, дані про автора та інше.
/>
/>Рис. 2.2–Вікно редагування параметрів проекту
Створений проектавтоматично відкривається для редагування і усі його компоненти можна побачитиу вікні Project Manager, що зображене на рис.2.3.
/>
/>Рис.2.3/>– Менеджер проекту/>/>/>/>/> 
2.1.2 Створення бази даних
Базаданих – плоска (реляційна) таблиця, щоскладається зі строк й колонок. Строки не підписуються. Колонки називаютьсяполями. Поля мають імена, формат кожного поля задається наперед. Строкиназиваються записами. Основною відмінністю бази даних від звичайних таблиць єїх безрозмірність.
База даних-контейнер– таблиця, в якій перераховані усі файли, що входять в базу даних. В ньомупоказано як зв’язані таблиці, вбудовані процедури. Розширення файлу таблиціVFPro — *.dbf. Розширення самої бази даних – *.dbc.
Для створеннянової базі даних на вкладці Data обираємо пункт Database танатискаємо кнопку New… У вікні, що з’явилося, обираємо New Database,задаємо ім’я бази та обираємо у якості каталогу для збереження каталог Data.
 />/>/>2.1.3Створення таблиць
В створену базуданих додамо 4 таблиці:
1. Таблиця epohi має поля: kod(код епохи), name (назва епохи живопису), period (історичнийперіод), cherti (коротка характеристика епохи), predstaviteli(найвідоміші представники епохи);
2. Таблицяhudogniki має поля: num(номер), fio (прізвище, ім’я та по-батькові художника), date_birth(дата народження художника), date_death (дата смерті художника), epoha(спрямування в історії живопису), count_kartin (кількість картин, щонаписав художник), best_kartin (найкращі картини художника);
3. Таблицяkartini має поля: num(номер), name (назва картини), fio (прізвище, ім’я та по-батьковіхудожника), date (дата написання картини), epoha (епоха, в якубула створена картина), razmer (розмір картини), material(матеріал, з якого було створено картину), museum (музей, в якомукартина зберігаться);
4. Таблицяmuseums має поля: kod(код музею), name (зава музею), place (місце розташування), opisanie(короткий опис музею).
Для того, щобстворити кожну з таблиць, натискаємо на хрестик поруч з базою даних та зісписку обираємо пункт Tables. Натискаємо Create… →Newtable та обираємо ім’я таблиці і місце зберігання – каталог Data.Після цього відкривається вікно табличного редактора першої таблиці epohi(рис. 2.4), у якому вводимо імена та псевдоніми для полів таблиці, типи данихцих полів. На вкладці Індекси створюємо необхідні для роботи індекси (рис.2.5).
/>
Рис. 2.4 –Створення полів таблиці epohi
/>
Рис. 2.5 –Створення індексів таблиці epohi
Після створенняусіх полів та індексів відкриваємо таблицю для введення даних, натиснувшикнопку Browse. Для створення нового запису необхідно натиснути комбінаціюклавіш Ctrl+Y. Заповнена таблиця epohi показана на рис.2.6.

/>
Рис. 2.6 –Заповнена даними таблиця epohi
Аналогічностворюємо заповнюємо і інші 3 таблиці:
1) створенняполів таблиць hudogniki,kartini,museums відповіднопоказано на рис. 2.7, 2.10 та 2.13;
2) створенняіндексів таблиць hudogniki,kartini,museums відповіднопоказано на рис. 2.8, 2.11 та 2.14;
3) заповненняданими таблиць hudogniki,kartini,museums відповіднопоказано на рис. 2.9, 2.12 та 2.15.
/>
Рис. 2.7 –Створення полів таблиці hudogniki
/>
Рис. 2.8 –Створення індексів таблиці hudogniki

/>
Рис. 2.9 –Заповнена даними таблиця hudogniki
/>
Рис. 2.10 –Створення полів таблиці kartini
/>
Рис. 2.11 –Створення індексів таблиці kartini
/>
Рис. 2.12 –Заповнена даними таблиця kartini

/>
Рис. 2.13 –Створення полів таблиці museums
/>
Рис. 2.14 –Створення індексів таблиці museums
/>
Рис. 2.15 –Заповнена даними таблиця museums/>/>/>/>/>2.1.4 Встановлення зв’язків міжтаблицями
У вікні Databasedesigner відкриваємо створені раніше таблиці та встановлюємо необхідні дляроботи зв’язки, використовуючи створені на попередньому етапі індекси. Схемазв’язків між таблицями показана на рис. 2.16.

/>
Рис. 2.16 –Схема зв’язків між таблицями бази Dovidnik_Givopis/>2.1.5Визначення умов цілісності даних
Установленівідносини між таблицями можуть бути використані для завдання умов цілісностіданих. Цілісність даних є одним з найважливіших вимог до баз даних.
Перевіркацілісності даних може здійснюватися програмними засобами. Однак більшправильним є визначення умови цілісності даних на рівні бази даних, тому що вцьому випадку жодний додаток не може порушити цілісність даних.
Встановити умовицілісності даних можна за допомогою вікна “REFERENTIAL INTEGRITY BUILDER”.Їх встановлення показано нижче на рис. 2.17.
/>
Рис.2.17 – Визначення умов цілісності даних бази

Якбачимо в полі UPDATE усіх зв’язків між таблицями стоїть опція CASCADE,яка означає наступне: при зміні значень полів первинногоключа чи ключа-кандидата в батьківській таблиці автоматично здійснюєтьсякаскадна зміна усіх відповідних значень у дочірній таблиці. Наприклад, якщо цеправило застосувати до відношення між таблицями hudogniki і kartini,то при зміні коду диска в таблиці hudogniki автоматично будуть зміненікоди диска й у таблиці kartini.
Дляполя DELETE також встановлена опція CASCADE, але тут вона означаєдещо інше: при видаленні запису в батьківськійтаблиці автоматично здійснюється каскадне видалення всіх записів з дочірньоїтаблиці, зв'язаних із записом, що видаляється.
Дляполя INSERT встановлена опція IGNORE, що означає наступне: привведенні даних у дочірню таблицю не аналізується значення індексного вираження.Цілісність даних при цьому не підтримується.
Привизначенні умов цілісності даних VISUAL FOX PRO створює службовітригери, текст яких можна переглянути у вкладці STORED PROCEDURES./>/>2.2 Створення форм
ВVisual FoxPro для перегляду, введення і редагування даних, щозберігаються в таблицях, використовуються форми, що є найбільш наочним засобомпредставлення інформації. Наприклад, додаток, призначений для роботи збухгалтерськими документами, які мають стандартний вигляд. Природно, що форми,призначені для введення документів, повинні виглядати на екрані монітора точнотак, як і стандартні бланки цих документів. Іншою важливою перевагою форм є те,що вони дозволяють працювати не з однією, а з декількома зв'язаними таблицями,що, у свою чергу, також збільшує наочність.
Користувачудодатку немає необхідності знати, що таке Visual FoxPro, які командивикористовуються для додавання або видалення записів в таблицях. Він моженавіть взагалі не знати, з використанням яких програмних засобів створювавсядодаток. Для нього головним є переміщення по таблиці, додавання нових записів,редагування і видалення старих. Всі ці можливості є у формах.
Задопомогою майстра форм створимо 4 форми:
1)Форма artists – є звичайною однотабличною формою, що відображає дані зтаблиці hudogniki. Загальний вид цієї форми представлений нижче на рис.2.18.
/>
Рис.2.18 – Загальний вигляд форми artists
Вцій формі виводяться такі дані як прізвище, ім’я та по-батькові художника, датанародження і смерті, епоха, кількість картин, створених художником та найбільшвідомі його картини.
2)Форма pictures – також однотаблична форма, що відображає дані з таблиці kartini.Загальний вид цієї форми представлений нижче на рис. 2.19.

/>
Рис.2.19 – Загальний вигляд форми kartini
Вцій формі виводяться такі дані як назва картини, художник, яку цю карти нунаписав, дата створення, епоха, розмір та матеріал картини, а також музей, вякому ця картина зберігається.
3)Форма epoch – це багатотаблична форма, що відображає дані з 2 таблиць:epohi та hudogniki. Загальний вид цієї форми представлений нижче нарис. 2.20.
/>
Рис.2.20 – Загальний вигляд форми epoch
Вцій формі виводяться такі дані як назва епохи живопису, історичний період,коротка характеристика епохи, найвідоміші представники епохи. Нижче в таблиціописано художників, які належать до вказаної епохи. При цьому описані такі даніяк прізвище, ім’я та по-батькові художника, дата народження і смерті, кількістькартин, які він написав та найкращі картини художника.
4)Форма museums – це також багатотаблична форма, що відображає дані з 2таблиць:museums та kartini. Загальний вид цієї формипредставлений нижче на рис. 2.21.
/>
Рис.2.21 – Загальний вигляд форми museums
Вцій формі виводяться такі дані як назва музею, місце розташування музею,короткий опис музею. Нижче в таблиці описано картини, які зберігаються увказаному музею. При цьому описані такі дані як назва картини, ім’я тапо-батькові художника, дата створення картини, епоха, в яку картина буланаписана./>2.3Формування запитів
 
Запит – це засіб швидкогопошуку інформації в базах даних за визначеними критеріями. При створенні запитунеобхідно вказати поля результуючої таблиці, критерії відбору даних. Також даніможна впорядкувати та згрупувати по одному або декількох полях.
Створимо2 запити до бази даних:
1)Запит, що виводить на екран усіх художників-передвижників, які написали більшеніж 10 картин. Створення 1 запиту в режимі конструктора показано на рис. 2.22,а результат виконання запиту – на рис. 2.23.
/>
Рис.2.22 – Створення 1 запиту в режимі конструктора
/>
Рис.2.23 – Результат виконання 1 запиту в режимі конструктора
SQL-код 1 запиту:
SELECTHudogniki.fio, Hudogniki.epoha, Hudogniki.date_birth,;
Hudogniki.date_death,Hudogniki.count_kartin, Hudogniki.best_kartin;
FROM;
GIVOPIS!HUDOGNIKI;
WHEREHudogniki.epoha = ( «Передвижники» );
ANDHudogniki.count_kartin > ( 10.0000 );
ORDER BY Hudogniki.fio
2)Запит, що виводить на екран усі картини художника Леонардо Да Вінчі. Створення2 запиту в режимі конструктора показано на рис. 2.24, а результат виконаннязапиту – на рис. 2.25.

/>
Рис.2.24 – Створення 2 запиту в режимі конструктора
/>
Рис.2.25 – Результат виконання 2 запиту в режимі конструктора
SQL-код 2 запиту:
SELECTKartini.name, Kartini.fio, Kartini.date, Kartini.epoha,;
Kartini.museum;
FROM;
GIVOPIS!KARTINI;
WHEREKartini.fio = ( «Леонардо да Винчи» );
ORDERBY Kartini.name2.4 />Формуваннялокальних представлень даних
Представленняданих – це засіб перегляду даних з кількох пов’язаних між собою таблиць базиданих. За допомогою представлень даних можна об’єднати декілька таблиць в одну,вибрати необхідні поля таблиць, задавити умови відбору даних. Після створенняпредставлення даних його можна використовувати як звичайну таблицю в формах,звітах та при створенні запитів.
Представленняданих відрізняються від запитів наступним:
· На відміну від запитів представленняданих зберігаються попередній стан, тобто запити при їх запуску завжди зановостворюють результуючу таблицю, а представлення даних зберігають раніше створенутаблицю до тих пір, поки представлення не перекомпілювати.
· У конструкторі представлення даних єдодаткова вкладка, яка дозволяє вказати поля для модифікації даних та вказатикритерії обновлення даних для цих полів. Тобто представлення можна використовуватидля редагування таблиці, відкритої за допомогою представлення даних. Це недоступно у запиті до бази даних. Запит дає змогу тільки переглянути виведенідані.
· За допомогою представлення даних можназадати параметри, значення яких повинен буде ввести користувач при відкритіпредставлення даних. Так, наприклад, користувач може задавши якийсь параметрвибрати необхідні йому дані з таблиці по якомусь критерію.
· Також представлення даних дає змогузаздалегідь встановити кількість записів, що вибираються з таблиці.
· В представленнях даних можна встановитидодаткові опції до полів даних. Наприклад, задати нове ім’я поля даних чивстановити для нього тригер.
· Представлення даних є частиною базиданих, а запит – частиною проекту.
Вроботі створено 1 представлення даних, що виводить на екран дані прохудожників, епоху, до якої вони відносяться, історичний період епохи, їїосновні риси, картини художників, музеї в яких вони зберігаються та місце, дезнаходяться музеї. Це представлення даних показано нижче на рис. 2.26 і 2.27:

/>
Рис.2.26 – Створення локального представлення в конструкторі
/>
Рис.2.27 – Результат виконання представлення даних
SQL-код представлення даних:
SELECTHudogniki.fio, Hudogniki.epoha, Epohi.period, Epohi.cherti,;
Kartini.name,Kartini.museum, Museums.place;
FROM;
givopis!epohi;
INNERJOIN givopis!hudogniki ;
ONEpohi.name = Hudogniki.epoha ;
INNERJOIN givopis!kartini ;
ONHudogniki.fio = Kartini.fio;
ANDEpohi.name = Kartini.epoha ;
INNERJOIN givopis!museums ;
ONMuseums.name = Kartini.museum

/>/>2.5 Створення звітів
Звіт– це документ, при перегляді якого, видно, яка інформація зберігається у базіданих, тобто це форматоване представлення даних, яке виводиться на екран,принтер чи у файл. В звіті можна показати як часткову інформацію про данні, такі повну. Його можна представити у різному оформленні, в залежності від бажаннякористувача.
ВикористовуючиWizard, створюємо спочатку звичайний звіт, а потім звіт один-до-багатьох.
Узвичайному звіті обираємо таблицю для побудови звіту, способи сортуваннязаписів та опції підведення підсумків та зберігаємо звіт у вказаний каталог зподальшим редагуванням. Після збереження звіту відкриється вікно редакторазвітів, у якому редагуємо необхідні параметри (рис. 2.29). При бажанні звітможна також розпечатати.
/>
Рис.2.29 – Редагування звіту «Картини»

/>
Рис.2.30 – Фрагмент звіту «Картини»
Длястворення звіту один-до-багатьох — епохи — обираємо батьківську таблицю,дочірню таблицю та індекси, за якими таблиці зв'язуватимуться. Зберігаємо звітз подальшим редагуванням у конструкторі (рис. 2.31).
/>
Рис.2.31 – Редагування звіту «Епохи»

/>
Рис.2.32 – Фрагмент звіту «Епохи»/>/> 2.6 Створення власного меню
В даному розділістворимо власне меню, що викликає створені раніше запити, локальніпредставлення даних, форми та звіти. При запуску меню, його кнопки з’являються поміжстандартних кнопок меню. При створенні меню, стандартне меню (файл dovidnik_givopis_mainу вкладці Other→Menus)було русифіковано і до нього було додано меню проекту під назвою «Живопись».
Після закінченняредагування меню натискаємо кнопку Preview, переглядаємо отриманий результат тагенеруємо файл меню. Для цього обираємо пункт головного меню Menu→Generate…,погоджуємося із збереженням змін та обираємо каталог для збереження.
Вид цього менюпоказано нижче на рис. 2.33:
/>
Рис.2.33 – Власне меню проекту довідника аматора живопису

Опишемо створеніпункти меню:
1. Підменю Формы (має 4 пункти). Тутє посилання на 4 чотири форми, за допомогою яких можна також редагувати дані утаблицях.
Для виклику формв цьому підменю створюються наступні команди:
· Пункт «Художники»:
DOFORM “H:\Visual FoxPro Projects\Dovidnik_givopis\FORMS\artists.scx”
· Пункт «Картины»:
DOFORM “H:\Visual FoxPro Projects\Dovidnik_givopis\FORMS\pictures.scx”
· Пункт «Эпохи»:
DOFORM “H:\Visual FoxPro Projects\Dovidnik_givopis\FORMS\epoch.scx”
· Пункт «Музеи»:
DOFORM “H:\Visual FoxPro Projects\Dovidnik_givopis\FORMS\museums.scx”
2. Підменю Отчёты (має 2 пункти)призначене для перегляду звітів про склад бази даних.
Длявиклику звіту про картини потрібно використати наступну команду:
REPORTFORM
«H:\VisualFoxPro Projects\Dovidnik_givopis\REPORTS\PICTURES.FRX » PREVIEW
Длявиклику звіту про епохи живопису була використана наступна команда:
REPORTFORM
"H:\Visual FoxPro Projects\Dovidnik_givopis\REPORTS\EPOCH.FRX " PREVIEW
3. В підменю Запросы є 2 запити добази даних, що були створені раніше. Для їх виклику з меню потрібно використатитакі команди відповідно:
DO«h:\visual foxpro projects\dovidnik_givopis_2\queries\query1_hud.qpr»
DO«h:\visual foxproprojects\dovidnik_givopis_2\queries\query2_kart.qpr»
4. В підменю Представления є 1представлення даних бази даних, що було створене раніше. Для його виклику зменю потрібно теж створити процедуру та вписати в неї SQL-код представленняданих, що було приведене раніше./>/>/>2.7 Компіляціядодатку
візуальниймоделювання програмний
Післяпроведення усіх необхідних операцій над усіма компонентами створеної бази данихпереходимо до етапу безпосередньо розробки додатку для роботи з базою даних.Для того щоб створити самостійний додаток на основі розробленої бази данихнаводимо курсор на файл dovidnik_givopis_app, що міститься на вкладці Code,у групі Programs, та обираємо пункт контекстного меню файлу Set Main,що робить дану програму головною для проекту.
Післяцього обираємо пункт меню Project→Build… та у вікні, що з’явилося(рис. 2.34) обираємо Win32 executable/COM server (exe), залишаємопрапорці навпроти пунктів Recompile all files (Перекомпілювати усіфайли) та Display errors (Відображати помилки). Після цього програмазапропонує зберегти додаток у вказане місце. Обираємо каталог з проектом танатискаємо ОК.

/>
/>Рис./> 2.34– Компілювання додатку
Такимчином, спроектувавши додаток для роботи з базою даних бібліотечного каталогу,ми отримали практичні навички з розробки баз даних у Visual FoxPro, зокремастворення екранних форм та звітів, розробки меню та створення додатку дляроботи з базою даних.
/>3.Програмування програмної оболонки керування базами даних
 
Лістинг програми керування додатку менюDOVIDNIK_GIVOPIS_GO.MPR
**********************************************************
**
** 05/26/11 DOVIDNIK_GIVOPIS_GO.MPR 17:45:26
**
**********************************************************
**
** Миних
**
** Copyright (C) 2011 Криворожский Технический Университет
** Address
** Кривой Рог, Zip
** Украина
**
** Description:
** This PROGRAM was automatically generated BY GENMENU.
**
**********************************************************
**********************************************************
**
** Setup Code
**
**********************************************************
*
*This file is a generated, framework-enabling component
*created by APPBUILDER
*(c) Microsoft Corporation
#INCLUDE[..\DOVIDNIK_GIVOPIS_APP.H]
**********************************************************
**
** Menu Definition
**
**********************************************************
*
DEFINEPAD _msm_Go OF _MSYSMENU PROMPT "\
BEFORE_MWINDOW ;
KEYALT+G, «ALT+G» ;
MESSAGE«Navigates the currently selected table, cursor, or view»
ONPAD _msm_Go OF _MSYSMENU ACTIVATE POPUP перейти
DEFINEPOPUP перейти MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF перейти PROMPT "\
DEFINEBAR 2 OF перейти PROMPT "\
DEFINEBAR 3 OF перейти PROMPT "\
DEFINEBAR 4 OF перейти PROMPT "\
DEFINEBAR 5 OF перейти PROMPT "\-"
DEFINEBAR 6 OF перейти PROMPT "\
DEFINEBAR 7 OF перейти PROMPT "\
DEFINEBAR 8 OF перейти PROMPT "\
DEFINEBAR 9 OF перейти PROMPT "\
DEFINEBAR 10 OF перейти PROMPT «Установить \
ONSELECTION BAR 1 OF перейти APP_GLOBAL.GoTop()
ONSELECTION BAR 2 OF перейти APP_GLOBAL.GoBottom()
ONSELECTION BAR 3 OF перейти APP_GLOBAL.GoNext()
ONSELECTION BAR 4 OF перейти APP_GLOBAL.GoPrevious()
ONSELECTION BAR 6 OF перейти APP_GLOBAL.ShowTableGoToDialog()
ONSELECTION BAR 7 OF перейти APP_GLOBAL.ShowTableFindDialog()
ONSELECTION BAR 8 OF перейти APP_GLOBAL.DoSort(,,,.F.)
ONSELECTION BAR 9 OF перейти APP_GLOBAL.DoSort(,,,.T.)
ONSELECTION BAR 10 OF перейти APP_GLOBAL.ShowTableSetFilterDialog()
ONSELECTION POPUP перейти MESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
Лістинг програми керування додатку менюDOVIDNIK_GIVOPIS_MAIN.MPR
**********************************************************
**
** 05/31/11 DOVIDNIK_GIVOPIS_MAIN.MPR 18:21:36
**
**********************************************************
**
** Миних
**
** Copyright (C) 2011 Криворожский Технический Университет
** Address
** Кривой Рог, Zip
** Украина
**
** Description:
** This PROGRAM was automatically generated BY GENMENU.
**
**********************************************************
**********************************************************
**
** Setup Code
**
**********************************************************
*
*This file is a generated, framework-enabling component
*created by APPBUILDER
*(c) Microsoft Corporation
#INCLUDE[..\DOVIDNIK_GIVOPIS_APP.H]
**********************************************************
**
** Menu Definition
**
**********************************************************
*
SETSYSMENU TO
SETSYSMENU AUTOMATIC
DEFINEPAD _msm_file OF _MSYSMENU PROMPT "\
NEGOTIATELEFT, NONE ;
KEYALT+F, "" ;
MESSAGE«Creates, opens, saves, prints files or quits „+APP_GLOBAL.cCaption
DEFINEPAD _msm_edit OF _MSYSMENU PROMPT “\
KEYALT+E, "" ;
MESSAGE«Edits text or current selection»
DEFINEPAD _msm_tools OF _MSYSMENU PROMPT "\
KEYALT+T, ""
DEFINEPAD _msm_run OF _MSYSMENU PROMPT "\
NEGOTIATELEFT, NONE ;
KEYALT+G, "" ;
MESSAGE«Запуск форму, отчётов, запросов по живописи»
DEFINEPAD _msm_prog OF _MSYSMENU PROMPT "\
NEGOTIATEMIDDLE, NONE ;
KEYALT+P, "" ;
MESSAGE«Runs, debugs, compiles, and suspends programs»
DEFINEPAD _msm_fave OF _MSYSMENU PROMPT «И\
KEYALT+A, «ALT+A» ;
MESSAGE«Easy access to favorite documents»
DEFINEPAD _msm_windo OF _MSYSMENU PROMPT "\
NEGOTIATERIGHT, NONE ;
KEYALT+W, ""
DEFINEPAD _msm_systm OF _MSYSMENU PROMPT "\
KEYALT+H, ""
ONPAD _msm_file OF _MSYSMENU ACTIVATE POPUP файл
ONPAD _msm_edit OF _MSYSMENU ACTIVATE POPUP правка
ONPAD _msm_tools OF _MSYSMENU ACTIVATE POPUP сервис
ONPAD _msm_run OF _MSYSMENU ACTIVATE POPUP живопись
ONPAD _msm_prog OF _MSYSMENU ACTIVATE POPUP программа
ONPAD _msm_fave OF _MSYSMENU ACTIVATE POPUP избранное
ONPAD _msm_windo OF _MSYSMENU ACTIVATE POPUP окно
ONPAD _msm_systm OF _MSYSMENU ACTIVATE POPUP помощь
DEFINEPOPUP файл MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF файл PROMPT "\
MESSAGE«Creates a document»
DEFINEBAR 2 OF файл PROMPT "\
MESSAGE«Opens a document»
DEFINEBAR 3 OF файл PROMPT "\
SKIPFOR TYPE("_SCREEN.Activeform") # «O» OR_SCREEN.ActiveForm.ShowWindow = 2 ;
MESSAGE«Closes the active form»
DEFINEBAR 4 OF файл PROMPT "\-"
DEFINEBAR 5 OF файл PROMPT "\
SKIPFOR EMPTY(AUSED(latemp)) ;
MESSAGE«Saves the editing on the current form or formset»
DEFINEBAR 6 OF файл PROMPT "\
SKIPFOR EMPTY(AUSED(latemp)) ;
MESSAGE«Reverts the editing on the current form or formset»
DEFINEBAR 7 OF файл PROMPT "\-"
DEFINEBAR 8 OF файл PROMPT «Печат\
SKIPFOR EMPTY(AUSED(latemp)) ;
MESSAGE«Prints current data»
DEFINEBAR 9 OF файл PROMPT "\
MESSAGE«Picks a report»
DEFINEBAR 10 OF файл PROMPT «На\
DEFINEBAR 11 OF файл PROMPT "\-"
DEFINEBAR 12 OF файл PROMPT "\
MESSAGE«Picks a form or report document to run»
DEFINEBAR 13 OF файл PROMPT "\
MESSAGE«Log in as a different User»
DEFINEBAR 14 OF файл PROMPT "\-"
DEFINEBAR 15 OF файл PROMPT «В\
MESSAGE«Exit „+APP_GLOBAL.cCaption
ONSELECTION BAR 1 OF файл APP_GLOBAL.DoNewOpen(.T.)
ONSELECTION BAR 2 OF файл APP_GLOBAL.DoNewOpen()
ONSELECTION BAR 3 OF файлIIF(APP_GLOBAL.QueryDataSessionUnload(),APP_GLOBAL.ReleaseForm(),.T)
ONSELECTION BAR 5 OF файл APP_GLOBAL.DataUpdate()
ONSELECTION BAR 6 OF файл APP_GLOBAL.DataRevert()
ONSELECTION BAR 8 OF файл APP_GLOBAL.DoTableOutput()
ONSELECTION BAR 9 OF файл APP_GLOBAL.DoReportDialog()
ONSELECTION BAR 10 OF файл SET PRINTER TO NAME (SYS(1037))
ONSELECTION BAR 12 OF файл APP_GLOBAL.DoStartupForm()
ONSELECTION BAR 13 OF файлIIF(APP_GLOBAL.ReleaseForms(),IIF(APP_GLOBAL.SetCurrentUser(.T.),.T.,APP_GLOBAL.Release()),.T.)
ONSELECTION BAR 15 OF файл APP_GLOBAL.Release()
DEFINEPOPUP правка MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR _med_undo OF правка PROMPT “\
KEYCTRL+Z, «Ctrl+Z» ;
MESSAGE«Undoes the last command or action»
DEFINEBAR _med_redo OF правка PROMPT «По\
KEYCTRL+R, «Ctrl+R» ;
MESSAGE«Repeats the last command or action»
DEFINEBAR _med_sp100 OF правка PROMPT "\-"
DEFINEBAR _med_cut OF правка PROMPT «Вы\
KEYCTRL+X, «Ctrl+X» ;
MESSAGE«Removes the selection and places it onto the Clipboard»
DEFINEBAR _med_copy OF правка PROMPT "\
KEYCTRL+C, «Ctrl+C» ;
MESSAGE«Copies the selection onto the Clipboard»
DEFINEBAR _med_paste OF правка PROMPT "\
KEYCTRL+V, «Ctrl+V» ;
MESSAGE«Pastes the contents of the Clipboard»
DEFINEBAR _med_clear OF правка PROMPT «Очи\
MESSAGE«Removes the selection and does not place it onto the Clipboard»
DEFINEBAR _med_sp200 OF правка PROMPT "\-"
DEFINEBAR _med_slcta OF правка PROMPT «Вы\
KEYCTRL+A, «Ctrl+A» ;
MESSAGE«Selects all text or items in the current window»
DEFINEBAR _med_sp300 OF правка PROMPT "\-"
DEFINEBAR _med_find OF правка PROMPT "\
KEYCTRL+F, «Ctrl+F» ;
MESSAGE«Searches for specified text»
DEFINEBAR _med_finda OF правка PROMPT «Найти е\
KEYCTRL+G, «Ctrl+G» ;
MESSAGE«Repeats the last search»
DEFINEBAR _med_repl OF правка PROMPT «З\
KEYCTRL+L, «Ctrl+L» ;
MESSAGE«Replaces specified text with different text»
DEFINEPOPUP сервис MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF сервис PROMPT «М\
MESSAGE«Creates, deletes, or revises a keyboard macro»
DEFINEBAR 2 OF сервис PROMPT "\
DEFINEBAR 3 OF сервис PROMPT "\-"
DEFINEBAR 4 OF сервис PROMPT "\
DEFINEBAR 5 OF сервис PROMPT "\
ONBAR 1 OF сервис ACTIVATE POPUP макрос
ONBAR 2 OF сервис ACTIVATE POPUP логиошибок
ONSELECTION BAR 4 OF сервис APP_GLOBAL.DoOptionsDialog()
ONSELECTION BAR 5 OF сервис APP_GLOBAL.DoChangePassword()
DEFINEPOPUP макрос MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF макрос PROMPT "\
DEFINEBAR 2 OF макрос PROMPT "\
DEFINEBAR 3 OF макрос PROMPT "\
DEFINEBAR 4 OF макрос PROMPT «Восстановить \
ONSELECTION BAR 1 OF макрос KEYBOARD("{"+SET(«MACKEY»)+"}")
ONSELECTION BAR 2 OF макрос CLEAR MACROS
ONSELECTION BAR 3 OF макрос APP_GLOBAL.SetMacros(.T.)
ONSELECTION BAR 4 OF макрос APP_GLOBAL.SetMacros()
DEFINEPOPUP логиошибок MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF логиошибок PROMPT "\
DEFINEBAR 2 OF логиошибок PROMPT "\
DEFINEBAR 3 OF логиошибок PROMPT "\
ONSELECTION BAR 1 OF логиошибок APP_GLOBAL.DisplayErrorLog()
ONSELECTION BAR 2 OF логиошибок APP_GLOBAL.ExportErrorLog()
ONSELECTION BAR 3 OF логиошибок APP_GLOBAL.PurgeErrorLog()
DEFINEPOPUP живопись MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF живопись PROMPT "\
DEFINEBAR 2 OF живопись PROMPT "\
DEFINEBAR 3 OF живопись PROMPT "\
DEFINEBAR 4 OF живопись PROMPT "\
ONBAR 1 OF живопись ACTIVATE POPUP формы
ONBAR 2 OF живопись ACTIVATE POPUP отчёты
ONBAR 3 OF живопись ACTIVATE POPUP запросы
ONBAR 4 OF живопись ACTIVATE POPUP представле
DEFINEPOPUP формы MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF формы PROMPT "\
DEFINEBAR 2 OF формы PROMPT "\
DEFINEBAR 3 OF формы PROMPT "\
DEFINEBAR 4 OF формы PROMPT "\
ONSELECTION BAR 1 OF формы DO FORM «H:\Visual FoxProProjects\Dovidnik_givopis\FORMS\artists.scx»
ONSELECTION BAR 2 OF формы DO FORM «H:\Visual FoxProProjects\Dovidnik_givopis\FORMS\pictures.scx»
ONSELECTION BAR 3 OF формы DO FORM «H:\Visual FoxProProjects\Dovidnik_givopis\FORMS\epoch.scx»
ONSELECTION BAR 4 OF формы DO FORM «H:\Visual FoxPro Projects\Dovidnik_givopis\FORMS\museums.scx»
DEFINEPOPUP отчёты MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF отчёты PROMPT "\
DEFINEBAR 2 OF отчёты PROMPT "\
ONSELECTION BAR 1 OF отчёты REPORT FORM «H:\Visual FoxProProjects\Dovidnik_givopis\REPORTS\KARTINI.FRX » PREVIEW
ONSELECTION BAR 2 OF отчёты REPORT FORM " H:\Visual FoxProProjects\Dovidnik_givopis\REPORTS\EPOHI.FRX " PREVIEW
DEFINEPOPUP запросы MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF запросы PROMPT "\
DEFINEBAR 2 OF запросы PROMPT "\
ONSELECTION BAR 1 OF запросы DO «h:\visual foxproprojects\dovidnik_givopis_2\queries\query1_hud.qpr»
ONSELECTION BAR 2 OF запросы DO «h:\visual foxproprojects\dovidnik_givopis_2\queries\query2_kart.qpr»
DEFINEPOPUP представле MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF представле PROMPT "\
ONSELECTION BAR 1 OF представле ;
DO_38c13cokn ;
INLOCFILE(«DOVIDNIK_GIVOPIS_2\MENUS\DOVIDNIK_GIVOPIS_MAIN»,«MPX;MPR|FXP;PRG» ,«WHERE is DOVIDNIK_GIVOPIS_MAIN?»)
DEFINEPOPUP программа MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR _mpr_do OF программа PROMPT "\
MESSAGE«Runs a program, application, form, report, query, or menu»
DEFINEBAR _mpr_cancl OF программа PROMPT "\
MESSAGE«Stops running the current program»
DEFINEBAR _mpr_resum OF программа PROMPT "\
MESSAGE«Resumes running the current suspended program»
DEFINEBAR _mpr_suspend OF программа PROMPT "\
MESSAGE«Suspends the currently running program»
DEFINEBAR _mpr_compl OF программа PROMPT «С\
MESSAGE«Compiles the current or selected program»
DEFINEBAR 6 OF программа PROMPT "\-"
DEFINEBAR 7 OF программа PROMPT «Отл\
DEFINEBAR 8 OF программа PROMPT «С\
DEFINEBAR 9 OF программа PROMPT «Ко\
DEFINEBAR 10 OF программа PROMPT "\-"
DEFINEBAR _mtl_browser OF программа PROMPT «Проводник \
MESSAGE«Runs the Class Browser»
ONSELECTION BAR 7 OF программа DEBUG
ONSELECTION BAR 8 OF программа APP_GLOBAL.ActivateSystemWindow(«View»)
ONSELECTION BAR 9 OF программаAPP_GLOBAL.ActivateSystemWindow(«Command»)
DEFINEPOPUP избранное MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF избранное PROMPT "\
MESSAGE«Add to Favorites menu»
DEFINEBAR 2 OF избранное PROMPT "\
MESSAGE«Clear list of Favorites»
DEFINEBAR 3 OF избранное PROMPT "\-"
ONSELECTION BAR 1 OF избранное APP_GLOBAL.DoStartupForm(.T.)
ONSELECTION BAR 2 OF избранное APP_GLOBAL.ClearFavorites()
DEFINEPOPUP окно MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF окно PROMPT "\
DEFINEBAR _mwi_arran OF окно PROMPT "\
MESSAGE«Arranges windows as non-overlapping tiles»
DEFINEBAR _mwi_rotat OF окно PROMPT «Ц\
KEYCTRL+F1, «CTRL+F1»
ONSELECTION BAR 1 OF окно APP_GLOBAL.CascadeAll()
DEFINEPOPUP помощь MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINEBAR 1 OF помощь PROMPT "\
KEYF1, «F1»
DEFINEBAR 2 OF помощь PROMPT "\-"
DEFINEBAR 3 OF помощь PROMPT "\
ONSELECTION BAR 1 OF помощь APP_GLOBAL.DoHelp()
ONSELECTION BAR 3 OF помощь APP_GLOBAL.DoAboutBox()
ONSELECTION POPUP файл MESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
ONSELECTION POPUP сервисMESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
ONSELECTION POPUP логиошибокMESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
ONSELECTION POPUP программа MESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
ONSELECTION POPUP избранноеMESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
ONSELECTION POPUP окноMESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
ONSELECTION POPUP помощь MESSAGEBOX(APP_FEATURE_NOT_AVAILABLE_LOC,0,APP_GLOBAL.cCaption)
**********************************************************
**
** Cleanup Code & Procedures
**
**********************************************************
*
*none of these statements will work
*in exactly this way in a Top menu --
*we'll use the array elements
IFVERSION(2) = 0
RELEASEPAD _msm_prog OF _MSYSMENU
RELEASEPOPUP _mprog EXTENDED
SETSYSMENU SAVE
SETSYSMENU TO
SETSYSMENU TO DEFAULT
ENDIF
*the program pad items, above, always get
*get released in runtime, but some items
*specific to application state may be
*released or disabled as you choose:
IFNOT APP_GLOBAL.lReleaseUnusedMenuItems
IFEMPTY(APP_GLOBAL.cHelpFile)
SETSKIP OF BAR 1 OF _msystem .T.
ENDIF
IFEMPTY(APP_GLOBAL.cOptionsDialogClass)
SETSKIP OF BAR 4 OF _mtools .T.
ENDIF
IFEMPTY(APP_GLOBAL.cAboutBoxClass)
SETSKIP OF BAR 3 OF _msystem .T.
ENDIF
IFEMPTY(APP_GLOBAL.cStartupFormClass) ;
ORNOT (APP_GLOBAL.lStartupForm)
SETSKIP OF BAR 12 OF _mfile .T.
ENDIF
IFNOT APP_GLOBAL.lUserPreferences
SETSKIP OF BAR 13 OF _mfile .T.
SETSKIP OF BAR 5 OF _mtools .T.
ENDIF
ELSE
*if you prefer
IFEMPTY(APP_GLOBAL.cOptionsDialogClass)
RELEASEBAR 4 OF _mtools
ENDIF
IFEMPTY(APP_GLOBAL.cAboutBoxClass)
RELEASEBAR 3 OF _msystem
ENDIF
IFEMPTY(APP_GLOBAL.cHelpFile)
RELEASEBAR 1 OF _msystem
RELEASEBAR 2 OF _msystem
ENDIF
IFNOT APP_GLOBAL.lUserPreferences
RELEASEBAR 13 OF _mfile
RELEASEBAR 14 OF _mfile
RELEASEBAR 5 OF _mtools
ENDIF
IFEMPTY(APP_GLOBAL.cStartupFormClass) ;
ORNOT (APP_GLOBAL.lStartupForm)
RELEASEBAR 12 OF _mfile
ENDIF
ENDIF
IF(NOT APP_GLOBAL.lReadEvents)
*unlikely for a Replace-style menu unless
*Top Form, but the following
*isn't safe in a non-ReadEvents environment
RELEASEBAR 1 OF _mTools
RELEASEPOPUP _mMacros
ELSE
APP_GLOBAL.cMacroPopupName= "_mMacros"
APP_GLOBAL.SetMacros()&& refresh to appropriately disable bar
IFEMPTY(SET(«MACKEY»))
RELEASEBAR 1 OF _mMacros
ENDIF
ENDIF
IF(NOT APP_GLOBAL.lFavorites)
RELEASEPAD _msm_Fave OF _MSYSMENU
RELEASEPOPUP _mfave EXTENDED
ACTIMENU _MSYSMENU NOWAIT
ELSE
APP_GLOBAL.cFavoritePopupName= "_mFave"
APP_GLOBAL.RefreshFavoritePopup()
ENDIF
**********************************************************
**
** _38C13COKN ON SELECTION BAR 1 OF POPUP представле
**
** Procedure Origin:
**
** From Menu: DOVIDNIK_GIVOPIS_MAIN.MPR, Record: 69
** Called By: ON SELECTION BAR 1 OF POPUP представле
** Prompt: Живопись
** Snippet: 1
**
**********************************************************
*
PROCEDURE_38c13cokn
SELECTHudogniki.fio, Hudogniki.epoha, Epohi.period, Epohi.cherti,;
Kartini.name,Kartini.museum, Museums.place;
FROM;
givopis!epohi;
INNERJOIN givopis!hudogniki ;
ONEpohi.name = Hudogniki.epoha ;
INNERJOIN givopis!kartini ;
ONHudogniki.fio = Kartini.fio;
ANDEpohi.name = Kartini.epoha ;
INNERJOIN givopis!museums ;
ONMuseums.name = Kartini.museum 
4.Створення інсталяційного пакету
 
Створенняінсталяційного пакету будемо проводити за допомогою програми InstallSheldExpress Visual FoxPro Limited Edition:
1. Запускаємо програму InstallSheld ExpressVisual FoxPro Limited Edition (Рис. 4.1)
/>
Рис.4.1 – Головне вікно InstallSheld Express Visual FoxPro Limited Edition
 
2. Створюємо новий проект (Рис. 4.2)
/>
Рис.4.2 – Вікно New Project

ВводимоApplication Information, як показано на рис. 4.3.
 
/>
Рис.4.3 – Вікно Application Information
3. Вставляємо потрібну нам БД доінсталяційного пакету (Рис. 4.4)
 
/>
Рис.4.4 – Вкладка Application Files
4. Будуємо інсталяційний пакет (Рис. 4.5).

/>
Рис. 4.5 –Створення інсталяційного пакету програми
 
5. Після створення інсталяційного пакету записуємойого на диск.
/>Висновки
 
Бази данихвідіграють велику роль у сучасному світі. Все з чим ми сьогоденнязустрічаємось, швидше всього зареєстровано в тій чи іншій базі. При роботі звеликим обсягом даних важливу роль відіграє їх наглядність. Тому часто даніпредставляють у вигляді таблиць. На прикладі баз даних ми ознайомимось з тим,як організовується збереження і обробка даних в таблиці, для зручностіредагування та перегляду даних зробимо форми та звіти. Вміння працювати збазами даних сьогодні є одним з найважливіших навиків роботи з комп’ютером, аспеціалісти з цієї галузі ніколи не залишаться безробітними.
Результатомданої роботи є база даних під назвою «Довідник аматора живопису». В цій базіданих, окрім таблиць, що містять інформацію про художників, картини, епохиживопису, музеї та інше, є також форми, що забезпечують користувачевіможливості перегляду і редагування бази даних. Були також створені запити, якіпоказують окремі частини бази даних, які відібрані по певному критерію, а такожпредставлення даних, що забезпечує користувачеві можливість перегляду повноговмісту бази даних.
База даних маєвласне меню, в якому є всі запити, форми, представлення даних та багато іншого.
Таким чином, привиконанні курсової роботи були отримані практичні навички розробки баз даних тадодатків для керування ними у Visual FoxPro.
/>/>Перелік використаної літератури
1. Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базыданных: учебник для высших учебных заведений. – 3-е издание, дополненное ипереработанное. – СПБ: Корона принт, 2003. – 672 с.
2. Агальцов В. П. Базы данных. – М.: Мир, 2002. – 376с.
3. Русскоязычная справка Visual FoxPro 8.
4. Иллюстрированный самоучитель по Visual FoxPro 7
5. Методичний посібник з лабораторного практикуму.Частина 1 та 2. /Склали П.В. Бурнасов, М.П.Тиханський, Л.І.Єфименко — КривийРіг: КТУ, 2002.
6. Методичний посібник для проектування іпрограмування додатків з використанням СУБД для студентів спеціальностей8.0101.04, 8.0914.01, 7.091501 усіх форм навчання / Укладач П.В. Бурнасов — Кривий Ріг: КТУ, 2003.
7. Ставровский А.Б. «Fox для начинающих: Учебноепособие» — К.: Издательская группа BHV, 2000. – 400 с.
8. 3. Глушаков С.В., Сурядный А.С. «Персональныйкомпьютер». – 5-е изд., доп. и перераб. – Харьков: Фолио, 2007. – 500 с. –(Учебный курс).
9. Електронний ресурс: www.museum-online.ru/
10. Електронний ресурс:
11. http://av-gostemilov-foxpro.narod.ru/Glava11/Index10.htm
12. Електронний ресурс: www.yworld.ru/book/info/Glava13/Index6.htm


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.