Asas teori pangkalan data (pengenalan kepada SQL). Model data datalogi. Anda mungkin berminat

Tambah - buat rekod dalam pangkalan data dan, bergantung pada mod kemasukan, sama ada memasukkannya dalam perhubungan kumpulan, di mana ia diisytiharkan sebagai bawahan, atau tidak memasukkannya dalam mana-mana perhubungan kumpulan.
Termasuk dalam hubungan kumpulan - memautkan rekod bawahan sedia ada dengan rekod pemilik.
Tukar - memautkan rekod bawahan sedia ada kepada rekod pemilik lain dalam hubungan kumpulan yang sama.
Kemas kini - menukar nilai elemen rekod yang diekstrak sebelum ini.
Ekstrak - mengekstrak rekod secara berurutan mengikut nilai utama, serta menggunakan perhubungan kumpulan - anda boleh pergi dari pemilik kepada rekod ahli, dan dari rekod bawahan kepada pemilik set.
Padam - keluarkan rekod daripada pangkalan data. Jika rekod ini adalah pemilik perhubungan kumpulan, maka kelas keahlian rekod bawahan dianalisis. Ahli wajib mesti terlebih dahulu dikecualikan daripada perhubungan kumpulan, ahli tetap mesti dipadamkan bersama pemilik, ahli pilihan akan kekal dalam pangkalan data.
Kecualikan daripada perhubungan kumpulan - memutuskan hubungan antara rekod pemilik dan rekod ahli.

Model pangkalan data hubungan

Pertama sekali, semua data dalam model dibentangkan hanya dalam bentuk jadual dan hubungan antara mereka. Model hubungan adalah satu-satunya yang memastikan keseragaman persembahan data.

Elemen kedua model adalah bahasa yang lengkap dari segi perhubungan. kesempurnaan bahasa apabila digunakan pada model hubungan bermakna ia mesti melaksanakan apa-apa pembedahan algebra hubungan . Lebih-lebih lagi, bahasa mesti menggambarkan apa-apa permintaan dalam bentuk operasi pada jadual, bukannya pada barisnya. Salah satu bahasa ini ialah SQL.

Elemen ketiga model relasional memerlukan model relasional untuk mengekalkan tertentu kekangan integriti. Setiap baris dalam jadual mesti mempunyai beberapa yang unik pengecam, dipanggil kunci utama. Had kedua dikenakan pada integriti pautan antara jadual.

Model berorientasikan objek.

Dalam pangkalan data berorientasikan objek, tidak seperti yang berkaitan, bukan rekod disimpan, tetapi objek (teks, maklumat audio dan video, dokumen dan objek lain). Juga penting ialah tugas menyelamatkan keadaan objek antara pelancaran berulang program aplikasi. Walau bagaimanapun, alat matematik yang dibangunkan di mana am model data berorientasikan objek, tidak wujud.

Kebanyakan OODBMS ialah perpustakaan yang prosedur pengurusan datanya disertakan program permohonan. Walaupun kelebihan sistem berorientasikan objek - pelaksanaan jenis data yang kompleks, sambungan dengan bahasa pengaturcaraan, dsb. - dalam masa terdekat, keunggulan hubungan DBMS dijamin.

DBMS perhubungan objek

Perbezaan antara hubungan objek dan berasaskan objek DBMS: yang pertama adalah superstruktur atas skema hubungan, manakala yang kedua pada mulanya berorientasikan objek. ciri utama dan perbezaan antara hubungan objek (serta objek) DBMS daripada relasional ialah ATAU DBMS disepadukan dengan bahasa pengaturcaraan Berorientasikan Objek (OO), dalaman atau luaran seperti C++, Jawa.

Perkaitan objek DBMS adalah, sebagai contoh, yang terkenal Pangkalan Data Oracle ,Microsoft Pelayan SQL , PostgreSQL, Microsoft Access.

Pendekatan perhubungan untuk membina model domain.

· bidang subjek dimodelkan oleh satu set individu objek maklumat(entiti), setiap satunya diterangkan oleh jadual dua dimensinya sendiri;

· terdapat perkaitan antara jadual;

· setiap elemen jadual ialah satu elemen data;

· semua lajur dalam jadual adalah homogen, i.e. semua elemen dalam lajur mempunyai jenis yang sama (angka, aksara, dll.) dan panjang;

Setiap lajur menerangkan satu atribut entiti;

Setiap lajur mempunyai nama yang unik;

· baris mengandungi nilai atribut untuk satu contoh entiti;

· tiada baris yang sama dalam jadual (kehadiran kunci utama);

· susunan baris dan lajur boleh sewenang-wenangnya.

Normalisasi hubungan- alat rasmi sekatan pada pembentukan hubungan (jadual), yang menghapuskan pertindihan, memastikan konsistensi yang disimpan dalam pangkalan data, dan mengurangkan kos buruh untuk mengekalkan (memasuki, menyesuaikan) pangkalan data.

Bentuk normal pertama

Hubungan (jadual) dipanggil normal atau dikurangkan kepada bentuk normal pertama, jika semua sifatnya adalah mudah (selepas ini tidak boleh dibahagikan).

Menukar hubungan kepada pertama bentuk biasa boleh membawa kepada peningkatan dalam bilangan butiran (medan) perhubungan dan perubahan dalam kunci.

Meja dah masuk bentuk normal kedua, jika ia memenuhi keperluan yang pertama bentuk biasa dan semua medannya yang tidak termasuk dalam kunci utama dipautkan sepenuhnya pergantungan berfungsi dengan kunci utama, iaitu mana-mana medan kunci dikenal pasti secara unik set penuh medan utama.

· jadual mesti mengandungi data tentang satu jenis objek;

· setiap jadual mesti mengandungi satu medan atau beberapa medan yang membentuk pengecam unik (atau kunci utama) untuk setiap baris;

· semua medan bukan kunci mesti dikenal pasti oleh pengecam unik penuh jadual ini.

Bentuk normal ketiga

Keperluan bentuk normal ketiga datang untuk memastikan bahawa semua medan bukan kunci hanya bergantung pada kunci utama dan tidak bergantung antara satu sama lain. Dalam erti kata lain, anda perlu boleh menukar nilai mana-mana medan bukan kunci tanpa mengubah nilai mana-mana medan lain dalam pangkalan data.

Jenis sambungan. Sifat perhubungan

· Hubungan satu dengan satu(1:1) bermakna setiap rekod dalam satu jadual sepadan dengan paling banyak satu rekod dalam jadual lain.

· Hubungan satu-dengan-banyak(1:M) bermaksud untuk setiap rekod dalam satu jadual terdapat 0 atau 1 atau lebih rekod yang sepadan dalam jadual lain.

· Hubungan ramai dengan satu(M:1) adalah serupa dengan jenis satu-ke-banyak yang dibincangkan sebelum ini. Jenis hubungan antara objek bergantung pada sudut pandangan.

· Hubungan ramai-ke-banyak(MM). berlaku di antara dua jadual apabila setiap rekod dalam satu jadual sepadan dengan 0 atau lebih rekod dalam jadual lain dan sebaliknya.

Kekunci mudah dan kompaun

Kunci utama mungkin terdiri daripada medan jadual tunggal yang nilainya unik untuk setiap rekod. begitu kunci utama dipanggil kunci mudah.

Jika meja tidak mempunyai satu bidang yang unik, kunci utama boleh terdiri daripada beberapa bidang, keseluruhan nilainya menjamin keunikan.

begitu kunci utama dipanggil kunci kompaun

Semua jenis perhubungan dilaksanakan menggunakan kunci utama dan pautan ke nilainya dalam jadual lain. Pautan sedemikian, yang merupakan salinan kunci utama jadual lain, dipanggil kunci asing.

Dianggap hierarki dan contoh rangkaian Pangkalan data, yang mengandungi maklumat tentang bahagian perusahaan dan pekerja yang bekerja di dalamnya, berhubung dengan model hubungan akan mempunyai bentuk:

DENGAN huruf kembar"banyak-ke-banyak"dilaksanakan melalui jadual tambahan, dengan yang ini sambungan akan dikurangkan kepada dua sambungan seperti " satu-ke-banyak".

Operasi Pangkalan Data

Cara standard untuk mengakses data pangkalan data adalah dengan memasukkan alamat bersekutu (corak), yang dijalankan oleh operasi "carian pola". Hujah operasi "carian corak" ialah struktur, sifatnya boleh berbeza-beza sedikit. julat yang luas bergantung kepada fungsi yang dilakukan oleh pangkalan data. Hasil operasi ini ialah satu set (mungkin kosong - hasil negatif) semua rujukan sampel hujah, i.e. serpihan pangkalan data, setiap satunya mewakili respons kepada pertanyaan yang dinyatakan dalam bentuk sampel ini.

Beberapa jenis sampel boleh dibezakan.

Sampel mudah ialah serpihan struktur yang sama jenis dengan bingkai. Dalam bucu corak mudah, komponen boleh ditentukan sebahagiannya, sebagai contoh, hanya nama atau jenis sahaja. Sifat prosedur yang dilaksanakan oleh operasi "carian corak" boleh terdiri daripada dua jenis:

Padanan tepat - rujukan adalah isomorfik kepada sampel sehingga unsur-unsur yang hilang dalam sampel;

Penutup - boleh dilakukan dalam kes di mana susunan separa ditentukan di atas simbol yang bertindak sebagai elemen corak. Rujukan dalam kes ini adalah serpihan bingkai yang diliputi oleh sampel, dalam erti kata bahawa graf sampel dan rujukan adalah isomorfik, dan unsur-unsur sampel sama ada bertepatan dengan simbol rujukan yang sepadan atau terletak di atas. ia dalam hierarki.

Sampel pecah - ini ialah koleksi corak ringkas yang disambungkan oleh arka jenis khas, hilang dari bingkai. Dalam kes ini, graf sampel dan rujukan bukan isomorfik, kerana yang kedua tidak mempunyai lengkok khas. Kita boleh mengatakan bahawa dengan corak tidak berterusan, carian tidak berlaku pada bingkai itu sendiri, tetapi pada penutupan transitifnya di sepanjang satu atau lebih jenis hubungan. B. Corak dengan konteks negatif mewakili pasangan

< положительный образец, отрицательный образец >,

di mana setiap sampel adalah mudah atau tidak berterusan. Prosedur carian untuk corak sedemikian ditakrifkan seperti berikut. Carian dilakukan berdasarkan corak positif yang ditemui oleh perujuk R nama bucu biasa kepada sampel positif dan negatif ditentukan. Nama-nama ini digantikan ke dalam kedudukan yang sepadan dalam pola negatif, yang dicari sekali lagi. Jika set rujukan dalam kes ini kosong, maka R diambil sebagai rujukan carian corak dengan konteks negatif. Jika tidak, carian tidak akan mengembalikan sebarang hasil.

Kekurangan hubungan antara sampel positif dan negatif mewakili kes istimewa prosedur yang diterangkan di atas, di mana pencarian kedua-dua sampel dijalankan secara bebas, dan hasil keseluruhan ditakrifkan dengan cara yang sama.

sampel kompleks - mewakili gabungan jenis sampel yang disenaraikan di atas. Hasil carian pola yang kompleks ialah gabungan prosedur carian untuk setiap sampel dalam populasi.

Kami akan membahagikan operasi "carian corak" kepada dua jenis utama: satu-varian dan pelbagai-varian cari.

Dalam kes carian varian tunggal, rujukan tunggal (padanan pertama) ditemui dalam pangkalan data, manakala dalam carian multivariat, proses diteruskan sehingga semua serpihan pangkalan data yang mungkin yang boleh menjadi rujukan untuk sampel tertentu ditemui.

Salah satu faktor penting yang menentukan hasil operasi carian corak dalam carian varian tunggal ialah sama ada susunan pengimbasan bingkai ditetapkan atau tidak semasa melakukan operasi carian corak. Contohnya, dengan bingkai rantai ia boleh dilihat dari kiri ke kanan atau kanan ke kiri, dengan pokok - dari akar ke daun atau dalam arah terbalik. Dalam kes di mana tertib tontonan adalah ciri luaran pangkalan data, ia boleh diperbaiki (terbina dalam) atau ditukar semasa operasi (boleh disesuaikan).

Satu lagi operasi pada pangkalan data sedang ditambahkan. Maksud operasi ini adalah untuk melampirkan data baru pada data dalam pangkalan data. Hujah operasi ini terdiri daripada dua bahagian: yang pertama ialah serpihan yang dilampirkan pada pangkalan data, dan mempunyai organisasi yang sama, i.e. terdiri daripada bingkai dan satu set komponen yang berkaitan dengan bucunya; bahagian kedua ialah, secara umum, alamat bersekutu yang menunjukkan bucu bingkai mana serpihan baharu akan dilampirkan.

Biasanya, sistem pangkalan data dilengkapi dengan bahasa pertanyaan yang boleh membantu penggunanya menanyakan kejadian. Terdapat dua jenis tersebut - algebra hubungan dan kalkulus hubungan. Yang pertama ialah prosedural yang mengambil contoh hubungan sebagai input dan contoh hubungan output sebagai output. Menggunakan unary atau kalkulus binari. Algebra hubungan dilakukan secara rekursif dan dianggap sebagai hubungan.

Produk Cartesan (Χ)

Menggabungkan maklumat daripada dua perhubungan yang berbeza menjadi satu.

Jawatan - r Χ s,

di mana r dan s ialah nisbah, dan keluarannya akan ditakrifkan sebagai

r Χ s = (qt | q ∈ r dan t ∈ s).

Kesimpulan. Sediakan perhubungan yang menunjukkan semua buku dan artikel yang ditulis menggunakan buku teks.

Namakan semula operasi (ρ).

Hubungan algebra hubungan adalah hasil, tetapi tanpa sebarang nama. Operasi menamakan semula membolehkan anda menukar nilai output, yang ditunjukkan oleh huruf Yunani kecil ρ .

Jawatan - ρ x(E),

di mana hasil ungkapan E disimpan dengan nama x.

Operasi tambahan:

  • tetapkan persimpangan;
  • tugasan;
  • sambungan semula jadi.

Kalkulus hubungan

Bahasa pertanyaan adalah bukan prosedural, bermakna ia memberitahu anda perkara yang perlu dilakukan, tetapi tidak menerangkan cara melaksanakannya. Kalkulus hubungan datang dalam dua bentuk:

  • kalkulus korelasi tuple;
  • menapis julat pembolehubah.

Notasi - T/Keadaan: Mengembalikan semua tupel T yang memenuhi syarat. Hasilnya. Mengembalikan tupel dengan nama. TRC boleh dikira. Kita boleh menggunakan pengkuantiti kewujudan (∃) dan universal (∀). Kesimpulan. Pertanyaan di atas akan memberikan hasil yang sama seperti yang sebelumnya.

Kalkulus Hubungan Domain DRC

Pembolehubah penapis menggunakan domain atribut dan bukannya nilai tuple integer (seperti yang dilakukan dalam TRC yang dinyatakan di atas).

Jawatan - (a 1, a 2, a 3, ..., a n | P (a 1, a 2, a 3, ..., a n)),

di mana a1, a2 ialah atribut, dan P menandakan formula yang dibina oleh nilai dalaman.

Kesimpulan. Menetapkan artikel, halaman dan topik daripada hubungan TutorialsPoint, dengan subjek adalah pangkalan data.

Seperti TRC, DRC juga boleh ditulis menggunakan pengkuantiti kewujudan dan universal. DRC juga termasuk pengendali algebra hubungan. Kuasa ungkapan pengiraan, kalkulus dan korelasi hubungan antara titik adalah setara.

Variasi dan skema kalkulus dan algebra hubungan

Model ER, apabila dikonsepkan dalam rajah, memberikan ulasan yang baik perhubungan penting yang lebih mudah difahami. Perwakilan skematik boleh dipetakan kepada rajah hubungan, iaitu, ia boleh dibuat bersama-sama antara satu sama lain. Tidak mustahil untuk mengimport semua kekangan ER ke dalam model hubungan, tetapi struktur anggaran boleh dijana. Terdapat beberapa proses dan algoritma yang tersedia untuk menukar carta kepada sistem ini. Sebahagian daripadanya adalah automatik, manakala yang lain dibuat secara manual. Gambar rajah ER terutamanya terdiri daripada kriteria berikut:

  • intipati dan sifat-sifatnya;
  • sambungan, iaitu perkaitan antara nilai di atas.

Perbandingan objek dan hubungan berlaku dalam cara dan corak yang berbeza. Sebagai contoh, entiti ialah objek dunia sebenar dengan beberapa sifat. Proses pemadanan, algoritma adalah seperti berikut:

  • buat jadual untuk setiap objek;
  • atribut harus menjadi medan jadual dengan jenis data yang sepadan;
  • mengisytiharkan kunci utama.

Hubungan ialah perkaitan antara entiti. Proses penyusunan adalah seperti berikut:

  • buat jadual untuk perhubungan;
  • tambah kunci utama semua entiti yang mengambil bahagian sebagai medan jadual dengan jenis data yang sesuai;
  • jika perhubungan mempunyai sebarang atribut, tetapkan setiap atribut sebagai medan jadual;
  • menggabungkan kunci utama yang membentuk semua yang lain untuk objek yang mengambil bahagian;
  • nyatakan semua kekangan kunci asing.

Set lemah dan objek hierarki dipaparkan mengikut sistem tertentu. Pertama sekali, anda perlu memahami asas yang penting dan makna. Set objek yang lemah ialah objek yang tidak mempunyai sebarang kunci utama yang dikaitkan dengannya. Proses pemetaan adalah seperti berikut:

  • buat jadual untuk set objek yang lemah;
  • tambah semua atribut pada skema sebagai medan;
  • nyatakan kunci utama untuk pengenalan;
  • tetapkan semua kekangan kunci asing.

Pemetaan objek hierarki adalah berdasarkan pengkhususan atau generalisasi bahasa algebra hubungan dan berlaku dalam bentuk entiti berjujukan. Algoritmanya adalah seperti berikut:

  • buat jadual untuk semua objek pada tahap yang lebih rendah;
  • tambah kunci utama;
  • pada tahap rendah, laksanakan semua atribut lain objek peringkat rendah;
  • mengisytiharkan kunci utama jadual;
  • tetapkan kekangan kunci asing.

Pilihan sedia ada untuk menerangkan, menyimpan, menukar maklumat

SQL ialah bahasa pengaturcaraan untuk pangkalan data hubungan data. Ia dibangunkan pada algebra dan kalkulus korelasi tupel. SQL dibekalkan sebagai pakej dengan semua pengedaran sistem pengurusan pangkalan data utama. Mengandungi kedua-dua data dan bahasa untuk memanipulasinya. Menggunakan Sifat Definisi data SQL algebra hubungan, anda boleh mereka bentuk dan mengubah suai skema pangkalan data, manakala sifat kawalan dan pelarasan, serta pengubahsuaian data, membolehkan anda menyimpan dan mendapatkan maklumat yang dipasang dalam sistem. Menggunakan set arahan berikut untuk menentukan struktur dan sistem:

  • mencipta jadual dan pandangan baharu daripada DBMS.
  • melontar arahan.
  • menukar skema pangkalan data.
  • arahan ini menambah atribut pada objek jenis rentetan.

SQL dilengkapi dengan Bahasa Manipulasi Data (DML). Ia mengubah suai contoh pangkalan data dengan memasukkan, mengemas kini dan memadam maklumat. DML bertanggungjawab untuk menukar semua data. SQL mengandungi set perintah berikut dalam bahagian DML:

  1. SELECT ialah salah satu arahan pertanyaan asas. Ia serupa dengan operasi unjuran algebra hubungan. Ia memilih atribut berdasarkan keadaan yang diterangkan dalam klausa WHERE.
  2. FROM - Bahagian ini mengambil nama sebagai hujah dari mana atribut harus dipilih/diunjurkan. Jika lebih daripada satu nama diberikan, item ini sepadan dengan produk Cartesian.
  3. WHERE - Bahagian ini menentukan predikat atau syarat yang mesti dipenuhi untuk melayakkan atribut yang diunjurkan.

Terdapat juga arahan:

  • masukkan;
  • menukar nilai;
  • pemadaman.

Mencipta Pertanyaan Algebra Hubungan

Apabila membina carian, tugasnya adalah untuk mencari struktur operasi yang akan membawa kepada kesimpulan yang betul. Operasi asas algebra hubungan ialah operasi mudah dengan satu atau dua hubungan sebagai operan. Kesan gabungan urutan menentukan hasil akhir. Oleh kerana sistem algebra hubungan dalam pangkalan data agak mudah, banyak keputusan perantaraan boleh diperolehi sebelum mencapai output akhir, ini juga digunakan sebagai operan yang menghasilkan data keluaran baharu.

Bagi kebanyakan pengendali, susunan pertanyaan dan pelaksanaannya tidak penting, bermakna output yang sama boleh dicapai dengan membina dan menggabungkan data perantaraan dengan cara yang berbeza. Dalam amalan, mencari pangkalan data agak mudah. Sistem untuk melaksanakan operasi dan hasil perantaraan ditentukan oleh pengoptimum pertanyaan. Apabila membentuk soalan dan keperluan, anda perlu
mula-mula pilih hubungan yang diperlukan untuk mencapai jawapan, dan kemudian nyatakan operasi dan hasil perantaraan. Struktur pertanyaan algebra hubungan dalam pangkalan data dengan keputusan boleh diwakili sebagai gambar rajah. Pengoptimum keperluan cuba mencapai pelaksanaan yang paling cekap yang mungkin. Dalam amalan, ini biasanya bermakna bahawa mereka cuba meminimumkan hasil perantaraan secepat mungkin. Contoh biasa algebra hubungan akan membantu dengan ini.

Maklumat mengenai kenderaan model 1996 di mana kekurangan ditemui semasa pemeriksaan 1999.

Pertama, maklumat tentang mesin dipaparkan untuk memahami makna semua sifat perhubungan. Maklumat pemeriksaan disimpan dalam jadual Pemeriksaan, dan jika kesalahan ditemui, ia direkodkan dalam jadual Masalah. Jadi ketiga-tiga jadual ini diperlukan untuk mendapatkan maklumat yang diperlukan.

Hanya kereta dari tahun 1996 yang menarik. Barisan pemain kereta diwakili sebagai nilai tetapkan atribut dalam baris jadual maklumat mesin. Pertama keputusan pertengahan terdiri daripada tupel yang mewakili varian 1996.

Oleh itu, hanya baris yang merangkumi tempoh ini diperlukan. Anda mesti menggunakan pemilihan untuk mengekstraknya. Kini terdapat kereta dan pemeriksaan yang diperlukan. Baris kemudiannya dicantumkan menggunakan operasi kesatuan. Nombor daftar biasa mesti disambungkan kepada mereka, kerana ia adalah satu-satunya lajur biasa, gabungan semula jadi digunakan.

Untuk mengetahui sama ada ralat ditemui semasa ujian, anda perlu mengaitkan garis masalah dengan ujian. Selepas menyambungkan baris kawalan ke kereta, anda boleh menyambungkan hasil ini ke jadual kerosakan. Penyertaan mestilah berdasarkan persamaan nombor pendaftaran dan tarikh disahkan. Ini adalah satu-satunya lajur biasa dalam jadual, jadi cantuman semula jadi digunakan.

Pilihan kalkulus tanpa keputusan pertengahan

Maklumat yang diperlukan: Nama pemandu untuk model tahun 1995 atau kenderaan yang lebih lama yang belum diuji untuk tahun 2000. Nama ada dalam jadual Pemandu. Penguatkuasaan undang-undang diterangkan dalam jadual "Pemeriksaan dan kereta dalam kereta meja". Jadi tiga jadual ini diperlukan. Pertama, anda perlu mengenali kenderaan yang belum diperiksa selama 2000. Masalah ini tidak dapat diselesaikan dengan hanya menggunakan pemeriksaan yang disenaraikan dalam jadual, kerana ia mengandungi data tentang pemeriksaan yang telah dilakukan, bukan yang tidak dilaksanakan. Masalah ini diselesaikan dengan mencari kenderaan pelengkap yang diuji sebelum tahun 2000. Malah, hanya nombor pendaftaran mereka diperlukan.

Terdapat contoh lain selain yang di atas yang menunjukkan cara maklumat boleh ditukar atau ditemui. Varian pertanyaan boleh dioptimumkan menggunakan operasi khas. Pada asasnya, untuk membuat carian dan mencari data semudah dan semudah mungkin, ada model hubungan kalkulus.

Di manakah maklumat terjamin dan dilindungi?

Algebra disimpan dalam format fail yang mengandungi rekod. hidup tahap fizikal maklumat fakta ditetapkan dalam format elektromagnet pada sesetengah peranti. Peranti storan ini boleh dibahagikan kepada tiga kategori:

  1. utama. Kategori ini termasuk memori yang boleh diakses terus kepada CPU. daftar, ingatan cepat(cache) dan utama (RAM) boleh diakses terus ke pusat, kerana semuanya terletak pada motherboard atau chipset. Storan ini biasanya sangat kecil, sangat pantas dan tidak menentu. Untuk mengekalkan keadaan itu diperlukan sumber kekal pemakanan. Sekiranya berlaku kegagalan, semua datanya hilang.
  2. Menengah. Digunakan untuk menyimpan maklumat untuk kegunaan masa hadapan atau Salinan simpanan. Termasuk peranti memori yang bukan sebahagian daripada chipset atau papan induk pemproses, contohnya cakera magnetik, cakera optik (DVD, CD, dsb.), cakera keras, pemacu kilat dan pita magnetik.
  3. Tertiari. Digunakan untuk menyimpan sejumlah besar data. Memandangkan peranti storan sedemikian berada di luar sistem komputer, ia adalah yang paling perlahan dalam kelajuan. Alat storan ini digunakan terutamanya untuk membuat sandaran keseluruhan sistem. Cakera optik dan pita magnet digunakan secara meluas untuk penyimpanan tertiari.

Operasi khas algebra hubungan adalah penting untuk kecekapan pertanyaan.

Struktur penyimpanan

Sistem komputer telah jelas hierarki tertentu ingatan. CPU mempunyai akses terus ke sistem utama serta daftar pada cip. Masa capaian memori utama jelas kurang daripada kelajuan CPU. Untuk meminimumkan percanggahan ini, cache diperkenalkan. Memori cache menyediakan masa capaian terpantas dan mengandungi data yang paling kerap diakses oleh CPU.

Memori yang paling banyak akses cepat adalah yang paling mahal. Peranti storan besar menyediakan kelajuan rendah, dan ia lebih murah, namun ia boleh menyimpan sejumlah besar data berbanding dengan daftar pemproses atau cache.

Pemacu magnet dan cakera keras adalah peranti storan sekunder yang paling biasa dalam moden sistem komputer. Mereka dipanggil magnet dan terdiri daripada asas logam. Cakera ini diletakkan secara menegak pada gelendong. Kepala baca/tulis bergerak di antara mereka dan digunakan untuk memagnetkan atau mengeluarkan tempat tersebut di bawahnya. Ia boleh dikenali sebagai 0 (sifar) atau 1 (satu).

Pemacu keras diformatkan dalam susunan yang jelas untuk penyimpanan data yang cekap. Ia mempunyai banyak bulatan sepusat yang dipanggil trek. Setiap trek dibahagikan lagi kepada sektor, yang biasanya menyimpan 512 bait data.

Operasi fail

Operasi pada sistem bahasa algebra hubungan dan pangkalan datanya boleh dikelaskan secara meluas kepada dua kategori:

  • kemas kini;
  • cari.

Kategori pertama mengubah suai nilai data dengan memasukkan, memadam atau mengemas kini. Sebaliknya, operasi carian tidak mengedit maklumat, tetapi mendapatkannya selepas penapisan bersyarat pilihan. Dalam kedua-dua jenis operasi, pemilihan memainkan peranan penting. Selain mencipta dan memadam fail, terdapat beberapa operasi yang boleh dilakukan di dalamnya:

  1. Buka - wujud dalam satu daripada dua mod baca atau tulis. Dalam kes pertama, sistem pengendalian tidak membenarkan sesiapa menukar data. Dengan kata lain, data hanya dibaca. Fail yang dibuka dalam mod Baca boleh dikongsi oleh berbilang objek. Mod rakaman membolehkan anda menukar data. Fail boleh dibaca tetapi tidak boleh dikongsi.
  2. Dekat adalah yang paling banyak operasi penting dari sudut pandangan sistem operasi, kerana ia mengalih keluar semua kunci (jika dalam mod akses awam), menyimpan data (jika diubah suai) kepada media sekunder dan membebaskan semua penimbal dan pengendali yang dikaitkan dengan fail.
  3. Pengindeksan ialah teknik struktur maklumat untuk mendapatkan semula rekod secara cekap daripada fail sistem berdasarkan beberapa atribut di mana sistem itu dilaksanakan. Ditentukan berdasarkan atribut.

Pengindeksan boleh terdiri daripada jenis berikut:

  1. Utama ditakrifkan dalam fail data yang dipesan. Fail maklumat disusun dalam medan utama.
  2. Indeks sekunder dijana daripada medan yang merupakan kunci calon dan mempunyai nilai unik dalam setiap rekod atau bukan kunci dengan nilai pendua.
  3. Pengelompokan ditakrifkan dalam fail data tersusun, dalam medan bukan kunci.

Sistem pengurusan pangkalan data atau DBMS merujuk kepada teknologi untuk menyimpan dan mendapatkan maklumat pengguna daripada kecekapan maksimum berserta dengan langkah-langkah keselamatan yang sesuai. Pertimbangan terperinci Soalan ini membawa kepada kesimpulan bahawa algebra hubungan ialah bahasa pengendali yang mengambil hubungan sebagai hujah dan mengembalikannya sebagai hasilnya.

Algebra hubungan adalah berdasarkan teori set dan merupakan asas logik pangkalan data.
Semasa saya baru mengkaji struktur pangkalan data dan SQL, pengenalan awal dengan algebra hubungan sangat membantu pengetahuan lanjut untuk dimuatkan ke dalam kepala saya dengan betul, dan saya akan cuba menjadikan artikel ini mempunyai kesan yang sama.

Jadi jika anda akan memulakan pengajian anda dalam bidang ini atau anda hanya berminat, sila klik pada kucing.

Pangkalan data perhubungan

Mula-mula, mari kita perkenalkan konsep pangkalan data hubungan di mana kita akan melaksanakan semua tindakan.

Pangkalan data hubungan ialah koleksi perhubungan yang mengandungi semua maklumat yang mesti disimpan dalam pangkalan data. DALAM takrifan ini Kami berminat dengan istilah hubungan, tetapi buat masa ini kami akan membiarkannya tanpa definisi yang ketat.
Mari bayangkan jadual produk dengan lebih baik.

meja PRODUK

ID NAMA SYARIKAT HARGA
123 biskut Sisi Gelap LLC 190
156 teh Sisi Gelap LLC 60
235 buah nanas OJSC "Frukty" 100
623 tomato LLC "Sayur-sayuran" 130

Jadual terdiri daripada 4 baris, satu baris dalam jadual adalah tuple dalam teori hubungan. Satu set tupel tertib dipanggil hubungan.
Sebelum mentakrifkan hubungan, kami memperkenalkan satu lagi istilah - domain. Domain yang berkaitan dengan jadual ialah lajur.

Untuk kejelasan, kami kini memperkenalkan definisi yang ketat tentang hubungan.

Biarkan N set D1,D2, … diberikan. Dn (domain), hubungan R ke atas set ini ialah set susunan N-tuple bagi borang , di mana d1 milik D1, dsb. Set D1,D2,..Dn dipanggil domain hubungan R.
Setiap elemen tupel mewakili nilai salah satu atribut yang sepadan dengan salah satu domain.

Kunci dalam perhubungan
Dalam hubungan, keperluannya ialah semua tupel mestilah berbeza. Untuk mengenal pasti tuple secara unik, terdapat kunci utama. Kunci utama ialah atribut atau set bilangan minimum atribut yang secara unik mengenal pasti tuple tertentu dan tidak mengandungi atribut tambahan.
Implikasinya ialah semua atribut dalam kunci utama mestilah diperlukan dan mencukupi untuk mengenal pasti tuple tertentu, dan mengecualikan mana-mana atribut dalam kunci akan menjadikannya tidak mencukupi untuk dikenal pasti.
Sebagai contoh, dalam jadual sedemikian, kunci akan menjadi gabungan atribut dari lajur pertama dan kedua.

meja PEMANDU

Ia boleh dilihat bahawa organisasi boleh mempunyai beberapa pemacu, dan untuk mengenal pasti pemandu secara unik, kedua-dua nilai daripada lajur "Nama Organisasi" dan dari lajur "Nama Pemandu" diperlukan. Kunci sedemikian dipanggil kunci komposit.

Dalam pangkalan data hubungan, jadual saling berkait dan berkait antara satu sama lain sebagai jadual induk dan bawahan. Sambungan antara jadual utama dan bawahan dijalankan melalui kunci utama ( kunci utama) jadual utama dan kunci luaran (kunci asing) subjadual.
Kunci asing ialah atribut atau set atribut yang merupakan kunci utama dalam jadual utama.

Teori persediaan ini akan mencukupi untuk membiasakan diri dengan operasi asas algebra hubungan.

Operasi algebra hubungan

Lapan operasi asas algebra hubungan telah dicadangkan oleh E. Codd.
  • Sebuah persatuan
  • persimpangan
  • Penolakan
  • Produk Cartesian
  • Sampel
  • Unjuran
  • Kompaun
  • Pembahagian
Separuh pertama operasi adalah serupa dengan operasi yang sama pada set. Sesetengah operasi boleh dinyatakan dalam istilah operasi lain. Mari kita lihat kebanyakan operasi dengan contoh.

Untuk pemahaman, adalah penting untuk diingat bahawa hasil daripada sebarang operasi algebra pada hubungan adalah hubungan lain, yang kemudiannya boleh digunakan dalam operasi lain.
Mari kita buat jadual lain yang akan berguna kepada kita dalam contoh.

meja PENJUAL

ID PENJUAL
123 OOO “Dart”
156 JSC "Vedro"
235 CJSC "Baza Sayuran"
623 JSC "Tegas"

Mari kita bersetuju bahawa dalam ID jadual ini ialah kunci asing yang dikaitkan dengan kunci utama jadual PRODUCTS.

Pertama, mari kita lihat yang paling banyak operasi mudah- nama perhubungan. Hasilnya akan menjadi hubungan yang sama, iaitu, dengan melakukan operasi PRODUCTS, kami akan menerima salinan hubungan PRODUCTS.

Unjuran
Unjuran ialah operasi di mana atribut daripada hubungan diekstrak hanya daripada domain yang ditentukan, iaitu, hanya lajur yang diperlukan dipilih daripada jadual, dan jika beberapa tupel yang sama diperolehi, maka hanya satu contoh tupel tersebut kekal dalam hubungan yang terhasil.
Sebagai contoh, mari buat unjuran pada jadual PRODUCTS dengan memilih ID dan PRICE daripadanya.

Sintaks operasi:
π (ID, HARGA) PRODUK

Dalam keadaan sampel kita boleh menggunakan mana-mana ungkapan logik. Mari buat pilihan lain dengan harga lebih daripada 90 dan ID produk kurang daripada 300:

σ(HARGA>90^ID<300) PRODUCTS

Pendaraban
Darab atau hasil darab Cartesian ialah operasi yang dilakukan pada dua hubungan, akibatnya kita memperoleh hubungan dengan semua domain daripada dua hubungan awal. Tuple dalam domain ini akan menjadi semua kombinasi tupel yang mungkin dari hubungan awal. Ia akan menjadi lebih jelas dengan contoh.

Kami memperoleh produk Cartesian bagi jadual PRODUK dan PENJUAL.
Sintaks operasi:

PRODUK × PENJUAL
Anda akan perasan bahawa kedua-dua jadual ini mempunyai domain ID yang sama. Dalam situasi ini, domain dengan nama yang sama diawali dengan nama perhubungan yang sepadan, seperti yang ditunjukkan di bawah.
Untuk ringkasnya, mari kita darabkan bukan nisbah lengkap, tetapi sampel dengan ID keadaan<235

(tuple yang sama diserlahkan dalam warna)

PRODUK.ID NAMA SYARIKAT HARGA PENJUAL.ID PENJUAL
123 biskut Sisi Gelap LLC 190 123 OOO “Dart”
156 teh Sisi Gelap LLC 60 156 JSC "Vedro"
123 biskut Sisi Gelap LLC 190 156 JSC "Vedro"
156 teh Sisi Gelap LLC 60 123 OOO “Dart”

Untuk contoh penggunaan operasi ini, bayangkan keperluan untuk memilih penjual dengan harga kurang daripada 90. Tanpa produk, adalah perlu untuk mendapatkan ID produk terlebih dahulu daripada jadual pertama, kemudian gunakan ID ini daripada jadual kedua untuk mendapatkan yang diperlukan nama PENJUAL, dan menggunakan produk pertanyaan berikut ialah:

π (PENJUAL) σ (RODUCTS.ID=SELLERS.ID ^ HARGA<90) PRODUCTS × SELLERS

Hasil daripada operasi ini kami memperoleh hubungan:

PENJUAL
JSC "Vedro"
Sambungan dan sambungan semula jadi
Operasi gabungan ialah songsang bagi operasi unjuran dan mencipta hubungan baharu daripada dua yang sedia ada. Hubungan baru diperoleh dengan menggabungkan tupel hubungan pertama dan kedua, manakala hubungan di mana nilai atribut yang ditentukan bertepatan tertakluk kepada penggabungan. Khususnya, jika anda menyambungkan perhubungan PRODUCTS dan SELLERS, atribut ini ialah atribut domain ID.

Juga, untuk kejelasan, anda boleh bayangkan sambungan sebagai hasil daripada dua operasi. Mula-mula, hasil bagi jadual sumber diambil, dan kemudian daripada perhubungan yang terhasil kita membuat pemilihan dengan syarat kesamaan atribut daripada domain yang sama. Dalam kes ini, syaratnya ialah kesamarataan PRODUCTS.ID dan SELLERS.ID.

Mari cuba sambungkan hubungan PRODUK dan PENJUAL dan dapatkan hubungan.

PRODUK.ID NAMA SYARIKAT HARGA PENJUAL.ID PENJUAL
123 biskut Sisi Gelap LLC 190 123 OOO “Dart”
156 teh Sisi Gelap LLC 60 156 JSC "Vedro"
235 buah nanas OJSC "Frukty" 100 235 CJSC "Baza Sayuran"
623 tomato LLC "Sayur-sayuran" 130 623 JSC "Tegas"

Gabungan semula jadi menerima hubungan yang serupa, tetapi jika kami mempunyai skema yang dikonfigurasikan dengan betul dalam pangkalan data (dalam kes ini, kunci utama jadual ID PRODUK dipautkan ke kunci asing jadual ID PENJUAL), maka hubungan yang terhasil mengandungi hanya satu domain ID.

Sintaks operasi:
PRODUK ⋈ PENJUAL;

Anda mendapat hubungan ini:

PRODUK.ID NAMA SYARIKAT HARGA PENJUAL
123 biskut Sisi Gelap LLC 190 OOO “Dart”
156 teh Sisi Gelap LLC 60 JSC "Vedro"
235 buah nanas OJSC "Frukty" 100 CJSC "Baza Sayuran"
623 tomato LLC "Sayur-sayuran" 130 JSC "Tegas"
Persilangan dan penolakan.
Hasil daripada operasi persilangan akan menjadi hubungan yang terdiri daripada tupel yang dimasukkan sepenuhnya dalam kedua-dua hubungan.
Hasil penolakan akan menjadi hubungan yang terdiri daripada tupel yang merupakan tupel bagi hubungan pertama dan bukan tupel hubungan kedua.
Operasi ini serupa dengan operasi yang sama pada set, jadi saya rasa tidak perlu menerangkannya secara terperinci.
Sumber maklumat
  • Asas menggunakan dan mereka bentuk pangkalan data - V. M. Ilyushechkin
  • kursus kuliah Pengenalan kepada Pangkalan Data - Jennifer Widom, Universiti Stanford

Saya akan berterima kasih atas komen yang beralasan