Rumah / Menguasai PC / Konsep basis data. Persyaratan yang harus dipenuhi oleh organisasi basis data Persyaratan utama saat bekerja dengan basis data

Konsep basis data. Persyaratan yang harus dipenuhi oleh organisasi basis data Persyaratan utama saat bekerja dengan basis data

Tujuan dari pelajaran: untuk memperoleh pengetahuan tentang isi dari tahap desain database, persyaratan untuk database.

Rencana

    Persyaratan Basis Data

    Tahapan utama dari desain database.

    Model hubungan entitas.

  1. Persyaratan Basis Data

Perkembangan teknologi basis data ditentukan oleh sejumlah faktor: pertumbuhan kebutuhan informasi pengguna, persyaratan untuk akses informasi yang efisien, munculnya jenis mesin memori baru dan peningkatan kapasitasnya, sarana dan peluang baru dalam bidang telekomunikasi, dll.

Persyaratan dasar berikut dikenakan pada database modern:

    Performa tinggi (waktu respons singkat terhadap permintaan). Waktu respons - periode waktu dari saat permintaan ke database hingga penerimaan data yang sebenarnya. Istilah serupa adalah waktu akses - interval waktu antara penerbitan perintah tulis (baca) dan penerimaan data yang sebenarnya. Access mengacu pada operasi pencarian, membaca atau menulis data. Seringkali operasi menulis, menghapus, dan memodifikasi data disebut operasi pembaruan.

    Mudah untuk memperbarui data. Dua persyaratan pertama yang saling bertentangan ini adalah yang paling penting: peningkatan kinerja memerlukan penyederhanaan struktur basis data, yang, pada gilirannya, memperumit prosedur untuk memperbarui data, meningkatkan redundansinya.

    Independensi data adalah kemampuan untuk mengubah struktur logis dan fisik database tanpa mengubah pandangan pengguna. Independensi data menyiratkan invarian terhadap sifat penyimpanan data, perangkat lunak, dan perangkat keras. Ini memberikan perubahan minimal dalam struktur database dengan perubahan dalam strategi akses data dan struktur sumber data itu sendiri. Ini dicapai, seperti yang akan ditunjukkan di bawah, dengan "menggeser" semua perubahan ke tahap desain konseptual dan logis, dengan sedikit perubahan pada tahap desain fisik.

    Berbagi data di antara banyak pengguna.

    Keamanan data adalah perlindungan data dari pelanggaran, perusakan, atau perusakan yang disengaja atau tidak disengaja. Keamanan data mencakup integritas dan perlindungannya. Integritas data - ketahanan data yang disimpan terhadap penghancuran dan penghancuran yang terkait dengan malfungsi sarana teknis, kesalahan sistem dan tindakan pengguna yang salah. Integritas data menyiratkan:

1) tidak adanya data yang dimasukkan secara tidak akurat atau dua catatan identik tentang fakta yang sama;

2) perlindungan terhadap kesalahan saat memperbarui basis data;

3) ketidakmungkinan menghapus (atau menghapus cascading) data terkait dari tabel yang berbeda;

4) non-distorsi data saat bekerja dalam mode multi-pengguna dan dalam basis data terdistribusi;

5) keamanan data jika terjadi kegagalan peralatan (data recovery).

Untuk memastikan integritas database, pembatasan integritas diberlakukan dalam bentuk kondisi tertentu yang harus dipenuhi oleh data yang disimpan dalam database (misalnya, rentang nilai atribut, dll.):

    integritas entitas- setiap tupel dari relasi apa pun dapat dibedakan dari tupel lain dari relasi ini

integritas referensial- untuk setiap nilai kunci asing yang muncul dalam relasi referensi, relasi yang direferensikan harus memiliki tupel dengan nilai kunci utama yang sama, atau nilai kunci asing harus nol

Integritas dijamin oleh pemicu integritas - program aplikasi khusus yang bekerja dalam kondisi tertentu. Perlindungan data dari akses yang tidak sah melibatkan pembatasan akses ke data rahasia dan dapat dicapai:

1) pengenalan sistem kata sandi;

2) memperoleh izin dari database administrator (DBA);

4) pembentukan jenis - tabel yang berasal dari yang asli dan ditujukan untuk pengguna tertentu.

Tiga prosedur terakhir mudah dilakukan dalam bahasa SQL.

    Standarisasi konstruksi dan pengoperasian database (pada kenyataannya, DBMS). Standardisasi memastikan kelangsungan generasi DBMS, menyederhanakan interaksi database satu generasi DBMS dengan model data yang sama dan berbeda. Standardisasi (ANSI/SPARC) telah diimplementasikan sebagian besar dalam hal antarmuka pengguna DBMS dan bahasa SQL. Hal ini memungkinkan untuk berhasil memecahkan masalah interaksi antara berbagai DBMS relasional baik menggunakan bahasa SQL maupun menggunakan aplikasi Open DataBase Connection (ODBC). Dalam hal ini, baik lokal maupun akses jarak jauh ke data (teknologi klien/server atau opsi jaringan).

    Redundansi minimal - elemen data apa pun harus disimpan dalam satu salinan.

    Penggunaan kembali data.

    entri data tunggal.

    Kecukupan menampilkan data dari area subjek yang relevan.

    Antarmuka pengguna yang ramah.

Kemampuan untuk mengubah struktur logis dan fisik database tanpa mengubah pandangan pengguna.

Independensi data menyiratkan invarian terhadap sifat penyimpanan data, perangkat lunak dan sarana teknis. Ini memberikan perubahan minimal dalam struktur database dengan perubahan dalam strategi akses data dan struktur sumber data itu sendiri. Ini dicapai, seperti yang akan ditunjukkan di bawah, dengan "menggeser" semua perubahan ke tahap desain konseptual dan logis, dengan perubahan minimal pada tahap desain fisik.

Keamanan data mencakup integritas dan perlindungannya.

Stabilitas data yang disimpan terhadap perusakan dan penghancuran yang terkait dengan malfungsi sarana teknis, kesalahan sistem, dan tindakan pengguna yang salah.

Dia menyarankan:

    1) tidak adanya data yang dimasukkan secara tidak akurat atau dua catatan identik tentang fakta yang sama;

    2) perlindungan terhadap kesalahan saat memperbarui basis data;

    3) ketidakmungkinan menghapus (atau menghapus cascading) data terkait dari tabel yang berbeda;

    4) non-distorsi data saat bekerja dalam mode multi-pengguna dan dalam basis data terdistribusi;

    5) keamanan data jika terjadi kegagalan peralatan (data recovery).

Integritas terjamin pemicu integritas- program aplikasi khusus yang bekerja dalam kondisi tertentu. Perlindungan data dari akses yang tidak sah melibatkan pembatasan akses ke data rahasia dan dapat dicapai:

    1) pengenalan sistem kata sandi;

    2) memperoleh izin dari database administrator (DBA);

    4) pembentukan jenis - tabel yang berasal dari yang asli dan ditujukan untuk pengguna tertentu.

Tiga prosedur terakhir dengan mudah dilakukan dalam Structured Query Language - SQL, sering disebut sebagai SQL2.

Standardisasi memastikan kelangsungan generasi DBMS, menyederhanakan interaksi database satu generasi DBMS dengan model data yang sama dan berbeda. Standardisasi (ANSI/SPARC) telah diimplementasikan sebagian besar dalam hal antarmuka pengguna DBMS dan bahasa SQL. Hal ini memungkinkan untuk berhasil memecahkan masalah interaksi antara berbagai DBMS relasional baik menggunakan bahasa SQL maupun menggunakan aplikasi Open DataBase Connection (ODBC). Dalam hal ini, akses data lokal dan jarak jauh dapat dilakukan (teknologi klien/server atau versi jaringan).

Konsep membangun database

Yang menarik adalah evolusi konsep database.

Awalnya (awal 60-an) digunakan berkas sistem penyimpanan. Untuk memecahkan sebagian besar masalah rekayasa yang dicirikan oleh sejumlah kecil data dan sejumlah besar perhitungan, data disimpan langsung dalam program. Metode pengorganisasian data yang konsisten digunakan, ada redundansi tinggi, identitas struktur logis dan fisik, dan ketergantungan penuh data. Dengan munculnya tugas-tugas ekonomi dan manajemen (sistem informasi manajemen - MIS), yang ditandai dengan sejumlah besar data dan sebagian kecil perhitungan, organisasi data ini menjadi tidak efisien. Pengurutan data diperlukan, yang ternyata dapat dilakukan menurut dua kriteria: penggunaan (array informasi); penyimpanan (database). Awalnya, array informasi digunakan, tetapi keunggulan database segera menjadi jelas. Menggunakan file untuk menyimpan data saja (Gbr. 2.1, a) diusulkan oleh McGrey pada tahun 1959. Metode akses (termasuk arbitrer) ke file tersebut dikembangkan, sedangkan struktur fisik dan logis sudah berbeda, dan lokasi fisik data dapat diubah tanpa mengubah representasi logis.

Pada tahun 1963, S. Bachman membangun database IDS industri pertama dengan model data jaringan, yang masih bercirikan redundansi data dan penggunaannya hanya untuk satu aplikasi. Akses ke data dilakukan dengan menggunakan perangkat lunak yang sesuai. Pada tahun 1969, sebuah kelompok dibentuk yang menciptakan set standar CODASYL untuk model data jaringan.

Sebenarnya mulai digunakan (Gbr. 2.1, b) arsitektur basis data modern. Arsitektur dipahami sebagai sejenis (generalisasi) dari suatu struktur di mana setiap elemen dapat digantikan oleh elemen lain, yang karakteristik input dan outputnya identik dengan elemen pertama. Lompatan signifikan dalam perkembangan teknologi database diberikan oleh paradigma model data relasional yang dikemukakan oleh M. Codd pada tahun 1970. Paradigma dipahami sebagai teori ilmiah yang diwujudkan dalam sistem konsep yang mencerminkan fitur esensial dari realitas. Sekarang struktur logis dapat diperoleh dari data fisik yang sama, yaitu. data fisik yang sama dapat diakses berbagai aplikasi sepanjang jalan yang berbeda. Menjadi mungkin untuk memastikan integritas dan independensi data.

Pada akhir tahun 1970-an, muncul DBMS modern yang memberikan independensi fisik dan logika, keamanan data, dan telah mengembangkan bahasa database. Dekade terakhir ditandai dengan munculnya database terdistribusi dan berorientasi objek, karakteristik yang ditentukan oleh aplikasi alat otomasi desain dan intelektualisasi database.

Sebelum mempertimbangkan prosedur untuk bekerja dengan database, mari kita berikan satu set karakteristik database (Gbr. 2.2)
dan penjelasan untuk itu.

Ada dua pendekatan untuk membangun database berdasarkan dua pendekatan untuk membuat sistem kontrol otomatis (ACS).

Yang pertama, banyak digunakan di tahun 80-an dan oleh karena itu disebut klasik (tradisional), dikaitkan dengan otomatisasi alur kerja (seperangkat dokumen yang bergerak dalam proses perusahaan). Koordinat awal dan keluaran adalah dokumen, seperti dapat dilihat dari contoh 2.1.

Contoh 2.1. Tugas diajukan sebagai berikut. Terdapat sistem dokumen manual yang salah satunya terlihat pada Tabel. 2.1.

Tabel 2.1.

Data pengiriman

Diperlukan dengan bantuan database untuk memperoleh - sesuai dengan peraturan atau atas permintaan - informasi dalam bentuk sistem dokumen lain, yang salah satunya diberikan dalam Tabel. 2.2.

Tabel 2.2.

Laporan pengiriman triwulanan

Tesis berikut digunakan. Data kurang mobile daripada algoritme, jadi Anda harus membuat database generik yang kemudian dapat digunakan untuk algoritme apa pun. Namun, segera menjadi jelas bahwa pembuatan database universal bermasalah. Konsep integrasi data yang mendominasi hingga saat ini, dengan peningkatan volume yang tajam, ternyata tidak dapat dipertahankan. Selain itu, aplikasi mulai muncul (misalnya, teks, editor grafis) berdasarkan algoritma standar yang banyak digunakan. Algoritma standar juga telah muncul dalam manajemen (bisnis), sebagai berikut dari Contoh 2.2.

Contoh 2.2. Pertimbangkan prosedur standar untuk menggunakan kartu kredit bank. Pembeli-klien memilih produk di supermarket dan, mendekati kasir, menunjukkan kartu kredit untuk pembayaran. Itu diturunkan ke penerima khusus, dan data dibaca darinya dan ditransfer ke komputer supermarket. Komputer ini berkomunikasi dengan komputer bank tempat penyimpanan uang nasabah. Data dari komputer bank (mengenai pelanggan) ditransfer ke komputer supermarket. Jika klien memiliki lebih banyak dana di rekening banknya daripada harga barang yang dipilihnya, maka komputer pasar memungkinkan Anda untuk melepaskan barang tersebut. Pada saat yang sama, ia menghitung ulang dana di akun klien, membuat perubahan pada dokumen keuangan supermarket, ke rekening bank dan kartu kredit klien. Kartu kredit dengan data yang diubah dikembalikan ke pelanggan. Jika pelanggan tidak memiliki dana yang cukup, kartu kredit dapat dikembalikan ke pelanggan dan dia tidak akan dilayani di supermarket.

Pada 1990-an, pendekatan modern kedua yang terkait dengan otomatisasi kontrol dibentuk. Ini melibatkan identifikasi awal algoritma aplikasi standar (algoritma bisnis dalam terminologi asing), di mana data didefinisikan, dan oleh karena itu database. Pemrograman berorientasi objek hanya meningkatkan pentingnya pendekatan ini. Komposisi database untuk berbagai pendekatan ditunjukkan pada gambar. 2.3.

Dalam pengoperasian database, mode single- dan multi-user (beberapa pengguna terhubung ke satu komputer melalui port yang berbeda) dimungkinkan.

Gunakan desain database top-down dan top-down. Yang pertama digunakan dalam database terdistribusi ketika mengintegrasikan database lokal yang dirancang yang dapat dilakukan dengan menggunakan berbagai model data. Lebih khas untuk database terpusat adalah desain top-down.

Pada bagian berikut, pertama-tama kita akan mempertimbangkan pendekatan klasik untuk database terpusat, dan kemudian yang modern. Bagian III dari makalah ini dikhususkan untuk database terdistribusi.

Bekerja dengan database dapat direpresentasikan dalam bentuk diagram yang ditunjukkan pada gambar. 2.4.
Dari sini terlihat bahwa metodologi untuk membuat dan menggunakan database harus dibedakan. Metodologi database didefinisikan dalam prosedur desain, tetapi juga memanifestasikan dirinya dalam prosedur penggunaan.

Metodologi Desain Basis Data

Ada banyak jenis metodologi untuk mempertimbangkan database dalam pendekatan klasik, tetapi paling sering mereka mematuhi metodologi ANSI / SPARC, skema yang ditunjukkan pada Gambar. 2.5.

pada gambar. 2.5 menunjukkan satu set prosedur untuk merancang database terpusat, yang dapat digabungkan menjadi empat tahap.

Pada tahap perumusan dan analisis persyaratan, tujuan organisasi ditetapkan, persyaratan untuk database ditentukan. Mereka terdiri dari Persyaratan Umum didefinisikan dalam bagian 2.1 dan persyaratan khusus. Untuk membentuk persyaratan khusus, biasanya digunakan teknik wawancara personel di berbagai tingkat manajemen. Semua persyaratan didokumentasikan dalam bentuk yang dapat diakses oleh pengguna akhir dan perancang basis data.

Tahap desain konseptual terdiri dari deskripsi dan sintesis persyaratan informasi pengguna ke proyek database asli. Data awal dapat berupa sekumpulan dokumen pengguna (Gbr. 2.4)
dalam pendekatan klasik atau algoritma aplikasi (business algorithms) dalam pendekatan modern. Hasil dari tahap ini adalah representasi tingkat tinggi (dalam bentuk sistem tabel database) kebutuhan informasi pengguna berdasarkan berbagai pendekatan.

Pertama, model database dipilih. Kemudian, dengan menggunakan DDL, struktur database dibuat, yang diisi dengan data menggunakan perintah DDL, sistem menu, formulir layar, atau dalam mode tampilan tabel database. Ini juga memberikan perlindungan dan integritas (termasuk referensial) data menggunakan DBMS atau dengan membangun pemicu.

Dalam proses desain logis, representasi data tingkat tinggi ditransformasikan ke dalam struktur DBMS yang digunakan. Tujuan utama dari tahap ini adalah untuk menghilangkan redundansi data menggunakan aturan normalisasi khusus (Gbr. 2.4).
Tujuan dari normalisasi adalah untuk meminimalkan pengulangan data dan kemungkinan perubahan struktural pada database selama prosedur pembaruan. Ini dicapai dengan memisahkan (mengurai) satu tabel menjadi dua atau lebih, diikuti dengan penggunaan operasi navigasi dalam kueri. Perhatikan bahwa pencarian navigasi memperlambat kinerja database, mis. meningkatkan waktu respons kueri. Struktur logis yang dihasilkan dari database dapat diukur dengan menggunakan berbagai karakteristik (jumlah akses ke catatan logis, jumlah data dalam setiap aplikasi, jumlah total data). Berdasarkan penilaian ini, logframe dapat ditingkatkan untuk mencapai efisiensi yang lebih besar.

Prosedur manajemen basis data memerlukan pembahasan khusus. Ini paling sederhana dalam mode pengguna tunggal. Dalam mode multi-pengguna dan dalam database terdistribusi, prosedurnya menjadi jauh lebih rumit. Jika beberapa pengguna mengakses pada saat yang sama tanpa mengambil tindakan khusus, integritas dapat dikompromikan. Untuk menghilangkan fenomena ini, sistem transaksi dan mode penguncian tabel atau catatan individu digunakan.

Proses memodifikasi file, record, atau database yang disebabkan oleh transmisi pesan input tunggal. Fitur pemblokiran dan opsi pemblokiran akan dibahas secara terpisah di bawah ini.

Pada tahap desain fisik, masalah yang terkait dengan kinerja sistem diselesaikan, struktur penyimpanan data, dan metode akses ditentukan.

Interaksi antara tahap desain dan sistem kosakata perlu dipertimbangkan secara terpisah. Prosedur desain dapat digunakan secara independen tanpa adanya sistem kosakata. Sistem kamus itu sendiri dapat dianggap sebagai elemen otomatisasi desain.

Alat desain dan kriteria evaluasi digunakan di semua tahap pengembangan. Saat ini, ketidakpastian dalam pemilihan kriteria merupakan titik terlemah dalam desain database. Hal ini disebabkan sulitnya menggambarkan dan mengidentifikasi sejumlah besar alternatif solusi.

Situasinya lebih sederhana ketika bekerja dengan kriteria kuantitatif, yang mencakup waktu respons terhadap permintaan, biaya modifikasi, biaya memori, waktu untuk membuat, biaya untuk mengatur ulang. Kesulitan dapat menyebabkan kontradiksi kriteria satu sama lain.

Pada saat yang sama, ada banyak kriteria optimalitas, yang merupakan sifat tidak terukur yang sulit dinyatakan secara kuantitatif atau sebagai fungsi tujuan.

Kriteria kualitatif dapat mencakup fleksibilitas, kemampuan beradaptasi, aksesibilitas ke pengguna baru, kompatibilitas dengan sistem lain, kemampuan untuk mengkonversi ke lingkungan komputasi lain, kemampuan untuk memulihkan, kemampuan untuk mendistribusikan dan memperluas.

Proses desainnya panjang dan melelahkan dan biasanya berlangsung beberapa bulan. Sumber daya utama perancang basis data adalah intuisi dan pengalamannya sendiri, sehingga kualitas solusi dalam banyak kasus mungkin rendah.

Alasan utama untuk efisiensi rendah dari database yang dirancang dapat:

    analisis persyaratan yang tidak cukup mendalam (tahap awal desain), termasuk semantik dan interkoneksi datanya;

    lamanya proses penataan, yang membuat proses ini membosankan dan sulit dilakukan secara manual.

Dengan kondisi tersebut, isu otomasi pembangunan menjadi penting.

Metodologi basis data

Database biasanya tidak digunakan secara independen, tetapi merupakan komponen dari berbagai sistem Informasi: bank data, temu kembali informasi dan sistem pakar, sistem desain berbantuan komputer, tempat kerja otomatis, sistem otomatis pengelolaan.

Basis data memiliki tiga tingkat penyajian data (Gbr. 2.4):
database konseptual, logis dan fisik.

Dalam prosedur penggunaan, paling sering mereka berurusan dengan logika dan - lebih jarang - dengan model konseptual dan fisik.

Kamus data seperti database internal yang berisi informasi terpusat tentang semua tipe data, nama, struktur, dan informasi tentang penggunaannya. Keuntungan dari kamus data adalah dalam akumulasi dan manajemen yang efisien sumber informasi bidang studi. Penerapannya memungkinkan untuk mengurangi redundansi dan inkonsistensi data saat dimasukkan, untuk melakukan manajemen yang sederhana dan efisien saat dimodifikasi, menyederhanakan prosedur desain database dengan memusatkan manajemen data, dan menjalin hubungan dengan pengguna lain. Dengan demikian, kamus data berisi representasi umum dari ketiga tingkatan: konseptual, logis dan fisik.

Mempelajari masalah ini untuk waktu yang lama berbagai kelompok orang terlibat dalam institusi yang menggunakan komputer, di komisi pemerintah, di pusat komputer untuk penggunaan kolektif. Komite CODASYL telah menerbitkan laporan tentang hal ini (CODASYL adalah organisasi yang mengembangkan bahasa COBOL). IBM SHARE dan GUIDE organisasi pengguna dalam laporan mereka merumuskan persyaratan untuk sistem manajemen basis data. Organisasi ACiM (Asosiasi untuk Mesin Komputasi) juga telah mempelajari masalah ini.

Berikut ini adalah persyaratan dasar untuk mengatur database.

Membangun hubungan multilateral

Pemrogram yang berbeda memerlukan file logika yang berbeda. File-file ini diperoleh dari kumpulan data yang sama. Ada berbagai koneksi antara elemen data yang disimpan. Beberapa database akan berisi jaringan hubungan yang kompleks. Metode pengorganisasian data harus sedemikian rupa sehingga memungkinkan untuk mewakili hubungan ini dengan mudah dan dengan cepat menyetujui perubahannya. Sistem manajemen basis data harus menyediakan kemampuan untuk memperoleh file logis yang diperlukan dari data yang tersedia dan hubungan yang ada di antara mereka. Harus ada sedikit kemiripan antara representasi file logis dalam program aplikasi dan cara data disimpan secara fisik.

Pertunjukan

Basis data yang dirancang khusus untuk digunakan oleh operator terminal mereka menyediakan waktu respons yang memuaskan untuk dialog terminal manusia. Selain itu, sistem database harus menyediakan throughput yang memadai. Dalam sistem yang dirancang untuk aliran kecil permintaan, keluaran memberlakukan pembatasan kecil pada struktur database. Dalam sistem dengan aliran permintaan yang tinggi, seperti dalam sistem pemesanan tiket pesawat, throughput memiliki pengaruh yang menentukan pada pilihan organisasi penyimpanan data fisik.

Dalam sistem yang dirancang untuk pemrosesan batch saja, waktu respons tidak begitu penting dan metode organisasi fisik dapat dipilih untuk memastikan pemrosesan batch yang efisien.

Biaya minimal

Untuk mengurangi biaya pembuatan dan pengoperasian database, metode organisasi seperti itu dipilih yang meminimalkan persyaratan untuk: memori eksternal. Saat menggunakan metode ini, representasi fisik data dalam memori bisa sangat berbeda dari representasi yang digunakan oleh programmer aplikasi. Transformasi dari satu representasi ke representasi lain dilakukan oleh perangkat lunak atau, jika mungkin, oleh perangkat keras atau firmware. Dalam kasus seperti itu, seseorang harus memilih antara biaya algoritme konversi dan penghematan memori.

Konsep database yang digunakan dalam AIVS

Seksi 2

pertanyaan tes

1. Apa itu data, informasi, pengetahuan?

2. Mendefinisikan database (DB).

3. Apa tujuan dari database?

4. Definisikan konsep "file", "record", "attribute", "domain", "field", "key", "superkey", "architecture", "data schema", "data model", "tuple" , "kamus data".

5. Memberikan definisi pada konsep "subject area", "application", "program", NDL, NMD.

6. Berikan klasifikasi DBMS dan database.

7. Menjelaskan komposisi DBMS.

8. Tunjukkan rasio DBMS dan DBA.

9. Daftar prosedur operasi database.

10. Sebutkan komponen-komponen teori basis data.

11. Sebutkan elemen-elemen utama dari struktur database dari sudut pandang implementasinya.

12.Apa tujuan dari OLTP dan OLAP? rasio sifat mereka?

13. Menjelaskan komposisi OLAP.

14. Sebutkan jenis-jenis model multidimensi.

Suatu konsep dalam pengertian umum mewakili suatu sistem pandangan tertentu terhadap suatu proses atau fenomena. Komponen konsep adalah seperangkat prinsip dan metodologi. Metodologi adalah seperangkat metode untuk memecahkan masalah.

Prinsip - aturan yang harus diikuti dalam aktivitas. Seringkali prinsip-prinsip tersebut dirumuskan dalam bentuk pembatasan dan persyaratan, khususnya persyaratan untuk database.

Dari posisi modern, perlu untuk mempertimbangkan secara terpisah persyaratan untuk database transaksional (operasional) dan gudang data.

Awalnya, kami membuat daftar persyaratan utama yang berlaku untuk database operasional, dan, akibatnya, untuk DBMS di mana mereka dibangun.

1. Mudah untuk memperbarui data. Operasi pembaruan mengacu pada penambahan, penghapusan, dan perubahan pada data.

2. Performa tinggi (waktu respons yang singkat untuk sebuah permintaan).
Waktu respons - periode waktu dari saat permintaan ke database dan
benar-benar mendapatkan data. Mirip dengan istilah waktu
akses - interval waktu antara penerbitan perintah tulis (baca) dan penerimaan data yang sebenarnya. di bawah akses kuda poni
Operasi pencarian, pembacaan data atau penulisannya sedang diproses.

3. Independensi data.

4. Berbagi data di antara banyak pengguna.

5. Keamanan data - melindungi data dari yang disengaja
atau pelanggaran kerahasiaan yang tidak disengaja, pernyataan yang salah atau
penghancuran.

6. Standarisasi konstruksi dan pengoperasian database (pada kenyataannya
DBMS).

8. Antarmuka pengguna yang ramah.

Yang paling penting adalah dua persyaratan pertama yang saling bertentangan: meningkatkan kecepatan memerlukan penyederhanaan struktur database, yang, pada gilirannya, memperumit prosedur untuk memperbarui data dan meningkatkan redundansinya.

Independensi data adalah kemampuan untuk mengubah struktur logis dan fisik database tanpa mengubah pandangan pengguna. Independensi data menyiratkan invarian terhadap sifat penyimpanan data, perangkat lunak, dan perangkat keras. Ini memberikan perubahan minimal dalam struktur database dengan perubahan dalam strategi akses data dan struktur sumber data itu sendiri. Ini dicapai, seperti yang akan ditunjukkan di bawah, dengan "menggeser" semua perubahan ke tahap desain konseptual dan logis, dengan sedikit perubahan pada tahap desain fisik.

Keamanan data mencakup integritas dan perlindungannya. Integritas data adalah ketahanan data yang disimpan terhadap penghancuran dan penghancuran yang terkait dengan malfungsi sarana teknis, kesalahan sistem, dan tindakan pengguna yang salah.

Dia menyarankan:

Tidak adanya data yang dimasukkan secara tidak akurat atau dua data yang identik
catatan fakta yang sama;

Perlindungan terhadap kesalahan saat memperbarui database;

Ketidakmungkinan menghapus secara terpisah (penghapusan kaskade) data terkait dari tabel yang berbeda;

Non-korupsi data saat bekerja dalam mode multi-pengguna
tekan dan dalam database terdistribusi;

Keamanan data jika terjadi kegagalan peralatan (pemulihan data).

Integritas dijamin oleh pemicu integritas - program aplikasi khusus yang bekerja dalam kondisi tertentu. Untuk beberapa DBMS (misalnya, Access, Paradox) pemicu sudah terpasang.

Perlindungan data dari akses yang tidak sah melibatkan pembatasan akses ke data rahasia dan dapat dicapai:

Pengenalan sistem kata sandi;

Memperoleh izin dari database administrator (DBA);

Larangan akses data dari DBA;

Formasi tampilan - tabel yang berasal dari aslinya dan
ditujukan untuk pengguna tertentu.

Tiga prosedur terakhir dengan mudah dilakukan dalam Structured Query Language - SQL, sering disebut sebagai SQL2.

Standardisasi memastikan kelangsungan generasi DBMS, menyederhanakan interaksi database satu generasi DBMS dengan model data yang sama dan berbeda. Standardisasi (ANSI/SPARC) telah diimplementasikan sebagian besar dalam hal antarmuka pengguna DBMS dan bahasa SQL. Hal ini memungkinkan untuk berhasil memecahkan masalah interaksi antara berbagai DBMS relasional baik menggunakan bahasa SQL maupun menggunakan aplikasi Open DataBase Connection (ODBC). Dalam hal ini, akses data lokal dan jarak jauh dapat dilakukan (teknologi client-server atau versi jaringan).

Mari kita beralih ke persyaratan untuk gudang data, yang secara struktural merupakan perpanjangan dari database operasional.

Biarkan database berisi data tentang kemajuan siswa tahun ketiga, sedangkan semester kelima dan keenam saat ini. Data untuk empat semester pertama (ditransfer) ke gudang data (HD), yaitu, dalam database tambahan yang spesifik. Hal ini diperlukan untuk query repositori untuk nama-nama siswa yang belajar hanya sangat baik untuk empat semester pertama.

Dengan kata lain, data dari database operasional secara berkala ditransfer ke arsip elektronik (dalam contoh yang dipertimbangkan, data untuk empat semester pertama), dan kemudian dapat diproses sesuai dengan permintaan pengguna.

Karena data di penyimpanan praktis tidak berubah, tetapi hanya ditambahkan, persyaratan untuk kemudahan pembaruan menjadi tidak relevan. Pertama - karena banyaknya data dalam penyimpanan - ada persyaratan untuk kinerja tinggi.

Persyaratan tambahan berikut berlaku untuk penyimpanan data:

Kinerja tinggi pemuatan data dari database operasional;

Kemungkinan memfilter, memformat ulang, memeriksa
integritas data sumber, pengindeksan data, pembaruan metadata;

Peningkatan persyaratan untuk kualitas data awal dalam hal
memastikan konsistensi mereka, sebagaimana adanya
diperoleh dari berbagai sumber;

Kinerja kueri tinggi;

Memastikan dimensi tinggi;

Akses simultan ke gudang data;

Ketersediaan alat administrasi.

Dukungan untuk analisis data dengan metode (alat) yang sesuai.

E.F. Codd, berdasarkan pengalamannya, mempresentasikan persyaratan berikut untuk sistem OLAP.

1. Representasi konseptual multidimensi data.

2. Transparansi teknologi dan sumber data.

3. Akses ke sumber data saat menggunakan model data yang berbeda.

4. Kinerja penyusunan laporan yang konsisten dengan peningkatan volume, jumlah pengukuran, prosedur generalisasi data.

5. Penggunaan arsitektur client-server yang fleksibel, adaptif, dan dapat diskalakan.

6. Universalitas pengukuran (rumus dan alat untuk membuat
laporan tidak boleh dikaitkan dengan jenis dimensi tertentu).

7. Kontrol dinamis dari kelangkaan matriks (kosong
Nilai NULL harus disimpan secara efisien).

8. Dukungan multi-pengguna.

9. Tautan operasional tak terbatas antar dimensi.

10.Dukungan untuk manipulasi data intuitif.

11. Fleksibilitas alat pelaporan.

12. Jumlah pengukuran dan tingkat generalisasi yang tidak terbatas.

Persyaratan yang tercantum berbeda dari persyaratan untuk database operasional, yang menyebabkan munculnya database khusus - penyimpanan data.

1. Persyaratan basis data

DB - satu set khusus cara mengatur data yang disimpan dalam memori pesawat, dan mencerminkan keadaan objek dan hubungannya.

Persyaratan dasar untuk organisasi database:

1. Membangun hubungan multilateral 2. Produktivitas

3 menit Biaya 4. Min. Redundansi (penggunaan memori minimum)

5. Dapat Dicari 6. Integritas (pemulihan data)

7. Keamanan dan kerahasiaan (tanpa - perlindungan dari akses oleh pihak ketiga, rahasia - kemampuan untuk mengelola tanpa.)

[Cara memastikan keamanan:

sebuah. Data harus dapat dipulihkan b. Kemampuan untuk mengontrol data

di. Sistem tidak tersedia untuk intervensi di dalamnya

d.Prosedur Identifikasi

e. Data dilindungi dari pencurian, perusakan, pengubahan

e. Kontrol tindakan pengguna dalam hal penerimaan]

8. Hubungan dengan masa lalu. Kompatibilitas Versi

9. Koneksi dengan masa depan. Data dipisahkan dari representasinya

10. Pengaturan basis data 11. Pergerakan data 12. Kesederhanaan

2. Komponen utama DBMS

Abstraksi" href="/text/category/abstraktciya/" rel="bookmark"> sebuah abstraksi yang, bila diterapkan pada data tertentu, memungkinkan pengguna dan pengembang untuk menafsirkannya sebagai informasi, yaitu informasi yang tidak hanya berisi data, tetapi juga komunikasi di antara mereka.

Kendala integritas - tidak bertentangan. data ditetapkan. logis terbatas

Terbatas zad-tsya tidak hanya untuk atribut, tetapi juga untuk tipe objek dan hubungan.

Jenis komunikasi: 1:1 1:M M:1 M:M

Model data, didukung oleh database pada level logis ditentukan oleh 3 komponen:

1. Struktur data yang diperbolehkan, variasi dan jumlah jenis objek yang dapat dideskripsikan menggunakan model

2. Himpunan operasi yang dapat diterima pada data

3. Kendala untuk kontrol integritas.

Model data:

0 "style="border-collapse:collapse;border:none">

Karyawan

Esensi

Nomor Personil

atribut kunci

Atribut

Tanggal lahir

Hubungan dapat dibuat antara entitas - asosiasi biner yang menunjukkan bagaimana entitas berhubungan atau berinteraksi. Relasi dapat berupa antara dua entitas, dan secara rekursif.

https://pandia.ru/text/78/193/images/image004_68.gif" width="17" height="17">Koneksi dapat

Antara dua entitas. bisa ada banyak koneksi dengan arti yang berbeda. beban.

Anda dapat menggunakan prinsip kategorisasi entitas, yaitu, untuk mewarisi entitas satu sama lain (seperti dalam OOP). Entitas induk dari mana subtipe dibangun disebut supertipe.

Untuk membangun model ER, dilakukan analisis sistem.

Untuk perpustakaan itu akan menjadi buku-contoh-pembaca.

6. Model data relasional.

Ini didasarkan pada teori hubungan matematika.

Array data, diwakili oleh seperangkat struktur relasional, membentuk database relasional, dan skema RDB akan diwakili oleh serangkaian skema hubungan. R1(A11,A12,A13,..A1k) R2(A21,A22,A23,..A2k) R3(A31,A32,A33,..A3k), di mana R-relasi, A-atribut. Misalkan A, B adalah atribut dari relasi R.

Mereka bilang, Apa Bsecara fungsional tergantung padaSEBUAH, jika pada setiap saat setiap A resp. paling banyak satu nilai B.

Jika sebuah ada banyak atribut A1-An dari relasi R, serta satu set fungsi. Bergantung. XàY, dimana X dan Y adalah himpunan bagian dari A1-An, Kemudian dari fungsi. Tergantung, termasuk dalam set F, fungsi lain dapat ditampilkan. Tergantung R F+ - penutupan kumpulan fungsi dependensi, yaitu set lengkap dependensi yang dapat diperoleh dari F. Orang Suci:

1. Refleksivitas: XÍU, YÍU, YÍX, lalu XàY

2. pengisian ulang: XÍU, YÍU, ZÍU, XàY, lalu XÈZàYÈZ

3. transitivitas: XÍU, YÍU, ZÍU, XàY, YàZ, lalu XàZ

4. ekstensi: XÍU, YÍU, XàY, lalu "ZÍU XÈZàY

5. lanjutan XÍU, YÍU, WÍU, ZÍU, XàY, lalu "WÍZ, XÈZàYÈW

6. transit semu. XÍU, YÍU, ZÍU, WÍU, XàY, YÈWàZ lalu XÈWàZ

7. aditif. X, Y,ZÍU XàY, XàZ, lalu XàYÈZ

Domain – kumpulan nilai data yang serupa

Gelar hubungan adalah jumlah atribut yang termasuk dalam relasi.

Kekuasaan adalah jumlah tupel dalam relasi.

Kehebatan A(R1..Rn) – intensitas

Ekstensional – beberapa pengisian tupel relasi.

Kunci K relasi R - kombinasi atribut yang memiliki properti berikut:
1. di setiap tupel dari relasi R, nilai k secara unik menentukan tupel ini

2. tidak ada atribut pada kunci k yang dapat dihapus tanpa melanggar properti 1.

Jika ada beberapa kemungkinan kunci untuk R, salah satunya dipilih sebagai kunci utama.

Rasio dinormalisasi jika setiap komponen tupel adalah nilai atom sederhana yang tidak terdiri dari sekelompok nilai.

Elemen model relasional

Formulir presentasi

Sikap

skema hubungan

Judul tabel

Baris tabel

Esensi

Properti objek

Judul kolom

Himpunan nilai atribut yang valid

Nilai atribut

Rekam nilai bidang

kunci utama

Satu atau lebih atribut

Jenis nilai elemen tabel

9. 6 jenis permintaan sederhana:

biarkan E1-En menjadi satu set objek. A1-An adalah sekumpulan atribut. K11-Knm - domain atribut

Jenis permintaan

Nilai atribut

Objek mana yang memiliki nilai yang diberikan

Atribut mana yang penting?

Semua atribut objek

Atribut ini untuk semua objek

Apa pun yang sama dengan V

10. Algoritma konversiERdi RMD:

1. Setiap entitas ER sesuai dengan relasi RMD.

2. Setiap atribut entitas menjadi atribut dari relasi yang sesuai.

3. Kunci utama entitas menjadi kunci utama dari relasi yang sesuai.

4. Dalam setiap relasi yang berkorespondensi dengan entitas bawahan, satu set atribut dari entitas utama ditambahkan, yang merupakan kunci utama dari entitas utama

5. Untuk memodelkan jenis hubungan opsional pada tingkat fisik, atribut yang sesuai dengan kunci asing diatur untuk menerima nilai nol. Dengan jenis koneksi wajib, yang terjadi adalah sebaliknya.

6. Untuk mencerminkan kategorisasi entitas pada transisi ke RDM, beberapa opsi representasi dimungkinkan. Dimungkinkan untuk membuat hanya satu hubungan untuk semua subtipe dari supertipe. Keuntungan - hanya satu hubungan yang dibuat. Kelemahannya adalah redundansi. Pendekatan kedua adalah hubungan yang berbeda untuk setiap subtipe.

11. NF1, NF2, Anomali

1NF : setiap atribut hubungan adalah atribut atom sederhana, yaitu tidak ada atribut komposit.

2NF : hubungan dinormalisasi, yaitu setiap atribut sepenuhnya bergantung pada kunci utama.

Anomali adalah situasi dalam tabel database yang menyebabkan inkonsistensi dalam database atau secara signifikan mempersulit pemrosesan data.

Jenis anomali:

1. redundansi - elemen informasi yang sama diulang berkali-kali dalam beberapa tupel.

2. ubah anomali - bagian data yang sama berubah dalam satu tupel, tetapi tetap utuh di tupel lain.

3. anomali penghapusan - jika kumpulan nilai menjadi kosong, ini secara tidak langsung dapat menyebabkan hilangnya informasi lain

Salah satu cara untuk menghilangkan anomali adalah dengan mendekomposisi relasi. Dekomposisi relasi R melibatkan pemisahan himpunan atribut R untuk membangun skema dua relasi baru dengan penyisipan berikutnya ke dalam relasi tupel yang didefinisikan dalam relasinya dengan R. Sebagai contoh tabel "pemasok, produk, harga" harus dibagi menjadi dua. Jika tidak:

Anomali inklusi: sampai pemasok mulai memasok barang, kami tidak akan dapat mengetahui informasi tentang barang tersebut.

Anomali penghapusan: Jika pasokan suatu barang terganggu, semua informasi tentang barang tersebut hilang.

Perbarui anomali: jika harga suatu produk berubah, Anda harus memperbaruinya dari semua pemasok.

12. NF3

3NF : setiap atribut non-primer dalam relasi R tidak memiliki ketergantungan transitif pada kunci primer.

Sebagai contoh: penyimpanan (perusahaan, gudang, volume)

Setiap perusahaan - hanya dari satu gudang. Perusahaan-gudang, gudang-volume

Anomali penyertaan: Jika tidak ada yang menerima barang dari gudang, kami tidak tahu volumenya

Anomali penghapusan: jika perusahaan terakhir berhenti menerima barang dari gudang, informasi tentang gudang hilang

Perbarui anomali: jika volume saham berubah, semua volume harus diubah untuk semua perusahaan

3NF yang diperkuat: dalam kaitannya tidak ada ketergantungan atribut primer pada atribut non-primer.

Atau Hal ini diperlukan bahwa semua domain fungsional. dependensi adalah kunci yang memungkinkan

Sebagai contoh proyek (Detail, proyek, pemasok)

Proyek ini memiliki beberapa detail. Setiap detail hanya dari satu pemasok. Setiap penyedia layanan hanya satu proyek.

Bagian, Proyek Pemasok

PemasokàProyek

Anomali penyertaan: Fakta bahwa suku cadang telah dikirimkan tidak dapat direkam hingga suku cadang tersebut digunakan.

Anomali Penghapusan: Jika pemasok tidak memasok apa pun, mereka harus dibunuh

Perbarui anomali: Jika pemasok jenis suku cadang apa pun berubah, semua tupel harus diubah

13. Contoh NF1,NF2,NF3

Hubungan guru-mata pelajaran

Tidak. guru

Nama barang

Jumlah jam

Nama belakang guru

Judul pekerjaan

Hubungan dengan nomor guru kunci komposit, nama mata pelajaran.

Ketergantungan fungsional:

Posisi-gaji, nomor-nama keluarga, departemen-telepon, posisi-gaji

Ada ketergantungan transitif nomor-departemen-telepon. Jadi hubungannya dalam 1NF. Ada ketergantungan fungsional yang tidak lengkap dari nama keluarga, posisi, gaji pada bagian kunci No. guru. Ketergantungan yang tidak lengkap ini menyebabkan anomali berikut:

1. ada duplikasi data tentang guru.

2. masalah redundansi data. Perubahan gaji menyebabkan perubahan tuple

3. Ada masalah dengan guru yang tidak mengajar mata pelajaran.

4. Jika guru daun, Anda harus menghapus item.

Untuk menuju ke 2NF, kita akan memecah kunci komposit menjadi beberapa bagian, dan membaginya dengan ketergantungan:

Ada ketergantungan transitif nomor-departemen-telepon, nomor-tugas-gaji

Ini menyebabkan anomali:

1. menduplikasi informasi telepon

2. Mengganti telepon memaksa semua guru untuk mencarinya

3. Anda tidak dapat memasukkan data tentang departemen baru jika tidak ada guru di sana.

Ayo pergi ke 3NF

14. Transisi ke 4NF

Ketergantungan multi-nilai ada jika, mengingat nilai atribut X, ada himpunan yang terdiri dari 0 atau lebih nilai atribut Y yang saling terkait, dan himpunan nilai atribut Y dikaitkan dengan nilai atribut Rasio U-X-Y, di mana U adalah seluruh himpunan atribut hubungan.

Penunjukan ketergantungan multinilai X->>Y.

Aksioma ketergantungan multinilai

1. tambahan X >Y lalu X->>U-X-Y

2. pengisian Jika X >Y, lalu WuX->>VuY

3. transitivitas Jika X >Y, X->>Z, lalu X->>Z-Y

Aturan Inferensi Tambahan untuk Dependensi Multinilai

1. gabungan Jika X >Z, X->>Y, lalu X->>YuZ

2. pseudotransitivitas Jika X >Y, WuY->>Z, lalu WuX->>Z-WuY

3. aturan transitivitas campuran Jika X >Y, XuYàZ, lalu XàZ-Y

4. aturan dekomposisi X >X, X->>Z, lalu X->>X^Z, X->>Y-Z, X->>Z-Y

Pertimbangkan kecanduan (#, kursus, anak-anak, posisi)

M:M hubungan antara guru dan kursus

Antara guru dan anak 1:M

Ketergantungan multinilai ->> kursus, ->> anak-anak

Skema relasi berada dalam 4NF jika, setiap kali ada ketergantungan multinilai X->>Y, di mana Y tidak kosong, dan bukan merupakan subset dari X, dan XvY tidak terdiri dari semua atribut R, X berisi kunci k-n relasi R, atribut-atribut yang di antaranya terdapat ketergantungan multinilai, dipisahkan ke dalam relasi-relasi yang terpisah

R1(#,kursus) R2(#,anak-anak) R3(#,posisi)

Hubungan dinormalisasi dengan dekomposisi skema mereka. Dekomposisi harus menjamin reversibilitas, yaitu, memastikan bahwa hubungan asli diperoleh dengan melakukan operasi gabungan pada proyeksinya.

Reversibilitas berarti:

1. Tidak ada tupel yang hilang 2. Tuple yang sebelumnya hilang tidak muncul 3. Ketergantungan fungsional dipertahankan

15. Transisi ke 5NF

Hubungan dalam 5NF<=>ketergantungan pada koneksi V ditentukan oleh kemungkinan. kunci R jika tidak, setiap proyeksi R berisi setidaknya satu kemungkinan kunci dan setidaknya satu atribut non-primer

Proses normalisasi hubungan secara berurutan menghilangkan jenis dependensi berikut:

1. ketergantungan parsial atribut non-kunci pada kunci

2. dependensi transitif atribut non-kunci pada kunci

3. dependensi kunci pada atribut non-kunci

4. dependensi multinilai

16. Koneksi tanpa Kehilangan Mempertahankan Ketergantungan

Dari semua kemungkinan dekomposisi rangkaian, hanya yang memiliki sifat bebas sambungan yang boleh digunakan. kerugian. Biarkan skema R memiliki satu set dependensi fungsional. Sirkuit R dikatakan dapat terurai tanpa kehilangan hubungan R1,R2,Rk, mempertahankan ketergantungan fungsional, jika untuk setiap tupel r dari R, r dapat dipulihkan dengan menggabungkan proyeksinya.

Kondisi tanpa kehilangan koneksi:

Jika R1 dan R2 adalah dekomposisi dari R, dengan pengurangan ketergantungan fungsional - dekomposisi ini menyediakan koneksi lossless sambil mempertahankan ketergantungan fungsional<=>jika R1^R2àR1-R2 atau R1^R2àR2-R1 dengan ketergantungan multinilai R1^R2->>R1-R2, atau R1^R2->>R2-R1

Operasi perpotongan dan perbedaan didefinisikan pada daftar atribut hubungan.

Contoh:

Karyawan (#, departemen, kota)

1 ekspansi E1(#, departemen) E2(#, kota)

2 dekomposisi E3(№, departemen) E4(departemen, kota)

1. E1^E2=No.E1-E2=Departemen E2-E1=Kota. departemen, kota kondisi terpenuhi, ekspansi lossless.

2. E3^E4=departemen E3-E4=No.E4-E3=kota. departemen, departemen-kota, dependensi ini tidak ada dalam dekomposisi asli, dan dependensi fungsional asli hilang, yang berarti bahwa dekomposisi ini lossy.

Untuk ekspansi lebih dari dua rasio, metode Tablo dapat digunakan

17. Metode papan skor

Satu set dependensi fungsional diberikan, skema relasi diperoleh sebagai hasil dekomposisi. Prosedurnya terdiri dari pembuatan tabel yang baris-barisnya merupakan relasi yang didekomposisi, dan kolom-kolomnya adalah daftar atribut dari relasi-relasi ini tanpa pengulangan. Tabel diisi dengan karakter aj jika elemen baris i pada kolom j sesuai dengan atribut Aj dari relasi Ri, jika tidak bij diset. Setelah tabel dibuat, semua dependensi fungsional XàY harus dilihat.Jika untuk atribut dari X ada baris di mana aj berada di tempat yang sesuai, maka elemen bij dari baris ini yang sesuai dengan kolom atribut dari Y diganti dengan aj . Jika hasilnya adalah baris tabel yang terisi penuh dengan aj, maka ini adalah gabungan lossless.

Contoh: R(A, B,C, D) F.Z.AàC, BàC, CàD.

Terurai: R1(A, B) R2(B, D) R3(A, B,C) R4(B, C,D)

Ada baris dengan semua dekomposisi lossless.

18. Aljabar relasional.

Dua kelompok operasi: Tradisional: serikat, persimpangan, perbedaan, produk Cartesian Khusus: proyeksi, kendala, serikat, divisi.

Sebuah asosiasi Sebagai hasil dari penerapan operasi ini, diperoleh relasi yang menggabungkan tupel. Hubungan sumber harus memiliki atribut yang sama, yaitu harus digabungkan

persimpangan Dapatkan tupel tipe yang sama untuk, umum untuk R1 dan R2

Perbedaan Kami mendapatkan tupel termasuk dalam R1, tetapi tidak termasuk dalam R2

produk kartesius Kami menggabungkan kolom seperti pada DP biasa

Proyeksi Operasinya adalah kolom-kolom dipilih dari relasi R, dan disusun dalam urutan yang ditentukan

Keterbatasan Sertakan dalam relasi keluaran satu set baris yang memenuhi batasan yang diberikan. Contoh: R

Menggabungkan Operasi proyeksi terbalik. Dua hubungan diambil dan digabungkan menggunakan atribut yang ditentukan (JOIN): Contoh: R1∞R2

Divisi R1÷R2=P1,2..n-m(R1)- P1,2..n-m(P1,2..n-m(R1)xR2-R1)

Dimana R1-n relasi lokal, R2-relasi lokal n>m. Tangan tidak mencapai

19. Kalkulus relasional dengan tupel variabel

Rumus kalkulus relasional, selain operasi aritmatika, termasuk tambahan operasi logika(A dan E). Operasi AND, OR, NOT juga digunakan.

Rumus kalkulus relasional dibangun dari atom dan satu set operator aritmatika dan logika, ekspresi kalkulus relasional dengan tupel variabel dapat terlihat seperti:

(r|Ψ(r)), di mana r-tupel, (r) adalah beberapa rumus kalkulus.

Contoh;(r|R1(r)^R2(r)) – Anda perlu mendapatkan himpunan semua tupel sedemikian rupa sehingga mereka termasuk dalam relasi R1 dan R2.

rumus atom terdiri dari tiga jenis:

1. R(t), di mana R adalah nama relasi, t adalah tupel dalam relasi

2. s[i]θu[j], di mana s dan u adalah tupel variabel, adalah operator aritmatika. i, j adalah nomor atau nama kolom yang diminati. S[i]- komponen ke-i variabel tupel S u[j]-… 3. s[i]θa, atau aθs[i], di mana a=const.

Pintu masuk variabel x ke dalam rumus RI (x) terkait, jika pada bagian rumus yang diawali dengan quantifier A atau E, segera diikuti oleh variabel x. Dalam kasus seperti itu, quantifier dikatakan mengikatnya. Konsep variabel terikat analog dengan konsep variabel lokal, variabel tidak terikat analog dengan variabel global.

Ekspresi di RI aman, jika:

1. Dari kebenaran (t) dapat disimpulkan bahwa setiap komponen tupel t adalah milik D().

2. Untuk setiap subformula dari bentuk (Eu)(Ψ1(u)) yang termasuk dalam , berdasarkan kebenaran 1(u) u termasuk dalam D(Ψ1).

3. Untuk setiap subformula dari bentuk (Au)(Ψ1(u)) yang termasuk dalam , berdasarkan kebenaran 1(u) u tidak termasuk dalam D(1).

Himpunan D(Ψ) didefinisikan sebagai fungsi hubungan yang sebenarnya , yang ditunjukkan dalam (t) dari konstanta yang ada dalam rumus (t) dan elemen tupel dari hubungan yang ditunjukkan dalam (t)

D(Ψ)=(a1Ψ)U(a2Ψ)U…U(anΨ)UP1(R1)U…UPk(Rn), di mana aiΨ adalah const, meet. Dalam rumus (t),

i(Rj) – proyeksi tupel dari relasi aktual R1-Rn yang ditemukan dalam rumus (t), yaitu, dalam hal ini, komponen tupel.

Untuk semuanya ekspresi aljabar relasional, ada ekspresi aman yang setara dalam kalkulus relasional dengan variabel pada tupel.

20. Kalkulus relasional dengan variabel pada domain.

Ini dibangun dengan cara yang sama seperti kalkulus tupel (menggunakan operator yang sama).

1. Ada apa? Atom ini menunjukkan bahwa nilai xi yang merupakan variabel seharusnya dipilih sehingga (x1..xk) adalah tupel dari R.

2. xθy, dimana x, y-const, atau variabel pada suatu domain. adalah operator perbandingan aritmatika, arti atom adalah bahwa x dan y adalah nilai di mana xθy benar. Rumus di RI dengan variabel domain juga menggunakan A, E, AND, OR, NOT. Demikian pula konsep yang digunakan variabel bebas dan terikat.

Rumus RI dengan variabel pada domain berbentuk: (x1..xk|Ψ(x1..xk)), dimana adalah rumus dengan sifat hanya variabel bebasnya saja yang berbeda pada domain. Mengubah. X1..Xk.

Ekspresi RI dengan variabel domain adalah aman, jika

1. Dari kebenaran (x1..xk) diketahui bahwa xi termasuk dalam D().

2. Jika ada dan (Eu)(Ψ1(u)) adalah subformula dari , maka kebenaran dari 1(u) menyiratkan bahwa u termasuk dalam D(Ψ1)

3. Jika untuk sembarang u (Au)(Ψ1(u)) adalah subformula dari 1(u) maka u bukan milik D(Ψ1).

Setiap ekspresi dengan variabel pada domain, ada ekspresi kalkulus relasional setara dengan variabel pada tupel.

Ekspresi dibangun seperti ini:

1. Jika t adalah tupel arity k, maka k variabel baru diperkenalkan pada domain t1..tk 2. Atom R(t) digantikan oleh atom R(t1..tk) 3. Setiap kemunculan bebas t[i ] diganti dengan ti 4. Untuk setiap kuantum (Eu) dan (Au), m variabel baru diperkenalkan pada domain u1..um, di mana u adalah aritas tupel. Di area substitusi berikut dilakukan:

RmàR(U1..Um) U[i]àUi EUàEU1..EUm AUàAU1..AUm

dilakukan konstruksi ekspresi (t1..tk|Ψ`(t1..tk)), di mana ’ adalah di mana substitusi yang sesuai dibuat.

21. Perbandingan bahasa aljabar dan bahasa kalkulus.

bahasa kalkulus bukan bahasa prosedural, karena dapat mengungkapkan segala sesuatu yang dibutuhkan, dan tidak perlu menentukan cara mendapatkannya.

Ekspresi itu nyata. Aljabar sebaliknya, ini menentukan urutan spesifik di mana operasi dilakukan. Contoh: ISBL (Bahasa Dasar Sistem Informasi).

Contoh bahasa pada domain: QBE Contoh bahasa pada tupel: SQL

SQL : Bukan bahasa prosedur. Sebagai aturan, itu dibangun ke dalam lingkungan beberapa bahasa pemrograman. Berfokus pada akses data, dan tidak memiliki properti bahasa pengembangan.

Metode untuk menggunakan built-inSQL:

1. Statis: Fitur bahasa SQL disertakan. exe setelah kompilasi

2. dinamis: konstruksi dinamis panggilan SQL dan interpretasi. Digunakan bila bentuk permintaan tidak diketahui sebelumnya.

DDL(Deskripsi)Buat tabel, jatuhkan tabel, ubah tabel, buat tampilan, jatuhkan tampilan, ubah tampilan, buat indeks, jatuhkan indeks.

DML (Manipulasi) hapus (hapus baris), sisipkan (sisipkan), perbarui (perbarui).

DQL (Permintaan) Pilih

DCL (Bahasa kontrol data) Digunakan untuk kontrol akses.

Ubah kata sandi, berikan, bangun kembali.

MANAJEMEN TRANSAKSI Komit, kembalikan

22. Transaksi

Jenis transaksi:

1. Datar (klasik, ASAM). Properti:

atomisitas- transaksi harus selesai seluruhnya, atau tidak selesai sama sekali

konsistensi– transaksi tidak melanggar kesepakatan data bersama

isolasi– transaksi yang bersaing untuk akses ke database sebenarnya diproses secara berurutan.

daya tahan- jika transaksi selesai, perubahannya tetap selamanya, bahkan jika kesalahan terjadi kemudian.

Komitmen transaksi – menulis data yang diubah ke disk. Setelah itu, mereka akan terlihat oleh transaksi lainnya.

Mengembalikan transaksi - pembatalan.

Dalam DBMS, prinsip tabungan diatur. int. komp. konfirmasi atau pengembalian transaksi disediakan oleh mekanisme khusus untuk mempertahankan log transaksi yang dibuat. Hal ini dirancang untuk aman menyimpan data dalam database. Persyaratan ini mengasumsikan bahwa status database dapat dipulihkan setelah crash.

Prinsip pemulihan:

1. Hasil transaksi commit harus ada di database.

2. Hasil transaksi uncommited tidak boleh ada.

Situasi berikut mungkin terjadi di mana: memulihkan keadaan database:

1. Rollback transaksi individual (standar, shutdown tidak normal, sebagai akibat dari pemblokiran).

2. Pemulihan setelah kehilangan data di RAM (kegagalan lunak) (pemadaman listrik, kegagalan prosesor)

3. Mengembalikan setelah kerusakan media database utama (hard failure). Dasar pemulihan adalah salinan arsip dan log database.

Dasar pemulihan adalah penyimpanan data yang berlebihan. Data yang berlebihan disimpan dalam log dan berisi informasi tentang perubahan dalam database. Ada 2 pilihan:

1. Log (lokal) terpisah untuk setiap transaksi - untuk pengembalian.

2. Log global untuk pemulihan kerusakan.

23. Eksekusi transaksi paralel

Eksekusi paralel transaksi harus memuaskan. melacak. kondisi:

1. Selama pelaksanaan transaksi, pengguna hanya melihat data yang konsisten.

2. Ketika 2 transaksi dieksekusi secara paralel, DBMS menjamin eksekusi independen. Ini disebut serialisasi transaksi. Biasanya dilakukan dengan menggunakan mekanisme penguncian. Cara paling sederhana adalah dengan mengunci (synchronous capture) objek selama durasi transaksi. Mungkin juga ada pemblokiran tingkat halaman. Jenis kunci (menangkap):

1. Bersama (bersama). Pemblokiran lembut. Dieksekusi saat objek dibaca.

2. Kaku (eksklusif). Pengambilan eksklusif objek untuk operasi tulis.

Deadlock mungkin terjadi. Dasar pendeteksiannya adalah konstruksi grafik tunggu transaksi. Kemudian salah satu transaksi (yang termurah) dikorbankan - rollback dilakukan untuk itu.

24. Model data hierarkis.

Yang paling sederhana. Muncul lebih dulu. Utama unit informasi basis data, bidang, segmen.

Bidang - menit dan unit data independen, tersedia untuk pengguna menggunakan DBMS.

Segmen (DBTS) - disebut rekor.

Jenis segmen adalah kumpulan tipe data yang diberi nama.

Contoh segmen dibentuk dari nilai bidang tertentu.

Setiap jenis segmen dalam model hierarkis membentuk satu set catatan homogen tertentu. Setiap jenis segmen dapat memiliki kunci.

Segmen-segmen tersebut digabungkan menjadi digraf pohon.

Jenis segmen, nah-xia lebih banyak level tinggi hierarki disebut catatan. asli dalam kaitannya dengan jenis segmen di bawahnya. (log. ke bawahan).

Skema database hierarkis adalah kumpulan pohon individu. Setiap pohon dalam model disebut pohon fisik. DB dan memenuhi yang berikut: pembatasan:

1. Ada 1 segmen akar

2. Setiap log. Ref. Elemen m.b. berhubungan dengan sejumlah bawahan.

3. Setiap segmen bawahan logis dapat. berhubungan dengan hanya satu orang tua.

Segmen adalah contoh jenis segmen. Ada juga hubungan hierarkis antara instance segmen.

Saudara kembar - keturunan dari jenis yang sama dengan satu nenek moyang.

Himpunan semua instance segmen dalam satu pohon disebut fisik Rekaman Kumpulan database fisik membentuk database konseptual.

Untuk mengatur penempatan fisik kelompok metode berikut digunakan:

1. Representasi dengan daftar linier dengan distribusi serial. Penyimpanan

2. Daftar nonlinier

Aturan Kontrol Integritas Dasar: seorang anak tidak dapat hidup tanpa orang tua, dan beberapa orang tua tidak dapat memiliki anak.

Tidak ada mekanisme untuk menjaga integritas antara pohon individu.

(+) 1. Penggunaan yang efektif memori komputer

2. Operasi data berkecepatan tinggi

3. Nyaman untuk bekerja dengan data yang diurutkan secara hierarkis

5. Kelas dapat berisi metode.

6. Kelas dapat berisi generator metode.

7. Banyak Karakteristik umum perilaku objek dapat secara otomatis dikelola oleh Cache. Juga, perilaku objek dapat ditentukan oleh pengguna.

Jenis kelas:

kelas tipe data

Kelas objek

Tidak terdaftar Kelas

Daftar Kelas

Kelas yang disematkan

Kelas tersimpan

Kelas tipe data: Ini adalah kelas khusus yang mendefinisikan nilai tambahan konstanta, dan memungkinkan mereka untuk dikendalikan. Mengandung definisi kumpulan metode validasi. Mereka tidak dapat mengandung St.

Kelas objek: mendefinisikan struktur dan perilaku objek dari tipe tertentu. Objek disebut instance dari kelas yang sesuai. Setiap kelas memiliki nama, properti, dan metode.

Kelas yang tidak terdaftar: semua metode mereka ditentukan oleh pengembang, yang bertanggung jawab untuk menetapkan dan memelihara pengenal unik, objek, dan referensi objek.

Pembatasan:

1. Sistem tidak mengalokasikan memori untuk nilai properti objek.

2. Tidak ada pertukaran otomatis objek yang tautannya dibuat. 3. Polimorfisme tidak didukung.

4. Variabel yang mengacu pada objek yang tidak terdaftar harus dideklarasikan dengan kelas yang sesuai.

Kelas terdaftar memiliki set lengkap metode. Secara otomatis mewarisi metode manajemen objek dari kelas sistem. Instance ada sementara dalam memori proses. Mereka disebut objek sementara. Cache membuat objek baru, kelas terdaftar, dan mengelola penempatannya di memori. Diwarisi dari Objek Terdaftar Perpustakaan. Mereka memungkinkan polimorfisme.

Kelas yang disematkan dapat disimpan tidak hanya sementara di memori, tetapi juga untuk waktu yang lama di database. Kelas-kelas ini mewarisi perilakunya dari kelas Objek Serial Perpustakaan. Hal utama tentang perilaku mereka adalah bahwa instance dalam memori ada sebagai objek independen dan hanya dapat disimpan dalam database dengan disematkan di objek lain.

Kelas yang disimpan menyediakan penyimpanan jangka panjang dari sebuah instance dalam database. Diwarisi dari Library Persistent. Instance memiliki pengidentifikasi objek unik dan dapat disimpan secara independen di Cache. Ketika objek yang disimpan digunakan sebagai properti kelas, seseorang berbicara tentang referensi ke objek yang disimpan.

Elemen kelas:

1. Nama

2. Kata kunci

3. Properties, yaitu elemen data yang disimpan di dalam kelas. Dapat berupa konstanta, objek bawaan, dan referensi ke objek yang disimpan. Kelas tipe data tidak mengandung properti. Saat mengakses properti, perubahan format dan konversi lainnya dimungkinkan. Objek yang direferensikan secara otomatis dimuat ke dalam memori. Properti dapat bersifat publik dan pribadi.

4. Metode, yaitu kode yang mengimplementasikan fungsionalitas tertentu.

5. Parameter kelas, nilai yang membentuk kelas pada waktu kompilasi.

Tipe data diimplementasikan oleh kelas.

Kelas bisa

1. Melakukan konversi data antar format yang tersimpan di database, memory, memory dan ditampilkan.

2. Bertanggung jawab untuk memvalidasi nilai

3. Menyediakan interaksi dengan SQL, Java, ActiveX.

Perbedaan dari kelas objek.

1. Tidak mungkin untuk instantiate

2. tidak boleh berisi properti

3. metode disediakan untuk programmer melalui antarmuka tipe data

4. Memiliki metode untuk memeriksa nilai.

Koleksi

Properti dengan beberapa nilai dapat direpresentasikan dalam Cache sebagai koleksi. Dapat berisi konstanta, objek, dan referensi objek.

Koleksi array: setiap elemen diurutkan berdasarkan kunci.

Koleksinya adalah daftar: posisi elemen adalah kuncinya.

Arti

Metode – operasi yang dapat dilakukan oleh objek. Setiap argumen memiliki nama, parameter, dll.

Ada metode instance dan metode kelas (statis)

Jenis metode:

Kode - berisi kode dalam bahasa ObjectScript.

Ekspresi - berisi satu ekspresi. Saat dikompilasi, semua pemanggilan metode diganti dengan ekspresi ini.

Kueri - dapat direpresentasikan sebagai disimpan prosedur SQL atau representasi. Hasilnya tersedia melalui antarmuka khusus.

Indeks - Digunakan untuk mengoptimalkan kecepatan eksekusi kueri. Setiap indeks dibuat berdasarkan satu atau lebih properti kelas. Metode pengurutan dapat ditentukan

Konsep objek

relasional

contoh

pengenal objek

konstanta properti

kunci eksternal

objek yang disematkan

kolom individu

daftar koleksi

kolom kotak kombo

susunan koleksi

Subtabel

aliran data

prosedur tersimpan

metode kelas

prosedur tersimpan

Model relasional tidak memiliki analog untuk parameter kelas, properti multidimensi, dan metode instan. Kompiler Cache secara otomatis menghasilkan tabel untuk semua kelas yang disimpan.

32. Semesta

Semesta adalah model relasional yang diperluas yang menghilangkan batasan ketidakterpisahan data dalam tabel. Mengizinkan bidang multinilai (bidang yang nilainya terdiri dari subnilai). Satu set nilai untuk bidang multinilai dianggap sebagai tabel yang berdiri sendiri yang disematkan di tabel utama. Postrelational ini juga mendukung bidang terkait bertingkat. Satu set bidang terkait disebut asosiasi. Dalam hal ini, nilai pertama dari satu kolom asosiasi sesuai dengan nilai pertama dari semua kolom asosiasi lainnya. Nilai kedua terkait dengan cara yang sama. Tidak ada batasan persistensi pada panjang bidang dan jumlah bidang dalam catatan.

Keuntungan: kemungkinan mewakili populasi tabel terkait meja satu baris.

Kekurangan: kompleksitas pemecahan masalah integritas dan konsistensi data.

33. Penyimpanan data

Hasil data transaksi dapat ditempatkan di repositori, dan juga dapat dikonversi untuk memastikan kompatibilitas data yang diterima dari sumber lain. Untuk memastikan proses kliping dan ekstraksi data, istilah berikut digunakan: Stratifikasi, Splitting.

Data yang disimpan dapat dimodifikasi dengan teknik pemodelan multidimensi menggunakan skema bintang yang terdiri dari tabel fakta yang dikelilingi oleh tabel dimensi.

Gambar

Hubungan antara tabel fakta dan dimensi harus dibuat sederhana sehingga semuanya jelas. M.b. tabel ekspansi dimensi