Definisi

Dalam metadata, transformasi data mengubah data dari sumber data ke dalam format data tujuan. Transformasi data dapat dibagi menjadi dua langkah: pemetaan data data peta elemen dari sumber ke tujuan dan menangkap setiap transformasi yang harus terjadi
kode generasi yang menciptakan program transformasi yang sebenarnya. Data elemen elemen data pemetaan sering rumit oleh transformasi kompleks yang membutuhkan satu-ke-banyak dan banyak-ke-satu transformasi aturan. Langkah pembuatan kode mengambil spesifikasi elemen data pemetaan dan menciptakan program executable yang dapat dijalankan pada sistem komputer. Kode generasi juga dapat membuat transformasi dalam mudah mempertahankan bahasa komputer seperti Java atau XSLT. Bila pemetaan ini tidak langsung melalui data model mediasi, proses tersebut juga disebut data mediasi.

Transformational bahasa

Ada berbagai bahasa tersedia untuk melakukan transformasi data. Banyak bahasa transformasional memerlukan tata bahasa yang harus disediakan. Dalam banyak kasus tata bahasa ini disusun dengan menggunakan sesuatu yang sangat mirip Backus-Naur Form (BNF). Ada berbagai bahasa tersedia untuk tujuan tersebut bervariasi dalam aksesibilitas mereka (biaya) dan kegunaan umum. Contoh bahasa tersebut termasuk: XSLT – bahasa XML transformasi, TXL – bahasa berbasis deskripsi prototyping menggunakan transformasi sumber.

Perlu dicatat bahwa meskipun bahasa transformasional biasanya paling cocok untuk transformasi, sesuatu yang sederhana seperti kalimat biasa dapat digunakan untuk mencapai transformasi berguna. Textpad mendukung penggunaan ekspresi reguler dengan argumen. Hal ini akan memungkinkan semua contoh pola tertentu untuk diganti dengan pola lain yang menggunakan bagian dari pola yang asli. Sebagai contoh: foo (“beberapa” string, 42, gCommon); bar (someObj, anotherObj); foo (“lain” string, 24, gCommon); bar (myObj, myOtherObj); berdua bisa diubah menjadi bentuk yang lebih kompak seperti: foobar (“beberapa” string, 42, someObj, anotherObj); foobar (“lain” string, 24, myObj, myOtherObj);

Dengan kata lain, semua contoh dari fungsi permintaan foo dengan tiga argumen, diikuti oleh fungsi permintaan dengan dua doa akan digantikan dengan permintaan fungsi tunggal dengan menggunakan beberapa atau semua set asli argumen. Keuntungan lain menggunakan ekspresi reguler adalah bahwa mereka tidak akan gagal mengubah null tes. Yaitu, menggunakan bahasa transformasional pilihan Anda, jalankan program sampel melalui transformasi yang ini tidak melakukan transformasi. Banyak bahasa transformasional akan gagal tes ini.

Masalah sulit

Ada banyak tantangan dalam transformasi data. Mungkin masalah yang paling sulit untuk alamat di C + + adalah “preprocessor direktif terstruktur”. Ini adalah preprocessor direktif yang tidak mengandung blok kode dengan deskripsi gramatikal sederhana. Sebuah solusi yang benar-benar umum untuk penanganan ini sangat sulit karena perintah preprocessor seperti dasarnya dapat mengedit bahasa yang mendasari dengan cara sewenang-wenang. Namun, karena perintah tersebut tidak, dalam praktiknya, digunakan dengan cara yang benar-benar sewenang-wenang, seseorang dapat membangun sarana praktis untuk menangani bahasa preprocessed. The DMS Software Reengineering Toolkit mampu menangani terstruktur dan conditional macro preprocessor.

Sumber ; http;//en.wikipedia.org