Розробка бази даних "Салон краси"
Проектування бази даних у середовищі Visual FoxPro 9.0. Реалізація можливості вносити та зберігати дані про клієнтів салону, про співробітників, перелік послуг, які надає салон. Створення форм та таблиць. Керівництво користувача і лістинг програми.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 02.09.2016 |
Размер файла | 4,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Зміст
Анотація
Введення
1. Загальна частина
1.1 Технічне завдання
1.2 Постановка задачі
1.3 Проектування інформаційної моделі
2. Порядок побудови
2.1 Створення таблиць
2.2 Створення форм
2.3 Створення звітів
Висновки
Література
Додаток 1. Керівництво користувача
Додаток 2. Лістинг програми
Анотація
В даному курсовому проекті було розроблено базу даних «Салон краси». Для проектування було обрано мову програмування Visual FoxPro 9.0. В програмі реалізовано можливість вносити та зберігати дані про клієнтів салону, про співробітників, перелік послуг, які надає салон, а також про надані послуги. Програма складається з 4 таблиць, 9 форм та 3 звітів.
Annotation
In this course project has developed a database of «Beauty Shop». For the design was chosen programming language Visual FoxPro 9.0. The program implemented the ability to make and store customer data interior of employees, services offered by the salon, as well as the services provided. The program consists of 4 tables 3 and 9 of reports.
Введення
Темою мого курсового проекту є створення бази даних салону краси, який я назву Краса. База даних, яка розроблятиметься, належить до електронних сховищ, які є дуже розповсюдженими в сучасному світі. До особливостей таких сховищ можна віднести наступне:
· Великий масив інформаційного контенту, що регулярно оновлюється;
· Велика база товарів та клієнтів, що постійно змінюється;
· Велика база запитів та їх обробка.
В сучасному світі, асортимент послуг, які надають салони краси вражає своїм розмахом. Але від цього попит на красу не зменшується, адже всі хочуть бути гарними та доглянутими та йти в ногу з сучасністю. Попит на послуги салонів краси неухильно росте. У сучасному суспільстві вважається непристойним з'являтися без манікюру-педікюру, зачіски, доглянутого тіла, а в домашніх умовах такого ж ефекту домогтися складно, та й немаловажним фактором є економія часу, сил й отримання позитивних емоцій. Також без автоматизації та комп'ютерного супроводу сьогодні неможливо уявити жодну сферу діяльності.
В базі даних салону краси буде доцільно зберігати інформацію про співробітників та контактні дані клієнтів салону, мати повний перелік послуг, які надає салон, записувати, редагувати, видаляти всю потрібну інформацію. А також зберігати замовлення, тобто надані послуги салону краси до електронної бази.
Створення такої бази даних дозволить не тільки швидше переглядати весь наявний перелік послуг в салоні краси, але й значно полегшить роботу оператора/користувачча, так дозволить зберігати всі потрібні дані в електронному вигляді та за необхідності, швидко їх оброблювати.
База даних буде мати зручний та зрозумілий інтерфейс, який значно спростить роботу оператора-користувача з усією системою.
Для можливості виведення на друк я також буду створювати необхідні звіти.
З розвитком постановки завдання в базі даних також буде передбачено та створено можливість отримання клубної, тобто зниженої ціни, на отримання послуг в салоні, а також систему знижок: якщо клієнт салону за один календарний день отримає послуг на 3000 грн або більше, то на останню з замовлених послуг йому буде надано знижку у розмірі 50% від її вартості.
База даних буде створена з використанням системи керування базами даних Visual FoxPro 9.0.
1. Загальна частина
1.1 Технічне завдання
Найменування та область застосування
Даний курсовий проект буде використовуватися для ведення бази даних салону краси, а також буде мати можливість надавати повний перелік клієнтів салону, співробітників, виводити та проводити відбір послуг та записувати дані про надані послуги в салоні. Всі дані будуть вводитися та оброблюватися за допомогою форм, а зберігатися в таблицях.
Підстава для розробки
Завдання видане викладачем Граф М.С. та затверджене головою циклової комісії КТ та Пр Окуньковою О.О. та заступником директора з навчальної роботи Силантьєвою О.С. 04.12.2015р.
Вимоги до програмного забезпечення
Для створення бази даних я використала СКБД FoxPro 9.0. Для успішної роботи бази даних на комп'ютері повинна бути встановлена операційна система Windows XP та СКБД FoxPro 9.0.
Вимоги до апаратного забезпечення
· рроцесор 500 Мгц або більше;
· ОЗУ 256 Мб або більше;
· графічний процесор;
· вільне місце на диску 100 Мб або більше.
Вимоги до програмного продукту
1. Вимоги до функціональних характеристик
· Введення/виведення інформації
· Вилучення даних
· Пошук даних
· Фільтрування даних
· Друк вибіркової інформації
2. Вимоги до надійності
· Передбачити контроль інформації що вводиться
· Захист ключових полів від некоректного введення (автоматичне заповнення)
· Цілісність інформації в базі даних
1.2 Постановка задачі
Вхідними даними для рішення поставленої задачі автоматизації роботи салону краси є:
· перелік послуг, які надаються в салоні;
· дані про співробітників;
· дані про клієнтів салону.
Вихідними даними є перегляд послуг, які надаються в салоні краси відповідно заданому критерію, можливість оформлення послуги, пошук потрібної інформації.
Всі дані розбито на таблиці “Клієнти”, “Співробітники”, «Послуги» та «Замовлення». Перелік інформації, що вводиться:
Про клієнтів:
- Код клієнта;
- Назва або ПІБ клієнта;
- Телефон.
Про співробітників:
- Код співробітника;
- Прізвище;
- Ім'я;
- По батькові;
- Адреса;
- Телефон;
- Дата народження.
Про послуги:
- Код послуги;
- Група послуги або її вид;
- Найменування послуги;
- Тривалість послуги;
- Ціна;
- Клубна ціна.
Інформація про отримані послуги/замовлення:
- Код замовлення;
- Код послуги;
- Код співробітника;
- Код клієнта;
- Дата;
- Кількість;
- Сплачена вартість.
В базі даних створено чотири таблиці, кожна з яких має свій набір полів різних типів. (таблиця 1)
Таблиця 1
Назва поля в БД |
Призначення поля |
Тип поля |
Довжина поля |
|
Таблиця послуг |
||||
id_pos |
Код послуги |
Numeric |
6 |
|
vid |
Вид послуги |
Character |
25 |
|
naimenov |
Найменування |
Character |
100 |
|
trivalist |
Тривалість |
Numeric |
3 |
|
cina |
Ціна |
Numeric |
8 |
|
cina_kl |
Клубна ціна |
Numeric |
8 |
|
Таблиця співробітників |
||||
id_sp |
Код співробітника |
Numeric |
4 |
|
priz |
Прізвище співробітника |
Character |
30 |
|
imya |
Ім'я співробітника |
Character |
20 |
|
pobatk |
По батькові співробітника |
Character |
25 |
|
adress |
Адреса співробітника |
Character |
100 |
|
telefon |
Телефон співробітника |
Numeric |
10 |
|
data_nar |
Дата народження |
Date |
8 |
|
Таблиця клієнтів |
||||
id_kl |
Код клієнта |
Numeric |
6 |
|
priz |
Прізвище |
Character |
30 |
|
imya |
Ім'я |
Character |
20 |
|
pobatk |
По батькові |
Numeric |
25 |
|
telefon |
Телефон |
Numeric |
10 |
|
Таблиця замовлення |
||||
id_zam |
Код замовлення |
Numeric |
4 |
|
id_pos |
Код послуги |
Numeric |
4 |
|
id_sp |
Код співробітника |
Numeric |
4 |
|
id_kl |
Код клієнта |
Numeric |
4 |
|
data |
Дата |
Numeric |
3 |
|
kilkist |
Кількість |
Numeric |
10 |
|
vartist |
Вартість |
Date |
8 |
Для створення бази даних використовується СКБД FoxPro 9.0. Програма працює від керуванням операційної системи Windows XP або вище.
1.3 Проектування інформаційної моделі
база дані лістинг таблиця
При проектуванні бази даних я розбила всі вхідні дані на таблиці, створила таблиці та розробила інформаційну модель мого проекту (рис.1).
Рис.1.
Між всіма створеними таблицями я встановила зв'язки між відповідними полями. Тип зв'язку, який я обрав один-до-багатьох. Тобто, можна задати одному клієнту декілька послуг, або одному співробітнику декілька продажів і т.д. Для того, щоб встановити такий тип зв'язку, потрібно вказати в одній таблиці (наприклад в таблиці співробітників або в таблиці клієнтів) індексне поле з типом індексу Primery, а в іншій таблиці - індексне поле з типом Regular (наприклад поля код_клієнта та код співробітника в таблиці продажу).
2. Порядок побудови
2.1 Створення таблиць
При побудовів спочатку я створив проект з назвою cosm.pjx, в проекті створив базу даних з назвою cosm, в створеній базі даних я створив чотири таблиці в режимі конструктора.
При створенні таблиці, до якої будуть в майбутньому заноситися інформація про послуги салону краси я вказав наступні поля, обрав типи полів, довжину кожного поля та поле, яке за яким буде встановлено зв'язок (рис.2).
Рис.2.
І полі код_послуги я обрав тип індексу:
Рис.3
Другою таблицею я створив таблицю, до якої можна буде вносити всю необхідну інформацію про співробітників салону краси. В якості індексного поля я обрав поле код_співробітника.
Рис.4
Тип індексу для поля код_співробітника я обрав як показано на рис.5.
Рис.5
Третя таблиця в базі - таблиця з інформацією про клієнтів салону. В даній таблиці буде розміщено основну інформацію про клієнтів салону. В полі назва_прізвище буде вноситися інформація про назву організації, яка купує товар або прізвище, якщо покупцем є приватна особа.
Рис.6
Тип індексного поля я встановив як показано на рис.7.
Рис.7
Остання, четверта таблиця в моїй базі даних - це таблиця з інформацією про надані послуги (замовлення). В даній таблиці буде зберігатися інформація про надані послуги, дату оформлення, кількість, а також коди клієнтів, які купили той чи інший товар, коди співробітників, які даний товар продали та кінцева сплачена ціна (поле вартість), в якій вже враховано клубна цана або звичайна, а також чи було надано знижку.
Рис.8
В даній таблиці для одного поля, код_замовлення, я вказав тип індексу Primery, для полів код_послуги, код_співробітника та код_клієнта - тип індексу Regular (рис.9).
Рис.9
Після того, як всі таблиці було спроектовано, встановлено всі необхідні зв'язки між відповідними полями таблиць, я вніс до кожної таблиці відповідні дані.
Таблиця з переліком послуг салону краси наступний вигляд:
Рис.10
Таблиця з внесеною інформацією про співробітників, які працюють в салоні краси:
Рис.11
Рис.12
Рис.13
2.2 Створення форм
Після створення таблиць в проекті моєї бази даних я почав створювати форми. Робота у формах можлива буде з будь-якою інформацією, яку вміщує база даних. Користувачу-оператору значно легше працювати з інформацією у вигляді форм, тому що вони мають більш привабливий та звичний вигляд.
Всі форми в моєму проекті я створив у режимі конструктора. Даний режим створення форм дозволяє створювати форми за власним смаком, додавати всі необхідні елементи, проводити сортування та фільтрація необхідних даних, проводити підрахунки та багато іншого.
Першою формою я створив форму, за допомогою якої можна буде додавати та вилучати дані про клієнтів салону краси. Також в даній формі можна по одному переглянути інформацію про кожного клієнта магазину. В режимі конструктора форма має вигляд як приведено на рис.14.
Рис.14
Дану форму я створював за допомогою FormSet, тобто за допомого вбудованої опції, яка дозволяє створювати в одній формі декілька форм. В даному випадку я обрала саме такий режим проектування тому що він дозволяє більш легко організувати можливість проведення пошуку потрібної інформації. Для пошуку я обрав поле Назва_ПІБ клієнта.
Кнопки в даній формі мають такі коди:
Перший запис:
GO TOP
thisform.Refresh
Наступний запис
IF RECNO()!=RECCOUNT()
SKIP 1
ELSE
MESSAGEBOX(" Останній запис")
endif
thisform.refresh
Попередній запис:
IF RECNO()!=1 THEN
skip-1
ELSE
MESSAGEBOX('Ви знаходитесь на першому записі')
ENDIF
thisform.refresh
Останній запис:
GO BOTTOM
thisform.Refresh
Додати клієнта:
GO BOTTOM
n=klienti.id_kl
p=n+1
APPEND BLANK
REPLACE klienti.id_kl WITH p
thisform.Refresh
Видалити клієнта:
DELETE
nAnswer =MESSAGEBOX("Ви дійсно хочете вилучити запис?",36,"Запит на вилучення")
DO CASE
CASE nAnswer = 6
pack
CASE nAnswer = 7
RECALL
ENDCASE
IF RECNO()=RECCOUNT()
SKIP -1
ELSE SKIP 1
ENDIF
thisform.refresh
Кнопка Вихід:
CLOSE TABLES all
thisformset.Release
thisform.Visible = .F.
Кнопка пошук:
thisformset.FORM2.visible= .T.
При проведенні пошуку з першої з підформи даної форми за допомогою кнопки Пошук відкривається друга підформа, в другій підформі вводиться назва або прізвище клієнта та натискається кнопка Знайти. Після чого другі підформа стає невидимою, а в першій підформі відкривається запис, який відповідає пошуковому запиту.
В завантаженому вигляді форма має вигляд:
Рис.15
Полю, призначеному для введення назви або прізвища клієнта я привласнив змінну q, яка буду використовувати при проведенні пошуку.
Кнопка Знайти має такий код:
a=RECNO()
LOCATE for priz = ALLTRIM(q)
IF priz!=ALLTRIM(q)
MESSAGEBOX("Такого клієнта нема в базі", 0+64+0, "ПОПЕРЕДЖЕННЯ")
go top
ENDIF
thisformset.form1.Refresh
thisformset.form2.Visible= .F.
За аналогією до даної форми я створив форми для додавання/редагування та вилучення інформації про співробітників та інформації про послуги, які надає салон краси.
Форма для роботи з даними про співробітників в режимі конструктора приведена на рис.16.
Рис.16
Форма для опрацювання інформації про послуги, внесення нових послуг, редагування вже існуючої інформації та вилучення застарілої інформації про послуги, які надає салон краси в режимі конструктора приведена на рис.17.
Коди кнопок у формах Послуги та Співробітника аналогічні до кодів, які я прописав для форми Клієнти.
Для можливості перегляду всієї інформації про клієнтів магазину я створив окрему форму. Вигляд форми в режимі конструктора форм приведено на рис.18.
Рис.17
Рис.18
З даної форми можна перейти до форми додавання/редагування/вилучення інформації про клієнтів. За дану дію відповідає кнопка «Додати/видалити клієнта», яка має код:
CLOSE TABLES all
thisform.Release
DO form klients.scx
Досить часто виникає ситуація, коли дані потрібно вивести на друк, саме з цією метою я створив кнопку «Роздрукувати», на якій прописав код для відкриття майбутнього звіту з інформацією про клієнтів магазину:
REPORT FORM klients preview
Аналогічно до даної форми я також створив форму, за допомгою якої можна буде переглянули інформацію про всіх співрбітників, які працюють в даному салоні краси. В режимі конструктора дана форма має вигляд (рис.19):
Рис.19
Для можливості перегляду послуги, які надає даний салон краси я створив відповідну форму. В режи конструктора вона приведена на рис.20.
Рис.20
Дана форма базується на елементі Grid, до якого занесено всю інформацію з таблиці послуги. Також в даному елементі кожна складова змінена для більш зручного відображення. Наприклад: змінена шрифти та колір, вирівнювання тексту. В завантаженому вигляді дана форма має вигляд:
Рис.21
Досить часто виникає необхідність відобразити тільки одну категорію товару, одну групу товару, обрати товар тілько, наприклад, червоного кольору. Така фільтрація просто необхідна тоді, коли в салоні набирається досить великий асортиммент послуг і охопити його одним поглядом неможливо, а здійснювати очима вибірку наявної послуги серед списку не завжди зручно. Саме тому, я створив фльтрація за видом послуги, що надається салоном крами, а також перемикач для відображення або невідображення клубної ціни. Приклад такої фільтрації з вибором групи Депіляція та включенням відображення клубної ціни приведено на рис.22.
Рис.22
В даній формі кнопки мають такі коди, прописані на подію Click:
Кнопка Показати всі послуги:
if alias()<>[poslugi]
select poslugi
ENDIF
SET FILTER TO
thisform.Refresh
Кнопка Роздрукувати прайс (призначена для виведення на друк послуг, які обрано в результаті фільтрації:
REPORT FORM poslugi preview
Кнопка Додати, видалити або редагувати послугу:
CLOSE TABLES all
thisform.Release
DO FORM dodav_tov.scx
Для можливості перегляду всіх замовлень в магазині, а також для проведення фільтрації всіх замовлень, які оформив певний співробітник, я створив наступну форму (в режимі конструктора на рис.23):
Рис.23
В даній формі реалізовано перегяд списку послуг, які були наданіконкретним співробітником, також можна задати відсоток, який буде сплачуватися співробітнику від загальної вартості всіх наданих послуг, задати проміжон часу, за який хочемо здійснити відбір/фільтрацію даних та за допомогою кнопки Підразувати проводиться автоматичний підрахунок суми в гривнях за вказаними процентами, а також загальна кількість послуг, наданих за даний проміжок часу зазначеним співробітником.
Дана форма має таки коди:
На подію форми Activate:
SET DATE GERMAN
Кнопка Підрахувати:
x=0
y=0
e=zamovl.data
t=INT(spivrob.id_sp)
v=INT(thisform.text5.Value)
select zamovl
LOCATE FOR ((zamovl.data >= thisform.text1.Value) AND (zamovl.data <= thisform.text2.Value) AND (zamovl.id_sp = t))
DO WHILE .NOT.EOF()
x = x+1
y = y+INT(zamovl.vartist)*INT(v)/100
continue
ENDDO
thisform.text3.Value = x
thisform.text4.Value = y
thisform.NOM_SPIVROB1.Value = t
thisform.Refresh
В завантаженому та відфільтрованому вигляді форма має вигляд:
Рис.24
Для оформлення замовлення я створив окрему форму. В режимі конструктора форма має вигляд (рис.25):
Рис.25
В даній формі я передбачив можливість вказання співробітника, який буде надавати послугу (дані співробітника автоматично беруться з таблиці про співробітників), вказання клієнта салону, який буде отримувати послугу (дані автоматично підтягуються зі створеної таблиці про клієнтів магазину)
Рис.26
Рис.27
Після вибору прізвища співробітника, у формі автоматично змінюються на потрібні ім'я та по батькові для обраного співробітника.
Для можливості правильного відображення даних про співробітників та клієнтів салону у випадаючих списка я прописав такі коди на подію Interective Change для списку співробітників:
Thisform.Refresh
Також для правильного відображення я змінив такі налаштування для даного поля (змінене підсвічено фіолетовим виділеним кольором):
Рис.28
Для можливості вибору виду, до якого відноситься надана послуга, я також використовував елемент випадаючий список, для даного поля я вручну у властивостях елементу вказав всі можливі значення (рис.29, рис.30).
Рис.29. Вид послуги
Рис.30
Для відображення переліку всіх послуг наявних в салону я використав поле Grid, яке одразу не відображується, а з'являється тільки після вибору виду, до якого відноситься послуга, Рис. 31:
Рис.31
Також на формі є друге поле типу Grid, в якому будуть відображуватися всі послуги, які клієнт обрав на сьогодньошню дату, дане поле також спочатку є скритим, Рис.32:
Рис.32
Після вказання всіх вище приведених параметрів я створив кнопки для Підрахунку вартості обраної послуги, кнопку для додавання замовлення до таблиці Замовлення та кнопку Підрахувати для підрахунку загальної вартості для клієнта на сьогодні за всі отримані послуги салону краси.
Кнопка Підрахуватия номер 1:
thisform.text6.Value = INT(thisform.text9.Value) * INT(thisform.text4.Value)
thisform.standardlabel4.Visible = .T.
thisform.command10.Visible = .T.
thisform.text6.Visible = .T.
thisform.Refresh
Кнопка Додати замовлення:
a=klienti.id_kl
b=spivrob.id_sp
c=thisform.text3.Value
d=thisform.text6.Value
e=thisform.text4.Value
t=thisform.text5.Value
?b
SELECT zamovl
GO bottom
n=zamovl.id_zam
p=n+1
APPEND BLANK
REPLACE zamovl.id_zam WITH p
replace zamovl.id_pos with c
replace zamovl.id_sp with b
replace zamovl.id_kl with a
replace zamovl.data with t
replace zamovl.kilkist with e
replace zamovl.vartist WITH d
SET FILTER TO (id_kl = a AND data = DATE())
IF thisform.grid2.Visible = .F. THEN
thisform.grid2.Visible = .T.
ENDIF
thisform.command1.Visible = .T.
Thisform.refresh
Кнопка Підрахувати разом:
m = 0
o = zamovl.vartist * 0.5
SELECT zamovl
SELECT SUM (zamovl.vartist) as m FROM zamovl WHERE (id_kl = a AND data = DATE())
thisform.text11.Value = m
IF m > 3000 THEN
replace zamovl.vartist with o
thisform.text11.Value = m - o
thisform.label1.Visible = .T.
ENDIF
thisform.standardlabel5.Visible = .T.
thisform.text11.Visible = .T.
thisform.standardlabel5.refresh
thisform.text11.Refresh
Після описаного вибору та відображення форма в завантаженому вигляді має вигляд:
Рис.33
Також я свторив головну форму, з кої можна буде відкрити всі інші створені форми та звіти у моєму проекті.
Рис.35
В даній формі кнопки мають такі коди:
Для перегляду даних:
DO FORM perklients.scx
DO FORM redspivr.scx
DO FORM per_tov.scx
DO FORM per_zam.scx
Для відкриття форм для додавання/вилучення даних та оформлення заказу:
DO FORM klients.scx
DO FORM spivr.scx
DO FORM dodav_tov.scx
DO FORM of_zam.scx
Для відкриття звітів та можливості виведення на друк:
REPORT FORM klients preview
REPORT FORM spivrob preview
REPORT FORM tovari preview
Кнопка вихід має код:
thisform.release
2.3 Створення звітів
Для можливості введення інформації на друк я створив 3 звіти у моїй базі даних.
Перший звіт - звіт з інформацією про клієнтів салону. Звіт створювався в режимі майстра та редагувався в режимі конструктора. Загальний вигляд звіту приведено на рис.36. Але заповнення звіту може змінюватися в залежності від обраних параметрів фільтрації у відповідній формі.
Рис.36
Другий звіт вміщує інформацію про співробітників, які працюються в салоні краси Краса. Створювався звіт аналогічно до звіту про клієнтів магазину. Його вигляд можна переглянути на рис.37.
Рис.37
Третій звіт вміщує інформацію з переліком послуг, які надаються в салоні краси Краса. Створювався звіт аналогічно до двох перших та він має вигляд (рис.38):
Рис.38
Висновки
В результаті написання курсового проекту було спроектовано проект бази даних «Салон краси».
В проекті бази даних салону краси зберігається інформація про співробітників салону та необхідні контактні дані клієнтів салону, база даних має повний перелік послуг, які надає даний салон, має змогу відображувати потрібну інформацію та зберігати замовлення послуги клієнтами салону до електронної бази. Всі дані зберігаються в електронному вигляді та можуть мати досить тривалий строк зберігання.
Створення такої бази даних дозволяє значно полегшити ручне ведення необхідних записів при роботі в салоні краси. В базі даних передбачено проведення фільтрації необхідних даних, наприклад: відображення всіх послуг за вказаним видом послуги, відображення/скривання клубної ціни на послуги, підрахунок кількості наданих послуг співробітником х врахуванням вказаного проміжку часу, а також підрахунок суми для сплати співробітнику за вказаними процентами та інше.
В моєму проекту в базі даних я створив 4 таблиці: «Послуги», «Клієнти», «Співробітники» та «Замовлення». В кожній таблиці обрано індексні поля та обрано типи індексів потрібні для правильної роботи бази даних в цілому.
Для зручності роботи з базою даних користувача-оператора я створив 9 форм. 8 форм призначенні для відображення інформації, додавання, редагування та вилучення інформації та 1 форма створена як головна форма проекту, тобто форма меню, з якої відбувається завантаження будь-якої іншої форми або звіту з проекту бази даних.
Для можливості виведення інформації на друк я створив 3 звіти: про клієнтів, про послуги в магазині та про співробітників, які працюють в магазині.
База даних написана з використанням системи керування базами даних FoxPro версії 9.0. База може працювати на операційній системі з сімейства Windows.
Розроблену базу даних можна використовувати в реальному житті.
Література
1. Баженова И . Ю . Visual FoxPro 6.0. - M.: Диалог - МИФИ , 2012. - 416 с
2. Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2015, 304 с.
3. Кренке Д. Теория и практика построения баз данных: [пер.с англ] / Д. Кренке. - 9 - е изд. - СПб.: Питер, 2012. - 858 с.
4. Морзе Н.В. Бази даних у навчальному процесі. - К.:ТОВ Редакція «Комп'ютер», 2013 - 120 с.
5. Томас К., Каролин Б. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. - М.: Издательский дом Вильямс, 2013. - 1436 с.
6. Ульман Дж., Уидом Дж. Введение в системы баз данных. - М.: Лори, 2015. - 374с.
7. Хансен Г., Хансен Д. Базы данных. Разработка и управление. - М.: Бином, 2014. - 704 с.
Додаток1
Керівництво користувача
Для початку роботи з базою даних необхідно запустити головну форму проекту з назвою main. Форма відкриється посередині екрану з кнопками, які дають можливість працювати з усіма складовими бази даних (рис.39).
Рис.39
Кнопки з розділу перегляд даних призначено для відкриття форм, в яких можна переглянути загальну інформацію про клієнтів, співробітників, перелік послуг, які надаються в салоні краси та перегляд вже оформлених замовлень.
Перегляд інформації про клієнтів магазину:
Рис.40
При натисканні на кнопку
Рис.41
Рис.42
Для проведення пошуку потрібно з даної форми обрати кнопку:
Рис.43
відкриється підформа для проведення пошуку:
Рис.44
до якої потрібно ввести назву або ПІБ клієнта салону.
Для можливості виведення відображеної інформації на друг з форми з рис.40 потрібно натиснути кнопку:
Рис.45
Аналогічно відбувається роботи з інформацією про співробітників.
При відкритті форми для перегляду послуг салону ви побачите перед собою на екрані:
Рис.46
В форми з рис.46 крім перегляду всього списку товарів також можна відфільтрувати дані, якщо обрати список у виді послуг, а також можна побачити клубні ціни, якщо встановити перемикач в полі Відобразити клубні ціни.
Для перегляду замовлень завантажується форма (рис.47):
Рис.47
Для оформлення замовлення потрібно виконати порядок дій які показано на рис.48.
Рис.48
Після виконання повного порядку дій к приведено на рис.48 та вказання кількості товару, якщо вона відмінна від 1, потрібно ще раз натиснути кнопку Підрахувати, в полі Сума до сплати автоматично буде перераховано суму. Якщо всі поля заповнено, потрібно натиснути на кнопку Додати замовлення та вся обрана інформація буде збережена до бази даних та відображена у таблиці справа, після чого потрібно натиснути другу кнопку Підрахувати, після чого буде автоматично перераховано загальну суму до сплати з врахуванням ціни клубна/неклубна та знижки, якщо вона надається.
Для можливості виведення на друк потрібної інформації потрібно натиснути одну з кнопок:
Рис.49
Для завершення роботи з базою даних потрібно натиснути кнопку Вихід.
Додаток2
Лістинг програми
Коди кнопок:
Перший запис:
GO TOP
thisform.Refresh
Наступний запис
IF RECNO()!=RECCOUNT()
SKIP 1
ELSE
MESSAGEBOX(" Останній запис")
endif
thisform.refresh
Попередній запис:
IF RECNO()!=1 THEN
skip-1
ELSE
MESSAGEBOX('Ви знаходитесь на першому записі')
ENDIF
thisform.refresh
Останній запис:
GO BOTTOM
thisform.Refresh
Додати клієнта:
GO BOTTOM
n=klienti.id_kl
p=n+1
APPEND BLANK
REPLACE klienti.id_kl WITH p
thisform.Refresh
Видалити клієнта:
DELETE
nAnswer =MESSAGEBOX("Ви дійсно хочете вилучити запис?",36,"Запит на вилучення")
DO CASE
CASE nAnswer = 6
pack
CASE nAnswer = 7
RECALL
ENDCASE
IF RECNO()=RECCOUNT()
SKIP -1
ELSE SKIP 1
ENDIF
thisform.refresh
Кнопка Вихід:
CLOSE TABLES all
thisformset.Release
thisform.Visible = .F.
Кнопка пошук:
thisformset.FORM2.visible= .T.
Кнопка Знайти має такий код:
a=RECNO()
LOCATE for priz = ALLTRIM(q)
IF priz!=ALLTRIM(q)
MESSAGEBOX("Такого клієнта нема в базі", 0+64+0, "ПОПЕРЕДЖЕННЯ")
go top
ENDIF
thisformset.form1.Refresh
thisformset.form2.Visible= .F.
Кнопка «Додати/видалити клієнта», яка має код:
CLOSE TABLES all
thisform.Release
DO form klients.scx
Кнопку «Роздрукувати:
REPORT FORM klients preview
Кнопка Показати всі послуги:
if alias()<>[poslugi]
select poslugi
ENDIF
SET FILTER TO
thisform.Refresh
Кнопка Роздрукувати прайс:
REPORT FORM tovari preview
Кнопка Додати, видалити або редагувати послугу:
CLOSE TABLES all
thisform.Release
DO FORM dodav_tov.scx
Подія форми Activate:
SET DATE GERMAN
Подія Interectiv Change в полі вибору співробітника:
Thisform.Refresh
Кнопка Відфільтрувати:
if alias()<>[poslugi]
select poslugi
ENDIF
SET FILTER TO
GO top
SET FILTER TO poslugi.vid = Thisform.Combo1.Value
thisform.grid1.refresh
Полк Відобразитит назви товарів має клубні ціни:
IF thisform.grid1.column6.Visible = .T. then
thisform.grid1.column6.Visible = .F.
ELSE
thisform.grid1.column6.Visible = .T.
ENDIF
thisform.refresh
На подію форми Activate:
SET DATE GERMAN
Кнопка Підрахувати:
x=0
y=0
e=zamovl.data
t=INT(spivrob.id_sp)
v=INT(thisform.text5.Value)
select zamovl
LOCATE FOR ((zamovl.data >= thisform.text1.Value) AND (zamovl.data <= thisform.text2.Value) AND (zamovl.id_sp = t))
DO WHILE .NOT.EOF()
x = x+1
y = y+INT(zamovl.vartist)*INT(v)/100
continue
ENDDO
thisform.text3.Value = x
thisform.text4.Value = y
thisform.NOM_SPIVROB1.Value = t
thisform.Refresh
Interective Change для списку співробітників:
Thisform.Refresh
Кнопка Підрахуватия номер 1:
thisform.text6.Value = INT(thisform.text9.Value) * INT(thisform.text4.Value)
thisform.standardlabel4.Visible = .T.
thisform.command10.Visible = .T.
thisform.text6.Visible = .T.
thisform.Refresh
Кнопка Додати замовлення:
a=klienti.id_kl
b=spivrob.id_sp
c=thisform.text3.Value
d=thisform.text6.Value
e=thisform.text4.Value
t=thisform.text5.Value
?b
SELECT zamovl
GO bottom
n=zamovl.id_zam
p=n+1
APPEND BLANK
REPLACE zamovl.id_zam WITH p
replace zamovl.id_pos with c
replace zamovl.id_sp with b
replace zamovl.id_kl with a
replace zamovl.data with t
replace zamovl.kilkist with e
replace zamovl.vartist WITH d
SET FILTER TO (id_kl = a AND data = DATE())
IF thisform.grid2.Visible = .F. THEN
thisform.grid2.Visible = .T.
ENDIF
thisform.command1.Visible = .T.
Thisform.refresh
Кнопка Підрахувати разом:
m = 0
o = zamovl.vartist * 0.5
SELECT zamovl
SELECT SUM (zamovl.vartist) as m FROM zamovl WHERE (id_kl = a AND data = DATE())
thisform.text11.Value = m
IF m > 3000 THEN
replace zamovl.vartist with o
thisform.text11.Value = m - o
thisform.label1.Visible = .T.
ENDIF
thisform.standardlabel5.Visible = .T.
thisform.text11.Visible = .T.
thisform.standardlabel5.refresh
thisform.text11.Refresh
Для перегляду даних:
DO FORM perklients.scx
DO FORM redspivr.scx
DO FORM per_tov.scx
DO FORM per_zam.scx
Для відкриття форм для додавання/вилучення даних та оформлення заказу:
DO FORM klients.scx
DO FORM spivr.scx
DO FORM dodav_tov.scx
DO FORM of_zam.scx
Для відкриття звітів та можливості виведення на друк:
REPORT FORM klients preview
REPORT FORM spivrob preview
REPORT FORM tovari preview
Кнопка вихід має код:
thisform.release
Размещено на Allbest.ru
Подобные документы
Відомості про бази даних, їх історія становлення та загальна інформація про Microsoft Visual FoxPro. Установка Visual FoxPro, створення проекту, таблиць, запитів. Аналіз реляційної бази даних. Прийоми проектування і реалізації реляційної бази даних.
курсовая работа [1,6 M], добавлен 22.04.2019Проектування і реалізація реляційної бази даних для централізованого зберігання інформації з метою полегшення і систематизації даних замовлень клієнтів готельного комплексу. Розробка сценаріїв для створення бази даних і базових таблиць проекту.
курсовая работа [147,2 K], добавлен 02.06.2019Визначення мети створення бази даних магазину та таблиць, які вона повинна містити. Розгляд видів полів та ключів таблиць. Створення запитів, форм, звітів, макросів та модулів. Вибір системи управління базами даних. Реалізація моделі у Microsoft Access.
курсовая работа [3,8 M], добавлен 20.07.2014Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.
курсовая работа [1,2 M], добавлен 29.02.2012Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.
курсовая работа [1,4 M], добавлен 29.04.2010Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".
курсовая работа [4,0 M], добавлен 02.12.2014Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.
курсовая работа [2,9 M], добавлен 06.11.2011Опис вхідних та вихідних повідомлень, процедури перетворення даних. Розробка інфологічної моделі, інформаційні об’єкти та їх характеристика. Автоматизація даталогічного проектування. Опис структур таблиць бази даних на фізичному рівні, реалізація запитів.
курсовая работа [2,5 M], добавлен 02.01.2014Форми вихідних документів. Перелік запитів до бази даних. Побудова інфологічної моделі, її структурні компоненти: сутності, зв’язки та відносини. Перелік таблиць, опис запитів. Загальна характеристика та головний зміст форм розроблюваної бази даних.
курсовая работа [414,5 K], добавлен 31.01.2014Проектування інтерфейсу програми. Вимоги до продукту. Вхідні дані на розробку автоматизованої системи. Вибір середовища програмування. Розробка структури бази даних. Функціональна та логічна структура програми. Розробка структури таблиць бази даних.
курсовая работа [43,1 K], добавлен 30.06.2015