Nedokumentētas datubāzes struktūras atšifrēšana
Автор
Ozoliņš, Gatis
Co-author
Latvijas Universitāte. Fizikas un matemātikas fakultāte
Advisor
Podnieks, Kārlis
Дата
2009Metadata
Показать полную информациюАннотации
Nereti datubāzes sistēmas ir pavirši dokumentētas, piemēram, ir aprakstītas datubāzes tabulas, bet ne to saistības un atkarības. Tāpēc bieži, pārņemot šādu sistēmu uzturēšanu, vai arī izstrādājot izmaiņu pieprasījumus, nozīmīgs laiks tiek pavadīts analizējot datubāzes struktūru. Īpaši aktuāli tas ir izstrādājot datu noliktavu risinājumus, kur parasti ir daudz avotu sistēmu.
Vislabāk saprast datubāzes struktūru ļauj ER diagramma, kura ideālā gadījumā tiek iekļauta dokumentācijā un tiek regulāri atjaunota. Tomēr praksē ER diagrammas nākas iegūt ar trešās puses rīku palīdzību, izmantojot datubāzē izveidotas ārējās atslēgas, kas dod nepieciešamo informāciju par datubāzes tabulu saistībām. Bet nereti ārējās atslēgas netiek izveidotas vispār, vai arī daļai no datubāzes tabulām, kas liedz iegūt pilnīgu ER diagrammu.
Šā darba ietvaros tiek izpētītas iespējamās metodes ārējo atslēgu iegūšanai, ja tādas nav nodefinētas datubāzē.
Atslēgvārdi: relāciju datubāze, ārējā atslēga, reversā inženierija Sometimes database systems are poorly documented, e.g., database tables are described, but not the relationships and dependencies. Therefore, often, when taking over system support or when developing a change request, significant amount of time is spent in analyzing the database structure. It is particularly important when developing data warehouses, where many database source systems are involved.
The ER diagram, which ideally is included in the documentation, allows for the best understanding of the database structure. However, in practice ER diagrams are created with third party tools, using foreign keys defined in the database. Sometimes foreign keys are not created at all, or only for a part of the tables, disallowing to acquire the entire ER diagram.
In this work, a research is presented into possible methods for extracting foreign keys, when they are not defined in the database.
Keywords: relational database, foreign key, reverse engineering