Jadual Kandungan
[每日一题] 11gOCP 1z0-052 :2013-08-31 数据库的存储结构....................................................A8
Rumah pangkalan data tutorial mysql 数据库的存储结构

数据库的存储结构

Jun 07, 2016 pm 03:47 PM
penyimpanan pangkalan data struktur

[每日一题] 11gOCP 1z0-052 :2013-08-31 数据库的存储结构....................................................A8 http://blog.csdn.net/guoyjoe/article/details/10784599 、 正确答案:A 将逻辑存储与物理存储分开是关系数据库范例的必要部分。关系数据

[每日一题] 11gOCP 1z0-052 :2013-08-31 数据库的存储结构....................................................A8


http://blog.csdn.net/guoyjoe/article/details/10784599

数据库的存储结构


正确答案:A

  将逻辑存储与物理存储分开是关系数据库范例的必要部分。关系数据库范例表明:编程人员只处理逻辑结构,而让数据库去管理到物理结构的映射。这意味着,可以重新组织物理存储,也可以将整个数据库移动到完全不同的硬件和操作系统上,而应用程序意识不到任何更改。

  如下图展示Oracle存储模型,逻辑结构在左,物理结构在右。

 

 数据库的存储结构

注释:

从图示可以看出,数据库的存储结构可以分成两条路线去理解:

一是逻辑结构,即数据库由各个表空间组成,表空间由各个段组成,段由各个区段组成,区段由各个oracle块组成;

二是物理结构,即数据库由各个表空间组成,表空间由各个操作系统级别的文件组成,(操作系统级别的)文件由各个操作系统块组成。

疑问:一个段只能存放在一个操作系统级别的文件上吗?还是可以跨文件存放?

1、Oracle数据库逻辑结构

 (1)DATABASE:一个数据库可划分为多个称为表空间的逻辑存储单元。

如下查询一个数据库中有七个表空间

[html] view plaincopy

  1. gyj@OCM> select tablespace_name from dba_tablespaces;  
  2. TABLESPACE_NAME  
  3. ------------------------------  
  4. SYSTEM  
  5. SYSAUX  
  6. UNDOTBS1  
  7. TEMP  
  8. USERS  
  9. EXAMPLE  
  10. GYJ  

(2)TABLESPACE:只能属一个数据库,包括一个或多个文件。如下表空间GYJ下有两个数据文件。

[html] view plaincopy

  1. gyj@OCM> col tablespace_name for a20  
  2. gyj@OCM> col file_name for a50  
  3.  gyj@OCM> select tablespace_name,file_name from dba_data_files where tablespace_name='GYJ';  
  4. TABLESPACE_NAME      FILE_NAME  
  5. -------------------- --------------------------------------------------  
  6. GYJ                  /u01/app/oracle/oradata/ocm/gyj01.dbf  
  7. GYJ                  /u01/app/oracle/oradata/ocm/gyj02.dbf  


(3)SEGMENT:存在于表空间中,包含一个或多个区。

     包括:表段、表分区段、索引段、索引分区段、临时段、撤销段、BLOBCLOB

[html] view plaincopy

  1.  gyj@OCM> select distinct segment_type from dba_segments;  
  2. SEGMENT_TYPE  
  3. ------------------  
  4. LOBINDEX  
  5. INDEX PARTITION  
  6. TABLE SUBPARTITION  
  7. ROLLBACK  
  8. TABLE PARTITION  
  9. NESTED TABLE  
  10. LOB PARTITION  
  11. LOBSEGMENT  
  12. INDEX  
  13. TABLE  
  14. TYPE2 UNDO  
  15. CLUSTER  

T1段所在的表空间、区的信息。

[html] view plaincopy

  1. gyj@OCM> select TABLESPACE_NAME,EXTENTS,BYTES/1024/1024||'M',BLOCKS from user_segments where segment_name='T1';  
  2. TABLESPACE_NAME         EXTENTS BYTES/1024/1024||'M'                          BLOCKS  
  3. -------------------- ---------- ----------------------------------------- ----------  
  4. GYJ                           1 .0625M                                             8  


(4)EXTENT:由相邻的数据块的组成,这意味着每个区只能存在于一个数据文件中。

[html] view plaincopy

  1. gyj@OCM> select TABLESPACE_NAME,EXTENT_ID,FILE_ID,BLOCK_ID,BYTES,BLOCKS from dba_extents where segment_name='T1' and owner='GYJ';  
  2.   
  3. TABLESPACE_NAME       EXTENT_ID    FILE_ID   BLOCK_ID      BYTES     BLOCKS  
  4. -------------------- ---------- ---------- ---------- ---------- ----------  
  5. GYJ                           0          6        176      65536          8  


(5)BLOCK:是数据库中最小的I/O单元,db_block_size


[html] view plaincopy

  1.  gyj@OCM> show parameter db_block_size  
  2.   
  3. NAME                                 TYPE        VALUE  
  4. ------------------------------------ ----------- ------------------------------  
  5. db_block_size                        integer     8192  

2、Oracle数据库物理结构     

 (1)、OS文件

      A、仅属于一个表空间

      B、是构成表空间的基础文件

 

 (2)、OS

A、 tune2fs-l /dev/sda1


[html] view plaincopy

  1. [root@mydb ~]# tune2fs -l /dev/sda1  
  2. tune2fs 1.39 (29-May-2006)  
  3. Filesystem volume name:   /boot  
  4. Last mounted on:          not available>  
  5. Filesystem UUID:          866e46b9-cb84-4271-b694-4ca3d25dc621  
  6. Filesystem magic number:  0xEF53  
  7. Filesystem revision #:    1 (dynamic)  
  8. Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super  
  9. Default mount options:    user_xattr acl  
  10. Filesystem state:         clean  
  11. Errors behavior:          Continue  
  12. Filesystem OS type:       Linux  
  13. Inode count:              26104  
  14. Block count:              104388  
  15. Reserved block count:     5219  
  16. Free blocks:              89230  
  17. Free inodes:              26070  
  18. First block:              1  
  19. Block size:               1024  
  20. Fragment size:            1024  
  21. Reserved GDT blocks:      256  
  22. Blocks per group:         8192  
  23. Fragments per group:      8192  
  24. Inodes per group:         2008  
  25. Inode blocks per group:   251  
  26. Filesystem created:       Mon Aug 12 19:59:14 2013  
  27. Last mount time:          Sat Aug 31 20:35:07 2013  
  28. Last write time:          Sat Aug 31 20:35:07 2013  
  29. Mount count:              16  
  30. Maximum mount count:      -1  
  31. Last checked:             Mon Aug 12 19:59:14 2013  
  32. Check interval:           0 (none>)  
  33. Reserved blocks uid:      0 (user root)  
  34. Reserved blocks gid:      0 (group root)  
  35. First inode:              11  
  36. Inode size:               128  
  37. Journal inode:            8  
  38. Default directory hash:   tea  
  39. Directory Hash Seed:      12499f4f-6bd0-40d2-8a7a-6224b8f449dd  
  40. Journal backup:           inode blocks  


  B、扇区:512字节操作系统一次IO的大小

[html] view plaincopy

  1. [root@mydb ~]# fdisk -l  
  2.   
  3. Disk /dev/sda: 26.8 GB, 26843545600 bytes  
  4. 255 heads, 63 sectors/track, 3263 cylinders  
  5. Units = cylinders of 16065 * 512 = 8225280 bytes  
  6.   
  7.    Device Boot      Start         End      Blocks   Id  System  
  8. /dev/sda1   *           1          13      104391   83  Linux  
  9. /dev/sda2              14         144     1052257+  82  Linux swap / Solaris  
  10. /dev/sda3             145        3263    25053367+  83  Linux 
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Mar 27, 2024 pm 09:39 PM

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.

Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Apr 17, 2024 pm 12:09 PM

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.

iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

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

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

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())

Apr 09, 2024 pm 12:36 PM

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.

Apakah ciri sintaks dan struktur bagi ungkapan lambda? Apakah ciri sintaks dan struktur bagi ungkapan lambda? Apr 25, 2024 pm 01:12 PM

Ungkapan Lambda ialah fungsi tanpa nama tanpa nama, dan sintaksnya ialah: (parameter_list)->expression. Mereka menampilkan ketanpa nama, kepelbagaian, kari dan penutupan. Dalam aplikasi praktikal, ungkapan Lambda boleh digunakan untuk mentakrifkan fungsi secara ringkas, seperti fungsi penjumlahan sum_lambda=lambdax,y:x+y, dan gunakan fungsi map() pada senarai untuk melaksanakan operasi penjumlahan.

Analisis prinsip asas sistem pengurusan pangkalan data MySQL Analisis prinsip asas sistem pengurusan pangkalan data MySQL Mar 25, 2024 pm 12:42 PM

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

Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Jun 05, 2024 pm 02:16 PM

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

See all articles