Aljabar relasional dalam database: operasi, contoh

Daftar Isi:

Aljabar relasional dalam database: operasi, contoh
Aljabar relasional dalam database: operasi, contoh
Anonim

Umumnya, sistem basis data dilengkapi dengan bahasa kueri yang dapat membantu penggunanya melakukan kueri instans. Ada dua jenis seperti itu - aljabar relasional dan kalkulus relasional. Yang pertama adalah bahasa query prosedural yang mengambil contoh hubungan sebagai input dan hubungan contoh keluaran sebagai output. Menggunakan kalkulus unary atau biner untuk ini. Aljabar relasional dilakukan secara rekursif dan hasil antara diperlakukan sebagai relasi.

aljabar relasional
aljabar relasional

Produk Kartesius (Χ)

Menggabungkan informasi dari dua hubungan yang berbeda menjadi satu.

Notasi – r s, di mana r dan s adalah rasio dan outputnya akan didefinisikan sebagai

r s={qt | q r dan t s}.

Kesimpulan. Menetapkan hubungan yang menunjukkan semua buku dan artikel yang ditulis dengan tutorial.

Ubah nama operasi (ρ).

Hubungan aljabar relasional adalah hasil, tetapi tanpa nama. Operasi rename memungkinkan Anda untuk mengubah nilai output, dilambangkan dengan huruf Yunani kecil.

Penunjukan – x (E), tempat hasil ekspresi E disimpan dengan namax.

Operasi tambahan:

  • set persimpangan;
  • tugas;
  • koneksi alami.

kalkulus relasional

Ini adalah bahasa kueri non-prosedural, artinya ini memberi tahu Anda apa yang harus dilakukan tetapi tidak menjelaskan cara mengimplementasikannya. Kalkulus relasional ada dalam dua bentuk:

  • kalkulus korelasi sebuah tupel;
  • memfilter rentang variabel.

Notasi - T/State: Mengembalikan semua tupel T yang memenuhi suatu kondisi. Hasil. Mengembalikan tupel dengan nama. TRC dapat diukur. Anda dapat menggunakan kuantor eksistensial (∃) dan universal (∀). Kesimpulan. Query di atas akan memberikan hasil yang sama dengan yang sebelumnya.

Kalkulus relasional domain DRC

Variabel filter menggunakan domain atribut alih-alih nilai integer tuple (seperti yang dilakukan dalam TRC yang disebutkan di atas).

Notasi – {a 1, a 2, a 3, …, a | P (a 1, a 2, a 3, …, a )},

di mana a1, a2 adalah atribut dan P menunjukkan rumus yang dibangun dengan nilai internal.

Kesimpulan. Menyetel artikel, halaman, dan topik dari relasi TutorialsPoint, di mana subjek adalah databasenya.

Seperti TRC, DRC juga dapat ditulis menggunakan quantifier eksistensial dan universal. DRC juga mencakup operator aljabar relasional. Kekuatan ekspresi perhitungan, kalkulus dan korelasi hubungan antar titik adalah setara.

relasionalmodel data aljabar relasional
relasionalmodel data aljabar relasional

Variasi dan skema kalkulus dan aljabar relasional

Model ER, ketika dikonseptualisasikan dalam diagram, memberikan gambaran yang baik tentang hubungan penting yang lebih mudah dipahami. Representasi skema dapat dipetakan ke skema relasional, yaitu mereka dapat dibuat bersama satu sama lain. Hal ini tidak mungkin untuk mengimpor semua kendala ER ke dalam model relasional, tetapi struktur perkiraan dapat dihasilkan. Ada beberapa proses dan algoritme yang tersedia untuk mengonversi grafik ke sistem ini. Beberapa dari mereka otomatis, sementara yang lain dibuat secara manual. Grafik ER terutama terdiri dari kriteria berikut:

  • entitas dan atributnya;
  • link, yang merupakan asosiasi antara nilai-nilai di atas.

Perbandingan objek dan relasi terjadi dengan cara dan skema yang berbeda. Misalnya, entitas adalah objek dunia nyata dengan beberapa atribut. Proses pencocokan, algoritmanya adalah sebagai berikut:

  • buat tabel untuk setiap objek;
  • atribut harus menjadi bidang tabel dengan tipe data yang sesuai;
  • deklarasikan kunci utama.

Relasi adalah asosiasi antar entitas. Proses kompilasi adalah sebagai berikut:

  • buat tabel untuk relasi;
  • tambahkan kunci utama dari semua entitas yang berpartisipasi sebagai bidang tabel dengan tipe data yang sesuai;
  • jika relasi memiliki atribut apa pun, atur setiap atribut sebagai bidang tabel;
  • gabungkan kunci utama yang membentuk segalanyasisanya untuk objek yang berpartisipasi;
  • tentukan semua batasan kunci asing.

Tampilan himpunan lemah dan objek hierarkis terjadi menurut sistem tertentu. Pertama-tama, perlu untuk memahami dasar-dasar penting dan definisi dari nilai-nilai ini. Kumpulan fitur yang lemah adalah yang tidak memiliki kunci utama yang terkait dengannya. Proses tampilannya adalah sebagai berikut:

  • buat tabel untuk kumpulan objek yang lemah;
  • tambahkan semua atribut ke skema sebagai bidang;
  • tentukan kunci utama untuk identifikasi;
  • set semua batasan kunci asing.

Tampilan objek hierarkis berdasarkan spesialisasi atau generalisasi bahasa aljabar relasional terjadi dalam bentuk entitas sekuensial. Algoritmanya adalah sebagai berikut:

  • buat tabel untuk semua objek tingkat bawah yang lebih tinggi;
  • tambahkan kunci utama;
  • pada level rendah mengimplementasikan semua atribut lain dari objek level bawah;
  • deklarasikan kunci utama tabel;
  • set batasan kunci asing.
Operasi Aljabar Relasional
Operasi Aljabar Relasional

Opsi yang ada untuk mendeskripsikan, menyimpan, mengubah informasi

SQL adalah bahasa pemrograman untuk database relasional. Ini dikembangkan melalui aljabar dan kalkulus korelasi tupel. SQL hadir sebagai paket dengan semua distribusi DBMS utama. Berisi data dan bahasa untuk memanipulasinya. Dengan menggunakan properti definisi data SQL aljabar relasional, Anda dapat mendesain dan memodifikasi skema database,sementara properti manajemen dan penyesuaian, serta perubahan data, memungkinkan Anda untuk menyimpan dan mengambil informasi yang terinstal di sistem. Menggunakan kumpulan perintah berikut untuk mendefinisikan struktur dan sistem:

  • membuat database, tabel, dan tampilan baru dari DBMS.
  • melempar perintah.
  • mengubah skema database.
  • perintah ini menambahkan atribut ke objek string.

SQL dilengkapi dengan Data Manipulation Language (DML). Ini memodifikasi contoh database dengan memasukkan, memperbarui, dan menghapus informasi. DML bertanggung jawab untuk mengubah semua data. SQL berisi kumpulan perintah berikut di bagian DML:

  1. SELECT adalah salah satu perintah kueri dasar. Ini analog dengan operasi proyeksi aljabar relasional. Ini memilih atribut berdasarkan kondisi yang dijelaskan dalam klausa WHERE.
  2. FROM - Bagian ini mengambil nama sebagai argumen dari mana atribut akan dipilih/diproyeksikan. Jika lebih dari satu nama diberikan, item ini sesuai dengan produk Cartesian.
  3. WHERE - Bagian ini menentukan predikat atau kondisi yang harus dipenuhi untuk memenuhi syarat atribut yang diproyeksikan.

Ada juga perintah:

  • insert;
  • mengubah nilai;
  • hapus.
Aljabar relasional dalam database
Aljabar relasional dalam database

Membuat Kueri Aljabar Relasional

Saat membuat pencarian, tugasnya adalah menemukan struktur operasi yang akan menghasilkan keluaran yang benar. Operasi dasar aljabar relasional sederhanaoperasi dengan satu atau dua relasi sebagai operand. Efek gabungan dari urutan menentukan hasil akhir. Karena sistem aljabar relasional dalam database cukup sederhana, banyak hasil antara dapat diperoleh sebelum mencapai hasil akhir, mereka juga digunakan sebagai operan yang menghasilkan data baru yang diterima.

Untuk sebagian besar operator, urutan kueri dan eksekusinya tidak menjadi masalah, yang berarti bahwa keluaran yang sama dapat dicapai dengan membentuk dan menggabungkan data perantara dengan cara yang berbeda. Dalam praktiknya, pencarian basis data cukup mudah. Sistem untuk melakukan operasi dan hasil antara ditentukan oleh pengoptimal kueri. Saat membentuk pertanyaan, persyaratan, Anda harus

pertama memilih hubungan mana yang diperlukan untuk mencapai jawaban, dan kemudian menentukan operasi dan hasil antara. Struktur kueri aljabar relasional dalam database hasil dapat direpresentasikan sebagai diagram. Pengoptimal persyaratan mencoba mengatur eksekusi seefisien mungkin. Dalam praktiknya, ini biasanya berarti bahwa mereka mencoba meminimalkan hasil antara secepat mungkin. Contoh umum aljabar relasional akan membantu dalam hal ini.

Contoh 1.

Kebutuhan Informasi: Informasi tentang kendaraan model tahun 1996 dimana ditemukan kekurangan selama inspeksi untuk tahun 1999.

Pertama, informasi tentang mobil ditampilkan untuk memahami nilai semua atribut hubungan. Informasi tentang inspeksi disimpan dalam tabel "Inspeksi", dan jika terdeteksikesalahan, mereka dicatat dalam tabel "Masalah". Oleh karena itu, ketiga tabel ini diperlukan untuk mendapatkan informasi yang dibutuhkan.

Hanya mobil tahun 1996 yang menarik. Rentang model kendaraan direpresentasikan sebagai nilai dari set atribut di baris tabel informasi kendaraan. Hasil antara pertama terdiri dari tupel yang mewakili varian tahun 1996.

Jadi hanya baris yang mencakup periode ini yang diperlukan. Anda perlu menggunakan pilihan untuk mengekstraknya. Sekarang ada mobil dan inspeksi yang diperlukan. String kemudian digabungkan menggunakan operasi penggabungan. Mereka harus digabungkan dengan nomor register yang sama, karena ini adalah satu-satunya kolom yang sama, gabungan alami digunakan.

Untuk mengetahui apakah ada masalah selama pemeriksaan, Anda perlu mengaitkan garis masalah dengan cek. Setelah menghubungkan baris kontrol ke mobil, Anda dapat menghubungkan hasil ini ke tabel kesalahan. Afiliasi harus didasarkan pada nomor registrasi umum dan tanggal verifikasi. Ini adalah satu-satunya kolom umum dalam tabel, jadi gabungan alami digunakan.

Aljabar relasional adalah bahasa
Aljabar relasional adalah bahasa

Opsi perhitungan tanpa hasil antara

Contoh 2.

Informasi yang Diperlukan: Nama pengemudi untuk kendaraan model tahun 1995 atau lebih tua yang belum diuji untuk tahun 2000. Nama ada di tabel "Driver". Lembaga penegak hukum dijelaskan dalam tabel "Pemeriksaan dan mobil di dalam mobil kantin". JadiDengan demikian, ketiga tabel ini diperlukan. Pertama, Anda perlu mencari tahu mobil-mobil yang tidak diperiksa untuk tahun 2000. Tidak mungkin untuk memecahkan masalah ini hanya dengan menggunakan pemeriksaan yang tercantum dalam tabel, karena berisi data tentang pemeriksaan yang dilakukan, dan bukan yang tidak dilaksanakan. Masalah ini diselesaikan dengan mencari mobil pelengkap yang diperiksa sebelum tahun 2000. Faktanya, hanya nomor registrasi mereka yang diperlukan.

Ada contoh lain selain yang di atas yang menunjukkan cara mengubah atau mencari informasi. Varian kueri dapat dioptimalkan menggunakan operasi khusus. Sebenarnya, untuk membuat pencarian dan pencarian data semudah dan sesederhana mungkin, ada model kalkulus relasional.

Di mana informasi diamankan dan dilindungi

Model data relasional dari aljabar relasional disimpan dalam format file yang berisi catatan. Pada tingkat fisik, informasi aktual ditetapkan dalam format elektromagnetik pada beberapa perangkat. Perangkat penyimpanan ini dapat dibagi menjadi tiga kategori:

  1. Utama. Kategori ini mencakup memori yang dapat diakses langsung ke CPU. Register, memori cepat (cache) dan memori utama (RAM) dapat diakses langsung ke pusat, karena semuanya terletak di motherboard atau chipset. Penyimpanan ini biasanya sangat kecil, sangat cepat, dan tidak stabil. Sebuah catu daya konstan diperlukan untuk mempertahankan negara. Jika gagal, semua datanya hilang.
  2. Sekunder. Digunakan untuk menyimpan informasi untuk masa depanmenggunakan atau cadangan. Termasuk perangkat memori yang bukan merupakan bagian dari chipset prosesor atau motherboard, seperti disk magnetik, disk optik (DVD, CD, dll.), hard drive, flash drive, dan pita magnetik.
  3. Tersier. Digunakan untuk menyimpan data dalam jumlah besar. Karena perangkat penyimpanan semacam itu berada di luar sistem komputer, mereka adalah yang paling lambat dalam hal kecepatan. Gadget penyimpanan ini terutama digunakan untuk mencadangkan seluruh sistem. Cakram optik dan pita magnetik banyak digunakan sebagai penyimpanan tersier.

Operasi aljabar relasional khusus penting untuk efisiensi kueri.

Struktur penyimpanan

Sistem komputer memiliki hierarki memori yang terdefinisi dengan baik. CPU memiliki akses langsung ke sistem utama serta register bawaan. Waktu akses memori utama jelas kurang dari kecepatan prosesor. Untuk meminimalkan perbedaan ini, cache diperkenalkan. Cache menyediakan waktu akses tercepat dan berisi data yang paling sering diakses oleh CPU.

Memori dengan akses tercepat adalah yang paling mahal. Perangkat penyimpanan besar memberikan sedikit kecepatan dan lebih murah, tetapi dapat menyimpan data dalam jumlah besar dibandingkan dengan register prosesor atau cache.

Magnetic dan hard drive adalah perangkat penyimpanan sekunder yang paling umum di sistem komputer saat ini. Mereka disebut magnetdasar logam. Disk ini ditempatkan secara vertikal pada poros. Kepala baca/tulis bergerak di antara keduanya dan digunakan untuk menarik atau menghilangkan titik semacam itu di bawahnya. Itu dapat dikenali sebagai 0 (nol) atau 1 (satu).

Hard drive diformat dalam urutan yang jelas untuk penyimpanan data yang efisien. Ini memiliki banyak lingkaran konsentris yang disebut jalur. Setiap track dibagi lagi menjadi beberapa sektor, biasanya menyimpan 512 byte data.

aljabar relasional SQL
aljabar relasional SQL

Operasi file

Operasi pada sistem bahasa aljabar relasional dan basis datanya dapat secara luas diklasifikasikan menjadi dua kategori:

  • perbarui;
  • cari.

Kategori pertama mengubah nilai data dengan menyisipkan, menghapus, atau memperbarui. Di sisi lain, operasi pencarian tidak mengedit informasi, tetapi mengekstraknya setelah pemfilteran bersyarat opsional. Dalam kedua jenis operasi, seleksi memainkan peran penting. Selain membuat dan menghapus file, mungkin ada beberapa operasi yang dapat dilakukan pada file tersebut:

  1. Buka - ada di salah satu dari dua mode baca atau tulis. Dalam kasus pertama, sistem operasi tidak mengizinkan siapa pun untuk mengubah data. Dengan kata lain, data hanya dibaca. File yang dibuka dalam mode baca dapat dibagikan di antara banyak objek. Mode tulis memungkinkan Anda mengubah data. File dapat dibaca tetapi tidak dapat dibagikan.
  2. Tutup adalah operasi terpenting dari sudut pandang sistem operasi karena menghilangkan semua kunci(jika dalam mode bersama), menyimpan data (jika dimodifikasi) ke media sekunder, dan melepaskan semua buffer dan penangan yang terkait dengan file.
  3. Pengindeksan adalah metode struktur informasi untuk mengekstrak catatan secara efisien dari file sistem berdasarkan beberapa atribut tempat sistem diimplementasikan. Didefinisikan berdasarkan atribut.

Pengindeksan dapat berupa tipe berikut:

  1. Primary didefinisikan dalam file data yang dipesan. File informasi diatur di bidang kunci.
  2. Indeks sekunder dihasilkan dari bidang yang merupakan kunci kandidat dan memiliki nilai unik di setiap catatan atau bukan kunci dengan nilai duplikat.
  3. Clustering didefinisikan dalam file data yang dipesan, di bidang non-kunci.
aljabar relasional kalkulus relasional
aljabar relasional kalkulus relasional

Sistem manajemen basis data atau DBMS mengacu pada teknologi untuk menyimpan dan mengambil informasi pengguna dengan efisiensi maksimum bersama dengan langkah-langkah keamanan yang sesuai. Pemeriksaan lebih dekat dari masalah ini mengarah pada kesimpulan bahwa aljabar relasional adalah bahasa operator yang mengambil hubungan sebagai argumen dan mengembalikannya sebagai hasilnya.

Direkomendasikan: