Bagaimana cara menemukan model database mysql?

Salah satu tugas tersulit untuk setiap manajer database baru adalah merancang tabel, skema, dan prosedur tersimpan. Desain basis data biasanya merupakan kesepakatan sekali pakai – apakah desainnya baik atau buruk, Anda tetap menggunakannya. Mendesain ulang database bukanlah pilihan bagi sebagian besar bisnis besar. Anda harus melakukannya dengan benar pertama kali. Masalahnya adalah kebanyakan orang tidak mempelajari jebakan sampai terlambat. Artikel ini membantu Anda memahami apa yang harus dilakukan, dan apa yang tidak boleh dilakukan

Apa yang tidak dilakukan

Sebagian besar pemrograman bisa menjadi trial and error bagi pengembang, tetapi desain database sangat penting untuk keberhasilan aplikasi. Ini menentukan apakah aplikasi Anda dapat diskalakan, apakah kinerjanya baik, dan apakah data Anda aman. Begitu banyak integritas dan kesuksesan bergantung pada desain database sehingga Anda tidak ingin mengabaikan pentingnya

Jika Anda dihadapkan dengan mendesain database, pertama-tama mari kita lihat apa yang tidak boleh Anda lakukan

Pertama, seperti yang kami sebutkan, jangan abaikan kinerja. Sebagian besar performa aplikasi Anda bergantung pada desain database yang baik. Sebagai desainer baru, Anda mungkin tidak menyadari bahwa aplikasi Anda dapat dilumpuhkan oleh pengembangan database yang buruk. Meja Kerja MySQL memiliki dasbor kinerja, laporan kinerja, dan statistik kueri. Anda memerlukan alat ini untuk mengidentifikasi kinerja yang buruk karena desain basis data dan pemrograman kueri

Kedua, Anda tidak boleh hanya menetapkan jenis nilai apa pun ke kolom tabel. Misalnya, jika Anda tahu bahwa Anda hanya memerlukan angka dari satu hingga sepuluh, sebaiknya Anda tidak hanya menggunakan tipe data BIGINT. Anda tidak boleh menetapkan tipe data VARCHAR ke kolom yang hanya menyimpan nilai bilangan bulat. Menetapkan tipe data ke nilai kolom menentukan efisiensi dan kinerja tabel Anda

Salah satu kesalahan umum yang dilakukan oleh desainer MySQL baru adalah kurangnya kunci primer dan asing. Kunci utama adalah nilai unik yang ditetapkan untuk setiap catatan. Pikirkan kunci utama sebagai cara unik untuk menemukan rekaman. MySQL memungkinkan Anda membuat kunci numerik yang bertambah secara otomatis, atau Anda dapat memilih sendiri. Misalnya, nomor VIN mobil Anda adalah kunci unik yang bisa menjadi kunci utama untuk tabel Mobil

Kesalahan lainnya adalah melupakan kunci asing. MySQL adalah basis data relasional, yang berarti tabel dihubungkan bersama menggunakan kunci primer dan kunci asing. Kunci asing pada dasarnya adalah salinan kunci utama dalam tabel sekunder. Misalnya, Anda memiliki daftar pelanggan. Anda membuat nilai numerik yang bertambah secara otomatis sebagai identifikasi pelanggan dan kunci utama. Anda membuat tabel kedua bernama Order. Bagaimana Anda menautkan Pelanggan dengan Pesanan terkait? . Kolom ID pelanggan di tabel Pesanan adalah kunci asing, dan Anda menggunakan kombinasi kunci asing primer secara teratur dalam kueri Anda

Jangan lupa untuk fokus pada kualitas dan integritas data. Anda seharusnya tidak memiliki tabel yang dirancang untuk menyimpan informasi yang sama di banyak lokasi. Anda tidak ingin memiliki aplikasi yang memperbarui data di satu tempat, tetapi kemudian pengembang lupa memperbaruinya di tempat kedua dan ketiga. Integritas data terganggu, dan aplikasi Anda mulai mengembalikan informasi yang salah. Hasilnya dapat menghancurkan jika aplikasi Anda menghitung pendapatan, analisis pemasaran, atau informasi pelanggan. Anda harus mendesain tabel berdasarkan integritas data dan menjaga kualitas. Basis data mengikuti aturan pemrograman lama "sampah masuk, sampah keluar. "

Cadangan sering dilupakan saat perusahaan pertama kali dimulai. Cadangan sangat penting jika database Anda gagal. Meskipun Anda mungkin dapat menghindari pencadangan di awal, Anda mungkin membutuhkannya berminggu-minggu, berbulan-bulan, atau bertahun-tahun di masa mendatang. Sistem cadangan yang baik akan menyelamatkan Anda dari kehilangan semua data Anda, yang biasanya berarti hilangnya pelanggan dan penjualan

Ini mungkin tampak berlawanan dengan intuisi, tetapi Anda juga ingin menghindari penghapusan data. Alih-alih menghapus data, aktifkan dan nonaktifkan. Anda juga dapat memilih untuk mengarsipkannya dan memperbarui rekaman dengan perubahan. Menghapus data dapat menyebabkan data berharga hilang. Jika Anda tidak mengatur hubungan, Anda berisiko membuat rekaman tanpa induk

Terakhir, selalu pertimbangkan keamanan sebagai hal yang sangat penting dalam desain database Anda. Jangan gunakan root untuk aplikasi, dan batasi akses ke tabel penting. Otentikasi dan otorisasi adalah implementasi penting saat melindungi data Anda

Proses Desain Database

Sekarang setelah Anda tahu apa yang tidak boleh dilakukan, saatnya menyempurnakan desain database Anda. Pertama-tama Anda harus memecah ide dan aplikasi Anda ke dalam beberapa kompartemen. Kami menggunakan tabel Pelanggan dan Pesanan sebagai contoh di bagian sebelumnya. Saat Anda pertama kali mulai mendesain database, mungkin sulit untuk memahami cara memecah aplikasi menjadi komponen yang cocok dengan tabel database

Cara mudah untuk memulai adalah dengan memisahkan aplikasi Anda ke dalam layar. Setiap layar biasanya menampilkan bagian dari aplikasi Anda yang dapat didesain menjadi sebuah tabel. Misalnya, Anda memiliki toko e-niaga. Anda memiliki halaman produk, halaman profil pelanggan, tempat pelanggan dapat melihat pesanan, dan mungkin halaman pengembalian. Semua halaman ini dapat dirancang menjadi tabel

Setelah Anda mengetahui komponen aplikasi Anda, gambarlah tabel Anda. Anda bisa menggunakan alat basis data yang membantu Anda mendesain tabel, atau Anda bisa menggambar tabel di atas kertas. Beberapa desainer menggambar desain di papan tulis. Menggunakan contoh e-niaga kami, Anda akan menggambar persegi (tabel) untuk setiap halaman. Nama tabel Anda adalah Pelanggan, Pesanan, Pengembalian, dan Produk

Jika Anda mengerjakan aplikasi yang lebih besar, Anda mungkin memiliki persyaratan bisnis yang perlu Anda ikuti. Beberapa pengembang menyediakan dokumen teknis sederhana yang kemudian Anda ubah menjadi desain database

Hal yang perlu diingat saat Anda membuat tabel adalah bahwa data hanya boleh direkam satu kali. Ini penting untuk integritas data. Kami telah menyebutkan di bagian sebelumnya tentang "apa yang tidak boleh dilakukan" bahwa menyimpan data di banyak lokasi akan merusak integritas data Anda. Misalnya, katakanlah Anda memiliki tabel Pelanggan dan menyimpan alamat, tetapi Anda juga menyimpan alamat tersebut di tabel Pesanan. Anda menduplikasi lokasi alamat pelanggan dan berisiko secara tidak sengaja memperbaruinya di satu tabel tetapi tidak di tabel lainnya. Anda juga menempatkan beban yang tidak perlu pada database, karena perlu memperbarui banyak tabel untuk setiap pembaruan alamat

Tabel Anda juga harus masuk akal untuk aplikasi Anda. Setiap komponen aplikasi harus cocok dengan satu atau lebih tabel. Nanti Anda akan mempelajari cara menanyakan informasi ini, tetapi tabel Anda harus ditautkan secara logis ke komponen aplikasi. Ingatlah bahwa tabel database adalah kekuatan back-end untuk aplikasi Anda

Setelah Anda menentukan tabel yang Anda butuhkan, saatnya untuk lebih terperinci. Ingat, tabel dapat divisualisasikan sebagai spreadsheet. Setiap tabel akan menjadi spreadsheet Anda, tetapi sekarang Anda perlu menyiapkan kolom Anda. Kolom terkadang disebut sebagai "bidang" dalam desain database. Bidang ini menentukan nilai apa yang disimpan dalam tabel. Sama seperti tabel, nama bidang harus logis saat Anda menentukan data untuk setiap bidang

Misalnya, Anda mungkin membuat tabel Pelanggan. Tabel Pelanggan menyimpan nama depan, nama belakang, alamat, nomor telepon, dan kode pos pelanggan. Setiap nilai ini akan menjadi bidang atau kolom di tabel Anda

Saat Anda menentukan bidang untuk tabel Anda, Anda juga perlu mempertimbangkan hubungan. MySQL adalah basis data relasional, yang berarti bahwa tabel ditautkan menggunakan kunci asing. Kunci asing adalah bidang yang menyimpan data relasional. Misalnya, Anda memiliki tabel Pelanggan dan Pesanan. Anda memerlukan cara untuk menautkan kedua tabel ini. Tabel Pesanan akan berisi ID Pelanggan untuk setiap rekaman pesanan

Di bagian "apa yang tidak boleh dilakukan", kami menyebutkan kunci utama. Kunci utama adalah ID unik untuk catatan. MySQL memiliki opsi kolom numerik penambahan otomatis yang memungkinkan Anda membuat kunci unik secara otomatis dengan setiap catatan, tetapi banyak perancang basis data menentang jenis desain ini. Sebaliknya, mereka lebih suka desainer menggunakan kunci komposit jika tidak ada satu kolom unik. Nomor jaminan sosial adalah ID unik, tetapi tidak setiap perusahaan perlu menyimpan jaminan sosial. Kunci komposit menggabungkan setidaknya dua kolom dan menggunakan kombinasi tersebut sebagai kunci utama yang unik

Desainer baru terkadang bingung dengan tabel mana yang harus berisi kunci asing. Anda mungkin membuat kesalahan dengan memasukkan ID pesanan ke catatan pelanggan, tetapi pikirkan tentang integritas data dan jumlah catatan pelanggan yang akan Anda miliki versus catatan pesanan. Anda hanya memerlukan satu catatan pelanggan, tetapi satu pelanggan dapat memiliki beberapa pesanan. Jika Anda meletakkan ID pesanan di tabel pelanggan, Anda memerlukan beberapa catatan pelanggan untuk memperhitungkan setiap pesanan. Ini berarti Anda akan menduplikasi data, dan desain database harus fokus pada penyimpanan data satu kali

Jenis hubungan ini disebut hubungan satu-ke-banyak. Anda memiliki satu catatan pelanggan, dan kemudian satu pelanggan dapat memiliki banyak pesanan. Beginilah pendapat Anda tentang desain meja. Setiap pesanan dapat memiliki beberapa produk, tetapi hanya satu pesanan yang dapat memiliki satu pengembalian. Ketika hanya ada satu record yang hanya bisa memiliki relasi dengan satu record lain di tabel lain, ini disebut relasi one-to-one.

Ada tiga jenis hubungan yang perlu Anda ketahui

Hubungan banyak-ke-banyak adalah saat desain database menjadi rumit. Hubungan ini memperkenalkan konsep normalisasi. Normalisasi adalah proses penataan desain tabel Anda dan hubungan untuk membatasi duplikasi data. Ini memastikan bahwa data hanya disimpan satu kali di antara tabel, tetapi dalam contoh kami, Pesanan dapat dikaitkan dengan banyak produk, dan produk dapat dikaitkan dengan banyak pesanan. Ini adalah hubungan banyak-ke-banyak

Relasi banyak-ke-banyak menggunakan tabel penampung perantara. Mari gunakan tabel Pesanan dan Produk. Karena ini adalah hubungan banyak-ke-banyak, Anda ingin menormalkan informasi. Anda membuat tabel perantara yang berisi kunci utama dari tabel Pesanan, lalu kunci utama dari tabel Produk. Alih-alih menduplikasi data Anda di tabel Pesanan dan Produk, Anda menggunakan tabel perantara ini untuk menautkan catatan dan menjaga agar data tidak diduplikasi

Normalisasi adalah konsep yang sulit untuk dikuasai sampai Anda mulai mendesain tabel. Saat Anda mulai memahami cara data disimpan dan ditanyakan, Anda akan lebih memahami normalisasi. Normalisasi memiliki beberapa bagian aturan. Jika desain database Anda mengikuti rangkaian aturan pertama, ini dikatakan sebagai bentuk normal pertama. Jika mengikuti bagian dua, itu dikatakan sebagai bentuk normal kedua

Berikut adalah aturan normalisasi

Bentuk normal pertama

Hilangkan informasi berulang

Buat tabel terpisah untuk data relasional

Gunakan kunci utama untuk mengidentifikasi setiap rekaman

Bentuk normal kedua

Buat tabel terpisah untuk setiap kumpulan data terkait. Di sinilah hubungan banyak-ke-banyak dinormalisasi

Gunakan kunci asing untuk menautkan tabel terkait

Bentuk normal ketiga

Hilangkan bidang yang tidak terkait dengan kunci utama

Ada bentuk normalisasi lainnya, tetapi tiga yang pertama adalah fokus utama bagi perancang basis data baru

Setelah tabel data Anda dinormalisasi, saatnya untuk memutuskan tipe data. Tipe data menentukan nilai yang disimpan dalam bidang. Database relasional memberi batasan pada tipe data yang dapat Anda simpan saat Anda menentukan tipe data. Misalnya, Anda tidak dapat menyimpan string "Tandai" di bidang yang ditandai sebagai nilai numerik. Tanggal disimpan dalam tipe data tanggal, dan desimal menyimpan nilai desimal. Jika Anda mencoba menyimpan tipe data yang salah dalam suatu bidang, mesin MySQL akan mengembalikan kesalahan. Ini dapat membuat bug di aplikasi Anda, jadi Anda harus memetakan tipe data yang tepat untuk bidang Anda

Catatan terakhir pada desain tabel menempel pada konvensi penamaan standar. Ini membuatnya lebih mudah untuk membuat kueri tabel. Beberapa perancang basis data menggunakan garis bawah untuk spasi, dan lainnya menggunakan huruf kapital untuk setiap kata, bukan garis bawah. Misalnya, Anda dapat menamai rekaman identifikasi pelanggan "CustomerId" atau "Customer_Id" atau "customer_id. " MySQL tidak peka terhadap kolom, jadi menggunakan huruf kapital tidak masalah saat Anda membuat kueri. Jika Anda menggunakan garis bawah, skema penamaan multi-huruf, atau menggunakan semacam standar lain, pastikan itu tetap seragam di seluruh desain. Konvensi penamaan standar juga memudahkan desainer kedua untuk memahami desain Anda tanpa membaca dokumentasi apa pun

Satu catatan terakhir tentang desain. ingat bahwa MySQL adalah solusi database dinamis. Anda memerlukan variabel pengguna untuk menangkap data pengguna dan menggunakannya untuk menyisipkan atau memanipulasi perubahan data. Variabel pengguna ini dapat berupa huruf kecil atau huruf besar semua. Standar dalam industri meminta agar variabel pengguna menggunakan huruf kecil. Setiap variabel memiliki simbol @ sebagai awalannya

Anda juga membutuhkan tampilan. Tampilan membantu meningkatkan kinerja data dengan membuat kueri kumpulan data yang besar dan menampilkannya untuk digunakan oleh kueri Anda. Anda dapat menggunakan tampilan dengan cara yang sama seperti menggunakan tabel

Tampilan, variabel pengguna, desain tabel, kendala, dan beberapa faktor lainnya harus dirancang ke dalam infrastruktur database Anda

Pemodelan Data

Pemodelan data dan desain tabel terkadang digunakan secara bergantian. Pemodelan data terkait dengan pengembangan perangkat lunak. Pemodelan data menggunakan gambar untuk merepresentasikan desain database, dan ini membantu memberi desainer cara singkat untuk merepresentasikan cara tabel berhubungan dengan tabel lain dalam database.

Beberapa alat pemodelan data tersedia online. Bahkan alat pengembang seperti Visual Studio memiliki alat pemodelan data. Alat ini memungkinkan Anda mendesain tabel sebagai objek. Jika Anda terbiasa dengan pemrograman, objek adalah kelas yang mewakili komponen dalam aplikasi Anda. Di sinilah pemodelan data terkait dengan pengembangan aplikasi. Misalnya, objek tabel Pelanggan Anda kemudian dipetakan ke objek kelas Pelanggan dalam aplikasi. Pengembang kemudian dapat menautkan metode dan properti dengan tabel Anda

Pemodelan data meluas dari desain ke keseluruhan hubungan dan keamanan basis data. Ingat bahwa database lebih dari sekedar desain tabel. Ini juga mencakup keamanan, tampilan, prosedur tersimpan, dan fungsi. Anda juga perlu mengindeks kolom Anda, yang membantu database mengurutkan catatan untuk kueri yang lebih cepat

Prosedur tersimpan harus dimodelkan dengan benar untuk meminta data dalam waktu yang sangat singkat. Pikirkan Facebook. Jejaring sosial yang sangat besar ini menggunakan MySQL untuk kueri. Anda dapat menemukan orang di Facebook menggunakan alat pencarian mereka. Saat Anda memasukkan nama ke dalam pencarian Facebook, Anda diberi beberapa catatan yang tampak seperti kumpulan hasil instan. Beberapa orang mengira itu berasal dari pusat data besar Facebook, yang memengaruhi hasil yang cepat. Namun, kueri cepat Facebook juga merupakan hasil dari desain dan model database yang bagus. Mereka memiliki desain tabel yang tepat, keamanan, prosedur tersimpan, tampilan, dan fungsi yang menjaga integritas data dan mempercepat kinerja aplikasi mereka

Bahkan setelah Anda membuat desain dan model, Anda masih perlu menyempurnakan tata letaknya. Di sinilah alat pemodelan data berguna. Mereka memungkinkan Anda menghapus dan mendesain ulang tabel, menyisipkan tabel lain, dan menautkan kembali hubungan tanpa menggunakan kertas dan pena. Alat ini juga memungkinkan Anda mengekspor model data ke dalam kelas. Kelas-kelas ini kemudian digunakan oleh pengembang aplikasi saat mereka mengintegrasikan tabel ke dalam lapisan data. Alat model data juga membuat skrip yang memudahkan untuk mengimpor model ke database Anda tanpa membuat tabel secara manual. Dengan kata lain, mereka menghemat waktu Anda dan pengembang Anda

Desain database adalah keterampilan yang dipelajari setelah latihan. Bab ini berfokus pada desain tabel, tetapi setelah desain Anda selesai, Anda akan menghabiskan sebagian besar waktu Anda untuk membuat komponen kueri. Ini termasuk membangun prosedur tersimpan dengan konsep sederhana dan lanjutan. Gabungkan tabel dan pemrograman, dan Anda memiliki database yang berfungsi penuh yang dapat Anda gunakan dengan aplikasi Anda

Bagaimana cara mendapatkan model basis data di MySQL?

Buat Model Database Dari Database Yang Ada – Meja Kerja MySQL .
Luncurkan Meja Kerja MySQL
Dari jendela Beranda, klik ikon > di sebelah kanan Model
Pilih "Buat Model EER dari Database"
Wizard Basis Data Insinyur Terbalik dimulai. .
Simpan model Anda
Anda sekarang dapat menambahkan hubungan dan atau memodifikasi tabel
Itu dia

Model basis data apa yang digunakan MySQL?

MySQL adalah sistem manajemen basis data relasional (RDBMS) yang dikembangkan oleh Oracle yang didasarkan pada bahasa kueri terstruktur (SQL).

Bagaimana cara menemukan model data di MySQL Workbench?

Untuk melihat database yang dibuat di MySQL Workbench, navigasi ke Database > Connect to Database . Pilih koneksi yang ada untuk terhubung ke Server MySQL atau buat yang baru. Basis data yang dibuat akan seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Bagaimana cara menemukan informasi basis data di MySQL?

Buka Command Prompt dan navigasikan ke folder bin dari direktori instalasi MySQL Server Anda. Kemudian sambungkan ke server menggunakan perintah mysql -u root -p. Masukkan kata sandi dan jalankan SHOW DATABASES;