You are on page 1of 41

Institut za matematiku i informatiku

VEŽBE 6
Informacioni sistemi 1

Branko Arsid
ENTITY-RELATIONSHIP MODEL

• Najpopularniji logički model za dizajn baza


podataka
• Osnova za mnoge druge modele
• Opisuje podatke u sistemu i kako su ti podaci
povezani
• Opisuje podatke kao entitite, attribute i relacije

Informacioni sistemi 1 | 2013 | PMF | KG


DB zahtevi

• Potrebno je konvertovati napisane DB zahteve


u ER dijagram
• Potreba za definisanjem entitieta, atributa i
relacija.
– imenica = entiteti
– pridev = atributi
– glagoli = relacije

Informacioni sistemi 1 | 2013 | PMF | KG


Osnovna terminologija

Percepcija stvarnog sveta E/R Dijagram

Abstrakcija/Opis
Klase sličnih
objekata (i
njihove relacije)
studenti Student

(relacije) šeme

Database Tip (tabele)


Student
Klasa -ime
-prezime
-datumrodjenja
-smer
Instance -godina
Informacioni sistemi 1 | 2013 | PMF | KG
naziv kategorija
naziv

cena
pravi Kompanije
Proizvod
adresa

kupuje zapošljava

Osoba

adresa ime JMBG


Tipovi E/R Relacija

• jedan-jedan 1
2
a
b
3 c
d

• više-jedan 1
2
a
b
3 c
d

• više-više
1 a
2 b
3 c
d

Informacioni sistemi 1 | 2013 | PMF | KG


Tipovi E/R Relacija

jedan-prema-Jedan (1:1)
1 1
Muž Žena

jedan – prema -više (1:n)


1 M
Kupac Narudžbina

više – prema - više (n:m)


M M
Smer Predmet

Informacioni sistemi 1 | 2013 | PMF | KG


Tipovi E/R Relacija (alternativa)

jedan-prema-Jedan (1:1)

Muž Žena

jedan – prema -više (1:n)

Kupac Narudžbina

više – prema - više (n:m)

Smer Predmet

Informacioni sistemi 1 | 2013 | PMF | KG


Key-Based data model

Informacioni sistemi 1 | 2013 | PMF | KG


Relationships and Foreign Key Attributes

• A foreign key is the set of attributes that define the


primary key in the parent entity and that migrate through
a relationship from the parent to the child entity.

Informacioni sistemi 1 | 2013 | PMF | KG


Dependent and Independent Entities

• In relational terms, a child entity that depends on the


foreign key attribute for uniqueness is called a dependent
entity. In IDEF1X notation, dependent entities are
represented as round-cornered boxes.
• Entities that do not depend on any other entity in the
model for identification are called independent entities.
In IE and IDEF1X, independent entities are represented as
square-cornered boxes.

Informacioni sistemi 1 | 2013 | PMF | KG


Rolenames

• When foreign keys migrate from the parent entity in a


relationship to the child entity, they are serving double-
duty in the model in terms of stated business rules. To
understand both roles, it is sometimes helpful to rename
the migrated key to show the role it plays in the child
entity.

Informacioni sistemi 1 | 2013 | PMF | KG


Relationship Cardinality

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Struktura modela objekti-veze (entity - relationship)


– Predstavlja se ER dijagramima (DOV)
– U modelu objekti-veze sistem se predstavlja kao skup objekata i
njihovih veza
– Objekat (entitet - entity) je koncept (”stvar”) koji se po svojim
osobinama razlikuje od ostalih objekata.
– Objekat u modelu može da predstavlja:
• Fizički objekat realnog sistema (konkretan radnik ili proizvod )
• Vremenski trenutak ili period (semestar, obračunski period i sl.)
• koncept (smer studija, klasa daktilografije i sl.)

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Pojedinačni objekti se klasifikuju u tipove objekata


• Tip objekta je opšti predstavnik neke klase
• Svaki pojedinačni objekat predstavlja jedno
pojavljivanje (primerak) datog tipa
• Predstavljanje nekog konkretnog objekta njegovim
tipom, naziva se generalizacija
• Obrnuti postupak, navođenje pojavljivanja datog tipa
naziva se specijalizacija.

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Atribut i domen
– Objekti se u sistemu opisuju preko svojih svojstava ili atributa.
– Svaki atribut u u jednom trenutku ima neku vrednost. Atributi
uzimaju vrednost iz skupa mogudih vrednosti. Ovaj skup se naziva
domen.

Informacioni sistemi 1 | 2013 | IMI | PMF | KG | vezbe


Model objekti-veze

• Veze u modelu opisuju način povezivanja (uzajamnog


dejstva) objekata
• Postupak generalizacije i specijalizacije se može primeniti
i na veze
• Karakteristika veze je kardinalnost preslikavanja
– (DG,GG) gde je DG – donja granica, najmanji mogudi, a
GG – gornja granica, najvedi mogudi broj pojavljivanja
tipa objekta za jedno pojavljivanje povezanog tipa
objekta

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Objekat od koga je uspostavljena veza se zove “roditelj”


(parent), a objekat prema kome je uspostavljena veza se
zove “dete” (child)
• Postoje slededi tipovi veza:
– Identifikujude
– Neidentifikujude
– Veza kategorije, tj. veza prema podtipovima
– Neodređujuda veza – više prema više

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Identifikujuća veza
– Ključevi objekta “roditelj” predstavljaju deo identiteta objekta
“dete”, tj. objekat “dete” zavisi od objekta “roditelj” preko
identifikatora.
– Svaki primerak objekta “dete” mora biti povezan sa najmanje
jednim primerkom objekta “roditelj”.
– Pojavljivanja objekta “roditelj” se definišu nezavisno, a
pojavljivanja objekta “dete” se ne mogu identifikovati bez
identifikatora objekta “roditelj”

Informacioni sistemi 1 | 2013 | PMF | KG


Identifying Relationships

• In IDEF1X notation, the type of the relationship that


connects two entities enforces the concept of dependent
and independent entities. If you want a foreign key to
migrate to the key area of the child entity (and create a
dependent entity as a result), you can create an identifying
relationship between the parent and child entities.

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Neidentifikujuća veza
– Ako se svaki primerak objekta “dete” može jedinstveno
identifikovati, bez znanja veze sa primerkom objekta “roditelj”

Informacioni sistemi 1 | 2013 | PMF | KG


Non-Identifying Relationships

• A non-identifying relationship also connects a parent


entity to a child entity. But, when a non-identifying
relationship connects two entities, the foreign key
migrates to the non-key area of the child entity (below
the line).

Informacioni sistemi 1 | 2013 | PMF | KG


Model objekti-veze

• Veza kategorije
– Definisana je za
hijerarhijsku vezu između
nadređenog
generalizovanog objekta
koji sadrži zajedničke
osobine i podređenih
objekata

Informacioni sistemi 1 | 2013 | IMI | KG | vezbe


Model objekti-veze

• Neodređujuća veza tipa više prema više


– Primerak jednog objekta povezuje sa nijednim, jednim ili više
primeraka drugog objekta, a svaki primerak drugog objekta
povezuje sa nijednim, jednim ili više primeraka prvog objekta.

Informacioni sistemi 1 | 2013 | PMF | KG


Many-To-Many

Informacioni sistemi 1 | 2013 | PMF | KG


CASE alat za modeliranje podataka
• Izgrađen na konceptima koji su postavljeni IDEF1X
(Integration Definition for information modeling)
standardom
• Namenjen za modeliranje podatka ER (entity
Relationship) metodom
• Mogu se ravnopravno koristiti IDEF1X i IE
(Information Engineering) notacije

Informacioni sistemi 1 | 2013 | PMF | KG


• Modeliranje podataka obuhvata dva aspekta
– Logičko definisanje modela
– Fizički dizajn baze

• Korišdenje ERwin-a podrazumeva istovremeni razvoj


logičkog modela i fizičko definisanje baze

Informacioni sistemi 1 | 2013 | PMF | KG


• Osnovni objekti u modelima
– Logički model
• Objekti
• Atributi
• Veze (relacije)
– Fizički model
• Tabele
• Polja
• Ograničenja (constraints)
• Pogledi (views)
• U bilo kom trenutku definisanja logičkog nivoa baze,
potrebno je odabrati ciljni server (DBMS na kome de
baza biti realizovana)
• Izbor ciljnog servera nije definitivan, što znači da se
on može menjati
• ERwin insistira na nezavisnosti modela od DBMS
platforme

Informacioni sistemi 1 | 2013 | PMF | KG


• U Erwin-u postoje logički i fizički tipovi podataka
• Logički tip podataka (logical datatype) je
predefinisani skup karakteristika atributa, koji
određuje dužinu polja, pripadnost ERwin domenu i
naziv.
• ERwin poseduje listu predefinisanih logičkih tipova
koje možemo dodeljivati atributima

Informacioni sistemi 1 | 2013 | PMF | KG


Predefinisani logički tipovi
• Datatype ERwin Domain Length Precision
• AUDIO Blob None None
• BINARY Blob Optional None
• BOOLEAN Number None None
• CHAR String Optional None
• DATE Datetime None None
• DECIMAL Number Optional Optional
• FLOAT Number None None
• HUGE Number None None
• INTEGER Number None None
• INTERVAL Number Optional None
• LARGE BINARY Blob Optional None
• LONG Number None None
• LONG FLOAT Number None None
• MONEY Number Optional Optional
• NCHAR String Optional None
• NUMBER Number Optional Optional
• NVAR CHAR String Mandatory None
• SHORT FLOAT Number None None
• SMALLINT Number None None
• TEXT String Optional None
• TIME Datetime Optional None
• TIMESTAMP Datetime Optional None
• UNIQUEID Number None None
• VARCHAR String Mandatory None
• VIDEO Blob None None

Informacioni sistemi 1 | 2013 | PMF | KG


• Mapiranje logičkih u fizičke tipove podataka
– Logički tipovi podataka su nezavisni od DBMS, ali
oni odgovaraju postojedim fizičkim tipovima.
– Kreiranjem fizičkog modela iz logičkog, ERwin
automatski dodeljuje fizički tip podataka za svaki
atribut na osnovu odgovarajudeg logičkog tipa

Informacioni sistemi 1 | 2013 | PMF | KG


• Mapiranje fizičkih u fizičke tipove podataka
– Kreiranjem novog fizičkog modela iz postojedeg fizičkog modela
ERwin automatski dodeljuje odgovarajudi fizički tip podataka za
ciljni DBMS.
– Prilikom prelaska sa jedne verzije DBMS na noviju, ERwin može
da promeni tipove podataka za ciljni DBMS.
– Prilikom kreiranja fizičkog modela putem inverznog inženjerstva,
ERwin izdvaja informacije o tipovima podataka sa postojedeg
DBMS i automatski dodeljuje odgovarajude tipove svakom polju
novih tabela

Informacioni sistemi 1 | 2013 | PMF | KG


• Za svaki DBMS koji podržava, ERwin sadrži
odgovarajudu šemu mapiranja logičkih u fizičke
tipove, kao i fizičkih u fizičke tipove podataka

• Primer : za migraciju sa MS Acess-a na Oracle koristi


se slededa predefinisana šema mapiranja:

Informacioni sistemi 1 | 2013 | PMF | KG


Access ORACLE
AutoNumber ROWID
Byte SMALLINT
Counter NUMBER
Currency NUMBER
Date/Time DATE
Double FLOAT
Integer SMALLINT
Long Integer INTEGER
Memo LONG VARCHAR
OLE Object CLOB
Replication ID INTEGER
Single FLOAT
Text VARCHAR2
Yes/No SMALLINT

Informacioni sistemi 1 | 2013 | PMF | KG


• Na osnovu logičkog modela može da se kreira generički fizički
model koji sadrži rešenja nezavisna od konkretnog DBMS.
• Na osnovu generičkog modela može se kreirati više konkretnih
fizičkih modela za različita DBMS okruženja
• Kada se kreira generički fizički model, odgovarajudim poljima
se dodeljuju isti tipovi podataka kao kada se kao ciljni DBMS
izabere ODBC (Open Database Connectivity).
• Kada preko ODBC drajvera pristupate bazi podataka, ERwin
utvrđuje koji tipovi podataka su podržani i pruža mogudnost
zamene bilo kog generičkog tipa podataka tipom podataka koji
podržava konkretan DBMS.

Informacioni sistemi 1 | 2013 | PMF | KG


Informacioni sistemi 1 | 2013 | PMF | KG
• Server FRE (Forward and Reverse Engineering)
omogudava “živu” vezu ERwin modela i baze
podataka
• Forward Engineering
– Konekcija se ostvaruje preko ODBC (Open
Database Connectivity) drajvera
– Na osnovu definisanog fizičkog modela može se
kreirati baza na odabranoj RDBMS platformi

Informacioni sistemi 1 | 2013 | PMF | KG


• Poseduje i modul za inverzni inženjering (RE), koji na
osnovu postojede baze podataka kreira ER dijagram
po metodologiji IDEFX1
– To se postiže korišdenjem sistemskih kataloga
postojede baze podataka

Informacioni sistemi 1 | 2013 | PMF | KG


• Oba smera se svode na:
 Sinhronizaciju modela podataka za bazom podataka i
 Poređenje modela sa stanjem baze

• Isti model podataka se može koristiti za generisanje


više baza podataka na različitim DBMS platformama
ili za konvertovanje aplikacija sa jedne DBMS
platforme na drugu

Informacioni sistemi 1 | 2013 | PMF | KG