Desain basis data: langkah-langkah dan dasar-dasarnya

Daftar Isi:

Desain basis data: langkah-langkah dan dasar-dasarnya
Desain basis data: langkah-langkah dan dasar-dasarnya
Anonim

Desain database adalah proses berurutan untuk mengadaptasi pengetahuan dan alat yang tersedia untuk mewakili dan memproses informasi.

Ruang lingkup sebenarnya, tugas spesifik, deskripsi aliran informasi yang masuk, dan gagasan umum tentang proses pemrosesan informasi secara bertahap ditambahkan ke gagasan konseptual tertentu tentang apa itu basis data dalam kasus tertentu dan bagaimana untuk bekerja dengannya.

Database modern

Hubungan relasional adalah inti dari semua model informasi. Solusi dari Oracle pada dasarnya setara dengan MySQL, tetapi pada dasarnya berbeda dalam banyak aspek. Desain basis data juga merupakan masalah keamanan, volume informasi, dan akuntabilitas integritas data, tetapi ini adalah masalah sekunder dari masalah perancangan basis data yang efisien, andal, dan ramah pengguna.

langkah-langkah desain database
langkah-langkah desain database

Tabel Excel tidak berbeda dengan Oracle dan MySQL dalam konteks struktur persegi panjang (relasional): kolom dan baris=satu sel di persimpangan nama kolom (bidang) dan indeks pilihan (baris). Jika Anda tidak memperhitungkan ukuran dan jumlah tenaga kerja manual, maka, berkat sarana yang dikembangkan untuk menggabungkan sel secara vertikal dan horizontal, Excel bahkan di depan Oracle!

Excel, menurut ide dasarnya, tidak pernah "mencerahkan" dinamika, fungsionalitas Oracle, dan tidak dapat mentransfer sesuatu dari satu lembar ke lembar lain "menurut sisa". Di sini Oracle lebih menjanjikan, tetapi pertimbangannya tentang masalah migrasi sejumlah besar informasi dan menggabungkan posisi formal dari berbagai sumber meninggalkan banyak hal yang diinginkan. Di sini MySQL lebih menjanjikan: ia tidak mengatur sendiri tugas-tugas global, tetapi melakukan tugasnya dengan sempurna.

Hubungan relasional adalah alat yang nyaman, praktis, dan mapan, dari solusi tingkat Excel pribadi hingga volume global Oracle, digunakan di mana saja, sesuai permintaan, dan mereka memiliki jaminan masa depan yang disediakan pekerjaan.

Basis data modern adalah tabel, baris, kolom, dan indeks yang dikelilingi oleh fungsionalitas penuh, mengembangkan alat tambahan yang memperhitungkan banyak operasi, beban berat, dan volume besar.

Pengetahuan dan pengalaman sistem manajemen basis data modern (DBMS) memperhitungkan tidak hanya masalah keandalan, keandalan data, regulasi akses, dan masalah keamanan, tetapi juga memungkinkan untuk melacak pengaruh eksternal negatif, menganalisis kemungkinan serangandan mencoba untuk menyakiti dengan sengaja.

Basis data modern adalah fondasi yang andal untuk semua sumber daya web dan aplikasi lokal, kemampuan untuk memigrasikan informasi, mengubah dan mentransfer data, berpotongan dan menggabungkan tampilan yang berbeda.

Satu-satunya syarat penting: pengembang berkualifikasi tinggi. Untuk melakukan desain yang efektif dari database relasional tersedia untuk spesialis, dan lebih sering untuk tim spesialis dan ahli di bidang penerapan masalah yang sedang dipecahkan.

Cakupan, kemungkinan solusi dan hambatan

Informasi beredar di mana-mana. Banyak proyek terhubung langsung ke Internet, tetapi faktor memiliki representasi data formal di sini tidak lebih baik daripada faktor ketidakpastian saat membuat sumber daya web untuk pabrik baja.

Perkembangan dan minat yang besar terhadap toko online tidak memberikan alasan dan peluang untuk mentransfer pengalaman membuat satu toko ke membuat toko lain. Faktor rahasia dagang menciptakan banyak hambatan dalam transfer pengetahuan, meskipun sebenarnya Anda harus memisahkan toko yang sebenarnya dari perangkat lunak yang dibuat untuk toko ini.

desain basis data relasional
desain basis data relasional

Tentu saja, pelanggan membayar dan kode situs adalah miliknya. Ciri khas modernitas: transfer pengetahuan dan perkembangan antara tugas-tugas dari jenis yang sama dan bidang aplikasi terkait tidak mungkin dan ini adalah masalah.

Parsing adalah berbagai aplikasi untuk sistem manajemen basis data. Pertama-tama, itu memindai informasi dari Internet. Sama pentingnya untuk membandingkan informasi yang terakumulasi dalamdatabase, dan permintaan pengunjung web.

Analisis kata kunci juga melibatkan kebutuhan untuk membentuk solusi optimal, tetapi desain database di Access mungkin lebih menjanjikan daripada di MS SQL Server atau Oracle.

Daftar sumber informasi bisa dinamis. Dinamika dapat melekat pada tabel database sumber, nama bidang tabel, dan aturan panggilan (kueri). Merancang database relasional dari berbagai sumber jelas memaksa Anda untuk mendesain dari data sumber, dan bukan dari organisasi optimal dari informasi yang dikumpulkan.

Ada dua hal yang melekat pada database apapun:

  • orientasi ke konten, algoritma pembuatan basis data dinamis dalam prioritas;
  • orientasi untuk digunakan, struktur database lebih penting dan algoritma untuk menggunakan informasi didasarkan padanya.

Dalam bidang aplikasi apa pun ada model formal aliran informasi yang masuk, model penyimpanan informasi - desain database yang sebenarnya dan model (algoritma) untuk menggunakan data.

Berbagai prosedur dan langkah desain

Dasar-dasar desain database biasanya terbagi dalam tiga tahap. Spesialis yang berbeda mengacu pada tahapan pekerjaan dengan cara yang berbeda, tetapi, pada kenyataannya, ada tiga posisi:

  • perencanaan konseptual;
  • desain logis;
  • eksekusi teknis.

Latihan berkontribusi pada tradisi yang sudah mapan. Tidak peduli seberapa kompleks ruang lingkup dan masalah yang dipecahkan. Itu selalu membutuhkan memilih yang tepatperalatan. Misalnya, Anda perlu mengumpulkan informasi dari pengunjung ke sumber daya web, tetapi Anda perlu membandingkannya dengan data dari MS SQL Server. Sumber daya web di-host di FreeBSD (Internet, server Apache), dan MS SQL Server di kota lain tersedia melalui jaringan terdistribusi perusahaan.

dasar-dasar desain database
dasar-dasar desain database

Dalam solusi ini, Anda harus terlebih dahulu memecahkan masalah tertentu: untuk membangun pertukaran data dengan server internal.

Eksekusi teknis dari tugas umum tentu akan berdampak pada tahap awal: jarang sekali desain basis data dapat dilakukan dari awal. Bahkan dengan teknologi pemecahan masalah yang telah terbukti, cakupannya berkembang, selalu diperlukan untuk melakukan sesuatu yang berbeda dari yang semula dimaksudkan.

Baru-baru ini, banyak ahli teori dan praktisi beroperasi dengan entitas sebagai data khusus. Ini adalah abstraksi yang memungkinkan Anda untuk menggambarkan model informasi pada input, selama pemrosesan dan pada hasil akhir - database.

Tampilan data dan entitas

Desain DB melalui abstraksi dan entitas: kemampuan untuk membuat gambar informasi, mendefinisikan tipe data dan hubungan di antara mereka.

Biasanya desain model database tersebut diakhiri dengan model grafis, menggunakan MS Visio atau alat visual dari DBMS yang dipilih. Access memiliki caranya sendiri untuk membentuk gambaran informasi, MySQL memiliki caranya sendiri, dan beberapa sistem manajemen konten menyembunyikan database sama sekali, memaksakan model data pada pengembang melalui entitas mereka sendiri -objek tugas yang sedang diselesaikan.

Fitur karakteristik dari banyak sistem manajemen konten (CMS) adalah bahwa mereka membuat "aplikasi" untuk tingkat abstraksi yang lebih besar saat menjelaskan area informasi dari masalah yang sedang dipecahkan. Basis data sebenarnya tersembunyi, CMS menawarkan kepada pengembang idenya sendiri tentang gambaran informasi dunia.

Akibatnya, tahapan desain basis data direduksi menjadi kepatuhan terhadap persyaratan mendasar dan pelaksanaan langkah-langkah yang diusulkan oleh pembuat CMS tertentu. Tidak ada yang memalukan dalam menggunakan ide database dan desain mereka dari Symfony atau Bitrix, Zend atau Yii, tetapi bagi pengembang itu adalah "beban".

Idealnya, alat desain basis data harus dipilih dan diterapkan secara individual, tanpa pendapat dari luar, tetapi dengan penerapan pengalaman dan pengetahuan.

desain database informasi
desain database informasi

Ideal bagi pengembang untuk disertifikasi oleh Oracle, tetapi sangat dapat diterima untuk kualifikasi pengembang untuk memasukkan wawasan tentang ide-ide informasi Oracle dan pengetahuan kerja aplikasi MySQL.

Dalam proyek yang kompleks dan pemrosesan informasi terdistribusi, tidak hanya database yang penting, tetapi juga sumber informasi, ide tentang kebutuhan konsumen.

Tahap atau tim: keseimbangan prioritas

Persyaratan konsistensi adalah yang paling penting. Dasar-dasar desain database juga mencakup pentahapan pekerjaan, pemantauan hasil antara, memikirkan kembali setiap tahap yang diselesaikan berdasarkan pelaksanaan jenis pekerjaan berikut:

  • sistematis;
  • pentahapan;
  • umpan balik dari titik waktu mana pun, ke posisi paling awal.

Ketentuan ini abstrak, tetapi hadir dalam teknologi teoretis dan praktis apa pun untuk membuat database yang efektif.

Tidak ada teknologi yang berkembang dengan sendirinya, itu didorong oleh manusia. Kualifikasi tim pengembangan sangat penting. Model informasi database tidak hanya sebuah kerangka kerja, tetapi juga arus informasi.

Yang lebih penting: grafik yang indah dalam representasi struktur basis data atau deskripsi akurat tentang arus informasi dalam dinamika - masalah tidak hanya tugas dan ruang lingkup, tetapi juga pendapat tim pengembangan dalam dinamika.

desain struktur database
desain struktur database

Personnel adalah segalanya, tetapi dalam konteksnya: desain konseptual database adalah segalanya kualifikasi. Semua orang itu unik, dan di bidang sistem informasi, representasi dari orang-orang tertentu ada dan berkembang.

Sangat penting untuk membangun tim pengembang, bukan beberapa langkah desain basis data mitos yang disarankan oleh pakar otoritatif. Kewenangan spesialis ini dibentuk atas dasar pekerjaan tertentu, pada waktu tertentu. Pekerjaan harus diselesaikan hari ini, tugas baru, peralatan modern, teknologi baru, …

Kemungkinan sebaliknya. Ada Excel dan Access dan data "berlimpah" dalam format ini dari zaman kuno, ketika Windows for Workgoups masih hidup dan sehat. Sebagian tetap data dBase dan Quattro. Hari ini kata-kata ini sudah dilupakan, tetapi informasinyatetap, dibutuhkan dan perlu digali dan dibentuk ide-ide baru.

Lama dan baru: keseimbangan pengetahuan

Teknologi cloud tidak seperti database yang dilakukan Ashton-Tate. Apa yang pernah dibeli Oracle sama sekali tidak sebanding dengan apa yang dilakukannya hari ini. Tetapi variabel, algoritme, fungsi, loop, dan kondisi tetap ada dalam pemrograman sejak awal tahun 80-an. Kecuali jika konsep prosedur telah dilupakan, dan semuanya tetap seperti di zaman kuno.

Bahkan ide-ide modern pemrograman berorientasi objek terbungkus dalam "belenggu" sintaksis dan semantik klasik abad terakhir.

Apa yang harus dilakukan - pemrograman bersifat inersia, dan formalisasi informasi serta desain basis data informasi lebih merupakan proses daripada hasil. Pekerjaan bertahap adalah prasyarat untuk mencapai hasil. Tapi siapa yang menghitung jumlah iterasi dari tahap menengah hampir ke awal pekerjaan?

Informasi selalu dinamis, tidak ada yang berhenti: terutama area subjek tugas dan persyaratan pengguna. Setiap tahap pekerjaan yang diselesaikan memungkinkan Anda untuk mengevaluasi pada tingkat baru apa yang telah dilakukan dan apa yang masih harus dilakukan.

desain basis data logis
desain basis data logis

Mempertimbangkan merancang struktur database sebagai tugas dan mendapatkan hasil akhir adalah sia-sia. Segera setelah database dioperasikan, ide baru pasti akan muncul, bahkan jika alat untuk membuat database adalah Excel "sederhana", dan bukan produk yang luar biasa kuat dan serbaguna dari Oracle,memanipulasi jutaan transaksi, ratusan ribu pengguna secara bersamaan, dan terabyte informasi.

Prioritas bukanlah struktur database, tetapi pembentukan tim spesialis yang memenuhi syarat, ditambah persyaratan wajib untuk dinamisme hasil yang lebih besar, sehingga setelah menyelesaikan pekerjaan tidak perlu menghubungi pengembang, setidaknya beberapa bulan.

Pengembangan berurutan dan/atau lompatan tinggi

Windows bukan database, tetapi memiliki peninggalan - registri. File host hanyalah identifikasi alamat IP mesin lokal dan nama simbolis. Tetapi melalui file ini, informasi mengalir dari domain yang berbeda atau ke DBMS yang berbeda.

Dimungkinkan untuk memahami Windows banyak sisi sebagai komputer atau server yang berfungsi, tetapi itu tidak akan berfungsi dengan cara apa pun untuk membenarkan logika versi produk ini. PHP juga bukan database, tetapi argumen pengembang mengapa versi 5 segera mengikuti versi 7 tidak konsisten. PHP adalah alat akses MySQL, sintaksnya mendefinisikan cara membentuk kueri dan mendapatkan respons dari database menggunakan dialek SQL.

Contoh ketidakcocokan antara alat pemrograman modern dan dukungan basis data telah menjadi norma dalam beberapa tahun terakhir, tetapi ini bukan yang paling orisinal. Apa yang akan ada di balik versi Windows 10? Bagaimana prospek Oracle Database 12c?

Informasi dari pengembang-penulis: Oracle Database 11g Express Edition (Oracle Database XE) adalah DBMS entry-level berdasarkan kode DBMS Oracle Database 11g Release 2. DBMS ini gratis untuk pengembangan,penyebaran dan penjualan, unduhan cepat dan mudah dikelola.”

Perspektif pengembang pengguna: “Pada tahun 2013, Oracle merilis Oracle Database 12c (versi 12.1.0.1) dengan manfaat utama dari biaya penyimpanan yang lebih rendah, ketersediaan data yang tinggi, konsolidasi database yang mudah, dan perlindungan akses data "".

Praktik Nyata: Desain basis data logis yang objektif, efisien, dan efektif hanya tersedia untuk tim pengembang yang memenuhi syarat. Mendapatkan hasil kerja tidaklah sulit, sulit untuk memformalkan arus informasi yang masuk dan menentukan fondasi yang optimal.

Ke dunia bentuk halus dari persegi panjang yang presisi

Dengan munculnya pemrograman berorientasi objek, serialisasi data telah mengambil kesempatan baru. Memang, segala sesuatu di sekitarnya hanyalah garis, lebih disukai dengan panjang yang tidak terbatas. Angka dan tanggal juga merupakan string karakter.

Kekuatan dan objektivitas hubungan relasional tidak dapat disangkal, tetapi apakah dinamika kolom dan baris merusak reputasi mereka? Tabel hanyalah data yang mungkin memiliki header (daftar kolom) atau tanpa baris. Biarkan tabel hanya kumpulan data, tidak harus bernama.

Kumpulan data bisa heterogen dan Anda dapat menemukan data dengan struktur yang berbeda di dalamnya. Pada dasarnya, homogenitas data menunjukkan perkembangan ruang lingkup. Distribusi data menurut jenis dan spesies merupakan tanda pendekatan yang sistematis dan objektif, tetapi masih disarankan untuk mengakui kemungkinan dinamika struktur.

Jika keluaranmerancang dan membuat database di luar struktur kaku dan dengan asumsi bahwa tabel adalah kumpulan baris yang tidak harus dari jenis yang sama dan serupa dalam semantik satu sama lain, maka desain database akan berubah secara dramatis.

Subjek pekerjaan tidak akan menjadi deskripsi struktur database, tetapi dinamika pergerakan informasi. Tahapan pekerjaan akan dibagi menjadi tiga pusat gravitasi:

  • masukan arus informasi;
  • transformasi dan pergerakan informasi dalam database;
  • pilih data yang akan digunakan.

Tidak ada konsep struktur tabel. Tidak ada baris atau kolom. Ada abstraksi - yang diberikan, dari struktur tertentu, yang memenuhi titik tertentu dalam algoritma. Lebih khusus lagi, fungsi pemrosesan informasi membutuhkan informasi tertentu dalam jumlah tertentu.

Persyaratan wajib rekursif dari semua fungsi pemrosesan informasi dan fokus pada fungsi, bukan data, memungkinkan Anda untuk merancang database dalam dinamika akumulasi informasi dan aliran data yang masuk, yang digunakan atas inisiatif pengguna, proses atau fungsi lainnya.

Faktanya: sinyal penggunaan datang, permintaan pengambilan diterima, pemicu dalam aplikasi diaktifkan, dan informasi yang masuk, melalui apa yang sudah ada, memberikan solusi yang diinginkan.

Pengetahuan dasar dan konstruksi kaku

Pengetahuan adalah hak prerogatif manusia, program adalah beban komputer. Pengembang bebas untuk menerapkan pengetahuan yang dia anggap cocok dalam situasi tertentu. Orang biasa menggunakan banyak basis data, tanpa menganggapnya penting. bagaimanadatabase diatur di kepala orang biasa, tidak ada yang tahu, tetapi semua orang tahu bagaimana dia menjalankan bisnisnya, di mana dia menuliskan apa yang dia temukan, dan kapan dia perlu menggunakannya.

Hasil kerja programmer - pada level program di "Basic", yang mengambil data dari situs web toko online melalui ODBC, setara dengan pengembang Oracle bergelar yang membuat permintaan untuk mengambil data dari MAKS Aviation and Space Salon. Kedua hasil "membeku" secara statis dari saat pekerjaan selesai. Ini bukan pengetahuan aktif yang digunakan seseorang, ini adalah rahasia membuat sistem desain basis data.

Algoritme tidak dapat diperbaiki. Semuanya harus didefinisikan secara dinamis. Keunggulan pengembang yang memenuhi syarat tidak dapat disangkal, tetapi mereka tidak terletak sama sekali dalam bentuk solusi elegan dari Oracle, MySQL, atau Access, yang terbatas dalam kemampuannya. Spreadsheet Excel lain dapat menyediakan konten dinamis dan tidak memerlukan partisipasi programmer untuk waktu yang kurang lebih layak setelah pekerjaan selesai.

Pertanyaannya adalah seberapa baik dinamika area aplikasi diformalkan, bukan struktur databasenya.

Solusi Langsung

Tidak mungkin merencanakan pekerjaan sedemikian rupa untuk mengikat tim pengembang profesional ke suatu tugas. Bukannya tim tersinggung, tapi ini bukan pendekatan yang tepat.

Solusi Langsung
Solusi Langsung

Tugas mendesain database harus dirumuskan sedemikian rupa sehingga fungsionalitas yang dikembangkan akan meningkatkan dirinya sendiri, mengumpulkan pengetahuan dan, dalam kinerja "tugasnya", mulai bukan dari kode,dibuat oleh para ahli, tetapi dari pengetahuan yang diperoleh melalui kode ini.

Direkomendasikan: