Table des matières
[每日一题] 11gOCP 1z0-052 :2013-08-31 数据库的存储结构....................................................A8
Maison base de données tutoriel mysql 数据库的存储结构

数据库的存储结构

Jun 07, 2016 pm 03:47 PM
存储 数据库 结构

[每日一题] 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 
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Mar 27, 2024 pm 09:39 PM

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

Comment Hibernate implémente-t-il le mappage polymorphe ? Comment Hibernate implémente-t-il le mappage polymorphe ? Apr 17, 2024 pm 12:09 PM

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Une analyse approfondie de la façon dont HTML lit la base de données Une analyse approfondie de la façon dont HTML lit la base de données Apr 09, 2024 pm 12:36 PM

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Quelles sont les caractéristiques syntaxiques et structurelles des expressions lambda ? Quelles sont les caractéristiques syntaxiques et structurelles des expressions lambda ? Apr 25, 2024 pm 01:12 PM

L'expression Lambda est une fonction anonyme sans nom et sa syntaxe est la suivante : (parameter_list) -> expression. Ils présentent l’anonymat, la diversité, le curry et la fermeture. Dans des applications pratiques, les expressions Lambda peuvent être utilisées pour définir des fonctions de manière concise, comme la fonction de sommation sum_lambda=lambdax,y:x+y, et appliquer la fonction map() à la liste pour effectuer l'opération de sommation.

Analyse des principes de base du système de gestion de base de données MySQL Analyse des principes de base du système de gestion de base de données MySQL Mar 25, 2024 pm 12:42 PM

Analyse des principes de base du système de gestion de base de données MySQL MySQL est un système de gestion de base de données relationnelle couramment utilisé qui utilise le langage de requête structuré (SQL) pour le stockage et la gestion des données. Cet article présentera les principes de base du système de gestion de base de données MySQL, y compris la création de bases de données, la conception de tables de données, l'ajout de données, la suppression, la modification et d'autres opérations, et fournira des exemples de code spécifiques. 1. Création d'une base de données Dans MySQL, vous devez d'abord créer une instance de base de données pour stocker les données. Le code suivant peut créer un fichier nommé "mon

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

See all articles