Artikel ini terutama ditulis untuk pemula. Namun, ini mencakup beberapa konsep perancangan basis data yang menarik dan sering dilupakan yang sama-sama menarik bagi para profesional basis data SQL.
Bagian saat ini berfokus pada konsep perancangan database dan pemetaannya ke tabel, kolom, dan hubungan Database SQL. Jika Anda memahami latar belakang database dan alat yang akan kami gunakan, Anda akan merancang database SQL pertama Anda dengan percaya diri.
Prasyarat
Sebelum kita melanjutkan, pastikan memiliki hal-hal berikut:
- SQL Server 2016/2017/2019 Edisi Express/Developer telah diinstal pada mesin Anda
- SSMS (SQL Server Management Studio) telah diinstal
Selain itu, Anda perlu memiliki pengetahuan dasar tentang database dan alat-alat di atas.
Tidak masalah jika Anda tidak memiliki SQL Server dan SSMS versi terbaru. Namun, sangat disarankan untuk memiliki versi yang lebih baru, jika bukan yang terbaru tersedia. Anda bisa mendapatkan versi yang diperlukan dari sumber di bawah ini:
- Unduh edisi Pengembang SQL Server 2017.
- Unduh SQL Server 2019 (sebagai alternatif, untuk mendapatkan edisi SQL Server Express/Developer terbaru).
- Atau, Unduh edisi khusus gratis Developer atau Express SQL Server.
- Unduh SSMS (SQL Server Management Studio)
Perhatikan bahwa semua tautan ini berfungsi dengan baik pada saat menulis artikel ini. Jika Microsoft memutuskan untuk menggantinya, silakan unduh versi terbaru yang tersedia.
Tentang Desain Database SQL
Untuk mulai mendesain database SQL dengan SQL Server Management Studio (SSMS), Anda harus memiliki beberapa rencana desain.
Tidaklah mudah tanpa mengetahui konsep inti dari perancangan basis data. Namun, begitu Anda mendapatkan konsep-konsep ini dan implementasinya, Anda secara alami mulai mengikuti prinsip-prinsip desain. Ini umum terjadi pada hampir semua pengembang basis data.
Mari kita membahas beberapa konsep desain basis data inti terlebih dahulu. Tidak mudah untuk membahas semuanya dalam satu artikel, tetapi kami membutuhkan sesuatu untuk memulai.
Kami memahami database tipikal dalam hal-hal berikut:
- Entitas
- Atribut
- Hubungan
Apa itu Entitas?
Entitas adalah segala sesuatu yang ingin disimpan oleh bisnis atau individu dalam database. Misalnya:
- Pelanggan.
- Pesan.
- Produk.
Kita dapat mengatakan bahwa Pelanggan adalah entitas jika bisnis ingin menyimpannya dalam struktur database untuk tujuan transaksional, analisis, dan pelaporan. Demikian pula, sebuah Pesanan ditempatkan oleh Pelanggan juga merupakan entitas jika bisnis ingin melihat informasi tersebut. Oleh karena itu, informasi ini harus menjadi bagian dari database.
Namun, sebuah Pesanan tidak masuk akal tanpa Produk . Produk yang ditawarkan kepada Pelanggan juga merupakan entitas.
Bagaimana Entitas Dipetakan ke Database?
Dari perspektif database, entitas dapat dipetakan ke tabel. Jadi, jika bisnis membutuhkan entitas Pelanggan, Pesanan, dan Produk, pengembang database dapat memetakannya sebagai tiga tabel.
Apa itu Atribut?
Atribut adalah deskripsi dari sebuah entitas. Misalnya:
- NamaPelanggan
- Jenis Pesanan
- NamaProduk
Jika Pelanggan adalah entitas, nama pelanggan (NamaPelanggan ) adalah sebuah atribut. Atribut ini menjelaskan entitas kami (Pelanggan ). Demikian pula, TipePesanan adalah atribut ke Order entitas, dan ProductName adalah atribut dari Produk entitas.
Bagaimana Atribut Dipetakan ke Database?
Atribut, seperti CustomerName, menjelaskan Pelanggan tabel dan dapat dipetakan ke kolom dalam tabel tersebut.
Entitas dengan Beberapa Atribut
Tidak masalah bagi entitas untuk memiliki banyak atribut. Oleh karena itu, kita dapat memiliki banyak kolom (atribut) dalam sebuah tabel (entitas).
Hubungan Entitas
Suatu entitas dapat dihubungkan dengan entitas lain melalui hubungan. Sebuah tabel dapat dihubungkan dengan tabel lain. Ada banyak jenis entitas atau relasi tabel:
Hubungan Pesanan Pelanggan (satu-ke-banyak)
Pelanggan (entitas/tabel) dapat dikaitkan dengan Pesanan (entitas/tabel) karena alasan berikut:
- Pelanggan dapat melakukan satu pemesanan.
- Pelanggan dapat memesan banyak.
Kebalikannya juga benar:
- Banyak pesanan dapat dilakukan oleh satu pelanggan.
- Satu pesanan dapat dilakukan oleh satu pelanggan.
Ini adalah contoh hubungan satu-ke-banyak :satu pelanggan dapat melakukan banyak pesanan, dan banyak pesanan dapat dilakukan oleh satu pelanggan.
Hubungan Produk-Pesanan (satu-ke-banyak)
Produk (entitas/tabel) dapat dikaitkan dengan Pesanan (entitas/tabel) sebagai berikut:
- Sebuah produk dapat ditetapkan ke satu pesanan.
- Sebuah produk dapat diberikan ke banyak pesanan.
Demikian pula:
- Banyak pesanan dapat ditetapkan ke suatu produk.
- Satu pesanan dapat memiliki satu produk.
Ada hubungan satu-ke-banyak antara Produk dan Pesan .
Hubungan Pelanggan-Produk (banyak-ke-banyak)
Sekarang hubungan antara pelanggan dan produk dijelaskan sebagai berikut:
- Pelanggan dapat membeli satu produk.
- Pelanggan dapat membeli lebih dari satu produk.
- Sebuah produk dapat dibeli oleh pelanggan.
- Sebuah produk dapat dibeli oleh lebih dari satu pelanggan.
Banyak produk dapat dibeli oleh banyak pelanggan, artinya Pelanggan dan Produk hubungan adalah banyak-ke-banyak .
Perhatikan ilustrasi di bawah ini:
Skenario Desain Siswa-Instruktur
Mari kita pertimbangkan skenario desain database yang berbeda. Anda akan menerapkannya menggunakan SSMS (SQL Server Management Studio) di bagian lain artikel ini.
Persyaratan bisnis
Misalkan Anda perlu merancang database yang menyimpan informasi berikut:
- Siswa.
- Instruktur.
- Siswa yang telah dialokasikan seorang instruktur.
- Instruktur yang ditugaskan untuk siswa.
Analisis Awal
Setelah diamati dengan cermat, Anda akan menemukan sesuatu yang cukup menarik tentang persyaratan di atas. “Siswa yang telah mengalokasikan seorang instruktur” dan “Instruktur yang telah ditugaskan untuk para siswa” adalah persyaratan yang sama.
Seringkali dua persyaratan yang tampak berbeda ternyata sama dalam konteks desain basis data.
Identifikasi Entitas
Entitas berikut dapat langsung diambil dari persyaratan:
- Mahasiswa
- Instruktur
Namun, satu entitas lagi berfungsi untuk memberi kami informasi tentang instruktur yang dialokasikan untuk siswa.
Mari kita ingat contoh pertama di mana kita menggunakan tabel Pesanan – banyak pelanggan dapat membeli banyak pesanan dalam hubungan Pesanan-Pelanggan. Ini mirip dengan murid-instruktur our hubungan tabel – banyak instruktur dapat dialokasikan untuk banyak siswa.
Identifikasi Atribut
Kami dapat memilih atribut yang berguna untuk entitas yang diidentifikasi, sesuai dengan skenario pesanan pelanggan:
- Siswa:ID Siswa, Nama.
- Instruktur:ID Instruktur, Nama.
- Instruktur-Siswa:ID Instruktur-Siswa, ID Siswa, ID Instruktur.
Hubungan Identitas:
Identifikasi hubungan entitas:
- Siswa -> Instruktur-Siswa (satu-ke-banyak).
- Instruktur-> Instruktur-Siswa (satu-ke-banyak).
- Siswa -> Instruktur (banyak-ke-banyak).
Ingatlah bahwa kita selalu menggunakan tabel tengah untuk menyelesaikan hubungan banyak ke banyak. Itulah mengapa kami memasukkan entitas Instruktur Siswa ke dalam rencana.
Memetakan Entitas dan Atribut ke tabel dan kolom
Sekarang kita dapat memetakan entitas ke tabel. Jadi, kita akan membuat tiga tabel berikut:
- Mahasiswa.
- Instruktur.
- Instruktur-Siswa.
Demikian pula, atribut entitas tersebut, ketika dipetakan ke kolom, akan menjadi sebagai berikut:
- Siswa:Id Pelajar, Nama.
- Instruktur:InstructorId, Nama.
- Student-Instructor:StudentInstructorId, StudentId, InstructorId.
Perhatikan ilustrasi di bawah ini:
Selamat! Anda telah berhasil mempelajari konsep desain database. Kita sudah familiar dengan entitas, atribut, dan hubungan serta langkah-langkah untuk memetakannya ke tabel dan kolom dalam database.
Artikel berikutnya akan memandu Anda melalui langkah-langkah mendesain database menggunakan SSMS (SQL Server Management Studio).
Hal yang harus dilakukan
Sekarang setelah Anda memahami dasar-dasar perancangan basis data, cobalah hal-hal berikut untuk meningkatkan keterampilan Anda lebih lanjut:
- Coba tambahkan entitas lain yang disebut Pemasok dengan atribut SupplierId dan SupplierName. Periksa apakah Anda dapat mengidentifikasi hubungan berikut dengan benar:
- Pesanan Pemasok;
- Pemasok-Pelanggan;
- Produk Pemasok.
- Desain database bersama dengan mengidentifikasi entitas, atribut, dan hubungan untuk perpustakaan. Petunjuk:Buku diterbitkan untuk anggota, dan anggota meminjam buku dari perpustakaan. Anggota, Buku, Diterbitkan dapat berupa entitas.
- Identifikasi jenis hubungan tabel berikut untuk entitas seperti yang disebutkan di atas:
- Diterbitkan oleh Anggota;
- Buku Diterbitkan;
- Buku Anggota;
- Anggota Buku.
Baca juga
Pelajari Desain Database dengan SQL Server Management Studio (SSMS) – Bagian 2