Sunteți pe pagina 1din 12

MAPAREA ONE TO MANY

NEDELCU ANTONIO CLASA a XII-a C


MODELUL RELAŢIONAL REPREZINTĂ CEL MAI UTILIZAT MODEL
DE STOCARE A DATELOR, ÎN CARE DATELE SUNT
ORGANIZATESUB FORMĂ DE TABELE ÎNTRE CARE EXISTĂ
DIVERSE LEGĂTURI.

TRANSFORMAREA MODELULUI CONCEPTUAL, A ERD-ULUI, ÎN


MODELUL FIZIC, ADICĂ ÎN BAZA DE DATE PROPRIU ZISĂ,SE
NUMEŞTE MAPARE. ACEST PROCES IMPLICĂ TRANSFORMAREA
FIECĂRUI ELEMENT AL ERD-ULUI.
PRIMA ETAPĂ A ACESTUI PROCES CONSTĂ ÎN CREAREA TABELELOR BAZEI DE
DATE:

 
FIECĂREI ENTITĂŢI ÎI VA CORESPUNDE CÂTE UN TABEL.
SPRE DEOSEBIRE DE ENTITATE, UN TABEL VA AVEANUMELE UN SUBSTANTIV
LA PLURAL.

DE EXEMPLU, ENTITATEA ANGAJAT SE VA TRANSFORMA ÎN TABELA


ANGAJATI

FIECARE ATRIBUT AL UNEI ENTITĂŢI VA DEVENI O COLOANĂ A TABELEI.


FIECARE COLOANĂ VA MEMORA DATE DE ACELAŞI TIP.

FIECARE INSTANŢĂ A UNEI ENTITĂŢI SE VA TRANSFORMA ÎNTR -UN


RÂND(SAU ÎNREGISTRARE) A TABELULUI CORESPUNZĂTOR.
 
IDENTIFICATORUL UNIC AL ENTITĂŢII DEVINE CHEIE PRIMARĂ A TABELEI.
COLOANA SAU COMBINAŢIA DECOLOANE CARE IDENTIFICĂ ÎN MOD UNIC
TOATE LINIILE UNUI TABEL SE NUMEŞTE CHEIE PRIMARĂ
TRANSFORMARI:

ENTITATI-TABELE,
ATRIBUTE- CAMPURI, COLOANE,
UID-CHEIE PRIMARA,
RELATIE-CHEIE STRAINA, 
BUSINESS RULES-CONSTRANGERI.
MAPAREA RELAȚIILOR ONE TO MANY.

MAPAREA RELAŢIILOR ONE-TO-MANY


ÎN GERERAL, LA MAPAREA UNEI RELAŢII
DE TIP ONE-TO-MANY, VOM INTRODUCE
ÎN TABELA CORESPUNZĂTOARE
ENTITĂŢII DE PE PARTEA MANY A
RELAŢIEI CHEIA PRIMARĂ A ENTITĂŢII
DE PE PARTEA ONE A RELAŢIEI.
CÂMPURILE ASTFEL ÎNTRODUSE SE VOR
NUMI CHEIE STRĂINĂ (FOREIGN KEYS).
AŞADAR:

- CHEIA STRĂINĂ A UNEI TABELE ESTE CHEIA PRIMARĂ DIN TABELA REFERITĂ;
- CHEIA STRĂINĂ ESTE ÎNTOTDEAUNA INTRODUSĂ ÎN TABELA CORESPUNZĂTOARE ENTITĂŢII DIN PARTEA MANY A RELAŢIEI.

- DACĂ RELAŢIA PE PARTEA MANY ESTE OPŢIONALĂ ATUNCI ŞI COLOANELE CHEII STRĂINE VOR FI OPŢIONALE.

- DACĂ RELAŢIA ESTE OBLIGATORIE PE PARTEA MANY ATUNCI COLOANELE CE FAC PARTE DIN CHEIA STRĂINĂ VOR FI OPŢIONALE

ÎN EXEMPLUL DE MAI JOS ESTE ILUSTRATĂ ATÂT MAPAREA RELAŢIEI ONE-TO-MANY CÂT ŞI A RELAŢIEI BARATE:
EXEMPLUL
2
DIAGRAMA SE CITEŞTE ASTFEL:  FIECARE JUCĂTOR POATE JUCA LA O ECHIPĂ ŞI NUMAI UNA.  LA FIECARE
ECHIPĂ TREBUIE SĂ JOACE UNUL SAU MAI MULŢI JUCĂTORI.  NU SE POT MEMORA TOŢI JUCĂTORII CARE
JOACĂ LA O ECHIPĂ ÎN CADRUL TABELEI ECHIPA DEOARECE O COLOANĂ AR AVEA VALORI MULTIPLE. INVERS,
SE POATE MEMORA PENTRU FIECARE JUCĂTOR, ECHIPA LA CARE JOACĂ DEOARECE ACESTA NU POATE JUCA
DECÂT LA O SINGURĂ ECHIPĂ. PENTRU FIECARE JUCĂTOR SE MEMOREAZĂ CODUL ECHIPEI LA CARE JOACĂ.

DACĂ RELAŢIA PE PARTEA MANY ESTE OPŢIONALĂ ATUNCI ŞI COLOANELE CHEII STRĂINE VOR FI OPŢIONALE.
UN JUCĂTOR POATE LA UN MOMENT DAT SĂ NU JOACE LA NICI O ECHIPĂ CAZ ÎN CARE CÂMPUL COD_ECHIPĂ
VA RĂMÂNE NECOMPLETAT ÎN DREPTUL LUI (VA AVEA VALOAREA NULL). DACĂ RELAŢIA ESTE OBLIGATORIE
PE PARTEA MANY, ATUNCI COLOANELE CARE FAC PARTE DIN CHEIA STRĂINĂ VOR FI OBLIGATORII.
Numele coloanei Tip Tip cheie Optiona
litate
Nr_legitimatie Number PK *
Nume Varchar2 *
Prenume Varchar2 *
Data_nasterii Date *
Adresa Varchar2 *
Telefon Number
Email Varchar2
Cod_echipa Number FK
Numele Tip Tip cheie Optionali
coloanei tate

Cod number PK *

Nume Varchar2 *

Emblema Varchar2 *

Localitate Varchar2 *

Adresa_club Varchar2 *
CREAREA TABELELOR
CREATE TABLE JUCATORI(NR_LEGITIMATIE VARCHAR2(20) PRIMARY
KEY,
NUME VARCHAR2(20),
PRENUME VARCHAR2(20),
DATA_NASTERII DATE,
ADRESA VARCHAR2(20),
EMAIL VARCHAR2(30),
COD_ECHIPA NUMBER(10))

CREATE TABLE ECHIPA( COD NUMBER(10) PRIMARY KEY,


NUME VARCHAR2(30),
EMBLEMA VARCHAR2(15),
LOCALITATE VARCHAR2(25),
ADRESA_CLUB VARCHAR2(50))