A. 數據管理技術的發展經歷了那幾個階段
一、人工管理階段
在計算機出現之前,人們運用常規的手段從事記錄、存儲和對數據加工,也就是利用紙張來記錄和利用計算工具(算盤、計算尺)來進行計算,並主要使用人的大腦來管理和利用這些數據。
20世紀50年代後期到60年代中期,隨著計算機硬體和軟體的發展,磁碟、磁鼓等直接存取設備開始普及,這一時期的數據處理系統是把計算機中的數據組織成相互獨立的被命名的數據文件,並可按文件的名字來進行訪問,對文件中的記錄進行存取的數據管理技術。
三、資料庫系統階段
20世紀60年代後期以來 ,計算機性能得到進一步提高,更重要的是出現了大容量磁碟,存儲容量大大增加且價格下降。
(1)資料庫的磁碟在哪裡看擴展閱讀:
管理數據的特點是:
1、數據不保存。因為當時計算機主要用於科學計算,對於數據保存的需求尚不迫切。
2、系統沒有專用的軟體對數據進行管理,每個應用程序都要包括數據的存儲結構、存取方法和輸入方法等。程序員編寫應用程序是,還要安排數據的物理存儲,因此程序員負擔很重。
3、數據不共享。數據是面向程序的,一組數據只能對應一個程序。
4、數據不具有獨立性。程序依賴於數據,如果數據的類型、格式或輸入/輸出方式等邏輯結構或物理結構發生變化,則必須對應用程序做出相應的修改。
B. 查看資料庫中有哪些表空間
一、系統表空間
在 MySQL 數據目錄下有一個名為 ibdata1 的文件,可以保存一張或者多張表。
923275 12M -rw-r----- 1 mysql mysql 12M 3月 18 10:42 ibdata1
這個文件就是 MySQL 的系統表空間文件,默認為 1 個,可以有多個,只需要在配置文件 my.cnf 裡面這樣定義即可。
innodb_data_file_path=ibdata1:200M;ibdata2:200M:autoextend:max:800M系統表空間不僅可以是文件系統組成的文件,也可以是非文件系統組成的磁碟塊,比如裸設備,定義也很簡單innodb_data_file_path=/dev/nvme0n1p1:3Gnewraw;/dev/nvme0n1p2:2Gnewraw
系統表空間里都有些啥內容?
具體內容包括:double writer buffer、 change buffer、數據字典(MySQL 8.0 之前)、表數據、表索引。
那 MySQL 為什麼現在主流版本默認都不是系統表空間?
究其原因,系統表空間有三個最大的缺點:原因 1:無法做到自動收縮磁碟空間,造成很大的空間浪費。即使它包含的表都被刪掉,這部分空間也不會自動釋放。
二、單表空間
單表空間不同於系統表空間,每個表空間和表是一一對應的關系,每張表都有自己的表空間。具體在磁碟上表現為後綴為 .ibd 的文件。比如表 t1,對應的表空間文件為 t1.ibd917107 96K -rw-r----- 1 mysql mysql 96K 3月 18 16:13 t1.ibd
單表空間如何應用到具體的表呢?
有兩種方式:方式 1:在配置文件中開啟。在配置文件中開啟單表空間設置參數 innodb_filer_per_table,這樣默認對當前庫下所有表開啟單表空間。innodb_file_per_table=1另外也可以直接建表時指定單表空間mysql> create table t1 (id int, r1 char(36)) tablespace innodb_file_per_table;
Query OK, 0 rows affected (0.04 sec)
單表空間除了解決之前說的系統表空間的幾個缺點外,還有其他的優點,詳細如下:
1. truncate table 操作比其他的任何錶空間都快;
2. 可以把不同的表按照使用場景指定在不同的磁碟目錄;
比如日誌表放在慢點的磁碟,把需要經常隨機讀的表放在 SSD 上等。
mysql> create table ytt_dedicated (id int) data directory = '/var/lib/mysql-files';
Query OK, 0 rows affected (0.04 sec)3. 可以用 optimize table 來收縮或者重建經常增刪改查的表。一般過程是這樣的:建立和原來表一樣的表結構和數據文件,把真實數據復制到臨時文件,再刪掉原始表定義和數據文件,最後把臨時文件的名字改為和原始表一樣的。
三、通用表空間
通用表空間先是出現在 MySQL Cluster 里,也就是 NDB 引擎。從 MySQL 5.7 引入到 InnoDB 引擎。通用表空間和系統表空間一樣,也是共享表空間。每個表空間可以包含一張或者多張表,也就是說通用表空間和表之間是一對多的關系。
C. DB2資料庫中的表在硬碟上的存儲位置在哪
這個得查,先查資料庫的位置,再查表所屬的表空間,現查表空間的存儲位置,
執行db2cmd
查看本機所有的資料庫編目
db2 list db directory
聯接資料庫
db2 connect to db_name user uid using pwd
查看錶空間位置
db2 list tablespaces show detail
重裝資料庫後,只要原數據的文件沒有刪除,可以用catalog db 載入機器上原有的資料庫,但是只載入一個表空間或一個表我覺得實現不了。
D. 用sql server 2008創建一個資料庫或表的時候,在保存在磁碟的哪裡,怎麼看
新建資料庫時,右邊的路徑就是資料庫存放到磁碟的具體地方