Theses 

Verzování schématu relační databáze – Bc. Ondřej Bouda

česky | in English | slovensky

Agenda:
Změnit agendu. Adresa v ISu:

Zpět na vyhledávání

Bc. Ondřej Bouda

Bakalářská práce

Verzování schématu relační databáze

Relational Database Schema Versioning

Anotace: Systémy pro správu verzí patří mezi základní nástroje používané při vývoji software. Umožňují udržovat verze souborů, zaznamenávat historii jejich změn, sdružovat změny do logických celků, kontrolovaným způsobem podporovat práci v týmu na společných částech zdrojového kódu a vrátit celý projekt do libovolného předchozího stavu. S příchodem distribuovaných systémů pro správu verzí v posledním desetiletí se podporované funkce dále rozšířily. Zatímco správa verzí zdrojového kódu je již dobře zvládnutý problém, při vývoji software se používají i jiné zdroje než jen programový kód. V případě, že vyvíjená aplikace používá databázi, jejíž schéma vývojáři sami definují, změny schématu by měly být verzovány spolu se zdrojovým kódem. V opačném případě se mnoho funkcí verzovacích systémů ztrácí, konkrétně možnost přechodu ke starší verzi projektu, ba i pouhé sledování změn schématu. V mnoha případech je tento problém různě překonáván, existují dokonce systémy pro správu verzí databázového schématu, které ale spravují pouze schéma databáze. Cílem této práce je vytvořit otevřené rozšíření systému pro správu verzí Subversion, které umožní správu verzí databázového schématu společně s verzováním zdrojového kódu. Takový nástroj by v případě vývoje databázových aplikací se schématem spravovaným samotnými vývojáři znovu zpřístupnil všechny běžné funkce verzovacích systémů. Výsledný program je implementován pro databázový systém MySQL.

Abstract: Version control systems have been widely adopted as essential tools used in software development. They enable one to maintain versions of files, record history of their changes, group changes into logical units, allow multiple developers to work on the same code base in a controlled manner, and revert the project being developed to any submitted version. With the advent of distributed version control systems in the last decade, the feature set has been further extended. While versioning source code is a well-managed task, there are more resources used in the software development. When the application being developed uses a database, and the developers maintain its schema, changes to the schema should also be versioned together with the source code. If they are not, much of the features offered by version control systems is lost, namely the ability to revert the project to previous versions and even track the changes on the database schema. There are many scenarios in which this problem is overcome somehow, and there exist database schema version control systems, which maintain only the database schema, though. The aim of this thesis is to provide an open-source extension to a widely used version control system, Subversion, enabling one to control versions of the database schema together with the source code. With such a tool, one would regain all the version control system features for development of applications using a database managed by the developers themselves. An implementation is provided for the MySQL database system.

Keywords: Version control systems, relational database, database schema versioning, MySQL, Subversion extension, database server proxy, database table diff, database migration

Jazyk práce: angličtina

Obhajoba závěrečné práce

  • Obhajoba proběhla 20. 6. 2013
  • Vedoucí: doc. RNDr. Vlastislav Dohnal, Ph.D.
  • Oponent: RNDr. Michal Batko, Ph.D.

Citační záznam

Citace dle ISO 690: LaTeX | HTML | text | BibTeX | Wikipedie

Plný text práce

Obsah online archivu závěrečné práce
Zveřejněno v Theses:
  • světu
Složka Odkaz na adresář do lokálního úložiště instituce
metadataTheses.xml metadataTheses.xml
Jak jinak získat přístup k textu

Instituce archivující a zpřístupňující práci: Masarykova univerzita, Fakulta informatiky


Nahoru | Aktuální datum a čas: 12. 12. 2017 19:08, 50. (sudý) týden

Kontakty: theses(zavináč/atsign)fi(tečka/dot)muni(tečka/dot)cz