Modelul Matematic Elementar Al Datelor
Click here to load reader
-
Upload
eancrimicri -
Category
Documents
-
view
14 -
download
2
description
Transcript of Modelul Matematic Elementar Al Datelor
Proiect Baze de Date - Firma Transporturi
II.Modelul Matematic Elementar Al Datelor
In continuare vom prezenta modelul matematic al datelor, constrangerile ce se imoun asupra datelor precum si algoritmul complet al cheilor (incepem analiza de la doua atribute, fiind considerate intelese cele singulare).
MEDICI
Multimea medicilor de interes din Romania.
IDMed (( NAT(10),total
NumeMed ( char(64),total
Sex ( {M,F}
DataN ( DATA,total
Adresa ( char(255),total
CodMed (( NAT(10),total
Specializare (char(64),total
Telefon (NAT(14) ,total
K_NDAST: NumeMed*DataN*Adresa*Sex*Telefon cheie
Nu putem avea doi sau mai multi medici cu acelasi nume, data nasterii, adresa, sex,telefon.
Algoritm chei:
NumeMed*Sex cheie? NU
Putem avea doi medici cu nume si sex identice.
NumeMed*DataN cheie? NU
Putem avea doi medici cu nume si data de nasterii identice.
NumeMed*Adresa cheie? NU
Putem avea doi medici cu nume si adresa identice.
NumeMed*Telefon cheie? NU
Putem avea doi medici cu nume si telefon identice.
(exp: telefonul cabinetului)
NumeMed*Specializare cheie? NU
Putem avea doi medici cu nume si specializare identice.
Sex*DataN,Sex*Adresa,Sex*Telefon, Sex* Specializare chei? NU
Evident putem avea doi medici de acelasi sex, avand dasa
nasterii/adresa/telefon/ specializare identice.
DataN*Adresa, DataN* Specializare, DataN* Telefon chei? NU
Evident putem avea medici cu data nasterii si adresa/telefon/specializare
identice.
Adresa* Specializare, Adresa* Telefon chei? NU
Evident putem avea medici cu adresa si telefon/specializare
identice.
Specializare* Telefon cheie? NU
Mai multi medici pot avea aceiasi specializare si telefon identic.
NumeMed*Sex*DataN cheie? NU
Evident putem avea mai multi medici cu acelasi nume,sex si data nasterii.
NumeMed *Sex*Adresa, NumeMed *Sex*Specializare,
NumeMed *Sex*Telefon. Chei? NU
Evident putem avea mai multi medici cu acelasi nume,sex si
adresa/specializare/telefon (ex: tata-fiu).
NumeMed *DataN*Adresa, NumeMed *DataN*Specializare,
NumeMed *DataN* Telefon. Chei? NU
Putem avea mai multi medici cu acelasi nume,data nasterii si
adresa/specializare/telefon.
Nume*Adresa*Specializare, Nume*Adresa* Telefon. Chei? NU
Putem avea doi medici cu acelasi nume ,adresa si specializare/ telefon.
Nume* Specializare * Telefon cheie? NU
Putem avea doi medici cu nume specializare si telefon identice.
Sex*DataN*Adresa, Sex*DataN* Specializare, Sex*DataN* Telefon.
Chei? NU
Putem avea mai multi medici cu acelasi sex,data de nastere si
adresa/specializare/telefon.
DataN * Adresa * Specializare , DataN * Adresa * Telefon chei? NU
Putem avea mai multi medici cu data de nastere,adresa si
specializare/telefon identice.
Adresa * Specializare*Telefon cheie? NU
Putem avea mai multi medici cu adresa, specializare si telefon identice.
Nume*Sex*DataN*Adresa , Nume*Sex*DataN*Specializare, Nume*Sex*DataN*Telefon chei? NU
Putem avea mai multi medici cu nume,sex,dada de nastere si
adresa/specializare/telefon identice.
Nume*Sex*Adresa*Specializare, Nume*Sex*Adresa*Telefon chei? NU
Putem avea mai multi medici cu nume,sex,adresa si specializare/telefon
identice.
Nume*Sex* Specializare*Telefon cheie? NU
Putem avea mai multi medici cu nume ,sex,specializare,telefon identice.
Sex*DataN*Adresa*Specializare, Sex*DataN*Adresa*Telefon chei? NU
Putem avea medici cu sex,data de nastere,adresa si specializare/telefon
identice.
DataN * Adresa * Specializare*Telefon cheie? NU
Putem avea medici cu data nasterii,adresa,specializare si telefon identice.
Nume*Sex*DataN*Adresa* Specializare, Nume*Sex*DataN*Adresa* Telefon
Cheie? NU
Putem avea medici cu nume,sex,data nasterii,adresa si specializare/telefon
identice.
Nume*Sex*DataN*Adresa* Specializare*Telefon cheie? DA
Nu putem avea doi sau mai multi medici cu acelasi nume,sex,dada
nasterii,adresa,specializare si telefon.
CABINETE
Multimea cabinetelor de interes din Romania.
IDCab (( NAT(10),total
NumarCabinet (char(64),total
TipCabinet ( char(64),total
Firma ( char(64),total
K_NTF: NumarCabinet*TipCabinet*Firma cheie? DA
Nu putem avea un cabinet cu acelasi
numarcab,tipcab si aceiasi firma.
Algoritm chei:
NumarCabinet* TipCabinet cheie? NU
Putem avea doua cabinete cu acelasi numar si acelasi
tip de cabinet.
NumarCabinet*Firma cheie? NU
Putem avea pt aceiasi firma mai multe cabinete cu
acelasi nr.(exp: spitale diferite)
TipCabinet*Firma cheie? NU
Putem avea pt aceiasi firma mai multe cabinete de
acelasi tip.
NumarCabinet*TipCabinet*Firma cheie? DA
Nu putem avea un cabinet cu acelasi numarcab,tipcab si
aceiasi firma.
FIRME
Multimea firmelor de interes din Romania.
IDFirma (( NAT(10),total
Nume ((char(64),total
Adresa ( char(255),total
Telefon (NAT(14),total
Algoritm chei:
AdresaFirma*TelefonFirma cheie? Nu
Putem avea aceiasi adresa de firma si acelasi telefon pt
mai multe firme. (exp:2 firme facute de o familie)
PROGRAMARI
Multimea programarilor de interes dintr-un spital
IDProg (( NAT(10),total
CodMed ( NAT(10),total
CNPPac ( NAT(13),total
Data (DATA,total
Ora ( DATA,total
Medic: PROGRAMARI(MEDICI,total
Pacient: PROGRAMARI(PACIENTI,total
K_CDO: CodMed*Data*Ora cheie? Da
Nu putem avea medici care sa faca programari cu aceiasi
data si ora
K_DOM: Data*Ora*Medic cheie? DA
Nu putem avea mai multe programari cu data,ora si medic
identice.
Algoritm chei:
Medic cheie? NU
Un medic poate face mai multe programari.
Pacient cheie? NU
Un pacient poate avea mai multe programari.
CodMed*CNPPac, CodMed*Pacient chei? NU
Putem avea pt mai multi medici mai multe programari cu
acelasi pacient/CNPPac.
CodMed*Data , CodMed*Ora chei? NU
Putem avea programari mai multe cu aceiasi zi/ora pt un singur
medic.
CodMedic*Medic cheie? NU
Deoarece putem avea mai multe programari cu acelasi doctor
care are acelasi cod.
CNPPac*Data, CNPPac*Ora, CNPPac*Medic, CNPPac*Pac
chei? NU
Putem avea mai multe programari pt acelasi pacient la aceiasi
data/ora/medic.
Data*Ora cheie? NU
Deoarece in acelasi apital se pot face mai multe programarii cu
data si ora identice.
Data*Medic, Data*Pacient chei? NU
Putem avea mai multe programari cu data si medic/pacient
identice.(exp: un medic/pacient poate avea mai multe
programarii in aceiasi zi)
Ora*Medic,Ora*Pacient chei? NU
Un medic/pacient poate avea programarii la aceiasi ora(alta zi).
Medic*Pacient cheie? NU
Un medic poate fi si pacient.
CodMed*CNPPac*Data, CodMed*CNPPac*Ora, CodMed*CNPPac*Medic, CodMed*CNPPac*Pacient chei? NU
Putem avea programari cu codmedic,cnppacient si
data/ora/medic,pacient identice.
CodMed*Data*Ora cheie? Da
Nu putem avea medici care sa faca programari cu aceiasi data
si ora
CodMed*Data*Medic, CodMed*Data*Pacient chei? NU
Putem avea mai multe programari cu codmed,data si
medic/pacient identice.
CodMed*Ora*Medic,CodMed*Ora*Pacient chei? NU
Putem avea mai multe programari cu codmed,ora si
medic/pacient identice.
CNPPac*Data*Ora, CNPPac*Data*Medic, CNPPac*Data*Pacient
chei? NU
Putem avea mai multe programari cu cnppac,data si
ora/medic/pacient identice.
CNPPac*Medic*Pacient cheie? Nu
Putem avea mai multe programari cu cnppac,medic si pacient
identice.
Data*Ora*Medic cheie? DA
Nu putem avea mai multe programari cu data,ora si medic
identice.
Data*Ora*Pacient cheie? Nu
Putem avea mai multe programari cu data,ora si pacient
identice.
Ora*Medic*Pacient cheie? NU
Putem avea mai multe programari cu ora ,data si pacient
identice.
CNPPac*Data*Ora*Pacient cheie? NU
Putem avea mai multe programari cu cnppac,data,ora,pacient
identice.
PACIENTI
Multimea pacientilor de interes din Romania.
IDPac (( NAT(10),total
Nume (char(64),total
CNPPac (( NAT(13),total
DataN (DATA,total
Adresa ( char(255),total
TelefonPac (NAT(14),total
K_NDAT: Nume*DataN*Adresa*Telefon cheie? Da
Nu putem avea mai multi pacienti cu nume,data de
nastere,adresa si telefon identice
Algoritm chei:
Nume*DataN,Nume*Adresa,Nume*Telefon chei? NU
Putem avea doi pacienti cu nume si adresa/data
nasterii/telefon identice.
DataN*Adresa,DataN*Telefon chei? NU
Putem avea doi pacienti cu data nasterii si adresa/telefon
identice.
Adresa*Telefon cheie? NU
Putem avea mai multi pacienti cu aceiasi adresa si telefon.
Nume*DataN*Adresa*Telefon cheie? Da
Nu putem avea mai multi pacienti cu nume,data de
nastere,adresa si telefon identice
SPECIALIZARI
Multimea specializarilor de interes din medicina.
IdSpec (( NAT(10),total
Specializare((char(64),total
CABINETE_PRACTICA=(MEDICI, CABINETE)
Multimea cabinetelor de practica de interesdin Romania
IDCP (( NAT(10),total
Medic ( char(64),total
Cabinet ( char(64),total
Algoritm chei:
Medic*Cabinet cheie? NU
Putem avea doi medici care practica in acelasi cabinet.
CONSULTATII=(MEDICI, PACIENTI)
Multimea consultatiilor de interes dintr-un spital
IDCons (( NAT(10),total
Medic ( char(64),total
Pacient ( char(64),total
Algoritm chei:
Medic*Pacient cheie? NU
Putem avea mai multi medici care consulta mai multi pacienti.
SPECIALIZARI_MEDICI=(MEDICI, SPECIALIZARI)
Multimea specializarilor de interes al medicilor din
Romania .
IDSM (( NAT(10),total
Specializare (char(64),total
Medic (char(64),total
Algoritm chei:
Specializare*Medic cheie? NU
Putem avea medici cu mai multe specializari.