Pretraži ovaj blog

srijeda, 12. lipnja 2013.

Knjiga Oblikovanje baze podataka

Mile Pavlić

Oblikovanje baze podataka 


Odjel za informatiku Sveučilišta u Rijeci objavio je Sveučilišni udžbenik pod nazivom "Oblikovanje baze podataka". On se može nabaviti slanjem upita autoru;)





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.
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 obiluje objašnjenjima i definicijama vezanim uz metode za oblikovanje baza podataka.
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.

Zahvala
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.

Sadržaj 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.
(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.).