Курсов проект по „Бази от данни“

 

СЪДЪРЖАНИЕ:

I. Описание на предметната област. 2

2. E-R модел на базата от данни. 3

3. Релационен модел на базата от данни. 3

4. Описание на базата от данни. 4

4.1. Описание на таблиците. 5

Детайли за доставки. 5

Детайли за заявка от обекти. 6

Детайли за заявки към доставчици. 6

Детайли за продажби и брак. 6

Доставки. 6

Доставчици. 6

Заглавия (издание) 7

Заявки до доставчици. 7

Заявки от обекти. 7

Обекти. 8

Продажби и брак. 8

4.2. Контрол на данните. 8

5. Защита на базата от данни от несанкциониран достъп. 9

Функции на администратора на базата от данни. 9

Групи потребители. 10

Права и достъп на групите потребители до базата от данни и реализация на защитата на базата от данни в средата на MS Access. 10

6. Описание на средствата за въвеждане, актуализация и извличане на данни от БД.. 10

ПРИЛОЖЕНИЕ 1. 21

ПРИЛОЖЕНИЕ 2.1. 22

ПРИЛОЖЕНИЕ 2.2. 23

ПРИЛОЖЕНИЕ 3. 24

ПРИЛОЖЕНИЕ 4.1. 25

ПРИЛОЖЕНИЕ 4.2. 26

 


I. Описание на предметната област

В настоящия курсов проект е представена една разработка по темата “Бази от данни”, а именно - автоматизирана система за обработка на данни чрез програмния продукт MS Access за дейността на фирмата ЕТ “Вест” - Варна.

 

Фирма ЕТ “Вест” е с основен предмет на дейност разпространение на българска и чуждестранна преса на територията на  град Варна. Фирмата стартира дейността си с 10 обекта за продажба на вестници, книги и списания. Тенденцията е за разширяване дейността на фирмата  с увеличаване броя на обектите.

За бъдещото разширяване на фирмата, за бързи, точни,  своевременни действия и вземане на управленски решения е нужно да се автоматизират по-голяма част от процесите в дейността на фирмата. Това са:

- навременно подаване на заявки към доставчиците;

- отчитане на продажбите и брака;

- обработка на заявки от обектите.

 

За тази цел е необходимо да се изгради съответната база от данни, като се проектират нужните таблици с подходяща структура и контрол на данните, удобни начини за въвеждане на данни и извеждане на информация, както и възможности за актуализация на базата и защита от несанкциониран достъп.

 

Решението на тази задача е представено в следващите точки на този курсов проект.


2. E-R модел на базата от данни

Схематично E-R моделът на базата от данни е показан на  следната фигура:

Фиг. 1.

 

Наборите същности, участващи в E-R модела са:

1) Заглавия

2) Доставчици

3) Доставки

4) Обекти

5) Продажби и брак

6) Заявки от обекти

3. Релационен модел на базата от данни

Преобразуването на E-R диаграмата в релационен модел се извършва на  два етапа и те са следните:

 

1-ви етап            

Преобразуване на набор същности и техните атрибути

 

2-ри етап           

Представяне на набор връзки

 

На фиг.2 е показан екран на релационния модел от процеса на проектирането на базата:

Фиг. 3.

4. Описание на базата от данни

Базата от данни е изградена чрез MS Access.

Проектирани са всички необходими таблици,  заявки, форми и отчети. Пълен списък на проектираните заявки, форми и отчети е показан в Приложение 4, а на фиг.3 е показан списък на проектираните таблици:

Фиг. 3. Копие от екранното представяне на списъка на проектираните таблици (момент от процеса на проектиране)

 

Следва описание на всяка от таблиците и дефинираните в нея полета. За някои от тях са показани и съответните екранни копия от процеса на проектирането им. За останалите - екраните са подобни и могат да се видят последователно като се зареди и отвори файла на базата от данни ( Secure VEST973.mdb).

 

4.1. Описание на таблиците

Детайли за доставки

         поле                    описание                                                        тип       разрядност

B         nom_dost         № на доставка                         N          Integer 

B         cod_z               Шифър  заглавие                                 N          Integer 

kol_dost           Доставено количество              N          Integer


Детайли за заявка от обекти

         поле                    описание                                                       тип       разрядност

B         Q_nom             № на заявка                            N          Integer 

B         cod_z               Шифър  заглавие                                 N          Integer

Q_kol               Заявено количество                             N          Integer

Детайли за заявки към доставчици

         поле                    описание                                                        тип       разрядност

B         nom_Q № на заявка                                        N          Integer 

B         cod_z               Шифър  заглавие                                 N          Integer

kol_Q               Заявено количество                             N          Integer

Детайли за продажби и брак

         поле                    описание                                                       тип       разрядност

B         nom_sale          № на заявка                                        N          Integer 

B         cod_z               Шифър заглавие                                  N          Integer 

kol_Get Получено количество               N          Integer

kol_sale            Продадено количество             N          Integer

kol_back           Върнато количество                             N          Integer

price                 Единична цена                         C          ###0.00 лв.

Доставки

         поле                    описание                                                       тип       разрядност

data_dost         Дата на доставка                                 D/Т       Short date

cod_d               Шифър на доставчик                N          Integer

B         nom_dost         Номер на доставката               N          Integer

Доставчици

         поле                    описание                                                       тип       разрядност

B         cod_d               Шифър на доставчик                N          Integer 

name_d            Име на доставчик                                T          25       

Address            Адрес на доставчик                             T          40

City                  Град                                                    T          15


 

Фиг. 4. Копие от екранното представяне на таблицата (от процеса на проектирането)

Заглавия (издание)

         поле                    описание                                                       тип       разрядност

B         cod_z               Шифър на заглавие/издание     N          Integer 

name_z            Име на заглавие/издание                     T          20       

period               Периодичност                          T          20

cod_d               Шифър на доставчик                N          Integer

Заявки до доставчици

         поле                    описание                                                       тип       разрядност

B         nom_Q Номер на заявката                               N          Integer 

cod_d               Шифър на доставчик                N          Integer 

date_Q Дата  на заявка                                   D/Т       Short date

Заявки от обекти

         поле                    описание                                                       тип       разрядност

B         Q_nom Номер на заявката                               N          Integer 

cod_ob Шифър на обект                                   N          Integer 

Q_date Дата  на заявка                                   D/Т       Short date


 

Фиг. 5. Копие от екранното представяне на таблицата

Обекти

         поле                    описание                                                       тип       разряд

B         cod_ob Шифър на обект                                   N          Long Integer

name_ob          Наименование на обект                       T          20       

MOL                 МОЛ                                                   T          20

Продажби и брак

         поле                    описание                                                       тип       разряд

date_sale          Дата продажба                        D/T       Short date        

cod_ob Шифър  обект                           N          Long Integer

B         nom_sale          № продажба                                        N          Integer

 

 

 

4.2. Контрол на данните

 

Впредвид навременното обработване на информацията и предотвратяването на досадни грешки е осъществен е контрол за валидност на въвежданата дата в съответните полета, а именно:

Q_date              дата на заявка от обект

date_Q              дата на заявка до  доставчици

date_dost          дата на доставка

date_sale          дата на продажби и брак

 

Осъществен е контрол при въвеждането на цена в полето price, където не се позволява число по-малко от нулa. Това може да се види от екранното копие, показано на фиг.6:

Фиг. 6. Копие от екранното представяне на таблицата

 

5. Защита на базата от данни от несанкциониран достъп

Функции на администратора на базата от данни

 

Функциите на администратора са:

• изисквания за описание на данните;

• проектиране и реализация на база данни;

• осигуряване на достъпа, безопасността, защитата и цело-стта на данните;

• експлоатация, съпровождане, управление и документиране на БД

• разработване и внедряване на вътрешни стандарти;

• съпровождане на програмното осигуряване;

• взаимодействие с крайните потребители, консултации и обучение на персонала.

 

 


Групи потребители

 

Групи потребители в базата данни Secure VEST973.mdb са:

• Admins

• Users

• BILD

• SVETLA

Групите Admins и Users са създадени автоматично от MS Access, а останалите две са добавени

 

Права и достъп на групите потребители до базата от данни и реализация на защитата на базата от данни в средата на MS Access

 

За всяка група поотделно и за всеки един обект от БД се дефинират позволения.

Създадена е парола за достъп преди отваряне на базата данни, което се явява като първо ниво на защита.

Сменен е собственикът на базата от Admin на SVETLA и е въведена парола за достъп чрез Change Logon Password.

Второто ниво на защита е описано в следната таблица:

6. Описание на средствата за въвеждане, актуализация и извличане на данни от БД

Въвеждането и актуализацията на данни в конкретна БД (Secure VEST973.mdb) се осъществява чрез т. нар. формуляри (Forms).

За поддържане актуална информация за доставчиците се използва формуляр “Доставчици”, показан в режим дизайн и режим изпълнение (фиг.7 и фиг.8).

Фиг. 7. формуляр “Доставчици” - режим дизайн

Фиг. 8. формуляр “Доставчици” - режим изпълнение

Формулярът се базира на таблица “Доствчици” и включва всички нейни полета - т.е. той е предвиден за въвеждане и актуализация на данните в тази таблица.

Аналогични са и формулярите “Обекти” и “Заглавия”, които по същия начин се базират на съответните таблици - показани са в Приложение 1).

Формулярите дават възможност за визуализиране на няколко записа наведнъж, позициониране в конкретен запис и редакцията му, въвеждане на нов запис, изтриване на съществуващ.

В БД са проектирани и формуляри, съдържащи подформуляр. Такъв е формулярът “Заявки от обекти” (фиг.9 -11):

Фиг. 9. формуляр “Заявки от обекти” - режим дизайн

Фиг. 10. формуляр “Заявки от обекти” - режим изпълнение


 

Фиг. 11. Подформуляр “Заявки от обекти”

За извличане на данни, т.е. получаване на нужната информация от БД, са създадени следните заявки (Queries):

(1) “За ф заявки от обекти” е заявка, която е предвидена като база за създаване на формуляр “Заявки от обекти”. Тя дава информация за заявените количества по заглавия от всеки обект:

Фиг. 12. Заявка “За ф заявки от обекти” - режим дизайн

Фиг. 13. Заявка “За ф заявки от обекти” - режим изпълнение

Фиг. 14. Заявка “За ф заявки от обекти” - SQL код

(2) “Заявка от обекти по заглавия” е от тип кръстосана заявка, която извлича същите данни, както предишната, но в компактен вид. Създадена е на база заявка “Query за заявка до доставчици”

Фиг. 15. “Заявка от обекти по заглавия” - режим дизайн

 

Фиг. 16. “Заявка от обекти по заглавия” - режим изпълнение

(3) “Продажби по обекти” е също от тип кръстосана заявка, която извлича данни по дата, шифър на заглавие  - като Row Heading  и по обекти - като Column Heading. Също така сумира продадените количества от всички обекти в поле TotalOfkol_sale (виж в Приложение2)

(4) “Обща заявка до доставчици” е параметрична заявка, която преди да се изпълни изисква въвеждане на начална и крайна дата. Създадена е на база таблиците: Доставчици, Заглавия, Заявки от обекти, Детайли за заявки от обекти. Дава информация за количествата по заглавия, които трябва да се заявят до всеки един доставчик.

Фиг. 17. “Обща заявка до доставчици” - режим дизайн

Фиг. 18. “Обща заявка до доставчици” - SQL код

Фиг. 19.  “Обща заявка до доставчици” - режим изпълнение

(5) “Query за отчет” е заявка, създадена да послужи като база на отчет “Справка за продажбите”. Заявката е проектирана да групира по доставчици и по заглавия, да сумира продадените количества по заглавия и да изчислява обща стойност на продажбите за всеки доставчик. Заявката е представена на фиг.20-22.

Фиг. 20. Заявка “Query за отчет” - режим дизайн


 

Фиг. 21. Заявка “Query за отчет” - SQL код

Фиг. 22. Заявка “Query за отчет” - режим изпълнение

В базата данни са проектирани два вида отчети (Reports):

(1) “Справка за продажбите”, който дава информация за продажби, групирани по доставчици и по заглавия. Отчетът се базира на заявката “Query за отчет” (виж Приложение 3).

(2) “Справка за продажбите по доставчици” - дава обща информация за продажбите по заглавия, сумира по заглавия и  изчислява обща сума за всеки доставчик (фиг.23 и фиг.24).


 

Фиг. 23.  Режим дизайн на “Справка за продажбите по доставчици”

Фиг. 24. Отчетът “Справка за продажбите по доставчици”  (режим изпълнение)


ПРИЛОЖЕНИЕ 1


ПРИЛОЖЕНИЕ 2.1


ПРИЛОЖЕНИЕ 2.2

ПРИЛОЖЕНИЕ 3


ПРИЛОЖЕНИЕ 4.1


ПРИЛОЖЕНИЕ 4.2

 

 


Настоящата тема може да използвате непосредствено, след като я изкопирате и запазите във файл (MS Word формат).


Ако желаете, може да получите файла 2010105.doc на Вашия e-mail адрес, след като заплатите on-line 3 лева чрез ePay по фирмената ни микросметка.
Може да платите и от банкомат   (чрез B-pay), но е необходимо да ни известите с празен e-mail, в който полето Относно/Subject да съдържа текст от вида: ПЛАТЕНО/PLATENO дд/мм/гггг чч:мм тема/tema: 2010105
платете 3 (три) лева
След като натиснете бутона ePay Now, автоматично ще бъдете пренасочени към сайта на ePay.bg, където фактически ще извършите плащането. След като платите (или не платите) системата отново ще Ви върне на нашия сайт. !!! ВАЖНО: При попълване на електронния формуляр на ePay.bg, в полето Информация, която получателят ще види за Вас, е необходимо да изберете E-mail, за да Ви изпратим файла на този, посочен от Вас, e-mail адрес