Konsep asas pangkalan data hubungan. Konsep asas model data hubungan. Ciri, struktur dan istilah yang dikaitkan dengan model hubungan

Selamat petang Saya mempunyai komputer riba Dell inspiron dengan Windows 7.
ada kegagalan semasa loading selepas itu saya masuk melalui but kecemasan tetapi tiada titik pemulihan, mujur selepas reboot komputer riba mula berfungsi tetapi sekarang pad sentuh tidak berfungsi dengan baik i.e. kadang-kadang tidak bertindak balas. bantu saya apa yang boleh menjadi masalah dan bagaimana untuk menyelesaikannya?

  • long_klong

    Hello. Saya mempunyai komputer riba DELL dengan Windows8. Pad sentuh tidak berfungsi, iaitu, ia tidak bertindak balas sama sekali. Saya cuba menekan Fn+F5. Yn (Saya juga tidak mempunyai tetikus biasa, dan ternyata komputer tidak berfungsi. Apakah yang perlu saya lakukan?

  • Katyukha

  • Andrey

    Selamat petang. Pad sentuh Toshiba satelit l500d-16Q komputer riba saya tidak berfungsi. Saya mengemas kini pemacu dari laman web, cuba menghidupkannya melalui kekunci panas, tiada kesan. Tiada tetapan dalam BIOS untuk mendayakan pad sentuh. Saya telah menderita selama 2 hari, saya telah menjelajah seluruh Internet untuk kesan 0. Saya pun membukanya dan memeriksa kabel, semuanya baik-baik saja. Tolong bantu saya.

  • Andrey

    Selamat petang. Sekali lagi minta tolong. Saya but komputer riba ke mod selamat, tetapi ia tidak berfungsi. Saya memeriksa Penghantar dan semuanya berfungsi. Synaptics PS/2 Port TouchPad mengatakan peranti berfungsi dengan baik. Pada pad sentuh itu sendiri tiada ceruk untuk dihidupkan. Mungkin ada pilihan lain7 Melalui perisian?
    Tolong, saya tiada kekuatan untuk melawan...

  • Andrey

    Saya melakukan seperti yang anda katakan. Segi tiga kuning dengan tanda seru muncul dan mengatakan permulaan peranti ini tidak mungkin ralat (kod 10) tetapi ia juga mengatakan pemacu untuk peranti ini tidak perlu dikemas kini. Saya tidak faham apa-apa…

  • Kate

    Selamat petang. Maaf, saya tidak tahu apa yang berlaku dengan komputer riba. Asus, saya menghidupkannya, semuanya berfungsi selama kira-kira 6 minit, kemudian kursor bergerak, tetapi tiada kekunci berfungsi, baik pada papan kekunci mahupun pada pad sentuh. Ia tidak bertindak balas kepada apa-apa sama sekali... Tolong beritahu saya apa yang boleh berlaku...?

  • Oleg

    Hello. Tolong beritahu saya apa yang boleh dilakukan. Saya memasang Windows 10 dan pad sentuh pada komputer riba Asus saya berhenti berfungsi. Saya mencuba butang fn+f9 dan tiada hasil. Windows memasang semula sendiri

  • Elena

    Halo, selepas memasang semula OS, tatal dan gerak isyarat pada pad sentuh tidak berfungsi, tiada pad sentuh dalam panel kawalan sama sekali, hanya tetikus dan itu sahaja. Saya memasang semula pemacu, tiada apa yang berubah, sebelum ini perkara yang sama berlaku, pemulihan sistem membantu. Beritahu saya apa yang perlu dilakukan, komputer riba Dell vostro 3500.

  • Polinka148

    Hello.
    Pada mulanya, komputer riba Samsung berhenti melihat sebarang tetikus, tanpa wayar dan berwayar. Saya menyemaknya pada komputer meja - kedua-duanya berfungsi. Dan kemudian panel sentuh tidak berfungsi, tetapi tidak di mana-mana, tetapi hanya dalam pengguna "Pentadbir", dan dalam pengguna "Tetamu", hanya fungsi panel sentuh.
    Tolong, apa nak buat????((((

  • Alexander

    Pada ASUS saya, selepas memasang Windows 10, pad sentuh dihidupkan hanya dari panel kawalan. Terdapat fungsi lalai untuk mematikannya jika terdapat tetikus dalam port USB. Jadi jangan terkejut. Dalam kes ini, kekunci fungsi fn+F9 tidak berfungsi kerana peranti dilumpuhkan oleh perisian.

  • Natalia

    Helo, saya mempunyai windows7 pada netbook Asus saya, pad sentuh berhenti berfungsi, apabila anda memanggil pengurus tugas (alt+Ctrl+Del) ia berfungsi, sebaik sahaja saya pergi ke desktop ia tidak berfungsi lagi. Saya tidak mempunyai tetikus berwayar, saya memerlukan komputer dengan segera, apakah yang perlu saya lakukan?

  • artem2104

    Lelaki, dengar, jika seseorang mempunyai masalah dengan fakta bahawa anda memasang Windows 10 dan pad sentuh anda berhenti berfungsi, maka ia sangat mudah untuk diperbaiki (pergi ke pengurus peranti, kemudian "tikus dan peranti lain" dan klik kanan pada "Asus touch pad” melihat model komputer riba yang anda miliki, dan klik Padam, padamkannya dan komputer riba anda akan but semula dan semuanya akan berfungsi seperti jam...) Semoga berjaya)

  • KseniaLo

  • Alexa

    Selamat petang. Pad sentuh pada komputer riba ASER 5552G berhenti berfungsi, saya mencuba segala-galanya di atas dan ia tidak membantu. Beritahu saya di mana saya boleh memuat turun pemacu untuk komputer riba saya supaya pad sentuh berfungsi semula. Terima kasih.

  • peluru

    Hello. Selepas mengemas kini win8 -> win10, butang hidup/mati untuk pad sentuh (recess) pada komputer riba HP 250 berhenti berfungsi. Saya tidak dapat membayangkan bagaimana untuk melakukan apa yang berfungsi seperti sebelum ini. Terima kasih.

  • Albina.

    Halo, sila beritahu saya apa yang perlu dilakukan jika pad sentuh berhenti berfungsi, papan kekunci berfungsi, saya menghidupkan atau mematikan F6, pad sentuh masih tidak berfungsi, jika anda memulakan semula komputer riba, pad sentuh berfungsi. Lenovo, Win 8.

  • Victor

    hello! masalah sedemikian: Saya menghidupkan komputer riba acer extensa 5620G, semuanya dimuatkan dan selepas memuatkan chamomile muncul dan di bawah chamomile ia meminta kata laluan untuk log masuk, saya menekan kekunci, ia tidak mencetak, kursor pad sentuh tidak bergerak ??? Saya tidak boleh log masuk untuk menetapkan semula kata laluan saya. Komputer riba hanya boleh dimatikan menggunakan butang kuasa. Saya telah duduk di Internet selama 5 hari sekarang, mencari masalah saya, tetapi malangnya, saya tidak menemui apa-apa.

  • Olga

    Hello, saya mempunyai komputer riba Acer E1-522. Pad sentuh berhenti berfungsi. Sebelum ini, saya membersihkan sistem dengan CCleaner dan selepas but semula ia mula berfungsi. Sekarang program ini menunjukkan ralat dalam Opera dan tidak membersihkannya sepenuhnya. Pad sentuh masih tidak dapat dihidupkan. Butang hidup/mati tidak berfungsi. Tidak mungkin untuk memasuki BIOS menggunakan pintasan papan kekunci yang dicadangkan. Dalam Panel Kawalan, apabila anda membuka "Peranti dan Pencetak," ia tidak menghidupkan Pusat Kawalan, tetapi Hartanah. Saya tidak tahu apa yang perlu dilakukan lagi.

  • Anna

  • Lera

  • Alex

  • Eugene

  • Anastasia

    Hello. Selepas memasang Windows 10, pad sentuh mula membeku, tepat selepas bekerja dengan papan kekunci. Ia membeku selama kira-kira 5 saat, tetapi telah menjadi menjengkelkan. Komputer riba - HP Pavilion g6. Beritahu saya apa yang boleh dilakukan.

  • TIR

    hello! masalahnya adalah seperti berikut. komputer riba ASUS X554S. Windows 10 telah dipasang, semuanya berfungsi. dipasang semula pada Windows 7 - pad sentuh tidak berfungsi. Tidak kira jenis kayu api yang saya pasang, saya tidak dapat melihat peranti itu walaupun dalam yang tidak diketahui.

  • TIR

    Jadi, semasa proses pemasangan, pada peringkat pembahagian cakera, tiada pad sentuh malah tetikus USB tidak berfungsi. Saya mengatasi papan kekunci dengan harapan ia akan dipasang lagi. tetapi tidak. Pemacu untuk model saya berada di tapak web hanya untuk Windows 10. Saya mencari apa yang boleh saya pasang dari internet. akhirnya gambar adalah seperti yang saya tulis dalam mesej sebelum ini. Tiada bau pad sentuh di mana-mana. Tetikus usb berfungsi dalam peranti "Tetikus dan lain-lain". peranti" - tetikus serasi HID. Apabila anda menarik keluar tetikus, item ini hilang. Saya terfikir - mungkin komputer riba ini mempunyai sejenis pad sentuh perisian, bukannya perkakasan? apa yang boleh saya pasang?

  • Albina.

  • Irina

    Komputer riba, pad sentuh dan tetikus HP ProBook4730 dinyahdayakan. Selepas menghidupkan komputer riba mereka bekerja dan selepas beberapa saat atau minit mereka berhenti bertindak balas. Jika anda menukar pengguna melalui pengurus tugas, kedua-dua tetikus dan pad sentuh bertindak balas dan berfungsi. Sebaik sahaja anda log masuk semula, mereka berhenti bekerja. Anda but semula komputer riba, ia berfungsi sedikit dan kemudian berhenti. Saya menyelesaikan masalah sekali dengan cara ini: Saya mengeluarkan imej dari komputer riba berkembar dan memasangnya pada komputer riba ini, semuanya berfungsi dengan baik dan selepas setengah tahun masalah yang sama berlaku lagi. Bantu saya mengetahui masalahnya. Apa nak buat?

  • Michael

  • cadik

  • marahovarita

    hello, saya tidak tahu apa yang perlu saya lakukan, saya pergi ke BIOS, tidak ada item seperti itu, kemudian saya melihat dalam peranti, hanya ada tetikus di sana, tetapi saya tidak tahu bagaimana untuk memasang pemandu, komputer riba ialah acer extensa 2510G

  • Guiz

    Hello. Saya mempunyai komputer riba Sony Vaio. Tidak lama dahulu saya membeli tetikus wayarles baru, selepas beberapa hari pada skrin tetikus mula bergerak dan mengklik sendiri. Memasang semula pemacu membantu, tetapi kemudian 2 hari kemudian perkara yang sama mula berlaku lagi, kemudian saya menukar pandangan hadapan dan fikir ia adalah kerana pemandu tetikus mereka bergaduh dengan pad sentuh. Tetapi tidak. Pad sentuh lebih teruk untuk dijalankan dan ditekan, memasang semula pemandu tidak membantu, memasang semula Windows juga, membuka dan membersihkan bahagian dalam juga, malah menari dengan tamborin... Ada saat seperti itu selepas but semula, tetikus tidak serta-merta menjadi gila , tetapi jika anda meletakkan jari anda 3~4 sentimeter di atas pad sentuh, maka ia seolah-olah terasa dan mula marah... Saya tidak faham apa masalahnya. Pad sentuh tidak terkena, tidak memukul, tidak makan atau minum di atasnya... Semuanya baik-baik saja dan kemudian hanya sekali dan itu sahaja... Saya tidak tahu apa yang perlu saya lakukan, adakah saya perlu membawanya ke pusat servis atau bagaimana saya boleh menjimatkan wang? Sila hantarkan saya e-mel. Terima kasih.

  • Serge

    selamat hari. Tiba-tiba, tanpa diduga, pad sentuh mula perlahan - ia sama ada bertindak balas dengan akhbar ke-2 atau lebih, atau mati apabila memanggil "butang ajaib". Dan sekarang, apabila memuatkan komputer riba, pada mulanya ia menunjukkan tanda-tanda kehidupan, selepas 10-15 minit ia tidak berfungsi sama sekali, tetapi ia kadang-kadang boleh dihidupkan. Sebelum masalah itu muncul, saya mengemas kini pemacu (Penyelesaian DriverPack). Terima kasih. Komputer riba Lenovo 80E3, Windows 8.1

  • Nasteel

  • Serge

    Terima kasih, ia sebahagiannya membantu (walaupun saya sentiasa memastikan komputer riba bersih dan kerap mengelapnya dengan kain viscose kering), nampaknya permukaan pad sentuh ditutup dengan filem berminyak dari jari saya. Tetapi dalam beberapa kes ia masih tidak berfungsi, sebagai contoh, jika anda memanggil "butang ajaib", ia masih mati, apabila ia hilang, ia berfungsi semula. Saya tidak sangka akan ada jenama sedemikian dengan pad sentuh ini. Terima kasih terlebih dahulu.

  • KASPER89

    Komputer riba Dell Inspiron 3551, selepas memasang semula dari Win8.1 ke Win7x64, pad sentuh berhenti berfungsi, pemandu dari laman web tidak dipasang. Selepas memanipulasi pemacu, papan kekunci hilang, tetapi ia diselesaikan dengan mengemas kini pemacu secara automatik; jika anda melakukan perkara yang sama dengan tetikus (pad sentuh), ralat muncul. Terdapat "ralat 10" dalam sifat perkakasan. Saya tidak menemui butang kuasa pad sentuh, ia tiada di sana.

  • Novel

    Selamat petang Saya menukar pes terma dalam komputer riba Dell Inspiron N5110 (sudah tentu dibongkar dan dipasang semula). Kemudian butang pad sentuh kiri dan fungsi klik (seperti butang tetikus kiri) pada pad sentuh berhenti berfungsi. Butang kanan berfungsi, menggerakkan kursor menggunakan butang sentuh berfungsi. Saya memasang semula pemacu - ia tidak membantu. Butang tekan, semuanya baik-baik saja. Apa yang boleh menjadi masalah?

  • Oleg

    hello! Selepas menghidupkan Sony Vaio sve 1712t1rb, penatalan menegak berfungsi selama beberapa minit sehingga desktop menjadi gelap dan serta-merta selepas memulihkan desktop, menatal tidak lagi berfungsi. Selepas memulakan semula komputer, semuanya berfungsi semula sehingga desktop dimatikan.

  • Marysya

    Terima kasih banyak-banyak! Saya duduk terikat pada komputer riba Packard Bell saya dengan tetikus selama enam bulan sehingga saya menemui artikel anda. Saya mencuba segala-galanya! Tetapi ia adalah F6, dan saya seorang penyedut)
    Terima kasih sekali lagi!

  • Paul

  • Elena

    Hello, pad sentuh pada komputer riba Aser Aspire 5730 saya tidak berfungsi. Ia berjalan di sekeliling skrin dengan sendirinya, membuka semua jenis tingkap. Tolong beritahu saya apa yang perlu dilakukan (((

  • Alexey

    Halo, komputer riba ASUS, pad sentuh tiba-tiba berhenti berfungsi. Hanya "klik" kiri berfungsi. Pergerakan tidak dirasakan. Tolong beritahu saya apa yang perlu dilakukan?

  • Valeria

    Helo, pad sentuh tidak berfungsi apabila saya mencabut plag komputer riba, sepanjang masa ia berfungsi dengan baik.
    Tolong beritahu saya apa yang perlu dilakukan

  • Lni

    Saya mempunyai buku elit HP 8470p. Pad sentuh tiba-tiba berhenti berfungsi, walaupun semuanya baik-baik saja pagi ini. Iaitu, panel sentuh dan kekunci bawah tidak berfungsi, manakala kekunci atas dan kayu bedik berfungsi (jika anda melumpuhkannya dalam tetapan, maka semuanya tidak berfungsi). Saya menyemak pemacu, BIOS juga, menghidupkan/mati pad sentuh, tiada apa yang membantu.

  • raic

    Loceng Packard ts11sb/ Saya tidak dapat mengalahkan sentuhan untuk hari kedua. Menurut pemiliknya, dia meninggal dunia ketika dia memberikannya untuk memasang semula Windows. Saya tetapkan saya kepada 7-64. Sentuhan tidak berfungsi sama sekali. BIOS kosong. Tiada tetapan untuk sentuhan. Semua pemandu adalah dari luar tapak. Semuanya dipasang kecuali skrin sentuh. Windows melihat skrin sentuh dalam peranti tersembunyi. ditanda dengan tanda seru. menulis perkara berikut: Peranti hilang, tidak berfungsi dengan betul, atau tidak semua pemacu dipasang untuknya. (Kod 24).. jadi berapa ramai pemandu yang diperlukan? Saya mencuba segala-galanya.

  • Alena

    Hello. Terdapat masalah dengan pad sentuh tidak berfungsi (tidak menghairankan). Komputer riba Lenovo, pes haba telah ditukar baru-baru ini, selepas itu pad sentuh berhenti berfungsi. Pada dasarnya, ia tiada dalam pengurus peranti, i.e. hanya tetikus yang disambungkan ke komputer riba sahaja (apabila ia diputuskan, parameter "tetikus" tidak hadir sepenuhnya). Sebelum ini semuanya berfungsi dengan baik. Mungkinkah masalah itu disebabkan oleh kerosakan tidak sengaja pada sambungan ke tikar. papan, walaupun semuanya telah diperiksa dan nampaknya disambungkan?

    • SMARTRONIX

    • Alena

    • SMARTRONIX

      Adakah kekunci pad sentuh masih tidak berfungsi?
      Periksa sama ada kabel dimasukkan dengan betul; kadangkala ia tidak mencapai sedikit atau condong, atau ia dimasukkan pada bahagian yang salah sama sekali. Cuba muat turun pemacu untuk pad sentuh daripada tapak web pengeluar komputer riba untuk model anda.

  • Ciri umum model data hubungan

    Asas model data hubungan pertama kali digariskan dalam artikel oleh E. Codd pada tahun 1970. Kerja ini berfungsi sebagai dorongan untuk sejumlah besar artikel dan buku di mana model hubungan dikembangkan lagi. Tafsiran yang paling biasa bagi model data hubungan adalah milik K. Date. Menurut Date, model hubungan terdiri daripada tiga bahagian:


    • Bahagian struktur.

    • Seluruh bahagian.

    • Bahagian manipulasi.
    Bahagian struktur menerangkan objek apa yang dipertimbangkan oleh model hubungan. Diandaikan bahawa satu-satunya struktur data yang digunakan dalam model hubungan adalah hubungan n-ary yang dinormalisasi.

    Sebahagian menerangkan jenis kekangan khas yang mesti dipenuhi untuk sebarang hubungan dalam mana-mana pangkalan data hubungan. ini integriti entiti Dan integriti kunci asing .

    Bahagian manipulasi menerangkan dua cara yang setara untuk memanipulasi data hubungan - algebra hubungan Dan kalkulus hubungan .

    Bab ini mengkaji bahagian struktur model hubungan.

    ^ Jenis data

    Sebarang data yang digunakan dalam pengaturcaraan mempunyai jenis datanya sendiri.

    Penting! Model hubungan memerlukan jenis data yang digunakan ringkas.

    Untuk menjelaskan kenyataan ini, mari kita pertimbangkan jenis data yang biasanya dipertimbangkan dalam pengaturcaraan. Biasanya, jenis data dibahagikan kepada tiga kumpulan:


    • Jenis data mudah.

    • Jenis data berstruktur.

    • Jenis data rujukan.
    Jenis data mudah

    Jenis data ringkas atau atom tidak mempunyai struktur dalaman. Jenis data ini dipanggil skalar . Jenis data ringkas termasuk jenis berikut:


    • Logik.

    • Tali.

    • berangka.
    Pelbagai bahasa pengaturcaraan boleh mengembangkan dan memperhalusi senarai ini dengan menambahkan jenis seperti:

    • Keseluruhan.

    • Nyata.

    • Tarikh.

    • Masa.

    • Kewangan.

    • Terbilang.

    • Selang waktu.

    • Dan lain-lain.…
    Sudah tentu, konsep atomicity agak relatif. Oleh itu, jenis data rentetan boleh dianggap sebagai tatasusunan satu dimensi aksara, dan keseluruhan jenis data boleh dianggap sebagai satu set bit. Satu-satunya perkara yang penting ialah apabila bergerak ke tahap yang rendah, semantik (makna) data . Jika rentetan yang menyatakan, sebagai contoh, nama akhir pekerja diuraikan menjadi susunan aksara, maka makna rentetan tersebut sebagai satu keseluruhan hilang.

    ^

    Jenis Data Berstruktur bertujuan untuk menentukan struktur data yang kompleks. Jenis data berstruktur dibina daripada unsur konstituen yang dipanggil komponen, yang seterusnya mungkin mempunyai struktur. Jenis data berikut boleh dianggap sebagai jenis data berstruktur:


    • Tatasusunan

    • Rekod (Struktur)
    Dari sudut pandangan matematik, tatasusunan ialah fungsi dengan domain terhingga. Sebagai contoh, pertimbangkan set terhingga nombor asli

    Dipanggil set indeks. Paparan

    Dari set ke set nombor nyata menentukan tatasusunan nyata satu dimensi. Nilai fungsi ini untuk beberapa nilai indeks dipanggil elemen tatasusunan yang sepadan dengan . Tatasusunan berbilang dimensi boleh ditakrifkan dengan cara yang sama.

    Rekod (atau struktur) ialah tuple beberapa hasil darab Cartesan set. Sememangnya, rekod ialah satu set elemen yang dinamakan, tersusun, setiap satunya tergolong dalam jenis. Jadi entri ialah unsur set . Dengan mengisytiharkan jenis rekod baharu berdasarkan jenis sedia ada, pengguna boleh membina jenis data kompleks sewenang-wenangnya.

    Jenis data berstruktur mempunyai persamaan ialah mereka mempunyai struktur dalaman, digunakan pada tahap abstraksi yang sama, sebagai jenis data itu sendiri.

    Mari kita jelaskan perkara ini seperti berikut. Apabila bekerja dengan tatasusunan atau rekod, anda boleh memanipulasi tatasusunan atau merekodkan kedua-duanya sebagai satu keseluruhan (buat, padam, salin keseluruhan tatasusunan atau rekod) dan elemen demi elemen. Untuk jenis data berstruktur terdapat fungsi khas - pembina jenis, yang membolehkan anda membuat tatasusunan atau rekod daripada unsur jenis yang lebih mudah.

    Apabila bekerja dengan jenis data mudah, contohnya, yang berangka, kami memanipulasinya sebagai objek keseluruhan yang tidak boleh dibahagikan. Untuk "melihat" bahawa jenis data berangka sebenarnya kompleks (kumpulan bit), kita perlu beralih ke tahap abstraksi yang lebih rendah. Pada peringkat kod program, ini akan kelihatan seperti sisipan pemasangan ke dalam kod bahasa peringkat tinggi atau penggunaan operasi bitwise khas.

    ^ Jenis data rujukan

    Jenis data rujukan (petunjuk ) bertujuan untuk menyediakan keupayaan untuk menunjuk kepada data lain. Penunjuk adalah tipikal untuk bahasa prosedur, yang mempunyai konsep kawasan memori untuk menyimpan data. Jenis data rujukan direka bentuk untuk memproses struktur berubah yang kompleks, seperti pepohon, graf dan struktur rekursif.

    ^ Jenis data yang digunakan dalam model hubungan

    Sebenarnya, untuk model data relasional, jenis data yang digunakan tidak penting. Keperluannya ialah jenis datanya ringkas, ia mesti difahami bahawa operasi perhubungan tidak seharusnya mengambil kira struktur data dalaman. Sudah tentu, tindakan yang boleh dilakukan dengan data secara keseluruhan mesti diterangkan, contohnya, data jenis angka boleh ditambah, operasi penggabungan mungkin untuk rentetan, dsb.

    Dari sudut pandangan ini, jika kita menganggap tatasusunan, sebagai contoh, sebagai satu keseluruhan dan tidak menggunakan operasi elemen demi elemen, maka tatasusunan boleh dianggap sebagai jenis data yang mudah. Selain itu, anda boleh mencipta jenis data anda sendiri, tidak kira betapa rumitnya, menerangkan tindakan yang mungkin dengan jenis data ini, dan jika operasi tidak memerlukan pengetahuan tentang struktur data dalaman, maka jenis data ini juga akan menjadi mudah dari sudut pandangan. daripada teori hubungan. Sebagai contoh, anda boleh mencipta nombor kompleks jenis baharu sebagai rekod borang , di mana . Anda boleh menerangkan fungsi penambahan, pendaraban, penolakan dan pembahagian, dan semua tindakan dengan komponen dan melaksanakan sahaja dalam operasi ini. Kemudian, jika dalam tindakan dengan jenis ini anda gunakan sahaja operasi yang diterangkan, maka struktur dalaman tidak penting, dan jenis data dari luar kelihatan seperti atom.

    Beginilah cara beberapa DBMS pasca perhubungan melaksanakan berfungsi dengan jenis data kompleks sewenang-wenangnya yang dibuat oleh pengguna.

    Domain

    Dalam model data hubungan, konsep jenis data berkait rapat dengan konsep domain, yang boleh dianggap sebagai penjelasan jenis data.

    Domain ialah konsep semantik. Domain boleh dianggap sebagai subset nilai beberapa jenis data yang mempunyai makna tertentu. Domain dicirikan oleh sifat berikut:


    • Domain mempunyai nama unik(dalam pangkalan data).

    • Domain ditakrifkan pada beberapa ringkas jenis data atau pada domain yang berbeza.

    • Domain mungkin mempunyai beberapa keadaan logik, yang membolehkan anda menerangkan subset data yang sah untuk domain tertentu.

    • Domain membawa sesuatu yang tertentu beban semantik.
    Sebagai contoh, domain yang bermaksud "umur pekerja" boleh diterangkan sebagai subset berikut bagi set nombor asli:

    Perbezaan antara domain dan konsep subset adalah tepat domain mencerminkan semantik, ditakrifkan oleh kawasan subjek. Mungkin terdapat beberapa domain yang bertepatan sebagai subset, tetapi membawa maksud yang berbeza. Sebagai contoh, domain "Berat Bahagian" dan "Kuantiti Tersedia" sama-sama boleh diterangkan sebagai satu set integer bukan negatif, tetapi makna domain ini akan berbeza dan ia akan pelbagai domain.

    Kepentingan utama domain ialah domain menghadkan perbandingan. Secara logiknya tidak betul untuk membandingkan nilai dari domain yang berbeza, walaupun ia adalah jenis yang sama. Ini mendedahkan had semantik domain. Permintaan yang betul secara sintaksis "berikan senarai semua bahagian yang berat bahagiannya lebih besar daripada kuantiti yang tersedia" tidak sepadan dengan maksud konsep "kuantiti" dan "berat".

    Komen. Konsep domain membantu dengan betul simulasi bidang subjek. Apabila bekerja dengan sistem sebenar, pada dasarnya, situasi mungkin berlaku apabila anda perlu menjawab pertanyaan yang diberikan di atas. Sistem akan memberikan jawapan, tetapi ia mungkin tidak bermakna.

    Komen. Tidak semua domain mempunyai keadaan logik yang mengehadkan kemungkinan nilai domain. Dalam kes ini, set nilai yang mungkin untuk domain adalah sama dengan set nilai yang mungkin untuk jenis data.

    Komen. Tidak semestinya jelas cara menetapkan syarat Boolean yang mengehadkan kemungkinan nilai domain. Saya akan berterima kasih kepada sesiapa sahaja yang boleh memberikan saya syarat untuk jenis data rentetan yang menentukan domain "Nama keluarga pekerja". Adalah jelas bahawa baris yang merupakan nama keluarga tidak seharusnya bermula dengan nombor, aksara perkhidmatan, tanda lembut, dsb. Tetapi adakah nama keluarga "Ggggggyyyyy" boleh diterima? Kenapa tidak? Jelas sekali tidak! Atau mungkin seseorang akan menggelarkan diri mereka sedemikian kerana dendam. Kesukaran seperti ini timbul kerana makna fenomena sebenar tidak boleh selalu diterangkan secara formal. Cuma kita, seperti semua orang, secara intuitif memahami apa itu nama keluarga, tetapi tiada siapa yang boleh memberikan definisi formal sedemikian yang akan membezakan nama keluarga daripada rentetan yang bukan nama keluarga. Jalan keluar dari situasi ini adalah mudah - bergantung pada kecerdasan pekerja memasukkan nama ke dalam komputer.

    ^ Hubungan, atribut, tupel hubungan

    Definisi dan contoh

    Konsep asas model data hubungan ialah konsep perhubungan . Dalam mentakrifkan konsep hubungan, kita akan mengikuti buku oleh K. Date.

    Definisi 1. Atribut perhubungan terdapat beberapa jenis<Имя_атрибута: Имя_домена>.

    Nama atribut mestilah unik dalam perhubungan. Selalunya nama atribut perhubungan adalah sama dengan nama domain yang sepadan.

    Definisi 2. Sikap , ditakrifkan pada berbilang domain (tidak semestinya berbeza), mengandungi dua bahagian: pengepala dan badan.

    Pengepala perhubungan mengandungi bilangan tetap atribut hubungan:

    Hubungan badan mengandungi banyak tupel hubungan. Setiap hubungan tuple mewakili satu set pasangan bentuk<Имя_атрибута: Значение_атрибута>:

    Supaya nilai atribut tergolong dalam domain

    Hubungan itu biasanya ditulis sebagai:

    Atau lebih pendek

    ,

    Atau ringkasnya

    Bilangan atribut dalam hubungan dipanggil ijazah (atau -arity ) perhubungan.

    Kardinaliti set tupel bagi suatu hubungan dipanggil kuasa perhubungan.

    Berbalik kepada konsep matematik hubungan yang diperkenalkan dalam bab sebelumnya, kita boleh membuat kesimpulan berikut:

    Kesimpulan 1. Kepala perkaitan menerangkan hasil cartesan domain di mana perhubungan itu ditakrifkan. Pengepala adalah statik; ia tidak berubah semasa bekerja dengan pangkalan data. Jika atribut diubah, ditambah atau dipadamkan dalam hubungan, maka hasilnya akan menjadi lain hubungan (walaupun dengan nama yang sama).

    Kesimpulan 2. Badan hubungan ialah satu set tupel, i.e. subset hasil darab Cartesian bagi domain. Oleh itu, badan hubungan sebenarnya adalah hubungan dalam erti kata matematik. Badan perhubungan boleh berubah semasa bekerja dengan pangkalan data - tupel boleh ditukar, ditambah dan dipadamkan.

    Contoh 1 . Mari kita pertimbangkan hubungan "Pekerja" yang ditakrifkan pada domain "Nombor_Pekerja", "Nama Akhir", "Gaji", "Nombor_Jabatan". Kerana Memandangkan semua domain adalah berbeza, adalah mudah untuk menamakan atribut hubungan dengan cara yang sama seperti domain yang sepadan. Pengepala hubungan kelihatan seperti:

    Pekerja (Nombor_Pekerja, Nama Akhir, Gaji, Nombor_Jabatan)

    Biarkan hubungan pada masa ini mengandungi tiga tupel:

    (1, Ivanov, 1000, 1)

    (2, Petrov, 2000, 2)

    (3, Sidorov, 3000, 1)

    Hubungan ini secara semula jadi diwakili dalam bentuk jadual:

    ^ Jadual 1 Hubungan "Pekerja"

    Definisi 3. Pangkalan data perhubungan dipanggil satu set hubungan.

    Definisi 4. Skema pangkalan data hubungan

    Walaupun sebarang hubungan boleh diwakili dalam bentuk jadual, ia mesti difahami dengan jelas perhubungan bukan jadual. Ini adalah hampir, tetapi bukan konsep yang sama. Perbezaan antara hubungan dan jadual akan dibincangkan di bawah.

    Istilah yang model data hubungan beroperasi mempunyai sinonim "jadual" yang sepadan:


    ^ Istilah hubungan

    Istilah "jadual" yang sepadan

    Pangkalan data

    Set meja

    Skema pangkalan data

    Set pengepala jadual

    Sikap

    Jadual

    Pengepala perhubungan

    Tajuk jadual

    Hubungan badan

    Badan meja

    Atribut perhubungan

    Nama lajur jadual

    Tuple perhubungan

    Barisan meja

    Darjah (arity) perhubungan

    Bilangan lajur jadual

    Nisbah kuasa

    Bilangan baris jadual

    Domain dan jenis data

    Jenis data dalam sel jadual

    ^ Sifat perhubungan

    Sifat-sifat hubungan mengikuti terus dari definisi hubungan di atas. Sifat ini adalah perbezaan utama antara hubungan dan jadual.


    1. ^ Tiada tupel yang sama dalam hubungan . Memang badan perhubungan itu sekumpulan tupel dan, seperti mana-mana set, tidak boleh mengandungi unsur yang tidak dapat dibezakan (lihat konsep set dalam Bab 1.). Jadual, tidak seperti perhubungan, boleh mengandungi baris yang sama.

    2. ^ Tuple tidak dipesan (atas ke bawah) . Sesungguhnya, walaupun fakta bahawa kami telah menggambarkan hubungan "Pekerja" dalam bentuk jadual, tidak boleh dikatakan bahawa pekerja Ivanov "mendahului" pekerja Petrov. Alasannya adalah sama - badan hubungan adalah satu set, dan set itu tidak dipesan. Ini ialah sebab kedua mengapa perhubungan dan jadual tidak dapat dikenal pasti - baris dalam jadual disusun. Hubungan yang sama boleh digambarkan jadual yang berbeza di mana garisan adalah dalam susunan yang berbeza.

    3. ^ Atribut tidak disusun (dari kiri ke kanan) . Kerana Setiap atribut mempunyai nama unik dalam hubungan, maka susunan atribut tidak penting. Sifat ini agak membezakan hubungan daripada definisi matematik hubungan (lihat Bab 1 - komponen tupel di sana mengarahkan). Ini juga merupakan sebab ketiga mengapa perhubungan dan jadual tidak boleh disamakan - lajur dalam jadual disusun. Hubungan yang sama boleh digambarkan jadual yang berbeza di mana lajur adalah dalam susunan yang berbeza.

    4. ^ Semua nilai atribut adalah atom . Ini berikutan fakta bahawa atribut asas mempunyai nilai atom. Ini ialah perbezaan keempat antara perhubungan dan jadual - anda boleh meletakkan apa sahaja dalam sel jadual - tatasusunan, struktur dan juga jadual lain.
    Komen. Daripada sifat-sifat hubungan itu mengikutinya bukan semua orang jadual boleh menentukan hubungan. Untuk membolehkan jadual mentakrifkan hubungan, jadual mesti mempunyai struktur ringkas (hanya mengandungi baris dan lajur, setiap baris mempunyai bilangan medan yang sama), jadual tidak boleh mempunyai baris yang sama, mana-mana lajur dalam jadual mesti mengandungi data hanya satu jenis, semua jenis data yang digunakan mestilah mudah.

    Komen. Setiap hubungan boleh dipertimbangkan kelas kesetaraan jadual , yang mana syarat berikut dipenuhi:


    • Jadual mempunyai bilangan lajur yang sama.

    • Jadual mengandungi lajur dengan nama yang sama.

    • Lajur dengan nama yang sama mengandungi data daripada domain yang sama.

    • Jadual mempunyai baris yang sama, tetapi susunan lajur mungkin berbeza-beza.
    Semua jadual sedemikian adalah berbeza Imej hubungan yang sama.

    ^ Bentuk normal pertama

    Perkara yang paling sukar adalah untuk menentukan perkara yang semua orang faham. Jika anda tidak memberikan definisi deskriptif yang ketat, maka selalu ada kemungkinan tafsirannya yang salah. Jika kita memberikan definisi formal yang ketat, maka, sebagai peraturan, ia sama ada remeh atau terlalu menyusahkan. Beginilah keadaan dengan definisi perhubungan dalam Bentuk Biasa Pertama (1NF ). Mustahil untuk tidak bercakap tentang ini sama sekali, kerana... Berdasarkan 1NF, bentuk normal yang lebih tinggi dibina, yang dibincangkan lebih lanjut dalam Bab. 6 dan 7. Sukar untuk mentakrifkan 1NF kerana remehnya. Oleh itu, mari kita berikan sedikit penjelasan.

    Penjelasan 1. Suatu hubungan dikatakan berada dalam 1NF jika ia memenuhi Definisi 2.

    Ini, sebenarnya, adalah tautologi, kerana dari Definisi 2 ia mengikuti bahawa tidak ada hubungan lain. Sesungguhnya, Takrifan 2 menerangkan apa itu hubungan dan apa yang tidak, oleh itu, tidak ada hubungan dalam bentuk normal bukan pertama.

    Penjelasan 2. Suatu hubungan dikatakan berada dalam 1NF jika atributnya hanya mengandungi nilai skalar (atom).

    Sekali lagi, Definisi 2 bergantung pada konsep domain, dan domain ditakrifkan pada jenis data mudah.

    Bentuk normal bukan pertama boleh diperoleh dengan mengandaikan bahawa atribut perhubungan boleh ditakrifkan pada jenis data yang kompleks - tatasusunan, struktur, atau perhubungan lain. Adalah mudah untuk membayangkan jadual di mana beberapa sel mengandungi tatasusunan, sel lain mengandungi struktur yang ditentukan pengguna yang kompleks, dan yang lain mengandungi keseluruhan jadual hubungan, yang seterusnya boleh mengandungi objek kompleks yang sama. Ini adalah keupayaan yang disediakan oleh beberapa DBMS pasca perhubungan dan objek moden.

    Keperluan bahawa perhubungan mesti mengandungi hanya data jenis ringkas menerangkan sebab perhubungan kadangkala dipanggil meja rata (meja kosong ). Sesungguhnya, jadual yang menentukan hubungan adalah dua dimensi. Satu dimensi ditentukan oleh senarai lajur, dimensi kedua ditentukan oleh senarai baris. Sepasang koordinat (Nombor Baris, Nombor Lajur) secara unik mengenal pasti sel jadual dan nilai yang terkandung di dalamnya. Jika kita menganggap bahawa sel jadual mungkin mengandungi data jenis kompleks (tatasusunan, struktur, jadual lain), maka jadual sedemikian tidak akan rata lagi. Sebagai contoh, jika sel jadual mengandungi tatasusunan, maka untuk mengakses elemen tatasusunan anda perlu tahu tiga parameter (Nombor baris, nombor Lajur, nombor elemen dalam tatasusunan).

    Oleh itu, muncul penjelasan ketiga tentang Bentuk Normal Pertama:

    Penerangan 3. Suatu hubungan berada dalam 1NF jika ia adalah jadual rata.

    Kami sengaja mengehadkan diri kami untuk mempertimbangkan hanya teori hubungan klasik, di mana semua hubungan hanya mempunyai atribut atom dan jelas dalam 1NF.

    kesimpulan

    Model data hubungan terdiri daripada tiga bahagian:


    • Bahagian struktur.

    • Seluruh bahagian.

    • Bahagian manipulasi.
    Dalam model hubungan klasik, sahaja jenis data ringkas (atom). . Jenis data mudah tidak mempunyai struktur dalaman.

    Domain - Ini adalah jenis data yang mempunyai beberapa makna (semantik). Perbandingan had domain - adalah tidak betul, walaupun mungkin, untuk membandingkan nilai dari domain yang berbeza.

    Sikap terdiri daripada dua bahagian - pengepala hubungan Dan hubungan badan . Pengepala hubungan adalah serupa dengan pengepala jadual. Ketua hubungan terdiri daripada atribut. Bilangan atribut dipanggil darjah perhubungan . Badan perhubungan adalah serupa dengan badan jadual. Badan perhubungan terdiri daripada tupel . Tuple hubungan adalah serupa dengan baris jadual. Bilangan tupel sesuatu hubungan dipanggil nisbah kuasa .

    Hubungan tersebut mempunyai sifat-sifat berikut:


    • Tiada tupel yang sama dalam hubungan.

    • Tuple tidak dipesan (atas ke bawah).

    • Atribut tidak disusun (dari kiri ke kanan).

    • Semua nilai atribut adalah atom.
    Pangkalan data perhubungan dipanggil satu set hubungan.

    Skema pangkalan data hubungan data ialah set pengepala perhubungan yang disertakan dalam pangkalan data.

    Hubungan itu dalam Bentuk Biasa Pertama (1NF ) jika ia mengandungi hanya nilai skalar (atom).

    Laman Utama > Kuliah

    Kuliah DB Bab 2 PANGKALAN DATA PERHUBUNGAN 2.1. Terma dan Definisi Pembangunan pangkalan data hubungan bermula pada akhir 1960-an, apabila karya pertama muncul yang membincangkan kemungkinan menggunakan kaedah yang biasa kepada pakar untuk memformalkan pembentangan data dalam bentuk jadual. Sesetengah pakar memanggil kaedah ini untuk membentangkan jadual keputusan maklumat, yang lain - algoritma jadual. Ahli teori pangkalan data hubungan dipanggil kaedah jadual untuk mempersembahkan model datalogi maklumat. Pengasas teori pangkalan data hubungan dianggap sebagai pekerja IBM, Dr. E. F. Codd, yang menerbitkan artikel "Model Data Perhubungan untuk Bank Data Kongsi Besar" pada 6 Jun 1970. Dalam artikel ini, istilah "model data hubungan" digunakan buat kali pertama, yang menandakan permulaan pangkalan data hubungan. Teori pangkalan data hubungan dibangunkan pada tahun 1970-an. di Amerika Syarikat oleh Dr. E.F. Codd, bergantung pada radas matematik teori set. Beliau membuktikan bahawa mana-mana set data BOLEH diwakili dalam bentuk jadual dua dimensi jenis khas, yang dikenali dalam matematik sebagai hubungan. Nama "model data hubungan" berasal daripada perkataan Inggeris "perhubungan". Pada masa ini, asas teori untuk mereka bentuk pangkalan data (DB) ialah alat matematik algebra hubungan (lihat subseksyen 1.2). Oleh itu, pangkalan data hubungan adalah maklumat (data) mengenai objek, dibentangkan dalam bentuk tatasusunan dua dimensi - jadual, disatukan oleh sambungan tertentu. Pangkalan data juga boleh terdiri daripada satu jadual. Sebelum meneruskan kajian lanjut tentang pangkalan data hubungan, mari kita pertimbangkan istilah dan definisi yang digunakan dalam teori dan amalan. Jadual pangkalan data- tatasusunan dua dimensi yang mengandungi maklumat tentang satu kelas objek. Dalam teori algebra hubungan, tatasusunan dua dimensi (jadual) dipanggil sikap. Jadual terdiri daripada elemen berikut: medan, sel, rekod (Rajah 2.1). Padang mengandungi nilai salah satu atribut yang mencirikan objek pangkalan data. Bilangan medan dalam jadual sepadan dengan bilangan atribut yang mencirikan objek pangkalan data. 22 sel mengandungi nilai khusus medan yang sepadan (atribut satu objek). Rekod- baris meja. Ia mengandungi nilai semua ciri yang mencirikan satu objek. Bilangan rekod (baris) sepadan dengan bilangan objek yang datanya terkandung dalam jadual. Dalam teori pangkalan data, istilah rekod bersesuaian dengan konsep teras- jujukan atribut yang saling berkaitan oleh perhubungan AND. Dalam teori graf permotoran bermaksud cabang ringkas graf terarah - pokok. Dalam jadual 2.1 menunjukkan istilah yang digunakan dalam teori dan amalan membangunkan pangkalan data hubungan. Salah satu konsep penting yang diperlukan untuk membina struktur optimum pangkalan data hubungan ialah konsep kunci, atau medan utama. kunci Medan dianggap yang nilainya secara unik menentukan nilai semua medan lain dalam jadual. Contohnya, medan "Nombor Pasport" atau "Nombor Pengenalan Pembayar Cukai (TIN)", dengan jelas menentukan ciri-ciri mana-mana individu (apabila menyusun jadual pangkalan data yang sepadan UNTUK jabatan HR atau jabatan perakaunan sesebuah perusahaan).
    23

    Kunci jadual boleh bukan satu, tetapi beberapa medan. Dalam kes ini, satu set medan hanya boleh menjadi kunci jadual yang mungkin jika dua syarat bebas masa dipenuhi: keunikan dan minima. Setiap medan yang bukan sebahagian daripada kunci utama dipanggil medan bukan kunci jadual.

    Keunikan kunci bermaksud bahawa pada bila-bila masa jadual pangkalan data tidak boleh mengandungi mana-mana dua rekod berbeza yang mempunyai nilai medan kunci yang sama. Pemenuhan syarat keunikan adalah wajib. keadaan minimalism medan utama bermakna hanya gabungan nilai medan yang dipilih memenuhi keperluan untuk keunikan rekod jadual pangkalan data. Ini juga bermakna tiada satu pun medan yang disertakan dalam kunci boleh dikecualikan daripadanya tanpa melanggar keunikan. Apabila membentuk kunci untuk jadual pangkalan data yang terdiri daripada beberapa medan, anda mesti dipandu oleh peruntukan berikut: anda tidak boleh memasukkan dalam medan jadual utama yang nilainya sendiri mengenal pasti rekod dalam jadual secara unik. Sebagai contoh, anda tidak seharusnya membuat kunci yang mengandungi kedua-dua medan "nombor pasport" dan "nombor pengenalan pembayar cukai", kerana setiap atribut ini boleh mengenal pasti rekod secara unik dalam jadual; Anda tidak boleh memasukkan medan bukan unik dalam kekunci, iaitu medan yang nilainya boleh diulang dalam jadual. Setiap jadual mesti mempunyai sekurang-kurangnya satu kunci yang mungkin, yang dipilih sebagai kunci utama. Jika terdapat medan dalam jadual, nilai setiap satunya mengenal pasti rekod secara unik, maka medan ini boleh diambil sebagai kunci alternatif. Contohnya, jika anda memilih nombor pengenalan pembayar cukai sebagai kunci utama, maka nombor pasport akan menjadi kunci alternatif. 2.2. Menormalkan Jadual Pangkalan Data Hubungan Pangkalan data hubungan ialah satu set jadual yang saling berkaitan. Bilangan jadual dalam satu fail atau satu pangkalan data bergantung kepada banyak faktor, yang utamanya ialah: komposisi pengguna pangkalan data, memastikan integriti maklumat (terutamanya penting dalam sistem maklumat berbilang pengguna), memastikan jumlah memori terkecil yang diperlukan dan pemprosesan data masa minimum. 24

    Mengambil kira faktor-faktor ini apabila mereka bentuk pangkalan data hubungan dijalankan dengan kaedah menormalkan jadual dan mewujudkan sambungan antara mereka.

    Menormalkan jadual mewakili kaedah membahagikan satu jadual pangkalan data kepada beberapa jadual yang secara amnya memenuhi keperluan yang disenaraikan di atas. Pelaziman jadual ialah perubahan berurutan dalam struktur jadual sehingga ia memenuhi keperluan bentuk pelaziman terakhir. Terdapat enam bentuk normalisasi secara keseluruhan:
      bentuk normal pertama (Borang Normal Pertama - 1NF); bentuk normal kedua (Borang Normal Kedua - 2NF); bentuk normal ketiga (Bentuk Normal Ketiga - ЗNF); Brice - Codd Normal Form -BCNF; bentuk normal keempat (Seterusnya Bentuk Biasa - 4NF); bentuk normal kelima, atau bentuk normal simpang unjuran (Bentuk Normal Kelima - 5NF, atau PJ/NF ).
    Apabila menerangkan bentuk biasa, konsep berikut digunakan: "pergantungan fungsi antara medan"; "pergantungan fungsi lengkap antara medan"; "pergantungan fungsi berbilang nilai antara medan"; "pergantungan fungsi transitif antara medan"; "saling berdikari antara bidang". Pergantungan fungsional antara medan A dan B ialah hubungan di mana setiap nilai A pada bila-bila masa sepadan dengan satu-satunya nilai B bagi semua yang mungkin. Contoh perhubungan berfungsi ialah sambungan antara nombor pengenalan pembayar cukai dan nombor pasportnya. Pergantungan berfungsi penuh antara medan komposit A ​​dan medan B ialah kebergantungan di mana medan B bergantung secara fungsi pada medan A dan tidak bergantung secara fungsional pada mana-mana subset medan A. Pergantungan fungsi berbilang nilai antara medan ditakrifkan seperti berikut. Medan A mentakrifkan medan B secara berbilang nilai jika bagi setiap nilai medan A terdapat "set yang jelas" bagi nilai medan B yang sepadan. Contohnya, jika kita mempertimbangkan jadual prestasi pelajar di sekolah, yang merangkumi medan "Subjek" (medan A ) dan "Penilaian" (medan B), kemudian medan B mempunyai "set yang jelas" nilai yang boleh diterima: 1, 2, 3, 4, 5, iaitu untuk setiap nilai medan "Item" terdapat nilai "set yang ditakrifkan dengan baik" berbilang nilai untuk medan "Penilaian". Pergantungan fungsi transitif antara medan A dan C Wujud jika medan C berfungsi bergantung pada 25 medan B, dan medan B berfungsi bergantung pada medan A; dalam kes ini, tiada pergantungan fungsi medan A pada medan B. Kemandirian bersama antara bidang ditakrifkan seperti berikut. Beberapa bidang adalah saling bebas jika tiada satu pun daripadanya bergantung secara fungsional antara satu sama lain. Bentuk normal pertama. Jadual berada dalam bentuk biasa pertama jika dan hanya jika tiada medan mengandungi lebih daripada satu nilai dan sebarang medan kunci tidak kosong. Bentuk normal pertama ialah asas model data hubungan. Mana-mana jadual dalam pangkalan data hubungan secara automatik dalam bentuk biasa pertama; jika tidak, mengikut definisi, ia tidak mungkin. Jadual sedemikian tidak boleh mengandungi medan (atribut) yang boleh dibahagikan kepada beberapa medan (atribut). Jadual tidak dinormalkan, sebagai peraturan, adalah jadual yang pada asalnya tidak bertujuan untuk pemprosesan komputer maklumat yang terkandung di dalamnya. Sebagai contoh, dalam jadual. Rajah 2.2 menunjukkan serpihan jadual daripada buku rujukan "Mesin pemotong logam universal," yang diterbitkan oleh Institut Penyelidikan Eksperimen Mesin Pemotong Logam (ENIMS). Jadual ini tidak dinormalisasi atas sebab berikut. 1. Ia mengandungi baris yang mempunyai beberapa nilai satu medan dalam satu sel: "Diameter pemprosesan terbesar, mm" dan "Kelajuan putaran gelendong, rpm". 2. Satu medan - "Dimensi keseluruhan (panjang x lebar x tinggi), mm" boleh dibahagikan kepada tiga medan: "Panjang, mm", "Lebar, mm" dan "Tinggi, mm". Kebolehlaksanaan pembahagian sedemikian mungkin dibenarkan oleh keperluan untuk pengiraan seterusnya bagi kawasan atau isipadu yang diduduki. Jadual sumber mesti ditukar kepada bentuk biasa pertama. Untuk melakukan ini, anda perlu: membahagikan medan "Diameter pemprosesan terbesar, mm" dan "Kelajuan putaran gelendong, rpm" kepada beberapa medan mengikut bilangan nilai yang terkandung dalam satu sel;
    26

    Medan "Dimensi keseluruhan (panjang x lebar x tinggi), mm", dibahagikan kepada tiga medan: "Panjang, mm", "Lebar, mm", "Tinggi, mm". Medan utama jadual ini boleh menjadi medan "Model mesin" atau "No item." Jadual mempunyai jenis bentuk biasa. 2.3. Mari kita lihat contoh lain. Dalam Rajah. Rajah 2.2 menunjukkan serpihan borang ujian dan helaian peperiksaan, yang, seperti dalam contoh sebelumnya, pada asalnya tidak bertujuan untuk pemprosesan komputer. Katakan kita ingin mencipta pangkalan data untuk pemprosesan automatik keputusan ujian dan sesi peperiksaan mengikut
    27

    dengan kandungan ujian dan kertas peperiksaan. Untuk melakukan ini, kami menukar kandungan borang ke dalam jadual pangkalan data. Berdasarkan keperluan untuk mematuhi syarat pergantungan fungsi antara medan, adalah perlu untuk mencipta sekurang-kurangnya dua jadual (Rajah 2.3) (medan utama dalam setiap jadual diserlahkan dalam huruf tebal). Jadual pertama mengandungi keputusan lulus ujian (peperiksaan) oleh setiap pelajar dalam mata pelajaran tertentu. Jadual kedua mengandungi keputusan akhir lulus ujian (peperiksaan) kumpulan pelajar tertentu dalam mata pelajaran tertentu. Dalam jadual pertama, medan utama ialah "Nama Pelajar", dan dalam jadual kedua - medan "Disiplin". Jadual mesti dipautkan antara satu sama lain dengan medan "Disiplin" dan "Kod Kumpulan".

    Struktur jadual yang dibentangkan memenuhi sepenuhnya keperluan bentuk normal pertama, tetapi dicirikan oleh kelemahan berikut: menambah data baharu pada jadual memerlukan memasukkan nilai untuk semua medan; Dalam setiap baris setiap jadual adalah perlu untuk memasukkan nilai berulang untuk medan "Disiplin", "Nama penuh guru", "Kod kumpulan". Akibatnya, dengan komposisi jadual dan strukturnya, terdapat lebihan maklumat yang jelas, yang, secara semula jadi, memerlukan jumlah memori tambahan. Untuk mengelakkan kelemahan yang disenaraikan, adalah perlu untuk mengurangkan jadual kepada bentuk normal kedua atau ketiga. Bentuk normal kedua. Sesuatu jadual berada dalam bentuk normal kedua jika ia memenuhi keperluan bentuk normal pertama dan semua medannya yang tidak termasuk dalam kunci primer bergantung sepenuhnya pada kunci primer. 28

    Jika jadual mempunyai kunci primer ringkas yang terdiri daripada hanya satu medan, maka ia secara automatik dalam bentuk normal kedua.

    Jika kunci utama adalah komposit, maka jadual tidak semestinya dalam bentuk normal kedua. Kemudian ia mesti dibahagikan kepada dua atau lebih jadual supaya kunci utama secara unik mengenal pasti nilai dalam mana-mana medan. Jika jadual mempunyai sekurang-kurangnya satu medan yang tidak bergantung pada kunci utama, maka lajur tambahan mesti disertakan dalam kunci utama. Jika tiada lajur sedemikian, maka anda perlu menambah lajur baharu. Berdasarkan keadaan ini yang menentukan bentuk normal kedua, kesimpulan berikut boleh dibuat mengenai ciri-ciri jadual yang disusun (lihat Rajah 2.3). Dalam jadual pertama tiada hubungan langsung antara medan utama dan medan "Nama guru", kerana ujian atau peperiksaan dalam satu mata pelajaran boleh diambil oleh guru yang berbeza. Dalam jadual terdapat pergantungan fungsi lengkap hanya antara semua medan lain dan medan utama "Disiplin". Begitu juga, dalam jadual kedua tiada sambungan langsung antara medan utama dan medan "Nama guru". Untuk mengoptimumkan pangkalan data, khususnya untuk mengurangkan jumlah memori yang diperlukan kerana keperluan untuk mengulangi nilai medan "Disiplin" dan "Nama guru" dalam setiap rekod, adalah perlu untuk menukar struktur pangkalan data - tukar jadual asal kepada bentuk normal kedua. Komposisi jadual dalam struktur pangkalan data yang diubah suai ditunjukkan dalam Rajah. 2.4. Struktur pangkalan data yang diubah terdiri daripada enam jadual, dua daripadanya saling berkaitan (medan utama dalam setiap jadual diserlahkan dalam huruf tebal). Semua jadual memenuhi keperluan bentuk normal kedua. Jadual kelima dan keenam mempunyai nilai pendua dalam medannya, tetapi memandangkan nilai ini adalah integer dan bukannya data teks, jumlah memori yang diperlukan untuk menyimpan maklumat adalah kurang ketara berbanding jadual asal (lihat Rajah 2.1) . Di samping itu, struktur pangkalan data baharu akan menyediakan keupayaan untuk mengisi jadual oleh pelbagai pakar (bahagian perkhidmatan pengurusan). Pengoptimuman seterusnya jadual pangkalan data turun untuk membawanya ke bentuk normal ketiga. Bentuk normal ketiga. Sesuatu jadual berada dalam bentuk normal ketiga jika ia memenuhi definisi bentuk normal kedua dan tiada satu pun medan bukan kuncinya bergantung secara fungsi pada mana-mana medan bukan kunci yang lain. 29

    Anda juga boleh mengatakan bahawa jadual berada dalam bentuk normal ketiga jika ia dalam bentuk normal kedua dan setiap medan bukan kunci tidak bergantung secara transitif pada kunci primer. Keperluan bentuk normal ketiga ialah semua medan bukan kunci hanya bergantung pada kunci utama dan bebas antara satu sama lain. Selaras dengan keperluan ini, sebagai sebahagian daripada jadual pangkalan data (lihat Rajah 2.3), bentuk normal ketiga termasuk jadual pertama, kedua, ketiga dan keempat. Untuk membawa jadual kelima dan keenam ke bentuk biasa ketiga, kami akan mencipta jadual baharu yang mengandungi maklumat tentang komposisi mata pelajaran yang mana peperiksaan atau ujian diadakan dalam kumpulan pelajar. Sebagai kunci, kami akan mencipta medan "Kaunter" yang menetapkan nombor rekod dalam jadual, kerana setiap rekod mestilah unik. tiga puluh

    Akibatnya, kami memperoleh struktur pangkalan data baru, yang ditunjukkan dalam Rajah. 2.5 (medan utama dalam setiap jadual diserlahkan dalam huruf tebal). Struktur ini mengandungi tujuh jadual yang memenuhi keperluan bentuk normal ketiga.

    Bentuk normal Boyce ialah Codd. Jadual berada dalam bentuk biasa Boyce-Codd hanya jika sebarang pergantungan fungsi antara medannya berkurangan kepada pergantungan fungsi lengkap pada kunci yang mungkin. Mengikut definisi ini, dalam struktur pangkalan data (lihat Rajah 2.4) semua jadual memenuhi keperluan bentuk normal Boyce-Codd. Pengoptimuman seterusnya jadual pangkalan data harus dikurangkan untuk melengkapkan penguraian jadual. Penguraian meja penuh mereka memanggil koleksi nombor sewenang-wenangnya unjurannya, sambungan yang sepenuhnya bertepatan dengan kandungan jadual. Unjuran ialah salinan jadual yang tidak termasuk satu atau lebih lajur jadual baharu. Bentuk normal keempat. Bentuk normal keempat ialah kes khas bagi bentuk normal kelima, apabila penguraian lengkap mestilah gabungan dua unjuran.
    31

    Amat sukar untuk mencari jadual yang berada dalam bentuk normal keempat, tetapi tidak memenuhi definisi bentuk normal kelima.

    Bentuk normal kelima. Jadual berada dalam bentuk normal kelima jika dan hanya jika dalam setiap penguraian lengkapnya semua unjuran mengandungi kunci yang mungkin. Jadual yang tidak mempunyai sebarang penguraian lengkap juga berada dalam bentuk normal kelima. Dalam amalan, pengoptimuman jadual pangkalan data berakhir dengan bentuk normal ketiga. Mengurangkan jadual kepada bentuk normal keempat dan kelima adalah, pada pendapat kami, kepentingan teori semata-mata. Dalam amalan, masalah ini boleh diselesaikan dengan membangunkan pertanyaan untuk mencipta jadual baharu. 2.3. Mereka bentuk hubungan antara jadual Proses menormalkan jadual pangkalan data sumber memungkinkan untuk mencipta struktur optimum sistem maklumat - untuk membangunkan pangkalan data yang memerlukan sumber ingatan paling sedikit dan, sebagai hasilnya, menyediakan masa capaian yang paling singkat kepada maklumat. Pada masa yang sama, membahagikan satu jadual sumber kepada beberapa memerlukan memenuhi salah satu syarat terpenting untuk mereka bentuk sistem maklumat - memastikan integriti maklumat semasa operasi pangkalan data. Dalam contoh normalisasi jadual asal di atas (lihat Rajah 2.3), daripada dua jadual akhirnya kami menerima tujuh jadual yang dikurangkan kepada bentuk normal ketiga dan keempat. Seperti yang ditunjukkan oleh amalan, dalam pengeluaran dan perniagaan sebenar, pangkalan data ialah sistem berbilang pengguna. Ini terpakai kepada penciptaan dan penyelenggaraan data dalam jadual berasingan, dan untuk penggunaan maklumat untuk membuat keputusan. Dalam contoh yang dibincangkan di atas, dalam sistem pengurusan proses pendidikan yang benar-benar berfungsi di universiti atau kolej, pembentukan awal kumpulan pengajian dijalankan oleh jawatankuasa kemasukan apabila mendaftarkan pemohon berdasarkan keputusan peperiksaan kemasukan. Penyelenggaraan maklumat lanjut mengenai komposisi pelajar dalam kumpulan di universiti diamanahkan kepada pejabat dekan, dan di kolej - kepada jabatan pendidikan atau struktur yang berkaitan. Komposisi disiplin akademik dalam kumpulan ditentukan oleh perkhidmatan atau pakar lain. Maklumat tentang tenaga pengajar dijana dalam jabatan sumber manusia. Keputusan ujian dan sesi peperiksaan adalah perlu untuk ketua pejabat dan jabatan dekan, termasuk untuk membuat keputusan mengenai pemberian biasiswa kepada 32 pelajar yang berjaya atau "membuang daripada biasiswa" pelajar yang tidak berjaya. Sebarang perubahan dalam mana-mana jadual pangkalan data mesti dipadankan dengan perubahan yang sepadan dalam semua jadual lain. Ini adalah intipati untuk memastikan integriti pangkalan data. Dalam amalan, tugas ini dijalankan dengan mewujudkan sambungan antara jadual pangkalan data. Mari kita rumuskan peraturan asas untuk mewujudkan hubungan antara jadual. 1. Pilih jadual utama dan jadual bawahan daripada dua jadual berpaut. 2. Pilih medan utama dalam setiap jadual. Medan utama jadual utama dipanggil kunci utama. Medan utama jadual bawahan dipanggil kunci asing. 3. Medan jadual terpaut mesti mempunyai jenis data yang sama. 4. Jenis perhubungan berikut diwujudkan antara jadual: "satu dengan satu"; "satu kepada banyak"; "many to many": hubungan satu dengan satu diwujudkan dalam kes di mana baris tertentu jadual utama dikaitkan dengan hanya satu baris jadual anak pada bila-bila masa; Perhubungan satu-ke-banyak diwujudkan apabila baris tertentu dalam jadual utama pada bila-bila masa
    33 dikaitkan dengan beberapa baris subjadual; dalam kes ini, mana-mana baris jadual bawahan disambungkan hanya dengan satu baris jadual utama; Perhubungan banyak-ke-banyak diwujudkan dalam kes di mana baris tertentu jadual utama pada bila-bila masa dikaitkan dengan beberapa baris jadual bawahan dan pada masa yang sama satu baris jadual bawahan dikaitkan dengan beberapa baris jadual bawahan. meja. Apabila anda menukar nilai kunci utama dalam jadual utama, tingkah laku berikut adalah mungkin untuk jadual bergantung. Lata. Apabila data kunci utama dalam jadual utama berubah, data kunci asing yang sepadan dalam jadual bergantung berubah. Semua sambungan sedia ada dikekalkan. Sekatan. Jika anda cuba menukar nilai kunci utama yang mempunyai baris yang dikaitkan dengannya dalam jadual bergantung, perubahan akan ditolak. Ia dibenarkan untuk menukar hanya nilai kunci utama yang tidak ada sambungan yang ditetapkan dengan jadual bergantung. Penubuhan (Hubungan). Apabila data kunci utama berubah, kunci asing ditetapkan kepada NULL. Maklumat tentang pemilikan baris dalam jadual bergantung hilang. Jika anda menukar berbilang nilai kunci utama, jadual bergantung mencipta berbilang kumpulan baris yang sebelum ini dikaitkan dengan kunci yang diubah. Selepas ini, adalah mustahil untuk menentukan baris mana yang dikaitkan dengan kunci utama mana. Dalam Rajah. Rajah 2.6 menunjukkan gambar rajah sambungan antara jadual pangkalan data yang dibentangkan dalam Rajah. 2.5. Soalan kawalan 1. Takrifkan elemen berikut bagi jadual pangkalan data: medan, sel, rekod. 2. Apakah maksud konsep "kunci" dan "medan kunci"? 3. Medan kunci yang manakah dipanggil kunci utama dan yang manakah dipanggil kunci asing? 4. Apakah proses menormalkan jadual pangkalan data? 5. Apakah lima bentuk biasa jadual pangkalan data yang anda tahu? 6. Tentukan jenis perhubungan berikut antara jadual pangkalan data: “satu kepada satu”; "satu kepada banyak"; "banyak kepada banyak".

    pengenalan

    Pakar memanggil permulaan abad ke-21 sebagai abad teknologi komputer. Umat ​​manusia sedang memasuki era maklumat yang asasnya baru. Semua komponen gaya hidup manusia berubah. Tahap maklumat menjadi salah satu ciri tahap pembangunan negeri.

    Banyak negara membangun telah menyedari pada tahap yang sepatutnya kelebihan yang tidak datang dengan penyebaran dan pembangunan teknologi maklumat dan komunikasi. Dan tiada siapa yang meragui hakikat bahawa pergerakan ke arah masyarakat bermaklumat adalah sejenis jalan yang bertujuan untuk masa depan tamadun manusia.

    Berdasarkan model hubungan, pangkalan data ialah koleksi jadual khusus di mana operasi dilakukan, yang dirumus dari segi algebra hubungan dan kalkulus hubungan.

    Dalam model hubungan, operasi mengenai objek pangkalan data mempunyai sifat set-teoretik, menjadi teras kepada mana-mana pangkalan data. Model ini mewakili pelbagai struktur data, kekangan integriti, dan operasi manipulasi data.

    Konsep asas model data hubungan

    Ciri konsep utama data hubungan ialah jenis data, domain, atribut, tuple, hubungan kunci primer. Pertama, mari kita perhatikan maksud konsep ini menggunakan contoh perhubungan "PEKERJA", yang mengandungi maklumat mengenai pekerja organisasi tertentu

    Konsep jenis data adalah setanding dalam model data hubungan dengan konsep jenis data dalam bahasa pengaturcaraan. Dalam pangkalan data hubungan moden, terdapat penyimpanan data angka simbolik, rentetan bit, serta data "sementara" khas, yang sedang dibangunkan secara aktif dalam proses mendekati memperluaskan keupayaan sistem hubungan.

    Konsep domain mempunyai spesifikasi tertentu untuk pangkalan data, walaupun ia mempunyai beberapa antologi dengan subjenis berkaitan dengan beberapa bahasa pengaturcaraan. Secara umum, domain ditakrifkan dengan menentukan jenis asas tertentu yang mana elemen domain berkaitan dan ungkapan logik arbitrari yang telah menemui aplikasi dalam elemen jenis data. Apabila penilaian ungkapan Boolean ini menghasilkan hasil yang benar, elemen tersebut ialah elemen domain.

    Tafsiran yang lebih tepat tentang konsep domain ialah pemahaman domain itu sendiri sebagai salah satu set potensi nilai yang dibenarkan bagi jenis tertentu.

    Sebagai contoh, domain "Nama" dalam kes kami ditakrifkan pada jenis asas istilah aksara, tetapi bilangan nilainya akan termasuk hanya istilah yang mampu mewakili nama (istilah sedemikian tidak boleh bermula dengan tanda lembut ). Ia juga perlu untuk mengambil perhatian beban semantik konsep domain: hanya dalam kes itu data akan setanding apabila ia berkaitan dengan domain, tetapi hanya satu

    Dalam kes kami, nilai domain "Nombor Jurang" dan "Nombor Kumpulan", yang berkaitan dengan jenis integer, tidak boleh dibandingkan. Ambil perhatian bahawa dalam beberapa kes dalam DBMS hubungan, konsep "domain" tidak menemui aplikasi, kerana sudah disokong dalam Oracle V.7.

    Skema hubungan ialah set pasangan nominal: yang merangkumi: nama atribut, jenis, tetapi hanya dalam kes di mana konsep domain tidak disokong. Tahap "kesenian" mewakili skema hubungan - ini adalah kuasa tertentu set ini.

    Dalam kes ini, hubungan "Pekerja" akan sama dengan empat dan dianggap 4-ary. Dan jika semua atribut satu hubungan ditakrifkan pada domain yang agak berbeza, adalah munasabah untuk menggunakan nama domain yang sepadan untuk menamakan atribut, tidak lupa bahawa ini hanya dianggap sebagai salah satu kaedah penamaan yang mudah dan tidak memberi peluang. untuk menghapuskan perbezaan mengenai konsep domain dan atribut. Skema pangkalan data ialah set khusus skema hubungan.

    Tuple yang sepadan dengan skema hubungan yang diberikan ialah set pasangan yang dicerminkan dalam kejadian setiap nama atribut yang dimiliki oleh skema hubungan.

    "Nilai" dianggap sebagai nilai domain yang sah untuk atribut dalam kes di mana konsep domain tidak disokong. Akibatnya, tahap tupel, i.e. bilangan elemen yang ditakrifkan bertepatan dengan tahap skema hubungan yang sepadan

    Tuple ialah koleksi nilai bernama bagi jenis tertentu.

    Hubungan ialah sejumlah besar tupel yang sepadan dengan satu skema hubungan. Sebenarnya, konsep skema hubungan lebih dekat dengan konsep jenis data struktur dalam bahasa pengaturcaraan adalah kepala, dan hubungan sebagai satu set tupel adalah badan hubungan. Oleh itu, adalah logik untuk membenarkan mentakrifkan skema hubungan secara berasingan, dan seterusnya satu atau lebih hubungan oleh skema ini, tetapi ini tidak diterima dalam pangkalan data hubungan.

    Nama skema hubungan relatif kepada pangkalan data sedemikian dalam kebanyakan kes sama dengan nama hubungan contoh yang sepadan. Dalam pangkalan data hubungan klasik, sebaik sahaja skema pangkalan data ditakrifkan, hanya perhubungan contoh berubah. Tuple baharu boleh muncul di dalamnya dan tupel sedia ada boleh dipadam atau ditukar. Tetapi pada masa yang sama, dalam banyak pelaksanaan terdapat perubahan dalam skema pangkalan data: mentakrifkan skema hubungan sedia ada yang baharu dan berubah, yang biasanya dipanggil evolusi skema pangkalan data.

    Perwakilan biasa perhubungan ialah jadual, ketuanya ialah skema perhubungan, dan baris ialah tuple perhubungan contoh, dalam hal ini nama atribut dipanggil lajur jadual ini. Dalam hal ini, mereka kadangkala menyebut "lajur jadual", yang bermaksud "atribut hubungan". Seperti yang anda lihat, konsep struktur asas model data hubungan (kecuali konsep domain) mempunyai tafsiran intuitif yang sangat mudah, walaupun dalam teori pangkalan data hubungan semuanya ditakrifkan secara mutlak secara formal dan tepat.

    Seperti yang telah disebutkan, model data hubungan adalah yang paling popular. Selaras dengan model data hubungan, data diwakili sebagai koleksi jadual di mana operasi boleh dilakukan, dirumus dari segi algebra hubungan atau kalkulus hubungan.

    Tidak seperti model data hierarki dan rangkaian, dalam model hubungan, operasi pada objek bersifat set-teoretik. Ini membolehkan pengguna merumuskan pertanyaan mereka dengan lebih padat, dari segi agregat data yang lebih besar.

    Mari kita lihat terminologi yang digunakan semasa bekerja dengan pangkalan data hubungan.

    Kunci utama. Kunci utama ialah medan atau set medan yang mengenal pasti rekod secara unik.

    Selalunya terdapat pelbagai pilihan untuk memilih kunci utama. Sebagai contoh, dalam organisasi kecil, kunci utama entiti "pekerja" boleh sama ada nombor kakitangan atau gabungan nama keluarga, nama pertama dan patronimik (jika anda pasti bahawa tiada nama penuh dalam organisasi), atau nombor dan siri pasport (jika semua pekerja mempunyai pasport) . Dalam kes sedemikian, apabila memilih kunci utama, keutamaan diberikan kepada kunci paling mudah (dalam contoh ini, nombor kakitangan). Calon lain untuk peranan kunci utama dipanggil kunci alternatif.

    Keperluan untuk kunci utama:

      keunikan – iaitu, tidak sepatutnya terdapat dua atau lebih rekod dalam jadual dengan nilai kunci utama yang sama;

      Kunci utama tidak boleh mengandungi nilai kosong.

    Apabila memilih kunci utama, adalah disyorkan untuk memilih atribut yang nilainya tidak berubah sepanjang keseluruhan kewujudan contoh (dalam kes ini, nombor kakitangan lebih disukai daripada nama keluarga, kerana ia boleh ditukar dengan perkahwinan).

    Medan yang sering digunakan semasa mencari dan mengisih data ditetapkan kunci sekunder: mereka akan membantu sistem mencari data yang diperlukan dengan lebih cepat. Tidak seperti kunci utama, medan untuk indeks (kunci kedua) boleh mengandungi nilai bukan unik.

    Kekunci utama digunakan untuk mewujudkan hubungan antara jadual dalam pangkalan data hubungan. Dalam kes ini, kunci utama satu jadual (ibu bapa) sepadan dengan kunci luaran meja lain (anak). Kunci asing mengandungi nilai medan yang dikaitkan dengannya, yang merupakan kunci utama. Nilai dalam kunci asing boleh menjadi bukan unik, tetapi tidak boleh kosong. Kunci utama dan kunci asing mestilah jenis yang sama.

    Hubungan antara jadual. Rekod dalam jadual boleh bergantung pada satu atau lebih rekod dalam jadual lain. Hubungan sedemikian antara jadual dipanggil sambungan. Perhubungan ditakrifkan seperti berikut: medan atau beberapa medan satu jadual dipanggil kunci asing, merujuk kepada kunci utama jadual lain. Mari kita lihat satu contoh. Oleh kerana setiap pesanan mesti datang daripada pelanggan tertentu, setiap kemasukan jadual Pesanan(pesanan) mesti merujuk kepada catatan jadual yang sepadan Pelanggan(pelanggan). Ini adalah hubungan antara jadual Pesanan Dan Pelanggan. Dalam jadual Pesanan mesti ada medan di mana pautan ke rekod jadual tertentu disimpan Pelanggan.

    Jenis pautan. Terdapat tiga jenis hubungan antara jadual.

    Satu lawan satu - Setiap rekod dalam jadual induk dikaitkan dengan hanya satu rekod dalam jadual anak. Perhubungan ini berlaku dalam amalan lebih jarang daripada perhubungan satu kepada banyak dan dilaksanakan dengan mentakrifkan kunci asing yang unik. Sambungan satu lawan satu digunakan jika anda tidak mahu jadual "membengkak" dengan sejumlah besar medan. Pangkalan data yang mengandungi jadual dengan perhubungan sedemikian tidak boleh dianggap dinormalisasi sepenuhnya.

    Satu kepada banyak - Setiap rekod dalam jadual induk dikaitkan dengan satu atau lebih rekod dalam jadual anak. Contohnya, seorang pelanggan boleh membuat berbilang pesanan, tetapi berbilang pelanggan tidak boleh membuat satu pesanan. Hubungi tentang ding kepada ramai adalah yang paling biasa untuk pangkalan data hubungan.

    Banyak ke banyak - Beberapa rekod satu jadual berkaitan dengan beberapa rekod yang lain. Contohnya, seorang pengarang boleh menulis beberapa buku dan beberapa pengarang boleh menulis satu buku. Dalam kes perhubungan sedemikian, secara amnya mustahil untuk menentukan rekod satu jadual yang sepadan dengan rekod terpilih bagi jadual lain, yang menjadikan pelaksanaan fizikal (pada tahap indeks dan pencetus) perhubungan sedemikian antara jadual yang sepadan. tidak boleh dilaksanakan. Oleh itu, sebelum beralih kepada model fizikal, semua perhubungan banyak-ke-banyak mesti ditakrifkan semula (beberapa alat CASE, jika digunakan dalam reka bentuk data, lakukan ini secara automatik). Jenis hubungan antara dua jadual ini dicapai dengan mencipta jadual ketiga dan melaksanakan hubungan satu-ke-banyak antara setiap jadual sedia ada dan jadual perantaraan.