1. Hubungan antara dokumen asli dan entitas
Ini bisa berupa hubungan satu-ke-satu, satu-ke-banyak, dan banyak-ke-banyak. Secara umum, mereka adalah hubungan satu-ke-satu: yaitu sepasang dokumen asli harus dan hanya sesuai dengan satu entitas. Dalam kasus khusus, mereka mungkin hubungan satu-ke-banyak atau banyak-ke-satu, yaitu, satu dokumen asli sesuai dengan beberapa realitas isi, atau beberapa dokumen asli yang sesuai dengan entitas. Entitas di sini dapat dipahami sebagai tabel dasar. Setelah mengklarifikasi korespondensi ini, rancang untuk kami Antarmuka entri sangat bermanfaat. 〖Contoh 1〗: Informasi resume karyawan sesuai dengan tiga tabel dasar dalam sistem informasi sumber daya manusia: tabel informasi dasar karyawan dan masyarakat Tabel hubungan, formulir resume kerja. Ini adalah contoh umum dari "satu dokumen asli sesuai dengan beberapa entitas". 2. Kunci primer dan asing Secara umum, entitas tidak dapat memiliki kunci primer atau asing. Dalam diagram E-R, entitas di bagian daun dapat menentukan kunci primer, Dimungkinkan juga untuk tidak mendefinisikan kunci primer (karena tidak memiliki anak), tetapi harus memiliki kunci asing (karena memiliki ayah). Desain kunci primer dan asing menempati posisi penting dalam desain database global. Ketika desain database global selesai, ada Pakar desain basis data Amerika mengatakan: "Kunci, kunci di mana-mana, tidak ada apa-apa selain kunci", ini adalah pengalaman desain basis datanya Ini juga mencerminkan ide-idenya yang sangat abstrak tentang inti sistem informasi (model data). Karena: kunci primer adalah entitas yang sangat abstrak, dan kunci utama dikaitkan dengan Sepasang kunci asing yang mewakili koneksi antar entitas. 3. Sifat tabel dasar Tabel dasar berbeda dari tabel perantara dan tabel sementara karena memiliki empat karakteristik berikut: (1) Atomisitas. Kolom dalam tabel dasar tidak lagi dapat diuraikan. (2) Primitif. Rekaman dalam tabel dasar adalah catatan data asli (data yang mendasarinya). (3) Deduktif. Semua data output dapat diturunkan dari data dalam tabel dasar dan tabel kode. (4) Stabilitas. Struktur tabel dasar relatif stabil, dan catatan dalam tabel harus disimpan untuk waktu yang lama. Setelah memahami sifat tabel dasar, saat merancang database, tabel dasar dapat dibedakan dari tabel perantara dan tabel sementara. 4. Standar paradigma Hubungan antara tabel dasar dan bidangnya harus memenuhi paradigma ketiga sebanyak mungkin. Namun, desain basis data yang memenuhi paradigma ketiga seringkali tidak Desain terbaik. Untuk meningkatkan efisiensi operasional database, seringkali perlu untuk mengurangi standar paradigma: meningkatkan redundansi dengan tepat untuk mencapai ruang untuk waktu Tujuan. Contoh 2: Ada tabel dasar untuk penyimpanan barang, seperti yang ditunjukkan pada Tabel 1. Kehadiran bidang "Jumlah" menunjukkan bahwa tabel tidak dirancang untuk dipenuhi Paradigma ketiga sudah cukup, karena "jumlah" dapat diperoleh dengan mengalikan "harga satuan" dengan "kuantitas", menunjukkan bahwa "jumlah" adalah bidang yang berlebihan. Namun, meningkat Bidang "jumlah" yang berlebihan dapat meningkatkan kecepatan statistik kueri, yang merupakan praktik pertukaran ruang dengan waktu. Dalam Rose 2002, ada dua jenis kolom yang ditentukan: kolom data dan kolom terhitung. Kolom seperti "jumlah" disebut "kolom perhitungan", dan Kolom seperti "Harga Satuan" dan "Kuantitas" disebut "kolom data". Tabel 1 Struktur tabel tabel komoditas Nama Produk Model Produk Satuan Harga Kuantitas Jumlah TV 29 inci 2.500 40 100.000
5. Pahami tiga paradigma dalam istilah awam Memahami tiga paradigma dalam istilah awam sangat bermanfaat bagi desain basis data. Dalam desain basis data, untuk menerapkan tiga paradigma dengan lebih baik, cukup Tiga paradigma harus dipahami dalam istilah awam: Paradigma pertama: 1NF adalah batasan atom pada atribut, yang mengharuskan atribut menjadi atom dan tidak dapat lagi terurai; Paradigma kedua: 2NF adalah kendala keunikan pada catatan, yang mengharuskan catatan memiliki identifikasi yang unik, yaitu keunikan entitas; Paradigma 3: 3NF adalah kendala redundansi bidang, yaitu tidak ada bidang yang dapat diturunkan dari bidang lain, itu mengharuskan bidang tersebut tidak berlebihan
。 Tidak ada desain database yang berlebihan yang dapat melakukannya. Namun, database tanpa redundansi belum tentu merupakan database terbaik, terkadang untuk meningkatkan keberuntungan Untuk mencapai efisiensi, perlu untuk mengurangi standar paradigma dan menyimpan data yang berlebihan dengan tepat. Pendekatan spesifiknya adalah mematuhi paradigma ketiga saat merancang model data konseptual , pekerjaan pengurangan standar paradigma dipertimbangkan dalam desain model data fisik. Menurunkan paradigma adalah dengan menambahkan bidang yang memungkinkan redundansi. 6. Pandai mengidentifikasi dan menangani hubungan banyak-ke-banyak dengan benar Jika ada hubungan banyak-ke-banyak antara dua entitas, hubungan tersebut harus dihilangkan. Cara untuk menghilangkannya adalah dengan menambahkan real ketiga di antara keduanya tubuh. Dengan cara ini, apa yang dulunya adalah hubungan banyak-ke-banyak sekarang telah menjadi dua hubungan satu-ke-banyak. Atribut dari dua entitas asli harus didistribusikan secara wajar Buka tiga entitas. Entitas ketiga di sini pada dasarnya adalah hubungan yang lebih kompleks, yang sesuai dengan tabel dasar. Secara umum, angka Alat desain perpustakaan tidak dapat mengenali hubungan banyak-ke-banyak, tetapi dapat menangani hubungan banyak-ke-banyak. Contoh 3: Dalam "Sistem Informasi Perpustakaan", "buku" adalah entitas, dan "pembaca" juga merupakan entitas. Kedua entitas ini sama Hubungan antar buku adalah hubungan banyak-ke-banyak yang khas: sebuah buku dapat dipinjam oleh banyak pembaca pada waktu yang berbeda, dan satu pembaca dapat meminjam lebih banyak Buku ini. Untuk tujuan ini, entitas ketiga harus ditambahkan di antara keduanya, yang dinamakan "meminjam dan mengembalikan buku", dan sifat-sifatnya adalah: meminjam waktu dan meminjam Ini juga memiliki logo (0 berarti meminjam buku, 1 berarti mengembalikan buku), selain itu, juga harus memiliki dua kunci asing (kunci utama "buku" dan kunci utama "pembaca"), sehingga Ini terhubung dengan "buku" dan "pembaca". 7. Metode nilai kunci primer PK PK adalah alat koneksi antar-tabel untuk pemrogram, yang dapat berupa serangkaian angka tanpa signifikansi fisik, yang secara otomatis ditambahkan oleh program ke 1. Ya adalah nama bidang yang bermakna secara fisik atau kombinasi nama bidang. Tapi yang pertama lebih baik daripada yang terakhir. Jika PK adalah kombinasi nama bidang, sarankan nomor bidang Jangan menghitung terlalu banyak, karena indeks tidak hanya memakan banyak ruang, tetapi juga melambat. 8. Dapatkan redundansi data dengan benar Pengulangan kunci primer dan asing dalam beberapa tabel bukanlah konsep redundansi data, dan banyak orang tidak menyadarinya 。 Pengulangan bidang non-kunci adalah redundansi data! Dan itu adalah redundansi tingkat rendah, yaitu redundansi berulang. Redundansi lanjutan tidak berbasis lapangan Berulang kali, tetapi turunan bidang. Contoh 4: Tiga bidang "harga satuan, kuantitas, dan jumlah" dalam produk, "jumlah" berasal dari "harga satuan" dikalikan dengan "kuantitas" Ini adalah redundansi, dan itu adalah semacam redundansi lanjutan. Tujuan redundansi adalah untuk meningkatkan kecepatan pemrosesan. Hanya redundansi tingkat rendah yang akan meningkatkan jumlahnya inkonsistensi data, karena data yang sama dapat dimasukkan beberapa kali dari waktu, tempat, dan peran yang berbeda. Oleh karena itu, kami menganjurkan redundansi lanjutan (pai redundansi pada dasarnya), dan menentang redundansi tingkat rendah (redundansi berulang). 9. Tidak ada jawaban standar untuk diagram E--R Tidak ada jawaban standar untuk diagram E--R dari suatu sistem informasi, karena desain dan metode gambarnya tidak unik, selama mencakup bisnis yang dibutuhkan oleh sistem Ruang lingkup dan konten fungsional layak. Sebagai gantinya, perlu untuk memodifikasi diagram E--R. Meskipun tidak memiliki satu jawaban standar, bukan berarti itu bisa sewenang-wenang Desain. Kriteria untuk diagram E-R yang baik adalah: struktur yang jelas, asosiasi ringkas, jumlah entitas sedang, alokasi atribut yang wajar, dan tidak ada redundansi tingkat rendah. 10. Teknik tampilan berguna dalam desain database Tidak seperti tabel dasar, tabel kode, dan tabel perantara, tampilan adalah tabel virtual yang bergantung pada tabel nyata dari sumber data untuk ada. Tampilan untuk pemrogram Jendela yang menggunakan database adalah bentuk sintesis data tabel dasar, metode pemrosesan data, dan semacam kerahasiaan data pengguna berarti. Untuk melakukan pemrosesan yang kompleks, meningkatkan kecepatan komputasi, dan menghemat ruang penyimpanan, kedalaman definisi tampilan umumnya tidak boleh melebihi tiga lapisan. Seperti tiga lantai Jika tampilan masih tidak cukup, Anda harus menentukan tabel sementara pada tampilan dan kemudian menentukan tampilan pada tabel sementara. Dengan cara ini, kedalaman tampilan ditentukan berulang kali Tidak ada batasan. Untuk sistem informasi tertentu yang terkait dengan kepentingan politik, ekonomi, teknologi, militer dan keamanan nasional, peran pandangan bahkan lebih penting. Ini Setelah desain fisik tabel dasar sistem selesai, lapisan tampilan pertama segera dibuat pada tabel dasar, dan jumlah serta struktur tampilan lapisan ini sama dengan tabel dasar Jumlah dan strukturnya persis sama. Dan ditetapkan bahwa semua programmer hanya diizinkan untuk beroperasi pada tampilan. Hanya administrator database, dengan "Kunci pengaman" yang dipegang oleh beberapa personel dapat dioperasikan langsung di atas meja dasar. Pembaca diundang untuk berpikir: mengapa demikian? 11. Tabel perantara, pernyataan, dan tabel sementara Tabel perantara adalah tabel yang menyimpan statistik, dirancang untuk pergudangan data, laporan output, atau hasil kueri, dan terkadang tidak memiliki kunci utama dengan kunci asing (kecuali gudang data). Tabel sementara dirancang oleh pemrogram untuk menyimpan catatan sementara untuk penggunaan pribadi. Tabel dasar dan menengah dikelola oleh DBA Tabel sementara secara otomatis dikelola oleh programmer itu sendiri. 12. Kendala integritas diwujudkan dalam tiga aspek Integritas domain: Gunakan Periksa untuk menerapkan batasan, dan di alat desain database, ada Ch saat menentukan rentang nilai bidang tombol eck, di mana kota nilai bidang ditentukan. Integritas referensial: Diimplementasikan dengan pemicu tingkat PK, FK, dan tabel. Integritas yang ditentukan pengguna: Ini adalah beberapa aturan bisnis yang diterapkan dengan prosedur dan pemicu tersimpan. 13. Metode untuk mencegah patching desain database adalah prinsip "tiga kurang" (1) Semakin sedikit tabel dalam database, semakin baik. Hanya jika jumlah tabel berkurang, dapat dikatakan bahwa diagram ER sistem kecil dan baik-baik saja, dan dihapus Entitas duplikat dan redundan membentuk tingkat abstraksi yang tinggi dari dunia objektif, dan integrasi data sistematis dilakukan untuk mencegah desain patching; (2) Semakin sedikit bidang dalam tabel yang menggabungkan kunci primer, semakin baik. Karena peran kunci primer, yang satu adalah membangun indeks kunci primer, dan yang lainnya berfungsi sebagai sub-tabel kunci asing, sehingga jumlah bidang dalam kombinasi kunci primer berkurang, yang tidak hanya menghemat waktu berjalan, tetapi juga menghemat ruang penyimpanan indeks; (3) Semakin sedikit bidang dalam tabel, semakin baik. Hanya sejumlah kecil bidang yang menunjukkan bahwa tidak ada duplikasi data dalam sistem Ada sedikit redundansi data, dan yang lebih penting, pembaca didesak untuk belajar "mengubah baris", yang mencegah bidang ditarik ke tabel utama di subtabel , menyisakan banyak bidang kosong di tabel utama. Yang disebut "baris perubahan kolom" adalah untuk menarik sebagian dari konten tabel utama dan membangun yang terpisah Sub-tabel. Cara ini sangat sederhana, beberapa orang tidak terbiasa, tidak mengadopsinya, dan tidak menerapkannya. Prinsip praktis desain database adalah menemukan keseimbangan yang tepat antara redundansi data dan kecepatan pemrosesan. "Tiga kurang" adalah gambaran holistik Pemikiran, pandangan yang komprehensif, tidak dapat mengisolasi prinsip tertentu. Prinsipnya relatif, bukan mutlak. Prinsip "tiga lagi" jelas salah. Coba Pikirkan: Jika fungsi sistem yang sama tercakup, diagram E--R dari 100 entitas (total 1.000 atribut) pasti lebih baik daripada diagram E--R dari 200 entitas (total 2.000 atribut) Diagram E--R jauh lebih baik. Menganjurkan prinsip "tiga kurang" adalah membiarkan pembaca belajar menggunakan teknologi desain basis data untuk integrasi data yang sistematis. Langkah-langkah untuk integrasi data adalah: Sistem file diintegrasikan ke dalam database aplikasi, database aplikasi diintegrasikan ke dalam database topik, dan database topik diintegrasikan ke dalam database komprehensif global. Semakin tinggi tingkat integrasi, semakin kuat berbagi data, dan semakin sedikit pulau-pulau informasi yang ada Jumlah kunci primer, dan jumlah atribut akan lebih kecil. Tujuan dari mengadvokasi prinsip "tiga kurang" adalah untuk mencegah pembaca menggunakan teknologi patching untuk terus-menerus menambahkan, menghapus, dan memodifikasi database, sehingga membuat data perusahaan Perpustakaan telah menjadi "tumpukan sampah" dari tabel basis data yang dirancang secara sewenang-wenang, atau "kekacauan" tabel basis data, dan akhirnya menyebabkan tabel dasar dan generasi dalam basis data Tabel kode, tabel perantara, dan tabel sementara berantakan dan tak terhitung jumlahnya, mengakibatkan ketidakmampuan untuk memelihara dan melumpuhkan sistem informasi perusahaan dan institusi. Prinsip "tiga lagi" dapat dilakukan oleh siapa saja, yang merupakan kekeliruan dari "metode patching" untuk merancang database. Prinsip "tiga kurang" Ini adalah prinsip kurang tetapi baik, yang membutuhkan keterampilan dan seni desain basis data yang tinggi, yang tidak dapat dilakukan semua orang, karena prinsip ini dihilangkan Dasar teoritis untuk merancang database menggunakan "metode patching". 14. Cara meningkatkan efisiensi operasi database Di bawah kondisi perangkat keras sistem dan perangkat lunak sistem yang diberikan, metode untuk meningkatkan efisiensi operasi sistem database adalah: (1) Dalam desain fisik database, kurangi paradigma, tingkatkan redundansi, gunakan lebih sedikit pemicu, dan gunakan lebih banyak prosedur yang disimpan. (2) Ketika perhitungannya sangat kompleks dan jumlah catatan sangat besar (seperti 10 juta), perhitungan kompleks harus terlebih dahulu berada di luar database Setelah metode sistem file dihitung dan diproses dalam bahasa C++, akhirnya ditambahkan ke tabel. Ini adalah pengalaman desain sistem penagihan telekomunikasi. (3) Jika tabel ditemukan memiliki terlalu banyak catatan, seperti lebih dari 10 juta, tabel harus dibagi secara horizontal. Praktek segmentasi horizontal adalah: Bagilah catatan tabel secara horizontal menjadi dua tabel berdasarkan nilai tertentu dari kunci utama PK tabel. Jika tabel ditemukan memiliki terlalu banyak bidang, seperti melebihi Delapan puluh, meja dibagi secara vertikal, dan meja asli dibagi menjadi dua tabel. (4) Optimasi sistem sistem manajemen basis data DBMS, yaitu optimalisasi berbagai parameter sistem, seperti jumlah buffer. (5) Saat menggunakan bahasa SQL berorientasi data untuk pemrograman, cobalah untuk mengadopsi algoritme pengoptimalan. Singkatnya, untuk meningkatkan efisiensi operasi database, perlu dioptimalkan sistem database, desain database, dan implementasi program , ketiga level ini bekerja keras pada saat yang bersamaan. Empat belas keterampilan di atas secara bertahap dirangkum oleh banyak orang dalam sejumlah besar analisis database dan praktik desain. Untuk pengalaman ini Pembaca tidak boleh kaku atau hafalan, tetapi harus mencerna dan memahami, mencari kebenaran dari fakta, dan menguasai secara fleksibel. Dan secara bertahap lakukan: kirim aplikasi pameran, aplikasi dalam pengembangan.
|