Version 9 (modified by 3 days ago) ( diff ) | ,
---|
Концептуален дизајн - ЕР Дијаграм и податочни побарувања
ER дијарграм
Податочни Побарувања
Ентитети
users – Етитет кој што ги дефинира корисниците на апликацијата. Во множина затоа што User е резервиран збор во sql.
- id – нумерички тип (примарен клуч)
- first_name – текстуален тип (задолжителен атрибут)
- last_name – текстуален тип (задолжителен атрибут)
- username – текстуален тип (задолжителен атрибут, уникатен)
- hashed_password – текстуален тип (задолжителен атрибут)
- e_mail – текстуален тип (задолжителен атрибут, уникатен)
- gender – текстуален тип (опционален атрибут)
- date_created – датумски тип (задолжителен атрибут)
patient – Профил на пациентот. Произлегува од users.
- id – нумерички тип (примарен клуч)
- first_name – текстуален тип (задолжителен атрибут)
- last_name – текстуален тип (задолжителен атрибут)
- username – текстуален тип (задолжителен атрибут, уникатен)
- hashed_password – текстуален тип (задолжителен атрибут)
- e_mail – текстуален тип (задолжителен атрибут, уникатен)
- gender – текстуален тип (опционален атрибут)
- date_created – датумски тип (задолжителен атрибут)
- is_verified – булова вредност (задолжителен атрибут)
pharmacist – Профил на фармацевтот. Произлегува од users.
- id – нумерички тип (примарен клуч)
- first_name – текстуален тип (задолжителен атрибут)
- last_name – текстуален тип (задолжителен атрибут)
- username – текстуален тип (задолжителен атрибут, уникатен)
- hashed_password – текстуален тип (задолжителен атрибут)
- e_mail – текстуален тип (задолжителен атрибут, уникатен)
- gender – текстуален тип (опционален атрибут)
- date_created – датумски тип (задолжителен атрибут)
admins – Профил на администраторот. Произлегува од users. Во множина затоа што Admin е резервиран збор во sql
- id – нумерички тип (примарен клуч)
- first_name – текстуален тип (задолжителен атрибут)
- last_name – текстуален тип (задолжителен атрибут)
- username – текстуален тип (задолжителен атрибут, уникатен)
- hashed_password – текстуален тип (задолжителен атрибут)
- e_mail – текстуален тип (задолжителен атрибут, уникатен)
- gender – текстуален тип (опционален атрибут)
- date_created – датумски тип (задолжителен атрибут)
company – Ентитет кој ги претставува компаниите што учествуваат во системот.
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- description – текстуален тип (опционален атрибут)
- registration_number – текстуален тип (задолжителен атрибут, уникатен)
pharmacy – Аптека која продава лекови на пациентите.
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- description – текстуален тип (опционален атрибут)
- registration_number – текстуален тип (задолжителен атрибут, уникатен)
manufacturer – Производител на брендирани лекови.
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- description – текстуален тип (опционален атрибут)
- registration_number – текстуален тип (задолжителен атрибут, уникатен)
distributor – Дистрибутер што ги снабдува аптеките со лекови.
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- description – текстуален тип (опционален атрибут)
- registration_number – текстуален тип (задолжителен атрибут, уникатен)
deliverycompany – Компанија за достава на нарачки до пациентите.
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- description – текстуален тип (опционален атрибут)
- registration_number – текстуален тип (задолжителен атрибут, уникатен)
contactinformation – Контакт информации за корисници и локации на компанија.
- id – нумерички тип (примарен клуч)
- phone – текстуален тип (опционален атрибут)
- address – текстуален тип (опционален атрибут)
facility – Објекти поврзани со компаниите (аптеки, складишта).
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- code – текстуален тип (задолжителен атрибут, уникатен)
medicine – Ентитет кој ги дефинира генеричките не-брендирани лекови.
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
- active_ingredient – текстуален тип (опционален атрибут)
brandedmedicine – Ентитет кој ги претставува брендираните лекови со комерцијални имиња.
- id – нумерички тип (примарен клуч)
- price – нумерички тип (опционален атрибут)
- description – текстуален тип (опционален атрибут)
- dosage_form – текстуален тип (опционален атрибут)
- strength – текстуален тип (опционален атрибут)
- origin_country – текстуален тип (опционален атрибут)
brandedmedicineimage – Слики на брендираните лекови.
- id – нумерички тип (примарен клуч)
- image – текстуален тип (опционален атрибут)
inventory – Магацин на одреден објект.
- id – нумерички тип (примарен клуч)
clubcard – Клуб картичка за лојални пациенти.
- id – нумерички тип (примарен клуч)
- program – текстуален тип (опционален атрибут)
- points – нумерички тип (опционален атрибут)
paymentmethod – Начин на плаќање (картичка, готово, банкарски трансфер).
- id – нумерички тип (примарен клуч)
- name – текстуален тип (задолжителен атрибут)
payment – Информации за уплатите извршени од пациентите.
- id – нумерички тип (примарен клуч)
- payment_date – датумски тип (задолжителен атрибут)
- amount – нумерички тип (задолжителен атрибут)
- status – текстуален тип (задолжителен атрибут)
sensitivepatientdata – Чувствителни податоци за пациентот, кои се користат за верификација.
- id – нумерички тип (примарен клуч)
- embg – текстуален тип (задолжителен атрибут)
- portrait_photo – текстуален тип (задолжителен атрибут)
prescription – Рецепт издаден од лекар за пациент.
- id – нумерички тип (примарен клуч)
- issued_by – текстуален тип (задолжителен атрибут)
- issued_at – датумски тип (задолжителен атрибут)
- valid_to – датумски тип (задолжителен атрибут)
- embg – текстуален тип (опционален атрибут)
orders – Нарачки направени од страна на пациентите.
- id – нумерички тип (примарен клуч)
- order_date – датумски тип (задолжителен атрибут)
- expected_arrival_date – датумски тип (опционален атрибут)
- status – текстуален тип (задолжителен атрибут)
- total_price – нумерички тип (задолжителен атрибут)
shoppingcart – Кошничка за купување на пациентот.
- id – нумерички тип (примарен клуч)
supplyorder – Нарачка за снабдување на аптека од страна на дистрибутер.
- id – нумерички тип (примарен клуч)
- order_date – датумски тип (задолжителен атрибут)
- expected_arrival_date – датумски тип (опционален атрибут)
healthprofile – Здравствен профил на пациентот.
- id – нумерички тип (примарен клуч)
- blood_type - текстуален тип (опционален атрибут)
Релации
- contact - 1:N релација помеѓу Facility и Contact Information и Users и Contact Information, каде секој Објект/Корисник може да има повеќе информации за контакт, а секоја контакнта информација мора да припаѓа само на еден Објект/Корисник. Целосно учество од страната на Contact Information
- manages - 1:1 релација помеѓу Facility и Inventory, каде што еден објект може да управува со еден магацин, и еден магацин може да управуавн од страна на само еден обејкт. Целосно учество од двете страни.
- owns - 1:N релација помеѓу една компанија и еден објект, една компаноја може да поседува повеќе објекти, а еден обејкт мора да е дел од само една компанија. Целосно учество од страната на Facility.
- subscribes - 1:1 релација меѓу Patient и Club Card, еден пациент смее да има само една клуб картичка, и една картичка припаѓа само на еден пациент. Целосно учество од страната на Club Card.
- secures - 1:1 релација измеѓу Patient и Sensitive Patient Data, еден пациент може да има едно множество од сензитивни податоци, и сензитивни податоци мора да припаѓаат на само еден пациент. Потполно учество од страната на Sensitive Patient Data.
- verifies - 1:N релација измеѓу Pharmacist и Sensitive Patient Data, сензитивни податоци на пациент може да се верифицирани од страна на еден фармацефт, а еден фармацефт може да верифицира повеќе сензитивни податоци на пациент.
- refers_to - 1:N релација измеѓу Payment Method и Payment, каде што еден метод за плаќање може да се користи за повеќе плаќања, а едно плаќање може да користи само еден метод за плаќање. Целосно учество од страната на Payment.
- makes - 1:N релација измеѓу Patient и Payment, каде што еден пациент може да изврши повеќе плаќања, но едно плаќање може да е изврешно од само еден пациент. Потполно учество од страната на Payment.
- pays_for - 1:1 релација измеѓу Order и Payment, каде што едно плаќање може да се однесува кон само една нарачка, и една нарачка може да се изврши со само едно плаќање. Потполно учество од Payment.
- patient_order - 1:N релација измеѓу Patient и Order, еден пациент може да нарачува повеќе нарачки, а една нарачка може да е нарачана од само еден пациент. Потполно учество од страната на Order.
- shops - 1:1 релација измеѓу Patient и Shopping Cart, каде што еден пациент има една кошничка за пазарење, и една кошничка ја поседува само еден клиент. Потполно учество од страна на Shopping Cart.
- profiles - 1:1 релација измеѓу Patient и Health Profile, каде што еден пациент може да има само еден здравствен профил, и еден здравствен профил може да припаѓа на само еден пациент.
- image - 1:N релација измеѓу Branded Medicine и Branded Medicine Image, каде што еден брендиран лек може да има повеќе слики, а една слика може да припаѓа кон еден прендиран лек. Потполно учество од страна на слиакта.
- prescribed - 1:N релација измеѓу Patient и Prescription, каде што еден пациент може да има повеќе лекови рецепти за лекови, а една рецепта се однесува кон само еден пациент.
- associates_with - 1:N релација измеѓу Medicine и Prescription, каде што една рецепта може да се однесува кон еден тип на лек, а еден тип на лек може да се соддржи во повеќе различни рецепти. Потполно учество од страната на Prescription.
- manufactures - 1:N релација измеѓу Manufacturer и Branded Medicine, каде што еден производител може да произведува повеќе брендирани лекови, а еден брендиран лек е произведен од еден производител. Потполно учество од страната на Branded Medicine.
- distributes - N:M релација измеѓу Distributor и Branded Medicine, каде што еден брендиран лек може да е дистрибуиран од страна на повеќе дистрибутори, и еден дистрибутор може да дистрибуира повеќе брендирани лекови.
- supply_pharmacy - 1:N релација измеѓу Distributor и Supply Order, каде што еден дистрибутер може да дистрибуира повеќе нарачки, но една нарачка мора да е дистрибуирана од страна на еден дистрибутер. Потполно учество од страната на Supply Order.
- order_pharmacy - 1:N релација измеѓу Pharmacy и Supply Order, каде што една аптека може да нарача повеќе нарачки, но една нарачка мора да е нарачана од страна на една аптека. Потполно учество од страната на Supply Order.
- delivers - 1:N релација измеѓу Delivery Company и Order, каде што една компанија за достава може да доставува повеќе пратки, но една пратка може да е доставена од страна на само една компанија за достава. Потполно учество од страна на Order.
- contains - N:M релација измеѓу Supply Order и Branded Medicine, каде што една нарачка може да соддржи повеќе брендирани лекови, и брендирани лекови може да учествуваат во повеќе нарачки. Соддржи и атрибут квантитет. Потполно учество од страната на Supply Order.
- stored_in - N:M релација измеѓу Inventory и Branded Medicine, каде што брендиран лек може да се наоѓа во повеќе магацини, и магацин може да има повеќе различни брендирани лекови. Дополнително соддржи количество, и датум на последна промена на лекот.
- instance_of - N:M релација измеѓу Medicine и Branded Medicine, каде што брендиран лек може да е инстанца од повеќе лекови (брендирани лекови кои соддржат комбинација од повеќе лекови), и еден лек може да е инстанциран од страна на повеќе брендирани лекови. Потполно учество од страна на Branded Medicine.
- allergic_reaction - N:M релација измеѓу Health Profile и Medicine, каде што во еден здравствен профил може да се забележат алергиски реакции кон повеќе лекови, и еден лек може да предизвикува алергични реакции кај повеќе здравстевни профили.
- interaction - N:M релација измеѓу 2 Medicine ентитета, каде што еден лек може да влегува во интеракција со повеќе други лекови, а секој друг лек може да интерагира со повеќе лекови. Релацијата е симетрична (interaction(A,B) ≡ interaction(B,A)) и анти-рефлексивна (лек не интерагира со самиот себе). Дополнително ги содржи атрибутите type, description и severity.
- order_content - N:M релација измеѓу Order и Branded Medicine, каде што во една нарачка може да има повеќе брендирани лекови, и еден брендиран лек може да е дел од повеќе нарачки. Дополнително се чува количество. Потполно учество од страна на Order.
- cart_content - N:M релација измеѓу Shopping Cart и Branded Medicine, каде што во една кошничка за пазарење може да има повеќе брендирани лекови, и еден лек може да се наоѓа во повеќе кошнички.
- catalog - N:M релација измеѓу Pharmacy и Branded Medicine, каде што во една аптека може да има повеќе брендирани лекови, а еден брендиран лек може да е дел од повеќе аптеки
Attachments (4)
-
ER-min.PNG
(84.8 KB
) - added by 3 days ago.
ER
-
baze_final4.drawio
(116.3 KB
) - added by 41 hours ago.
relatonal_diagram
- ER-min.png (65.0 KB ) - added by 41 hours ago.
-
bazi_er._v3.png
(66.4 KB
) - added by 39 hours ago.
v3
Download all attachments as: .zip