Mile Pavlić
Oblikovanje baze podataka
Oblikovanje baze podataka
Ova knjiga daje upute kako analizirati poslovnu dokumentaciju i napraviti model podataka iz koga se dolazi do relacijske sheme baze podataka i aplikacije, neovisno radi li se o složenim informacijskim sustavima ili mobilnim aplikacijama.
Dio znanja o modeliranju podataka moguće je vidjeti iz predavanja na tu temu održanih na savjetovanju CASE25 u Hipo centru u Zagrebu dana 10.06.2013.
http://www.slideshare.net/milepavlic1/dev-case25
Opišimo samu knjigu, njenu namjenu, cilj i svrhu detaljnije.
UVOD
Cilj ove knjige je pomoći oblikovati bazu podataka. Većina poslovnih aplikacija podatke čuva u relacijskim bazama podataka te je potrebno poznavati teoriju oblikovanja relacijskih baza podataka (nazovimo je relacijska metodu, skraćeno RM). Oblikovanje baze podataka (engl. Database Design) može se izvesti relacijskom metodom na logičkoj razini i definirati shemu baze podataka. Na osnovi sheme se uz pomoću softverskih sustava za upravljanje relacijskom bazom podataka (kao Oracle, MS SQL, DB2…) organizira fizička baza podataka. Fizičko i logičko oblikovanje baze podataka su dva odvojena koraka. Oblikovanje baze podataka općenito sastoji se od tri koraka i to konceptualno, logičko i fizičko oblikovanje.
Sadržaj knjige
References:
UVOD
Cilj ove knjige je pomoći oblikovati bazu podataka. Većina poslovnih aplikacija podatke čuva u relacijskim bazama podataka te je potrebno poznavati teoriju oblikovanja relacijskih baza podataka (nazovimo je relacijska metodu, skraćeno RM). Oblikovanje baze podataka (engl. Database Design) može se izvesti relacijskom metodom na logičkoj razini i definirati shemu baze podataka. Na osnovi sheme se uz pomoću softverskih sustava za upravljanje relacijskom bazom podataka (kao Oracle, MS SQL, DB2…) organizira fizička baza podataka. Fizičko i logičko oblikovanje baze podataka su dva odvojena koraka. Oblikovanje baze podataka općenito sastoji se od tri koraka i to konceptualno, logičko i fizičko oblikovanje.
Standardna metoda za konceptualno oblikovanje je EV (metoda
entiteta i veza, engl. ER) koja dovodi do konceptualnog prikaza poslovnog
sustava. Model podataka dobiven EV metodom jednostavno je prevesti u relacijsku
shemu baze podataka i s njom uz pomoć sustava za upravljanje bazom podataka
oblikovati fizičku bazu podataka.
U ovoj knjizi biti će prikazane navedene metode, EV i
relacijska metoda, te proces modeliranja podataka pomoću obije metode i proces
i pravila prevođenja EV modela podataka u relacijsku shemu.
Ova knjiga je proistekla iz želje i s nadom da će spoznaje
biti korisne praktičarima koji projektiraju informacijske sustave (oblikuju
bazu podataka i oblikuju programski proizvod) i studentima kako za modeliranje
podataka tako i za razvoj informacijskih sustava nakon formalnog školovanja.
Knjiga je
namijenjena projektantima informacijskih sustava, analitičarima,
organizatorima, programerima, rukovoditeljima informatičkih centara, studentima
i svima onima koji u poslovno - proizvodnim sustavima sudjeluju u razvoju
informacijskih sustava i polaznicima seminara o projektiranju informacijskih
sustava, projektiranju baza podataka, modeliranju podataka, sistem analizi i
dizajnu. Knjiga će poslužiti studentima redovitog i postdiplomskog
obrazovanja.
Imate li problema s
informacijskim sustavom, bazom podataka i programskom podrškom? Ako ih imate,
potrebno Vam je znanje kako izgraditi informacijski sustav, oblikovati bazu
podataka i oblikovati programsku podršku.
Knjiga
je rezultat višegodišnjeg iskustva u projektiranju i gradnji informacijskih
sustava, baza podataka, različitih projekata i primjeni metoda za oblikovanje
pa su u knjizi iznijeta iskustva i mišljenje o metodama.
Prikazane
metode su primjenjive kako za razvoj novih informacijskih sustava tako i za
reinženjering postojećih programskih rješenja i baza podataka.
Centralni dio knjige je metoda
entiteta i veza. Prikazani su svi koncepti potrebni za izradu modela podataka.
Prikazana je relacijska metoda. Većina baza podataka su danas relacijske baze
podataka. Modeliranje podataka je lakše izvesti metodom entiteta i veza, te se
ona preporuča kao metoda za oblikovanje baze podataka. Nakon oblikovanja
pristupamo postupku prevođenja EV modela podataka u relacijsku shemu baze
podataka. Posebno poglavlje ovaj proces prevođenja detaljno opisuje. Prikazana
je normalizacija podataka i njeno tumačenje dano kroz koncepte metode entiteta
i veza. Proces izrade modela podataka prikazan je kao zasebna metoda VATAK
(opisana u 8. poglavlju) koja pomaže projektantima brzu i kvalitetnu izradu
modela podataka. Na kraju je dano desetak primjera dokumenata i njihovih modela
podataka.
Knjiga ima devet poglavlja. Prvo
poglavlje je uvodno.
Poglavlje 2 Informacijski sustavi prikazuje položaj
baze podataka u informacijskom sustavu. Definirani su pojmovi vezani uz baze
podataka. Prikazano je projektiranje informacijskih sustava, proizvodnja
softvera i uvođenje gotovih aplikacija. Iz teorije i prakse je razvijena i u
knjizi prikazana vlastita specijalizirana metodologija MIRIS, metodologija za
analizu i oblikovanje informacijskih sustava, kao mogući okvir za sve faze
razvoja od strateškog planiranja do održavanja. Oblikovanje baze podataka samo
je jedna od faza razvoja informacijskog sustava. Postoje druge brojne slične
specijalizirane metodologije standardizirane od pojedinaca ili tvrtki, ali
gotovo da svaki programer ima vlastiti nestandarizirani način razvoja
informacijskih sustava.
Poglavlje 3 Relacijska baza podataka prikazuje
pojmove koji čine strukturu relacijske metode i pojmove ograničenja u
relacijskom modelu iz kojih slijedi pojam ključnog atributa. Prikazani su
ukratko operatori relacijske algebre pri čemu je SQL - standardni upitni jezik
za relacijske baze podataka, prikazan ukratko.
Poglavlje 4 Modeli podataka
prikazuje osnovne pojmove i metode modeliranja podataka. Posebno je opisana
apstrakcija podataka koja se nalazi u osnovi svih metoda.
Poglavlje 5 Metoda entiteta i
veza prikazuje jedan po jedan koncepti metode EV detaljno i predstavlja
centralni dio ove knjige. Uz svaki koncept odmah se izlažu njegova ograničenja
i prikazuje njegovo prevođenje u shemu relacijske baze podataka.
Poglavlje 6 Prevođenje definira
pravila za prevođenje dijagrama dobivenih metodom EV u relacijsku shemu baze
podataka.
Poglavlje 7 Normalizacija je uobičajen prikaz pogreške kod
organiziranja sheme baze podataka te procesa otklanjanja jedne po jedne
pogreške sve dok se shema ne dovede u oblik da ne stvara probleme u održavanju
baze podataka. Pored uobičajenog prikaza tablice prikazan je i model podataka
metodom EV i to prije i nakon normalizacije. Na taj se način grafički vidi
kakve pogreške pri modeliranju uzrokuju probleme u bazi podataka.
Poglavlje 8 Proces oblikovanja
baze podataka prikazana je procedura za izradu modela podataka metodom EV. Sama
ta procedura je zasebna metoda modeliranja podataka i kao takva može se, s
manjim prilagodbama, koristiti za različite varijante metode EV.
Poglavlje 9 Praktični primjeri
modeliranja podataka prikazuje konkretne popunjene dokumenta iz poslovnog
sustava te za njih daje prikaz modela podataka. Na taj način čitatelj može
vidjeti konkretnu primjenu metode EV i prevođenja dijagrama EV u relacijsku
shemu. Na primjerima su također postavljeni zadaci koje treba dodatno riješiti
proširenjem modela podataka zbog korisničkih zahtjeva.
Na ovom blogu postavio sam i postaviti ću korisne tekstove kao
naprimjer projektnu dokumentaciju koju su izradili analitičari i studenti. Na
taj način čitatelj može vidjeti primjenu navedenih metoda i potpuni oblik informacijskog
sustava dokumentiran kroz faze analize i oblikovanja.
Zahvaljujem mnogobrojnim
prijateljima i suradnicima s kojima sam radio na nizu projekata u okviru kojih
smo učili i isprobavali metode.
Zahvaljujem se brojnim učiteljima,
prijateljima, kolegama i partnerima na savjetima i pomoći u promišljanjima o
temama, mogućnosti, primjerima i praktičnim problemima informacijskih sustava.
Zahvaljujem programerima u tvrtki
RIS na suradnji u izradi mnogobrojnih primjera softvera i informacijskih
sustava.
Zahvaljujem mnogobrojnim
suradnicima s HRT‑a, iz Croatia osiguranja, Croatia banke, Elektromaterijala,
Konta i drugim poslovnim organizacijama na suradnji, na njihovoj želji za
unapređenjem informacijskog sustava i njihovoj vjeri u naše napore.
Posebno zahvaljujem Martini
Ašenbrener, za golem trud u izradi knjige, prikupljanju i obradi izvorne građe,
podršci i vjeri u uspjeh.
Zahvaljujem studentima Odjela za
informatiku, Sveučilišta u Rijeci, mojim magistrantima i doktorandima,
polaznicima jednogodišnje Škole za projektiranje informacijskih sustava na
njihovim mnogobrojnim sugestijama, pitanjima, diplomskim, seminarskim,
magistarskim, doktorskim radovima koji su pridonijeli nastanku ove knjige.
1. Uvod
2. Informacijski sustavi
3. Relacijske baze podataka
4. Modeli podataka
5. Metoda ENTITETI -VEZE
6. Prevođenje
7. Normalizacija
8. Proces oblikovanja baze podataka
9. Praktični primjeri modeliranja podataka
References:
(Alagić, 1984.) S. Alagić, "Relacijske baze podataka",
Svjetlost, Sarajevo,1984.
(Anić, 2003.) V. Anić, „Veliki rječnik hrvatskoga jezika“, Novi liber,
Zagreb, 2003.
(Anić, Goldstein, 1999.) V. Anić,
I. Goldstein, I. "Rječnik stranih riječi", Novi Liber, Zagreb, 1999.
(Anić, Rončević, Cikota, Goldstein, Jojić, Matasović, Pranjković, 2002.)
V. Anić, D. B. Rončević, LJ. Cikota, I. Goldstein, LJ. Jojić, R. Matasović, I.
Pranjković, "Hrvatski enciklopedijski rječnik", Novi Liber, Zagreb,
2002.
(Atzeni, 1983.) P. Atzeni i E. Carboni, "INCOD (A System for
Interactive Conceptual Design) Revisited After the Implementation of a
Prototype", vidi (Davis, 1983.).
(Avison, 1995.) D.E. Avison and G. Fitzgerald, "Information System
Development: Methodologies, Techniques and Tools", McGraw-Hill, London,
1995.
(Bachman, 1969.) C. W. Bachman, "Data Structure Diagrams",
Database 1, 2, pp. 4-10, 1969.
(Barker, 1990.) Richard Barker, “CASE*Method Entity Relationship
Modelling - ORACLE”, Addison-Wesley P.C., Wokingham, England, 1990.
(Beizer, 1990.) B. Beizer, "Software Testing Techinques";
Boston, Inetrnational Thompson Computer Press, 1990.
(Beizer, 1995.) B. Beizer, "Black Box Testing", New York, Yohn
Wiley & Sons, Inc., 1995.
(Blaha, 2010.) M. Blaha, "Patterns of Data Modeling", CRC
Press, NY, 2010.
(Boggs, 2003.) W. Boggs, M. Boggs, "UML sa Rational Rose-om
2002", Kompjuter Biblioteka, Čačak, 2003., p.736
(Brodie, 1984.) M. L. Brodie, J. Mylopoulos, J. W. Schmidt, "On
Conceptual Modelling", Springer-Verlag, NY, 1984.
(CARNet, 2010.) Hrvatska akademska i istraživačka mreža CARNet, tvrtka
Pro Leksis d.o.o., (2010.), Proleksis
enciklopedija -
prva hrvatska opća i nacionalna online enciklopedija: http://enciklopedija.carnet.hr/login.aspx
(Chaing, 1980.) T. C. Chaing, R.
F. Bargeron, "A Database Menagement System With an E-R Conceptual
Model", 1980, vidi (Chen, 1980).
(Chan, 1980.) E.P.F. Chan i F.H. Lochovsky, "A Graphical Database
Design Aid Using the Entity-Relationship Diagram", (vidi Chen, 1979.),
str. 303-318.
(Chen, 1976.) P. P. Chen, "The Entity-Relationship Model-Towards a
Unified View of Data", ACM TODS, Vol.1, No.1, 1976.
(Chen, 1980.) P. P. Chen, "Entity-Relationship Approach to System
Analysis and Design", North-Holland, Amsterdam, 1980.
(Chen, 1983.) P.P. Chen (Editor), "Entity-Relationship Approach to
Software Engineering, Anaheim, North-Holland, Amsterdam, the Netherlands, 1983.
(Chen, 2001.) I. J. Chen, "Planning for ERP systems: analysis and
future trend", Bussines Process Management Journal, 7, pp.374-386, 2001.
(Coad, 1991.) Coad P., Yourdon E., “Object-Oriented Analysis”, Yourdon
Press, New Jersey, 1991.
(Database eLearning, 2010.) http://db.grussell.org/section002.html
(Davis, 1983.) C.G. Davis, S.
Jajodia, P. A-B. Ng. i R.T. Yeh (Editors), "Entity-Relationship Approach
to Software Engineering",
North-Holland, Amsterdam, the Netherlands, 1983.
(ER, 1997.) Conceptual Modeling – ER '97, Proceedings of 16th
International Conference on Conceptual Modeling, Ed. Embley, D. W., Goldstein
R. C., Los Angeles, 1997., p. 1-477
(Esculier, 1980.) C. Esculier, A. M.
Glorieux, "The Sirious-Delta Distributed DBMS", vidi (Chen,
1980.), 1980.
(Fertalj, 2006.) K. Fertalj, V. Mornar, i dr. "Komparativna analiza
programske potpore informacijskim sustavima u Hrvatskoj", 5. svibnja
2006., <http://www.zpr.fer.hr/ projekti/erp/ Dokumenti/ERP-HR.pdf>, 28.
siječnja 2007.
(Ford, 1985.) R.M. Ford, "A Data Manager Using Entity-
Relationship", PC Tech Journal for IBM Personal Computer Users, Vol.3,
N0.10, Octobar 1985.
(Giorgio, 1987.) B. Giorgio i E. Antonio, "Extending the Entity -
Relationship Approach for Dynamic Modeling Purposes", vidi (Spaccapietra,
1987.).
(Goldberg, 1986.) E. Goldberg, "Excelerator aids Straids
adoption", Comuter World, 21.april 1986.
(Hak, 2010.) http://www.hak.hr/media/35177/osobna_iskaznica.jpg
(12.04.2010.)
(Hammer, 1980.) Hammer, McLeod, "Semantis Data Model", TODS
ACM, 1980.
(Hernandez, 1997.) M. J. Hernandez, "Database Design for Mere
Mortals", Addison-Wesley Developers Press, New York, 1997., p. 440
(IBM, 1985.) IBM, "System Development Method (SDM) - System Design,
IBM, 1985.
(Iossiphidis, 1980.) J. Iossiphidis, "A Translator to Convert the
DDL of ERM to the DDL of System 2000", vidi (Chen, 1980.).
(Jajodia, 1983.) S. Jajodia i dr., "On Universal and Representative
Instances for Inconsistent Databases", vidi (Davis, 1983.).
(Junet, 1987.) M. Junet, "Design and Implementation of an Extended
Entity - Relationship Data Base Management System (ECRINS/86 ", vidi
(Spaccapietra, 1987.).
(Kangassalo, 1991.) Hannu Kangassalo (Editor), "Entity -
Relationship Approach: The Core of Conceptual Modelling, Proceedings of the
Ninth International Conference on the Entity - Relationship Approach”,
Lausanne, Switzerland, 8.-10. October, 1990., North - Holland, Amsterdam, the
Netherlands, 1991.
(Kellner, 1999.) M. I. Kellner, R. J.
Madachy, D. M. Raffo, "Sofware processes simulation modelling: Why?
What? How? ", J.Syst.Software, 46, 91-105, 1999.
(Kiš, 2002.) M. Kiš, "Englesko-hrvatski i hrvatsko-engleski
INFORMATIČKI RJEČNIK", Naklada Ljevak, Zagreb, 2002.
(Kiš, 1993.) M. Kiš, J. Buljan, S. Vuković, O. Anić,
"Englesko-hrvatski informatički rječnik s računalnim nazivljem",
Školska Knjiga, Zagreb, 1993.
(Lazarević, 1985.) B. Lazarević, V. Jovanović, P. Dizdarević i M. Vučković,
"Projektiranje informacijskih sistema", I i II dio, Naučna knjiga,
Beograd, 1985.
(Lazarević, 2008.) B. Lazarević, Z.Marjanović, N. Aničić, S. Babarogić,
" Baze podataka", FON, Beograd, 2008.
(Lien, 1980.) E. Y. Lien, "Semantic of Entity-Relatioship Model",
vidi (Chen, 1980.).
(Linthicum, 2000.) D. S. Linthicum, "Enterprise Application Integration", Addison-Wesley Information
Technology Series, Boston, 2000., p. 377
(Longworth, 1989.) G. Longworth, D. Nicholls, "SSADM MANUEL
Techniques and documentation", National Computing Centre, England, 1989.
(Lusk, 1980.) E. L. Lusk i R. A. Overbeek, "A DML for Entity-
Relationship Models", 1980 vidi (Chen, 1980.).
(Markowitz, 1983. a) V. M. Markowitz i Y. Raz, "ERROL: An Entity-
Relationship, Role Oriented, Query Language", vidi (Davis, 1983.).
(Markowitz, 1983.) V. M. Markowitz i Y. Raz, "A Modified Relational
Algebra and its Use in an Entity-Relationship Environment", vidi (Davis,
1983.).
(Marti, 1983.) R. W. Marti, "Integrating Database and Program
Descriptions Using on ER-Data Dictionary", vidi (Davis, 1983.).
(Martin, 1977.) J. Martin, "Computer Data - Base Organization",
Prentice - Hall, New Jersey, 1977.
(Martin, 1985.) J. Martin,
"Banka podataka za krajnjeg korisnika" Informatika i društvo, Zagreb,
1985.
(Martin, 1985.) J. Martin, & C. McClure, "Diagramming Techniques
for Analysts and Programmers". Englewood Cliffs, NJ: Prentice Hall, Inc.,
1985.
(Martin, 1985.) J. Martin, C. McClure, "Action Diagrams: Clearly
Structured Program Design”, Prentice Hall, Englewood Cliffs, N.J. 1985.
(Martin, 1986.) J. Martin, "Fourth Generation Languages",
Prentice Hall, Vol 1 i Vol 2, 1985.-1986.
(Melkanoff, 1980.) M. A. Melkanoff, C. Zaniolo, "Decomposizion of
Relations and Synthesis of Entity Relationship Diagrams", vidi (Chen,
1980.), 1980.
(Mogin, 2000.) P. Mogin, V. Luković, M. Govedarica, "Principi
projektovanja baza podataka", Univerzitet u Novom sadu, Novi sad, 2000.,
p. 699
(Munz, 1980.) R. Munz, "Design of WELLSystem", 1980., vidi
(Chen, 1980.).
(Nakata, 1983.) S. Nakata, G. Yamazaki, "A System Based on the E-R
Model and its Application to Database-Oriented Tool Generator", 1983.,
vidi (Davis, 1983.).
(Navathe, 1983.) S. B. Navathe, A. Cheng, "A Methodology for
Database Schema Mapping from Extended Entity-Relationship Models into the
Hierarchical Model", 1983., vidi (Davis, 1983.).
(Neufeldt, 1991.) V. Neufeldt, D. B. Guralnik, "Webster's New World
Dictionary", Prentice Hall, New York, 1991.
(Ng, 1980.) P.A.Ng i J.F. Paul, "A Formal Definition of Entity-
Relationship Models", (vidi Chen, 1980.).
(Papp, 1979.) L. Papp, "A konyvviteli informacions rendszer elmeleti
kerdesei", Tankonyvkiado, Budapest, 1979.
(Parent, 1985.) C. Parent i S. Spaccapietra, "An Algebra for General
Entity-Relationship Model", IEEE Transaction on Software Engineering,
Volume SE-11, Number 7, pages 634-643, July 1985.
(Pavlić, 1986.) M. Pavlić, V. Jovanović, P. Dizdarević, Z. Jugo,
"Projektiranje informacijskog sustava kalkulacija cijene broda primjenom
metode SSA i E-V", III savjetovanje za informatičku djelatnost, Privredna
komora Rijeka, Opatija, 1986.
(Pavlić, 1992.) M. Pavlić, "Apstrakcija metodologije modeliranja na
području projektiranja informacijskih sustava - doktorski rad", FOI,
Varaždin, 1992.
(Pavlić, 1996.) M. Pavlić, "Razvoj informacijskih sustava -
projektiranje, praktična iskustva", metodologija, Znak, Zagreb, 1996.
(Sakai, 1980.) H. Sakai, "A Unified Approach to the Logical design
of a Hierarcihal Data Model", 1980, vidi (Chen, 1980.).
(Sakai, 1983.) H. Sakai, "Entity-Relationship Approach to Logical
Database Design", 1983., vidi (Davis, 1983.).
(Santos, 1980.) C.S. dos Santos, E.J. Neuhold i A.L. Furtado, "A
Date Type Approach to the Entity-Relationship Model", (vidi Chan, 1980.).
(Schuldt, 1987.) G. Schuldt, " ER - Based Access Modeling",
vidi (Spaccapietra, 1987.).
(Tardieu, 1980.) H. Tardieu, H. Heckenroth, D. Pascot i D. Nanci, "A
Method, A Formalism and Tools for Database Design ( Three Years of Experimental
Practice)",1980., vidi (Chen, 1980.).
(Tsichritzis, 1982.) D.C. Tsichritzis , F.H. Lochovsky ,"Data
Models",Prentice Hall, 1982.
(Ursprung, 1983.) P. Ursprung i C.A. Zemnder, "HIQUEL: An
Interactive Query Language to Define and Use Hierarchies", (vidi Davis,
1983.).
(Varga, 1994.) Mladen Varga, “Baze podataka - konceptualno, logičko i
fizičko modeliranje podataka”, DRIP, Zagreb, 1994.
(Vetter, 1987.) M. Vetter, "Strategy for Data Modelling, Application
and Enterprise-wide", John Wiley and sons, Chichester, 1987., p. 344
(Vujnović, 1995.) R. Vujnović, “SQL i relacijski model podataka” , Znak,
Zagreb, 1995.
(Wikipedia, 2010.) http://en.wikipedia.org/wiki/Categorization
(09.05.2010.)
(Wikipedia, 2010.) Wikipedija: http://en.wikipedia.org/wiki/Peter_Chen,
22.04.2010.
(Wikipedija, 2010.) http://hr.wikipedia.org/wiki/Informacijski_sustavi
(19.04.2010.)
(Yao, 1985.) S. Bing Yao, "Principles of Database Design",
Prentice - Hall, New Jersey, 1985.
(Yourdon, 1979.) E. Yourdon, L. L. Constantine, "Structured Design:
Fundamentals of a Discipline of Computer Program and Systems Design",
facsimile edn, Prentice Hall, 1979.
(Zhang, 1983.) Z.Q. Zhang i A.O. Mendelzon, "A Graphical Query
Language for Entity-Relationship Databases", 1983., vidi (Davis, 1983.).