Správa verzí databázových schémat
Database Schema Version Control
diploma thesis (DEFENDED)
![Document thumbnail](/bitstream/handle/20.500.11956/14849/thumbnail.png?sequence=7&isAllowed=y)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/14849Identifiers
Study Information System: 47456
Collections
- Kvalifikační práce [11266]
Author
Advisor
Referee
Skopal, Tomáš
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software systems
Department
Department of Software Engineering
Date of defense
26. 5. 2008
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Excellent
Hlavním cílem práce je navrhnout a implementovat nástroj na zjišťování rozdílů ve dvou databázových schématech. Praktické uplatnění takového nástroje je poměrně široké. Nejčastějším případem použití však bude synchronizace dvou databázových schémat, která původně vznikla stejným vytvořujícím skriptem, tj. na začátku byla schémata shodná. Postupem času uživatel různými operacemi zasahuje do jednoho či druhého schématu, což následně vede k jejich rozdílné struktuře. V jistém okamžiku může uživatel opět požadovat, aby schémata obsahovala stejné databázové objekty, tj. aby byla, co se týče struktury, opět shodná. Nástroj na správu verzí databázových schémat v prvním kroku porovná databázové objekty v obou schématech a zjistí rozdíly. V dalších krocích vygeneruje různé formy výstupu pro uživatele - grafické znázornění změn, XML výstup a textový výstup. Zřejmě nejzajímavější formou výstupu je SQL skript, který po vykonání v jedné z databází zabezpečí, že obě schémata budou synchronizovaná. To znamená, že budou obsahovat stejné databázové objekty a tedy opět dojde ke sjednocení verzí databázových schémat.
The main goal of this diploma thesis is to design and implement an application that would be capable of searching for differences between two database schemas. There are many uses for such tool, but there is one that is the most common. Two database schemas are created with the same SQL script, so they are equal at the beginning. A user can later add or modify database objects in one of the schemas, so the schemas may not be equal anymore. The implemented tool can find the differences between the schemas and present the results to the user in various formats (diff tree in GUI, XML, and text). The most valuable form of output is undoubtedly an SQL script. The purpose of the SQL script is the synchronization of the two schemas. The user can execute such script in a database containing the second schema, and the second schema will be modified according to the first schema.