Kursus
SQL Server adalah sistem manajemen basis data relasional (RDBMS) yang banyak digunakan dan dikembangkan oleh Microsoft. Karena popularitasnya di industri data, kemungkinan Anda akan menemui pertanyaan khusus SQL Server selama wawancara teknis untuk peran terkait data.
Artikel ini bertujuan mempersiapkan Anda untuk wawancara semacam itu dengan membahas berbagai pertanyaan SQL Server, dari konsep dasar hingga teknik lanjutan, disertai jawaban dan penjelasan terperinci.
Untuk mempelajari lebih lanjut tentang SQL Server, lihat pengantar SQL Server ini.
Pertanyaan Wawancara SQL Server Dasar
Mari mulai dengan beberapa pertanyaan fondasional yang kemungkinan Anda temui di awal proses wawancara.
Apa itu SQL Server?
SQL Server adalah sistem manajemen basis data relasional (RDBMS) yang dikembangkan oleh Microsoft, dirancang untuk menyimpan, mengambil, dan mengelola data dalam jumlah besar secara efisien. Ini adalah alat yang sangat baik bagi bisnis yang membutuhkan solusi basis data yang andal dan skalabel karena menyediakan dukungan untuk alat BI, pemrosesan transaksi, dan alat analitik.
SQL Server juga skalabel dan dapat bekerja di berbagai sistem berkat kemampuan pengembangan, administrasi, dan pemeliharaan basis data yang komprehensif.
Apa perbedaan antara SQL dan SQL Server?
SQL, atau Structured Query Language, adalah bahasa pemrograman standar yang digunakan untuk mengelola dan memanipulasi basis data relasional. SQL menyediakan sintaks dan perintah yang diperlukan untuk melakukan berbagai operasi seperti kueri data, memperbarui catatan, dan mengelola struktur basis data.
SQL Server adalah RDBMS yang menggunakan SQL sebagai bahasa untuk berinteraksi dengan basis data. SQL Server juga mencakup serangkaian alat dan layanan untuk manajemen basis data, keamanan, pengoptimalan kinerja, dan integrasi data.
Perbedaan utamanya adalah SQL merupakan bahasa yang digunakan untuk melakukan operasi pada data, sedangkan SQL Server adalah sistem komprehensif yang menggunakan SQL untuk menyediakan lingkungan yang andal bagi penyimpanan, pengambilan, dan pengelolaan basis data.
SQL adalah sarana komunikasi dengan basis data, sementara RDBMS seperti SQL Server adalah platform yang menyimpan, memroses, dan mengamankan data.
Apa fitur utama SQL Server?
SQL Server menawarkan beragam fitur, termasuk penyimpanan data, pemrosesan transaksi, dan analitik lanjutan. Selain itu, SQL Server mendukung integrasi dengan berbagai sumber dan alat data, layanan BI dan pelaporan yang komprehensif, serta dukungan bawaan untuk pembelajaran mesin dan analisis data melalui integrasi R dan Python. SQL Server juga menyediakan keamanan tingkat lanjut dengan enkripsi dan audit.
Apa itu primary key di SQL Server?
Primary key adalah kolom, atau sekumpulan kolom, dalam sebuah tabel yang mengidentifikasi setiap baris dalam tabel tersebut secara unik. Primary key memastikan setiap record bersifat unik dan tidak dapat berisi nilai NULL, sehingga memberikan cara andal untuk menegakkan integritas entitas.
Apa saja jenis join di SQL Server?
SQL Server mendukung beberapa jenis join: INNER JOIN, LEFT JOIN (atau LEFT OUTER JOIN), RIGHT JOIN (atau RIGHT OUTER JOIN), FULL JOIN (atau FULL OUTER JOIN), dan CROSS JOIN. Setiap jenis join mengambil data dengan cara berbeda berdasarkan relasi antar tabel yang terlibat.
Apa itu CTE (Common Table Expression) di SQL Server?
Common Table Expression (CTE) adalah himpunan hasil sementara yang didefinisikan dalam lingkup eksekusi satu pernyataan SELECT, INSERT, UPDATE, atau DELETE. CTE memudahkan penulisan dan pembacaan kueri kompleks dengan memecahnya menjadi bagian yang lebih sederhana. CTE sangat berguna untuk kueri rekursif dan dapat meningkatkan keterbacaan serta kemudahan pemeliharaan kode SQL Anda.
Pertanyaan Wawancara SQL Server Tingkat Menengah
Beralih dari dasar-dasar, mari jelajahi beberapa pertanyaan tingkat menengah yang membahas lebih dalam kemampuan dan administrasi SQL Server.
Jelaskan cara menerapkan strategi backup dan pemulihan di SQL Server.
Menerapkan strategi backup dan pemulihan di SQL Server melibatkan pembuatan backup basis data berkala menggunakan full backup, differential backup, dan transaction log backup.
Full backup menangkap seluruh basis data, differential backup menangkap perubahan sejak full backup terakhir, dan transaction log backup menangkap semua perubahan sejak log backup terakhir.
Strategi pemulihan mencakup pengujian backup secara berkala, penggunaan penjadwalan backup otomatis, dan memiliki rencana pemulihan bencana yang jelas untuk memulihkan data dengan cepat dan meminimalkan downtime jika terjadi kehilangan atau kerusakan data.
Full Backup
BACKUP DATABASE [YourDatabaseName]
TO DISK = 'C:\Backups\YourDatabaseName_Full.bak'
WITH INIT,
NAME = 'Full Backup of YourDatabaseName';
Differential Backup
BACKUP DATABASE [YourDatabaseName]
TO DISK = 'C:\Backups\YourDatabaseName_Diff.bak'
WITH DIFFERENTIAL,
NAME = 'Differential Backup of YourDatabaseName';
Recovery
RESTORE DATABASE [YourDatabaseName]
FROM DISK = 'C:\Backups\YourDatabaseName_Full.bak'
WITH NORECOVERY;
RESTORE DATABASE [YourDatabaseName]
WITH RECOVERY;
Apa itu function dan stored procedure di SQL Server, dan apa perbedaannya?
Function dan stored procedure keduanya adalah objek kode yang dapat digunakan kembali di SQL Server. Function dirancang untuk mengembalikan satu nilai atau sebuah tabel dan dapat digunakan dalam pernyataan SQL seperti SELECT atau JOIN.
Stored procedure dapat melakukan rentang operasi yang lebih luas, termasuk memodifikasi objek basis data, mengeksekusi transaksi kompleks, dan menangani banyak hasil. Sementara function harus deterministik dan tidak dapat mengubah status basis data, stored procedure dapat memiliki efek samping dan mendukung logika pemrograman yang lebih kompleks.
Untuk membuat function, Anda dapat menggunakan perintah CREATE FUNCTION dan CREATE PROCEDURE untuk stored procedure. Stored procedure dieksekusi menggunakan perintah EXEC .
Bagaimana Anda dapat mengoptimalkan kinerja kueri di SQL Server menggunakan teknik seperti pengindeksan?
Mengoptimalkan kinerja kueri di SQL Server melibatkan pembuatan indeks pada kolom yang sering digunakan dalam klausa WHERE, kondisi JOIN, dan klausa ORDER BY untuk mempercepat pengambilan data. Pengindeksan yang tepat mengurangi jumlah data yang harus dipindai SQL Server, sehingga menghasilkan eksekusi kueri yang lebih cepat.
Selain itu, teknik seperti menganalisis rencana eksekusi kueri, memperbarui statistik, menghindari kolom yang tidak perlu dalam pernyataan SELECT, dan mengoptimalkan kode SQL dapat semakin meningkatkan kinerja. Pemantauan dan pemeliharaan indeks secara berkala, termasuk membangun ulang dan menata ulang sesuai kebutuhan, juga membantu menjaga kinerja tetap optimal.
Apa itu view di SQL Server, dan mengapa Anda menggunakannya?
View adalah tabel virtual berdasarkan kueri SELECT yang dapat menggabungkan dan menyederhanakan kueri kompleks, mengenkapsulasi logika, dan menyediakan lapisan abstraksi. View meningkatkan keamanan dengan membatasi akses ke tabel dasar, menyederhanakan akses data, dan menyajikan skema yang konsisten serta tidak berubah meskipun struktur data di bawahnya berubah.
CREATE VIEW dbo.ViewName
AS
SELECT var_1,
var_2,
var_3
FROM
dbo.data;
Bagaimana SQL Server menangani transaksi, dan apa sifat ACID?
SQL Server menggunakan transaksi untuk memastikan rangkaian operasi diselesaikan dengan sukses dan menjaga integritas data. Sifat ACID adalah:
- Atomicity (semua operasi selesai atau tidak ada yang selesai)
- Consistency (data tetap konsisten sebelum dan sesudah transaksi)
- Isolation (transaksi terisolasi satu sama lain)
- Durability (setelah di-commit, perubahan bersifat permanen)
Apa itu foreign key di SQL Server?
Foreign key adalah kolom atau sekumpulan kolom dalam satu tabel yang mengidentifikasi baris pada tabel lain secara unik, sehingga membentuk relasi antara kedua tabel. Foreign key menegakkan integritas referensial dengan memastikan nilai pada kolom foreign key sesuai dengan nilai di primary key tabel yang direferensikan, sehingga mencegah entri data tidak valid dan menjaga konsistensi.
Apa itu SQL Server Profiler, dan bagaimana cara menggunakannya?
SQL Server Profiler adalah alat untuk memantau dan menganalisis peristiwa SQL Server. Alat ini menangkap dan merekam data tentang setiap peristiwa, seperti eksekusi kueri, metrik kinerja, dan error. SQL Server Profiler memungkinkan administrator basis data mendiagnosis masalah kinerja, mengidentifikasi kueri yang berjalan lambat, dan mengaudit aktivitas SQL Server. Data jejak yang ditangkap dapat disimpan dan diputar ulang untuk memecahkan masalah atau mengoptimalkan kinerja SQL Server.
Apa tujuan SQL Server Agent?
SQL Server Agent adalah komponen SQL Server yang memungkinkan otomatisasi tugas seperti backup, pemeliharaan basis data, dan pekerjaan terjadwal. Komponen ini memungkinkan pembuatan dan penjadwalan job yang menjalankan skrip SQL, pernyataan T-SQL, atau bahkan program eksternal pada waktu tertentu atau sebagai respons terhadap peristiwa tertentu, sehingga membantu mengotomatiskan tugas administratif rutin dan memastikan tugas tersebut berjalan andal.
Apa itu normalisasi basis data, dan mengapa penting?
Normalisasi basis data adalah proses menstrukturkan basis data relasional untuk meminimalkan redundansi dan ketergantungan dengan mengorganisasi data ke dalam tabel dan mendefinisikan relasi di antara tabel tersebut. Proses ini dilakukan bertahap, disebut bentuk normal, yang masing-masing menangani isu spesifik seperti menghilangkan data duplikat dan memastikan ketergantungan data bersifat logis.
Normalisasi meningkatkan integritas dan konsistensi data, mengurangi kebutuhan penyimpanan, dan menyederhanakan pemeliharaan dengan menangani pembaruan, penyisipan, dan penghapusan secara efisien.
Pertanyaan Wawancara SQL Server Tingkat Lanjutan
Sekarang setelah kita membahas konsep tingkat menengah, mari masuk ke beberapa pertanyaan wawancara SQL Server tingkat lanjut.
Apa saja jenis replikasi di SQL Server (Transactional, Merge, Snapshot)?
SQL Server menawarkan berbagai teknik replikasi untuk mendistribusikan dan menyinkronkan data di beberapa basis data:
- Transactional replication: Menduplikasi setiap transaksi dari publisher ke subscriber secara real-time, menjaga konsistensi antar basis data.
- Merge replication: Memungkinkan pembaruan dilakukan di publisher dan subscriber, lalu menggabungkan perubahan untuk memastikan konsistensi di semua replika.
- Snapshot replication: Mengambil snapshot data pada waktu tertentu dan menerapkannya ke subscriber, cocok untuk skenario yang tidak memerlukan sinkronisasi data hampir real-time.
Jelaskan fungsionalitas yang ditawarkan oleh SQL Server Integration Services (SSIS).
SQL Server Integration Services (SSIS) menawarkan beragam fungsionalitas, termasuk:
- Ekstraksi, transformasi, dan pemuatan data (ETL).
- Otomatisasi alur kerja untuk tugas integrasi data.
- Integrasi dengan berbagai sumber dan tujuan data seperti basis data, file, dan layanan cloud.
- Dukungan untuk transformasi tingkat lanjut, pembersihan data, dan penanganan error.
- Deployment dan manajemen paket untuk eksekusi terjadwal dan pemantauan.
Bagaimana Anda dapat memantau dan memecahkan masalah kinerja di SQL Server?
Menjaga kinerja optimal adalah aspek krusial dalam mengelola lingkungan SQL Server. Berikut beberapa strategi yang dapat kita gunakan:
- Secara rutin memantau kinerja sistem dan kueri menggunakan alat seperti SQL Server Management Studio (SSMS), SQL Server Profiler, dan Performance Monitor.
- Menganalisis rencana eksekusi untuk mengidentifikasi kueri yang berkinerja lambat dan mengoptimalkannya menggunakan pengindeksan, penyetelan kueri, atau penulisan ulang.
- Memantau sumber daya sistem seperti CPU, memori, I/O disk, dan penggunaan jaringan untuk mengidentifikasi potensi bottleneck dan mengoptimalkan konfigurasi perangkat keras.
- Menerapkan penghitung kinerja dan peringatan untuk secara proaktif mengidentifikasi dan mengatasi masalah kinerja sebelum berdampak pada pengguna.
Jelaskan perbedaan antara scalar function, table-valued function, dan inline table-valued function di SQL Server.
Scalar function mengembalikan satu nilai, sedangkan table-valued function mengembalikan himpunan hasil. Inline table-valued function mirip dengan view tetapi dapat menerima parameter dan lebih serbaguna. Perbedaannya terletak pada keluaran dan skenario penggunaannya.
Apa manfaat dan kelemahan penggunaan trigger di SQL Server?
Trigger menyediakan cara untuk secara otomatis melakukan tindakan seperti mencatat perubahan, menegakkan aturan bisnis, atau menjaga integritas saat data dimodifikasi. Namun, jika tidak diterapkan dan dikelola dengan hati-hati, trigger dapat memengaruhi kinerja, menambah kompleksitas, dan menimbulkan perilaku tak terduga.
Jelaskan bagaimana Anda dapat menerapkan keamanan tingkat baris (row-level security) di SQL Server.
Keamanan tingkat baris dapat diterapkan menggunakan security predicate atau filter predicate di SQL Server. Security predicate membatasi akses ke baris berdasarkan kondisi spesifik pengguna yang didefinisikan dalam kebijakan keamanan, memastikan pengguna hanya dapat melihat data yang memenuhi kriteria mereka.
Jelaskan perbedaan antara clustered dan non-clustered columnstore index di SQL Server.
Clustered columnstore index menyimpan data dalam format kolom, yang ideal untuk beban kerja analitik dengan dataset besar. Non-clustered columnstore index memberikan manfaat penyimpanan kolumnar tanpa mengubah struktur fisik tabel, sehingga memungkinkan akses dan pembaruan data secara real-time.
Apa tujuan hint NOLOCK di SQL Server, dan kapan sebaiknya digunakan?
Hint NOLOCK memungkinkan pernyataan SELECT membaca data tanpa memperoleh shared lock, sehingga meningkatkan kinerja kueri dengan menghindari blocking. Namun, ini dapat menyebabkan dirty read dan non-repeatable read, jadi harus digunakan dengan hati-hati, terutama saat konsistensi data sangat penting.
Jelaskan konsep temporal table di SQL Server dan bagaimana penggunaannya.
Temporal table memungkinkan pelacakan perubahan data dari waktu ke waktu dengan secara otomatis memelihara versi historis dari record. Konsep ini terdiri dari dua tabel: tabel saat ini dan tabel riwayat, dengan system-versioned tables yang memudahkan kueri data pada titik waktu berbeda untuk tujuan audit dan kepatuhan.
Pertanyaan Wawancara SQL Server untuk Data/BI Analyst
Jika Anda melamar peran Data Analyst atau BI Analyst, Anda kemungkinan akan menghadapi pertanyaan yang berfokus pada kemampuan menganalisis dan menyajikan wawasan data. Mari bahas beberapa pertanyaan umum yang disesuaikan untuk posisi tersebut.
Jelaskan berbagai teknik visualisasi data yang digunakan dalam BI dan bagaimana teknik tersebut dapat digunakan untuk menyajikan wawasan dari data SQL Server.
Teknik visualisasi data dalam BI mencakup bagan, grafik, peta, dan dasbor. Teknik-teknik ini membantu mengubah data mentah SQL Server menjadi representasi visual yang mudah dipahami dan ditafsirkan, sehingga memfasilitasi pengambilan keputusan. Misalnya, bagan dapat menggambarkan tren dan pola dalam data penjualan, sementara peta dapat memvisualisasikan sebaran geografis pelanggan.
Uraikan pengalaman Anda dengan alat BI yang terintegrasi dengan SQL Server untuk analisis dan pelaporan data (misalnya, Power BI, Tableau).
Catatan: Di bawah ini adalah struktur yang baik untuk diikuti, namun Anda perlu jawaban yang sesuai dengan pengalaman Anda.
Saya memiliki pengalaman luas dengan Power BI untuk analisis dan pelaporan data. Dengan integrasi Power BI yang mulus dengan SQL Server, saya telah membangun dasbor dan laporan interaktif yang memberikan wawasan real-time tentang kinerja bisnis yang berdampak pada [Masukkan nilai tambah terkuantifikasi yang relevan dari pengalaman Power BI].
Selain itu, saya memanfaatkan fitur lanjutan Power BI, seperti ekspresi DAX dan pemodelan data, untuk membuat solusi analitik yang tangguh yang memenuhi kebutuhan spesifik para pemangku kepentingan.
Selain itu, dalam peran saya sebelumnya di [Perusahaan], saya menggunakan Tableau untuk membuat visualisasi untuk [Masukkan proyek dan hasil yang relevan]. Saya juga memiliki pengalaman luas menggunakan bahasa pemrograman populer seperti R dan Python untuk membuat visualisasi melalui pengalaman kerja ini.
Jelaskan konsep tabel fakta dan tabel dimensi dalam data warehouse.
Dalam data warehouse, tabel fakta berisi ukuran atau metrik kuantitatif yang merepresentasikan transaksi bisnis, sedangkan tabel dimensi berisi atribut deskriptif atau karakteristik yang memberikan konteks pada ukuran tersebut. Tabel fakta biasanya dikelilingi oleh tabel dimensi dan di-join untuk analisis.
Uraikan pengalaman Anda dengan teknik pemodelan data di SQL Server untuk proyek BI.
Catatan: Di bawah ini adalah struktur yang baik untuk diikuti, namun Anda perlu jawaban yang sesuai dengan pengalaman Anda.
Dalam proyek-proyek sebelumnya, saya menggunakan teknik pemodelan data seperti skema bintang (star schema) dan skema serpihan salju (snowflake schema) untuk merancang model data bagi solusi BI di SQL Server. Saya mendefinisikan tabel fakta, tabel dimensi, dan relasinya guna menciptakan arsitektur data yang terstruktur dan efisien yang mendukung pelaporan analitis dan pembangkitan wawasan.
Jelaskan bagaimana Anda akan merancang dasbor di Power BI untuk memvisualisasikan data kinerja penjualan dari SQL Server.
Saya akan mulai dengan menghubungkan Power BI ke basis data SQL Server dan mengimpor data penjualan. Kemudian, saya akan merancang visualisasi seperti diagram batang, diagram garis, dan KPI untuk menampilkan metrik penjualan utama seperti pendapatan, unit terjual, dan margin laba. Saya juga akan memasukkan filter dan slicer agar pengguna dapat melakukan drill down ke wilayah, produk, atau periode waktu tertentu untuk analisis yang lebih mendalam.
Bagaimana Anda menangani masalah kualitas data di SQL Server untuk pelaporan BI?
Saya menangani masalah kualitas data dengan menerapkan pemeriksaan validasi data, teknik pembersihan data, dan profiling data untuk mengidentifikasi serta memperbaiki inkonsistensi, kesalahan, atau nilai yang hilang. Saya juga menetapkan kebijakan dan prosedur tata kelola data untuk memastikan akurasi, kelengkapan, dan konsistensi data di seluruh lingkungan BI.
Kesimpulan
Kita telah membahas beragam pertanyaan wawancara SQL Server, mulai dari definisi dasar hingga administrasi lanjutan dan teknik analisis data. Dengan memahami konsep-konsep ini dan menyiapkan jawaban yang matang, Anda akan siap menunjukkan kecakapan SQL Server Anda dalam wawancara berikutnya.
Jika Anda ingin belajar dan berlatih lebih banyak untuk wawancara, lihat kursus SQL ini.
FAQ
Bagaimana saya dapat menyusun pertanyaan pengalaman pribadi untuk pertanyaan wawancara SQL Server?
Selalu merupakan ide yang baik untuk mengkuantifikasi dampak proyek dan pengalaman kerja Anda. Jika Anda memiliki pengalaman yang relevan dengan SQL, pastikan untuk menyiapkan pemahaman yang kuat tentang berapa banyak pelanggan yang terdampak oleh pekerjaan Anda, skala data yang Anda tangani, dan faktor lain yang menunjukkan seberapa besar tanggung jawab yang pernah Anda emban dengan teknologi tersebut.
Seberapa umum wawancara teknis SQL Server?
Wawancara teknis sangat umum untuk sebagian besar pekerjaan data dan pemrograman. Bergantung pada deskripsi pekerjaan, Anda mungkin akan ditanya beberapa pertanyaan teknis SQL Server.
Apa itu SQL Server?
SQL Server adalah sistem manajemen basis data relasional (RDBMS) yang kuat dan populer yang dikembangkan oleh Microsoft.
Apa RDBMS populer lainnya?
PostgreSQL, MySQL, dan OracleDB juga sangat populer dan banyak digunakan.
Penulis Data Science | Analis Pemasaran Teknis Senior di Wayfair | MSE di Data Science dari University of Pennsylvania
