III.            Данни

Консептуален модел данни (КМД)

1.      Основни понятия и термини:

§         Свойство. Дефиниция и характеристики( степен на общност, елементарност, непретрупаност, синоними, полиземи)

§         Обект. Дефиниция и характеристики ( име, свойстава)

§         Идентификатор. Дефиниция.

§         Релации. Дефиниция, Колекция на релация, размер на релация, празна релация

§         Диаграма на случаите

§         Рефлексивна релация. Дефиниция. Видове(симетрична и ориентирана).

§         Кардинали. Дефиниция. Видове ( тип (0,1); тип (0,n); тип (1,1); тип (1,n)).

2.      Проверка на модела

§         Правила за проверка: (Правило1: Правило2: Правило3: Правило4: Правило5: Правило6: Правило7:)

 

3.      Конструиране на КМД:

§         Алгоритъм:

4.      Илюстративен пример:

Логически Модел Данни (ЛМД)

1.      Видове модели данни: Класически файлове, Ерархични бази данни, Мрежови бази данни, Релационни бази данни

 

 

2.      Модел Codasyl

§         Норма Codasyl

§         Елементи: Сегменти, Връзки и Физическа организация.

§         Диаграма на Бахман. Сегменти данни(RECORDS) , сегмент собственик (OWNER), сегмент-член ( MEMBER ), път или връзка (SET). Ерархични бази данни, Мрежови бази данни

 

 

3.      Класически файлове.

§         Основни понятия, видове и характеристики.

§         Правила за преминаване от Модел Codasyl към модел(КМД) тип Класически файл.

4.      Ерархични бази данни. Кратко описание.

5.      Мрежови бази данни.

§         Описание. Видове подредба и достъп (директен, пресметаем, верижен).

§         Правила за преминаване от от Модел Codasyl към модел(КМД) тип Мрежови бази данни.

6.      Релационни бази данни.

 

6.1. Концепция

§         Основен елемент (релационна релация).

§         Обща форма: Име на релацията (Атрибут1, Атрибут2, . . . , Атрибут n )

§         Атрибут-ключ

§         Релационна таблица

6.2.Ключове

§         Дефиниция

§         Първичен ключ

§         Чужд ключ

§         Ключ кандидат

§         Вторичен ключ

6.3.Оператори

§         Селекция

§         Проекция

§         Обединение

§         Сечение

§         Разлика

§         Свързване

6.4.Нормални форми на релационна релация ( първа, втора и трета нормална форми).

6.5.Правила за преминаване от КМД към ЛМД тип релационен (Релационни бази данни).

Правило 1: . . . . .

Правило 2: . . . . .

Правило 3: . . . . .

Правило 4: . . . . .

6.6.Илюстративен пример за преминаване от КМД към ЛМД-релационен.

Физически Модел Данни (ФМД)

Една система за управление на бази данни (ACCESS )

ACCESS-2000

1.      Общи сведения, идеология и предназначение.

2.      Стартиране на ACCESS.

3.      Създаване на нова база данни.

4.      Обектите на ACCESS, предназначение, структура:

§          Таблици(Tables)

§          Формуляри(Forms)

§          Заявки(Queries)

§          Отчети(Reports)

§          Макроси(Macros)

§          Модули(Modules)

5.      Създаване на таблици и релации между тях.

6.      Създаване на формуляри.

7.      Създаване на заявки.

8.      Създаване на отчети.

Изработване на физически модел данни (ФМД) ползвайки съответния релационен ЛМД

Илюстративен пример ФМД:

Задание

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

Един хладилник за плодове и зеленчуци се състои от 10 хладилни камери, които са разположени върху площ от един хектар. Основната дейност на хладилника е съхраняването на продукцията на фермата.

Операциите, които се осъществяват на място са:

§          Приемане на поръчки от клиенти за покупка на продукти (артикули), складирани за съхранение в хладилника.

§          Регистриране на нов артикул.

§          Регистриране на нов клиент.

§          Приготвяне на отговор в случаи на неизпълнима команда.

§          Изпълнение на командата и фактуриране.

В момента в хладилника са складирани: домати – 2 тона; ягоди – 1.2 тона; грах – 0.8 тона; ябълки – 7.6 тона; круши – 3.2 тона; картофи – 16.7 тона. Единичната базова цена за 1 тон е съответно: 900 лв. ; 1200 лв.; 3000 лв.; 1300 лв.; 1600 лв.; 2000 лв.; 1100 лв.

Понастоящем има регистрирани трима  клиента и седем поръчкии данните за тях са в следните таблици:

Клиенти

Име Презиме на Клиента

Фирма на Клиента

Адрес на Клиента

Град на Клиента

Иван Иванов

АСТОРИЯ

Ул. Рожен 12

Пловдив

Петър Петров

МЕДИАЛ

Бул. Освобождение 132

София

Марин Добрев

ДАНОН

Ул. Незабравка 15

Пловдив

    

Поръчки

№ на Командата

№ на Клиента

№ на Артикула

Количество

в тонове

Начин на плащане

Дата на поръчване

Дата на изпълнение на поръчката

1

2

3

0.500

Чек

07.05.2001

 

2

2

2

2.300

Чек

07.05.2001

 

3

1

1

1.500

По сметка

07.05.2001

 

4

1

4

4.700

По сметка

07.05.2001

 

5

3

5

2.500

В брой

07.05.2001

 

6

3

6

2.000

В брой

07.05.2001

 

7

3

7

15.000

В брой

07.05.2001

 

 

Да се направи следното:

Част първа (от реализацията на заданието)

A.      Да се конструира база данни, съдържаща следните таблици:

Клиент (№Клиент ,ФирмаКлиент, ИмеКлиент, ПрезимеКлиент, АдресКлиент, ГрадКлиент, ПощенскиКодКлиент, ТелКлиент, ФаксКлиент)

Артикул (№Артикул ,ИмеАртикул, ЕдиничнаБазоваЦена, Количество_на_склад)

Поръчка (№Поръчка , №Клиент, №Артикул, КоличествоПоръчка, ДатаПоръчка, ДатаИзпълнение, Начин_на_Плащане)

Фактура (№Фактура,, №Поръчка, ДатаФактура)

B.      Да се реализират съответните релации.

Част втора (от реализацията на заданието)

Упътване: Тази част реализирайте след направата на модела ОрМО. Вж. Операционен Модел Операции (ОпМО)

C.      Да се конструират формулярите:

ü      Регистриране_на_нов_артикул

ü      Регистриране_на_нов_клиент

ü      Приемане_на_поръчка

D.      Да се попълнят таблиците Артикул, Клиент и Поръчка , използваики приготвените формуляри.

E.      Да се конструират справките:

ü      Формиране_на_цени , със следните полета:

№Артикул, ИмеАртикул, ЕдиничнаБазоваЦена, ЕдиничнаБрутнаЦена_без_ДДС, Отстъпка, ЕдиничнаЦенаПродажба_без_ДДС, ДДС_20% , ЕдиничнаЦенаПродажба_с_ДДС

 където:

ЕдиничнаБрутнаЦена_без_ДДС = ЕдиничнаБазоваЦена * 1.5

Отстъпката е 5%  върху ЕдиничнаБрутнаЦена_без_ДДС, ако ЕдиничнаБрутнаЦена_без_ДДС е по голяма от 2000лв.

ЕдиничнаЦенаПродажба_без_ДДС = ЕдиничнаБрутнаЦена_без_ДДС – Отстъпка

ü      Списък_от_Неизпълнимите_поръчки, със следните полета:

 №Поръчка, №Клиент, ФирмаКлиент, ИмеПрезимеКлиент, АдресКлиент, ПощенскиКод_ГрадКлиент, №Артикул, ИмеАртикул, ЕдиничнаБазоваЦена, Количество_на_склад, КоличествоПоръчка

ü      Списък_на_поръчките_за_изпълнение, със следните полета:

№Поръчка, №Клиент, ФирмаКлиент, ИмеПрезимеКлиент, АдресКлиент, ПощенскиКод_ГрадКлиент, №Артикул, ИмеАртикул, КоличествоПоръчка, ЕдиничнаБрутнаЦена_без_ДДС, Отстъпка, ЕдиничнаЦенаПродажба_без_ДДС,

Сума_без_ДДС, Общо_Отстъпка, ДДС_20% , Общо_с_ДДС

  където:

Сума_без_ДДС = ЕдиничнаЦенаПродажба_без_ДДС * КоличествоПоръчка

Общо_Отстъпка = Отстъпка * КоличествоПоръчка

ДДС_20%  = 20 %  от Сума_без_ДДС

Общо_с_ДДС = Сума_без_ДДС + ДДС_20%

ü      Азбучен_Списък_на_артикулите , адресиран към клиентите със ЕдиничнаЦенаПродажба_без_ДДС   и Отстъпките респективно.

F.      Да се конструира формуляра

ü      Фактуриране_на_изпълнена_поръчка, в следния вид: