自考《数据库系统原理》(6)之数据库管理
数据库的管理包括事务、恢复、并发控制、完整性和安全性等内容。说到事务,先给大家它的定义。 事务 是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。不论发生何种情况,DBS必须保证事务能正确、完整地执行。 看到这样的定义,初学的人
数据库的管理包括事务、恢复、并发控制、完整性和安全性等内容。说到事务,先给大家它的定义。
事务是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。不论发生何种情况,DBS必须保证事务能正确、完整地执行。
看到这样的定义,初学的人肯定会晕。举一个例子给大家说,去柜员机取款,当你放进去卡,事务开始(BEGIN TRANSACTION),点击确认要取出二百后,系统正常运行把钱给你,取出你的卡,这个事务结束(COMMIT)。但是如果系统正当运行的时候,忽然断电了,钱也没取出来。你是不是会担心你的银行卡会少二百块钱,这个你放心,现在事务就开始起作用了。当运行失败的时候,那么事务就会回退(ROLLBACK),你卡上的钱是不会动的。这样事务的定义就显而易见了吧,做一件事,要么你就不执行,要么你就完整地执行下来,执行了但没有成功那么就回到原始没有执行的状态。
当然这里说的事务是计算机,那么针对的是数据库。为了保证数据库中的数据是正确的,我们对其性质有什么要求呢?简单来说,就是ACID性质。对于数据库的操作来说,要么你就全部执行,要么就什么也不做,这就是原子性(Atomicity);那么事务执行的时候,数据应该一直要一致,这就是所谓的一致性(Consistency);多个事务同时执行的时候,那么系统和这些事务单独执行时的结果是一样的,此谓隔离性(Isolation);事务完成全部的操作后,对数据库的更新应该永久地存在数据库中,此谓持久性(Durability)。
对数据库的管理主要通过四个方面来实现:数据库的恢复、并发控制、完整性控制盒安全性控制。
说到恢复,首先你得做好日常工作的备份啊,这样到数据库出问题的时候,你就可以来恢复了。再说并发控制,听起来很“高大尚”,其实就是很多事务同时对数据库操作,这样很容易出问题啊,数据不一致了,中间丢了一个操作没有更新(丢失问题);一个事务操作了,都没有提交,紧接着下一个事务来读取上一个事务的操作。上一个事务修改了,但下一个事务却没动,这就导致了读出了脏数据问题;两个事务,同时读取同一个数,一个事务把数改了,另一个却没有。此谓不可重复读问题。
为了解决这些问题呢,用了封锁技术来使数据库之间的相关联的数据能够同步。有一种排他型封锁(X锁),说白了就是自己加了锁就不让别人加了,一旦加上了锁,对数据做了修改,除非全部的操作完成了,否则是不能解锁的。这样,丢失更新问题就解决了。还有一个共享锁(S锁),就是自己和别人都能够对同一事物加锁呗,但是有一点,一旦加S锁,数据不能修改,只能读取,必须升级为X锁才行。但就是这样一个好东西也会发生活锁,饿死和死锁问题。这就又引出了一个概念-可串行化。多个事务依次执行,就是串行调度,分时同时处理多个事务就是并发调度,在每个事务中,语句的先后顺序不管在哪都始终是一致的,那么并发调度的执行结果与串行调度执行结果若等价,那么这个并发调度就是可串行化的调度。还有SQL中设置事务的存取方式和隔离级别对并发操作进行了管理,知道这回事就行。
紧接着说数据的完整性,其实就是要保持数据始终是完整的,不受破坏,这样有了一套规则来保证。即所谓的完整性规则。那怎么样来定义这些规则又出现了三个约束。域约束、基本表约束和断言。没弄懂,知道有这回事就好。但是这些约束都太被动了,遇到复杂的操作还需要主动去进行,那么就有了触发器。
最后是数据库的安全性。无论什么安全都是很重要的。比如说专利,没有发明人的授权,你是不能随便用的。这就是所谓的权限问题。再说角色问题,你是提高班的一元,米老师就给你一个胸牌,允许你进入机房学习。没有了这些东西岂不是会非常的不安全啊。
说来说去,数据库就这么些东西,用自己的生活来理解它会变得非常的简单。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Analisis prinsip asas sistem pengurusan pangkalan data MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang menggunakan bahasa pertanyaan berstruktur (SQL) untuk penyimpanan dan pengurusan data. Artikel ini akan memperkenalkan prinsip asas sistem pengurusan pangkalan data MySQL, termasuk penciptaan pangkalan data, reka bentuk jadual data, penambahan data, pemadaman, pengubahsuaian dan operasi lain, dan menyediakan contoh kod khusus. 1. Penciptaan Pangkalan Data Dalam MySQL, anda perlu mencipta contoh pangkalan data untuk menyimpan data. Kod berikut boleh mencipta fail bernama "my

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u

Kaedah pengesanan dan pembaikan transaksi PHP Semasa proses pembangunan, kami sering melibatkan operasi pangkalan data. Untuk memastikan integriti dan ketekalan data, apabila memproses operasi pangkalan data, kami sering menggunakan transaksi untuk memastikan keatoman bagi satu siri operasi. Walau bagaimanapun, dalam proses pembangunan sebenar, kadangkala ralat berlaku dalam urus niaga, mengakibatkan operasi data tidak lengkap atau tidak konsisten. Artikel ini akan memperkenalkan cara mencari dan membetulkan ralat transaksi dalam PHP, sambil memberikan contoh kod khusus. Untuk mencari ralat transaksi dalam PHP, kita boleh menggunakan MySQLi atau
