Rumah > pangkalan data > tutorial mysql > Pengenalan kepada Sistem Pengurusan Pangkalan Data

Pengenalan kepada Sistem Pengurusan Pangkalan Data

Mary-Kate Olsen
Lepaskan: 2025-01-05 20:17:46
asal
790 orang telah melayarinya

Introduction to Database Management Systems

Pengenalan kepada Sistem Pengurusan Pangkalan Data (DBMS)

Sistem Pengurusan Pangkalan Data (DBMS) ialah komponen penting aplikasi perisian moden dan penting untuk mengurus, menyimpan dan mendapatkan semula data dengan cekap. Mereka menyediakan cara yang sistematik untuk mengendalikan pangkalan data, memastikan ketekalan data, kebolehpercayaan dan keselamatan. Artikel ini merangkumi konsep asas, komponen dan ciri DBMS, termasuk abstraksi data, skema, bahasa pangkalan data, pengurusan transaksi, seni bina dan elemen pangkalan data utama.


Tujuan DBMS

Tujuan utama DBMS adalah untuk menyediakan sistem yang boleh dipercayai, cekap dan mesra pengguna untuk menyimpan dan mendapatkan semula data. Ia bertindak sebagai perantara antara pengguna dan data yang mereka berinteraksi, memastikan kerumitan storan data disembunyikan sambil menawarkan fungsi yang mantap untuk pengurusan data.

Objektif utama DBMS termasuk:

  • Penyimpanan dan Pendapatan Data yang Cekap: Menggunakan struktur data yang canggih untuk mengoptimumkan operasi data.
  • Ketekalan dan Integriti Data: Menguatkuasakan peraturan untuk mengekalkan ketepatan data.
  • Keselamatan Data: Mengehadkan akses tanpa kebenaran kepada data sensitif.
  • Kawalan Concurrency: Memastikan berbilang pengguna boleh mengakses data secara serentak tanpa konflik.

Abstraksi Data

Abstraksi data memudahkan cara pengguna berinteraksi dengan pangkalan data dengan menyembunyikan kerumitan storan data. Ia terbahagi kepada tiga peringkat:

1. Tahap Fizikal

  • Tahap abstraksi terendah, menerangkan cara data disimpan secara fizikal dalam sistem.
  • Fokus pada butiran peringkat rendah seperti blok data, struktur fail dan laluan storan.
  • Lazimnya diuruskan oleh pentadbir pangkalan data dan pembangun sistem.

2. Tahap Logik

  • Menerangkan data apa yang disimpan dan hubungan antara mereka.
  • Menyediakan paparan berstruktur bagi keseluruhan pangkalan data menggunakan jadual, lajur dan perhubungan.
  • Memudahkan kebebasan data fizikal, membenarkan perubahan pada tahap fizikal tanpa menjejaskan struktur logik.

3. Tahap Pandangan

  • tahap abstraksi tertinggi, menawarkan perspektif pangkalan data yang disesuaikan untuk pengguna yang berbeza.
  • Memfokuskan pada memudahkan interaksi untuk pengguna akhir dengan menyembunyikan kerumitan yang tidak perlu.
  • Pangkalan data mungkin mempunyai berbilang paparan yang memenuhi keperluan pengguna tertentu.

Kejadian dan Skema

Pangkalan data ditakrifkan dari segi skema dan kejadiannya.

  • Skema:

    • struktur logik pangkalan data, mentakrifkan jadual, perhubungan dan kekangan.
    • Bertindak sebagai pelan tindakan, kekal malar dari semasa ke semasa melainkan diubah suai secara eksplisit.
  • Instance:

    • kandungan data yang disimpan dalam pangkalan data pada masa tertentu.
    • Berubah secara berterusan apabila data dimasukkan, dikemas kini atau dipadamkan.

Bahasa Pangkalan Data

DBMS menggunakan bahasa khusus untuk berinteraksi dengan pangkalan data. Ini secara meluas dikelaskan kepada:

1. Bahasa Definisi Data (DDL)

  • Mentakrifkan struktur pangkalan data dan skema.
  • Contoh operasi:
    • BUAT: Tentukan jadual atau pangkalan data baharu.
    • UBAH: Ubah suai struktur sedia ada.
    • JATUHKAN: Alih keluar jadual atau pangkalan data.
  • Kekangan Integriti dalam DDL memastikan ketepatan dan ketekalan data:
    • Kekangan Domain: Tentukan nilai yang dibenarkan untuk atribut.
    • Integriti Rujukan: Menguatkuasakan perhubungan yang sah antara jadual.

2. Bahasa Manipulasi Data (DML)

  • Membolehkan pengguna memanipulasi data yang disimpan dalam pangkalan data.
  • Operasi biasa:
    • PILIH: Dapatkan semula data.
    • MASUKKAN: Tambahkan data baharu.
    • PADAM: Alih keluar data sedia ada.
    • KEMASKINI: Ubah suai data sedia ada.
  • SQL menyediakan sintaks DML piawai yang digunakan secara meluas merentas pangkalan data hubungan.

Pengurusan Transaksi

Satu transaksi ialah unit logik operasi pangkalan data yang mesti mematuhi sifat ACID untuk memastikan kebolehpercayaan:

  1. Atomicity: Transaksi tidak boleh dibahagikan; sama ada semua operasi berjaya, atau tidak.
  2. Ketekalan: Transaksi mesti meninggalkan pangkalan data dalam keadaan sah.
  3. Pengasingan: Urus niaga serentak tidak boleh mengganggu satu sama lain.
  4. Ketahanan: Setelah dilakukan, perubahan berterusan walaupun berlaku kegagalan sistem.

DBMS menggunakan mekanisme seperti mengunci, log dan kawalan konkurensi untuk mengurus urus niaga dan memastikan sifat ini.


Pangkalan Data dan Seni Bina Aplikasi

Pangkalan data moden mengikut seni bina tiga peringkat untuk memisahkan kebimbangan dan meningkatkan kebolehskalaan:

  1. Tingkat Persembahan:

    • Lapisan menghadap pengguna, biasanya aplikasi bahagian hadapan.
    • Berinteraksi dengan pengguna melalui antara muka grafik atau halaman web.
  2. Tahap Permohonan:

    • Lapisan logik tempat peraturan perniagaan dan logik aplikasi dilaksanakan.
    • Menyambungkan bahagian hadapan dengan pangkalan data.
  3. Peringkat Pangkalan Data:

    • Halaman belakang tempat data disimpan dan diurus.
    • Termasuk DBMS dan sistem storan fizikal.

Pengguna dan Pentadbir Pangkalan Data

Jenis Pengguna:

  1. Pengguna Akhir: Berinteraksi dengan pangkalan data menggunakan aplikasi atau pertanyaan.
  2. Pengaturcara Aplikasi: Bangunkan aplikasi perisian menggunakan API yang disediakan oleh DBMS.
  3. Pentadbir Pangkalan Data (DBA): Urus pangkalan data, kawal akses dan pastikan prestasi optimum.

Peranan DBA:

  • Tentukan dan kekalkan skema.
  • Laksanakan langkah keselamatan.
  • Pantau dan optimumkan prestasi pangkalan data.
  • Lakukan sandaran dan operasi pemulihan.

Jadual dan Komponennya

jadual ialah struktur asas pangkalan data hubungan, yang terdiri daripada baris dan lajur.

  • Baris (Tuples): Mewakili rekod individu dalam jadual.
  • Lajur (Atribut): Mewakili medan data dengan jenis data tertentu.
  • Kunci Utama: Mengenal pasti setiap baris dalam jadual secara unik.
  • Kunci Asing: Mencipta perhubungan antara jadual dengan merujuk kunci utama dalam jadual lain.

Kunci dalam Pangkalan Data

Kunci adalah penting dalam memastikan integriti data dan mewujudkan hubungan. Jenis biasa termasuk:

  1. Kunci Utama: Pengecam unik untuk baris jadual. Tidak boleh mengandungi nilai NULL.
  2. Kunci Asing: Merujuk kunci utama dalam jadual lain, menguatkuasakan integriti rujukan.
  3. Kunci Calon: Mana-mana lajur atau set lajur yang boleh mengenal pasti baris secara unik. Satu kunci calon dipilih sebagai kunci utama.
  4. Kunci Komposit: Kunci utama yang terdiri daripada dua atau lebih atribut.
  5. Kunci Unik: Serupa dengan kunci utama tetapi membenarkan satu nilai NULL.
  6. Super Key: Superset kunci calon yang mengenal pasti baris secara unik.

Fungsi, Prosedur dan Pencetus dalam DBMS

Selain mengurus dan menanyakan data, DBMS moden menyediakan mekanisme untuk merangkum logik dan mengautomasikan tugas melalui fungsi, prosedur dan cetus. Elemen ini meningkatkan kecekapan, kebolehselenggaraan dan responsif sistem pangkalan data.


Fungsi

Fungsi ialah objek pangkalan data yang melaksanakan tugas tertentu dan mengembalikan satu nilai. Fungsi biasanya digunakan untuk pengiraan, transformasi data atau mendapatkan semula maklumat tertentu. Ia serupa dengan fungsi matematik dan boleh digunakan terus dalam pertanyaan SQL.

Ciri-ciri Fungsi:

  • Parameter Input: Fungsi mungkin menerima sifar atau lebih parameter input.
  • Nilai Pulangan: Fungsi sentiasa mengembalikan nilai tunggal jenis data yang ditentukan.
  • Baca-Sahaja: Fungsi tidak boleh mengubah suai jadual atau data pangkalan data secara langsung; mereka terhad kepada operasi baca sahaja.

Sintaks untuk Mencipta Fungsi (Contoh SQL):

CREATE FUNCTION function_name (parameter_list)
RETURNS return_type
AS
BEGIN
    -- Function logic
    RETURN value;
END;
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Contoh:

Fungsi untuk mengira jumlah harga pesanan berdasarkan kuantiti dan harga seunit:

CREATE FUNCTION calculate_total_price(quantity INT, price_per_unit DECIMAL)
RETURNS DECIMAL
AS
BEGIN
    RETURN quantity * price_per_unit;
END;
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kelebihan:

  1. Kebolehgunaan semula logik merentas pertanyaan.
  2. Kebolehbacaan dan kebolehselenggaraan pertanyaan dipertingkatkan.
  3. Prestasi yang dipertingkatkan dengan merangkum logik kompleks.

Prosedur

Satu prosedur ialah atur cara yang disimpan dalam pangkalan data yang melaksanakan urutan operasi. Tidak seperti fungsi, prosedur tidak mengembalikan nilai tetapi boleh melaksanakan tugas pengubahsuaian data seperti INSERT, UPDATE dan DELETE.

Ciri-ciri Prosedur:

  • Boleh mempunyai parameter input, output dan input-output.
  • Mampu mengubah suai jadual pangkalan data.
  • Dilaksanakan menggunakan penyata CALL atau EXEC.

Sintaks untuk Mencipta Prosedur (Contoh SQL):

CREATE PROCEDURE procedure_name (parameter_list)
AS
BEGIN
    -- Procedure logic
END;
Salin selepas log masuk
Salin selepas log masuk

Contoh:

Prosedur untuk mengemaskini gaji pekerja:

CREATE PROCEDURE update_salary(employee_id INT, new_salary DECIMAL)
AS
BEGIN
    UPDATE employees
    SET salary = new_salary
    WHERE id = employee_id;
END;
Salin selepas log masuk
Salin selepas log masuk

Kelebihan:

  1. Pengenkapsulan logik kompleks ke dalam unit boleh guna semula.
  2. Keupayaan untuk melaksanakan berbilang operasi dalam satu panggilan.
  3. Meningkatkan prestasi pangkalan data dengan mengurangkan overhed rangkaian.

Pencetus

pencetus ialah objek pangkalan data yang secara automatik melaksanakan tindakan yang dipratentukan sebagai tindak balas kepada peristiwa tertentu pada jadual, seperti operasi INSERT, UPDATE atau DELETE.

Ciri-ciri Pencetus:

  • Ditakrifkan pada jadual tertentu dan diaktifkan oleh acara.
  • Boleh dipecat sebelum atau selepas acara itu berlaku.
  • Digunakan untuk menguatkuasakan peraturan perniagaan, mengekalkan log audit atau menyebarkan perubahan.

Jenis Pencetus:

  1. SEBELUM Pencetus: Laksanakan sebelum acara yang ditentukan.
  2. SELEPAS Pencetus: Laksanakan selepas acara yang ditentukan.
  3. BUKANNYA PENCETUS: Melaksanakan bukannya acara (biasa digunakan dalam paparan).

Sintaks untuk Mencipta Pencetus (Contoh SQL):

CREATE FUNCTION function_name (parameter_list)
RETURNS return_type
AS
BEGIN
    -- Function logic
    RETURN value;
END;
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Contoh:

Pencetus untuk log setiap pekerja baharu ditambahkan pada jadual pekerja:

CREATE FUNCTION calculate_total_price(quantity INT, price_per_unit DECIMAL)
RETURNS DECIMAL
AS
BEGIN
    RETURN quantity * price_per_unit;
END;
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kelebihan:

  1. Penguatkuasaan automatik peraturan dan dasar.
  2. Pengurangan dalam campur tangan manual untuk tugasan berulang.
  3. Kebolehaudit dipertingkatkan dengan mengekalkan log perubahan.

Fungsi lwn. Prosedur lwn. Pencetus: Perbezaan Utama

Ciri Fungsi Prosedur Pencetus
Feature Function Procedure Trigger
Returns Value Yes No No
Modifies Data No Yes Yes
Execution Invoked explicitly Invoked explicitly Invoked automatically
Use Case Data computation Complex operations Event-driven actions
Nilai Pulangan Ya Tidak Tidak Mengubah suai Data Tidak Ya Ya Pelaksanaan Dipanggil secara eksplisit Dipanggil secara eksplisit Dipanggil secara automatik Kes Penggunaan Pengiraan data Operasi kompleks Tindakan terdorong peristiwa

Dengan menggunakan fungsi, prosedur dan pencetus dengan berkesan, anda boleh merangkum logik perniagaan, menguatkuasakan peraturan dan mengautomasikan tugasan dalam pangkalan data anda. Alat ini membentuk tulang belakang aplikasi DBMS moden, membolehkan pembangun dan pentadbir mencipta sistem yang berkuasa dan boleh diselenggara.


Pemetaan Kardinaliti dalam DBMS

Pemetaan kardinaliti, juga dikenali sebagai nisbah kardinaliti, mentakrifkan bilangan entiti daripada satu set entiti yang boleh dikaitkan dengan entiti dalam set entiti lain melalui set perhubungan. Kardinaliti ini amat penting dalam menerangkan set perhubungan binari dan juga berguna untuk perhubungan berbilang entiti.

Untuk set perhubungan binari R antara set entiti A dan B, kardinaliti pemetaan yang mungkin adalah seperti berikut:


1. Satu-dengan-Satu (1:1)

  • Takrif: Entiti dalam A dikaitkan dengan paling banyak satu entiti dalam B, dan begitu juga sebaliknya.
  • Contoh:
    • Dalam pangkalan data di mana pekerja ditugaskan ke tempat letak kereta:
    • Setiap pekerja mempunyai paling banyak satu tempat letak kereta yang ditetapkan.
    • Setiap tempat letak kereta diperuntukkan kepada paling banyak seorang pekerja.
  • Perwakilan Gambarajah:
    • Setiap entiti dalam A memetakan kepada entiti tunggal dalam B, dan setiap entiti dalam B memetakan kepada entiti tunggal dalam A.

2. Satu-ke-Ramai (1:N)

  • Definisi: Entiti dalam A boleh dikaitkan dengan sifar atau lebih entiti dalam B, tetapi entiti dalam B dikaitkan dengan paling banyak satu entiti dalam A.
  • Contoh:
    • Dalam pangkalan data pengarang dan buku:
    • Seorang pengarang boleh menulis berbilang buku.
    • Setiap buku ditulis oleh seorang pengarang sahaja.
  • Perwakilan Gambarajah:
    • Entiti dalam peta A kepada berbilang entiti dalam B, tetapi entiti dalam B memetakan kepada entiti tunggal dalam A.

3. Banyak-dengan-Satu (M:1)

  • Definisi: Entiti dalam A dikaitkan dengan paling banyak satu entiti dalam B, tetapi entiti dalam B boleh dikaitkan dengan sifar atau lebih entiti dalam A.
  • Contoh:
    • Dalam pangkalan data pelajar dan kursus:
    • Setiap pelajar boleh mendaftar dalam satu jabatan sahaja.
    • Sebuah jabatan boleh mempunyai beberapa pelajar yang didaftarkan.
  • Perwakilan Gambarajah:
    • Entiti dalam A memetakan kepada entiti tunggal dalam B, manakala entiti dalam B boleh memetakan kepada berbilang entiti dalam A.

4. Banyak-ke-Ramai (M:N)

  • Definisi: Entiti dalam A boleh dikaitkan dengan sifar atau lebih entiti dalam B, dan begitu juga sebaliknya.
  • Contoh:
    • Dalam pangkalan data pelajar dan kursus:
    • Seorang pelajar boleh mendaftar dalam berbilang kursus.
    • Sesuatu kursus boleh mempunyai beberapa pelajar yang didaftarkan.
  • Perwakilan Gambarajah:
    • Berbilang entiti dalam peta A kepada berbilang entiti dalam B, dan begitu juga sebaliknya.

Perwakilan Visual Kardinaliti Pemetaan

Satu-dengan-Satu (1:1):

CREATE FUNCTION function_name (parameter_list)
RETURNS return_type
AS
BEGIN
    -- Function logic
    RETURN value;
END;
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Satu-ke-Banyak (1:N):

CREATE FUNCTION calculate_total_price(quantity INT, price_per_unit DECIMAL)
RETURNS DECIMAL
AS
BEGIN
    RETURN quantity * price_per_unit;
END;
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Banyak-ke-Satu (M:1):

CREATE PROCEDURE procedure_name (parameter_list)
AS
BEGIN
    -- Procedure logic
END;
Salin selepas log masuk
Salin selepas log masuk

Banyak-ke-Ramai (M:N):

CREATE PROCEDURE update_salary(employee_id INT, new_salary DECIMAL)
AS
BEGIN
    UPDATE employees
    SET salary = new_salary
    WHERE id = employee_id;
END;
Salin selepas log masuk
Salin selepas log masuk

Kepentingan Kardinaliti Pemetaan

  1. Reka Bentuk Pangkalan Data: Kardinaliti pemetaan membantu dalam mereka bentuk skema hubungan yang cekap dengan mentakrifkan perhubungan yang jelas antara set entiti.
  2. Integriti Data: Pastikan perhubungan mematuhi kekangan dunia sebenar.
  3. Pengoptimuman Pertanyaan: Mengetahui kardinaliti membantu mengoptimumkan pertanyaan untuk prestasi yang lebih baik.
  4. Model E-R: Main peranan penting dalam gambar rajah Entiti-Perhubungan, menjadikan perhubungan jelas.

Kardinaliti pemetaan adalah asas untuk memahami cara entiti saling berkait dalam pangkalan data dan menyediakan asas struktur untuk mentakrifkan skema pangkalan data yang teguh dan berskala.

Atas ialah kandungan terperinci Pengenalan kepada Sistem Pengurusan Pangkalan Data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan