Blog

31 Quy tắc trong thiết kế Cơ sở dữ liệu

Thiết kế cơ sở dữ liệu

Thiết kế cơ sở dữ liệu cần nhiều kỹ năng và những quy tắc nhất định để đảm bảo hệ thống của bạn hoạt động đạt hiệu suất cao. Dưới đây là 31 quy tắc trong thiết kế cơ sở dữ liệu mà bạn có thể tham khảo.

Thiết kế cơ sở dữ liệu

Quy tắc 1

Không thể có nhiều giá trị trong 1 cột trong 1 bản ghi. Ví dụ: Mr Vinh có 3 số điện thoại nhưng bản ghi của Mr Vinh không nên có 1 cột Telephone với 3 giá trị trong đó.

Quy tắc 2

Càng ít bảng càng tốt.

Quy tắc 3

Khóa không nên dài quá. Nếu bạn đang thử quyết định giữa xác định 1 khóa với 2 cột (ví dụ Mã SV và Email) và 1 khóa với 1 cột (ví dụ Mã SV), cả 2 đều xác định duy nhất 1 dòng trong bảng, hãy lựa chọn khóa ngắn hơn trong 2 khóa. Khi định nghĩa 1 khóa, bạn cần chắc chắn rằng tập hợp thông tin này là cần và đủ để xác định 1 hàng, không nên có thêm hoặc ít hơn thông tin.

Quy tắc 4

Sử dụng tên được xác định rõ và phù hợp cho các bảng và cột (ví dụ như trong bảng student: student_id thay vì chỉ dùng id).

Quy tắc 5

Sử dụng số ít cho tên bảng (ví dụ student thay thế cho students). Bảng thể hiện cho 1 tập các thực thể, không cần thiết phải sử dụng số nhiều.

Quy tắc 6

Không dùng khoảng trắng cho tên bảng. Tên bảng viết thường, nếu có nhiều hơn 1 từ thì sử dụng dấu gạch dưới, ví dụ: user_group, order_detail,…

Quy tắc 7

Không sử dụng tiền tố hoặc hậu tố không cần thiết cho tên bảng (ví dụ đặt là student thay cho tblstudent, studenttable…).

Quy tắc 8

Giữ mật khẩu được mã hóa để đảm bảo tính bảo mật. Giải mã mật khẩu trong ứng dụng nếu cần thiết.

Quy tắc 9

Sử dụng khóa chính là số nguyên trong mọi bảng. Nếu không có, hãy tạo một trường id để làm khóa chính.

Quy tắc 10

Lựa chọn các cột có kiểu giá trị số nguyên để đánh index. Đánh index trường có kiểu dữ liệu ký tự có thể sẽ gây ra các vấn đề về hiệu năng.

Quy tắc 11

Sử dụng các trường bit để lưu các giá trị boolean. Trường số nguyên hoặc ký tự là không cần thiết để lưu trữ trong trường hợp này. Với các trường này nên đặt tên với tiền tố “is_”.

Quy tắc 12

Cung cấp cơ chế xác thực khi truy cập CSDL. Không gán quyền admin cho mọi người dùng.

Quy tắc 13

Tránh sử dụng truy vấn “SELECT *” nếu không thực sự cần thiết. Sử dụng truy vấn “SELECT {tên cột cần lấy}” để đảm bảo hiệu năng tốt hơn.

Quy tắc 14

Với các hệ thống CSDL lớn, nhạy cảm nên sử dụng các dịch vụ bảo mật và khôi phục sau thảm họa như failover clustering, sao lưu tự động, nhân rộng …

Quy tắc 15

Sử dụng các ràng buộc (khóa ngoại, kiểm tra, not null…) để đảm bảo toàn vẹn dữ liệu. Không nên đưa toàn bộ các ràng buộc này kiểm soát trên mã ứng dụng.

Quy tắc 16

Không được thiếu tài liệu CSDL. Tài liệu hóa thiết kế CSDL với lược đồ ER và hướng dẫn. Đồng thời viết các dòng ghi chú (comment lines) cho các triggers, procedure và các scripts khác

Quy tắc 17

Sử dụng index cho các truy vấn được dùng thường xuyên với bảng dữ liệu lớn. Các công cụ phân tích có thể được dùng để xác định cần đặt index tại đâu. Với truy vấn cho kết quả là nhiều dòng thì sử dụng clustered index sẽ tốt hơn, với truy vấn cho kết quả là 1 dòng thì sử dụng non clustered sẽ tốt hơn.

Quy tắc 18

Máy chủ CSDL và máy chủ web nên để riêng biệt trên 2 server vật lý. Việc này sẽ đảm bảo bảo mật hơn (kẻ tấn công không thể tấn công trực tiếp dữ liệu). Hiệu năng bộ nhớ và CPU của server sẽ tốt hơn do giảm tải số lượng yêu cầu và các tiến trình xử lý.

Quy tắc 19

Các cột dữ liệu blob và image không nên định nghĩa trong các bảng thường xuyên truy vấn do vấn đề hiệu năng. Những dữ liệu này phải được đặt tại các bảng riêng và chúng sẽ được trỏ tới từ bảng được truy vấn.

Quy tắc 20

Chuẩn hóa là cần thiết để tối ưu hiệu năng. Chuẩn hóa ở mức thấp sẽ gây ra vấn đề dư thừa dữ liệu, chuẩn hóa quá sâu sẽ gây ra vấn đề join ở quá nhiều bảng. Cả 2 loại chuẩn hóa trên đều gây ra các vấn đề về hiệu năng.

Quy tắc 21

Dành thời gian nhiều nhất có thể cho việc thiết kế và mô hình hóa CSDL. Việc thiết kế sơ sài sẽ dẫn đến mất nhiều thời gian cho sửa đổi và bảo trì sau này.

Quy tắc 22

Giữ khóa chính ít ký tự hơn hoặc số nguyên. Xử lý sẽ tốt hơn với khóa chính nhỏ.

Quy tắc 23

Lưu trữ đường dẫn hình ảnh trong CSDL thay cho hình ảnh sẽ giúp giảm tải.

Quy tắc 24

Dùng các kiểu dữ liệu hợp lý cho các trường. Ví dụ: Ngày sinh nên để datetime thay vì varchar

Quy tắc 25

Sử dụng mệnh đề LIKE chính xác. Nếu bạn tìm kiếm chính xác thì sử dụng “=” thay thế.

Quy tắc 26

Sử dụng JOIN sẽ tốt hơn cho hiệu năng so với sử dụng các truy vấn con hoặc truy vấn lồng nhau.

Quy tắc 27

Sử dụng các stored procedure sẽ giúp nhanh hơn, bảo mật hơn và bảo trì tốt hơn.

Quy tắc 28

Viết các ghi chú để hướng dẫn các cán bộ phát triển sau. Tài liệu hóa cũng là cách tốt để giúp đỡ họ.

Quy tắc 29

Đánh index hợp lý sẽ giúp cải tiến tốc độ và hoạt động của CSDL.

Quy tắc 30

Đảm bảo có thể test được toàn bộ các chương trình liên quan đến CSDL.

Quy tắc 31

Viết từ khóa SQL bằng chữ in hoa để dễ đọc

Nguồn Internet

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    suarairama pestanada beritabandar rumahjurnal podiumnews dailyinfo wikiberita zonamusiktop musicpromote bengkelpintar liburanyuk jelajahhijau carimobilindonesia jalanjalan-indonesia otomotifmotorindo ngobrol olahraga mabar dapurkuliner radarbandung indosiar radarjawa medianews infowarkop kalbarnews ketapangnews beritabumi kabarsantai outfit faktagosip beritagram lagupopuler seputardigital updatecepat marihidupsehat baliutama hotviralnews cctvjalanan beritajalan beritapembangunan pontianaknews monitorberita koronovirus museros iklanjualbeli festajunina capoeiravadiacao georgegordonfirstnation 1reservoir revisednews

    Cara Insting Tajam Menyusun Pola Simetris Baccarat Online Lewat Mekanisme yang Optimal Analisis Pemain Bogor Melalui Logika dan Emosi Mahjong Wins 3 Ternyata Cermin dari Kesabaran Diri Strategi Ganda Baccarat Pemain Makassar Viral! Kemenangan Ganda Membaca Pola Masa Depan Catatan Manual ke Strategi Nyata, Pemain Bogor Temukan Pola Mahjong Ways 2 Membungkam Mitos Keberuntungan Analisis Sunyi Pemain Baccarat Jakarta Temukan Logika di Balik Kekacauan yang Terencana Teknik Presisi Mengatur Kecepatan Spin Mahjong Ways 3 Untuk Kenaikan Hasil yang Ideal Mulai dengan Doa Menang Cara Efektif Menganalisis Trik Baccarat Online Secara Sistematis Cara Unlock Pola Tersembunyi Mahjong Wins 3 Sebagai Langkah Pintar Meraih Kemenangan Trik Escape di Putaran Cepat Pragmatic Gate Olympus Sambut Kemenangan Spesial Pelajari Membaca Pola Sederhana Mahjong Ways 2 Bikin Menang Tipis Tapi Tetap Stabil Taktik Rahasia Supir Pribadi Memanggil Scatter Hitam di Mahjong Ways 2 Saat Drive Thru Cara Intuisi Bekerja Mencatat Pola Baccarat Online Melalui Skema yang Sempurna Tafsir Personal Membuka Pintu Berkah Lewat Mahjong Wins 3 Bikin Keuntungan Tetap Stabil Arsip Data Narasi Gates of Olympus Ciptakan Putaran Warna Spesial Lebih Menguntungan Resonansi Sunyi di Tengah Irama Mahjong Ways 3 Berikan Labirin Menuju Cuan Besar Pahami Aturan Bermain Mahjong Ways dengan Logika yang Mendalam Pelajari Cara Meretas Pola Inti Mahjong Ways 3 Menjadi Kunci Keberhasilan Pemain Pro Langkah Terukur Dalam Mengatur Waktu Baccarat Online Berbalut Mantra Menjemput Kemenangan Trik Spin Matic Mahjong Wins 3 dengan Cermat Menghasilkan Kemenangan Ganda Ternyata Scatter Bisa Turun Lewat Pola Sederhana Melalui Penguasaan Rtp yang Presisi Dimensi Scatter Ganda Mahjong Ways 2 Sebagai Takdir Kemenangan Nyata Merubah Nasib Ekspansi Kosmik Wild Membangun Fitur Kejayaan Abadi Dunia Mahjong Wins 3 Kakek Tua di Pantai Ancol Menemukan Jejak Pola Gates of Olympus Membawa Cuan Berlimpah Kisah Sang Legenda Baccarat Online Temukan Lembaran Data Sebagai Analisa Merubah Garis Kehidupan Cara Mendengar Langkah Sunyi Scatter Hitam Sebagai Sinyal Kemenangan di Mahjong Ways 3 Setelan Ideal Sinkronisasi Pola Mahjong Ways 2 Mengatur Tempo Scatter dengan Hasil Optimal Cara Evaluasi Sederhana Cepat Kuasai Trik Baccarat Online Secara Tepat dan Terarah Konsolidasi Pola Spin Membantu Menunjukkan Arah Strategis di Mahjong Ways 3 Bangkitkan Semangat Menjemput Rejeki Lewat Mahjong Ways Saat Scatter Muncul Tiba-tiba Fakta Unik Mahjong Wins 3: Teknik Rahasia Munculkan Wild Berderet pada Spin Pertama Semarang Menjadi Kota Fantasi Mahjong, Tukang Edit Foto Mengunggah Permainan Pola Mahjong Terbaru Hujan Deras, Sejumlah Pengendara Menepi dan Mencoba Bermain Mahjong Wins 3 yang Sedang Bocor Saat Ini Fenomena Tengah Malam, Mahjong Ways 3 Tiba-Tiba Berubah Warna dan Disebut Masuk Mode Rahasia Scatter Black Peneliti Visual SUHUBET Ungkap Sinkronisasi Pola Mahjong dan Musik, Disebut Harmoni Terserasi Tahun Ini Kobarkan Semangat Syair Mahjong, Tangerang Gelarkan Protokol Putaran Cepat 50 Kali Dalam 1 Kali Coba Spin Strategi Hidup Dan Mati Pola Terbaik Anti Boncor Menghadirkan Berbagai Penghasilan Terbesar Pada Mahjong Ways 3 Hanya Menggunakan Mahjong Ways Mendapatkan Rp150.000.000 Tips Cara Memelihara Anabull Ala Husman Timeline Rahasia Perputaran Mahjong Wins Dapat Membuat Turunnya Pola Jackpot Dengan Konsisten Pengembangan Mahjong Dengan Teknologi Ai Menghadirkan Pola Jackpot Dengan Market Cap Hijau Pola Mahjong Tercepat Dan Tertajam Tips Membaca Pola Hingga Pandai Ala Jefri Dengan Hasil Rp 210.000.000 Shin Tae-Yong Sudah Fix Tidak Melatih Timnas Cek Juga Tempat Jadwal Nonton Bola Harian di SLOTSENSA Cerdas Cermat Membaca Dan Analisis Pola Mahjong Dengan Bermodal 50k Menjadi Rp150.000.000 Sangat Optimis Hanto Dengan Perputaran Menarik Melawan Mahjong Menggunakan Pola Hasil Analisis Data Spirit Perjuangan Hilman Bertambah Besar Setelah Memenangkan Rp 410.000.000 dari Pertarungan Mahjong Sinopsis Penulis Mengungkap Pertarungan Dengan Naga Mahjong Menggunakan Teknik Praktis dan Pola Visual Resmi Mengaspal, Motor NMAX Baru Milik Pencuci Motor Ternyata Berasal dari Rezeki Tak Terduga Cara Paling Efektif Memahami dan Membaca Pola Data Analisis Mahjong Ways Dengan Taktik Lincah Resmi Meluncur di October Ini, Mahjong Menghadirkan Berbagai Pecahan Besar Dengan Hadiah Rp750.000.000 Zona Nyaman Perputaran Mahjong: Bersenang-senang dengan Pecahan yang Terasa Stabil Penyerapan Media Game di Dunia Digital Menghadirkan Berbagai Bakat Desainer Game Muda Eksperimen Membaca RTP Mahjong Ways 2 dan Penggunaan Putaran Auto Pengali 1000 di SUHUBET Tidak Sengaja Menekan Tombol Maksimal di Mahjong Ways 2 Berubah Menjadi Hasil Memukau Rp 460.000.000 Data Analisis Terbesar Bocor, Panduan Pola Mahjong Ways 3 Mendapatkan Rp225.000.000 Tukang Pengantar Makanan Mendapatkan Berkat Dari Mahjong Sebesar Rp110.000.000 Pada Saat Istirahat Cuan Dengan Modal Kecil, Pengaduk Semen Mendapatkan Rp35.000.000 Saat Istirahat Mahjong Dengan Naga Hitam Anti Lag Berkat Fitur Auto Refresh Terbaru Kisah Journey Seorang Pedagang Asongan Bertemu Dengan Mahjong Setelah Mendapatkan Rp 620.000.000 Copy Perputaran ProPlayer Mahjong, Timo Mendapatkan Jackpot 120.000.000 Setelah Mengikuti Jalan Pemain Legend Panduan Analisis Pola Mahjong Terbaru Berdasarkan Data Komunitas SUHUBET Hingga Rp 741.000.000 Perpaduan Analogi dan Anatomi Simbol Terbaru Mahjong Menghadirkan Pembaruan Wild Dengan Menyatakan Rp152.000.000 Di Depan Mata Fenomena Langka di Komunitas Digital Mahjong Black Dragon, Visualnya Bikin Kagum Perpaduan Suara dan Penyajian Semerbak untuk Mata Kita, Mahjong Sedang Melakukan Pembangunan Besar Besaran Beginilah Caranya Agar Perputaran Selalu Stabil dan Membuat Mahjong Seru untuk Diperjuangkan Perbincangan yang Memberikan Esensi Kehidupan Mahjong dengan Datangnya Pola Wild Anti Kalah Host Livestreaming Sedang Menjadi Perbincangan, Dikarenakan Bermain Mahjong dengan Pecahan Besar Diketahui Bermain di SUHUBET Cerita Tukang Parkir Bandung Kagum Lihat Efek Wild Naga di Mahjong Ways Bangsawan SUHUBET Membeberkan Cara Kuasai Teknik Mahjong Dengan Pola Mudah Raup Untung 362 Juta Taktik Multiplier Spin Dengan Tingkatkan Pendapatan di Mahjong, Strategi Sederhana Seorang Penempa Besi Raup Untung 410 Juta Kecil-Kecil Jadi Bukit, Filosofi Putaran Mahjong Tentang Konsistensi dan Hasil yang Besar | Tips Putaran Receh Dikira Kurir Mengantar Paket di Pagi Hari, Ternyata Mengantarkan Simbol Wild 231 Juta di Mahjong kepada Nina Kronologi Jatuhnya Naga Black Scatter Pada Perputaran Gratis Mahjong, Ilham Menghasilkan 410 Juta Analisa Bocoran Data Mahjong Ways dan Pola Putaran RTP Terbaik Bikin Heboh Dunia Digital Observasi Data Menunjukkan Pola Mahjong Ways Muncul Seperti Gelombang Kebahagiaan Riset Pola Harian Mahjong Ways Ungkap Hubungan Menarik dengan Data Digital Pola RTP Tertinggi Ketika Statistik Menjadi Seni Analisis Mahjong Ways Ubah Cara Orang Melihat Pola Pada RTP Tertinggi Penjual Tahu Bulat Dadakan Dikagetkan Sama Pecahnya Wild Mahjong Wins 3 Dengan Membawakan 450 Juta Pemain Pro Dari Kota Madiun Berbagi Taktik Permainan Mahjong Wins 3 Yang Menghasilkan Berbagai Kemenangan Terbukti Ampuh, Suherman Menggunakan Pola Terlarang Permainan Mahjong Ways 3 Dengan Hasil 320.000.000 Rahasia Terbaru Pola Mahjong Ways 3 Terbongkar RTP98% Membawakan Wild Sebesar 410.000.000 Suli Dari Pemantang Siantar Membawakan Pola Terbaru Hasil Analisa Terbaru Mahjong Wins 3 Dengan Cara High Risk High Return Dari Bali Hingga Seoul, Tren Spa Ramah Lingkungan dan Filosofi Mahjong Ways Mulai Jadi Gaya Hidup Baru Di Balik Hening dan Aroma Kayu Manis: Pola Ketenangan yang Sama Seperti Saat Menemukan Irama di Mahjong Wins Gelombang Baru Wellness di Asia Pasifik: Saat Spa dan Pola Mahjong Wins Sama-Sama Bicara Tentang Kesabaran dan Irama Rahasia Di Balik Senyum Para Penerima APSWC 2025 Awards: Dari Pola Hidup Seimbang Hingga Filosofi Mahjong Ways Wellness Tak Lagi Sekadar Tren: Data Menunjukkan Pola Mahjong Ways dan Mindfulness Kini Jadi Arah Baru Dunia repository.tdjpublisher.com