Assume that a database designer plans to use the following SQL statement to create a relational
table Driver.
CREATE TABLE Driver (
Licence# NUMBER(8),
FName VARCHAR(30),
LName VARCHAR(30),
Address VARCHAR(50),
Phone# CHAR(10),
LicenceClass CHAR,
DOB DATE,
LicenceExpireDate DATE,
IssueState CHAR(3)) PCTFREE 20 TABLESPACE ATO;
Assume that size of disk data block is equal to 4K bytes.
1) Consider a model of data block explained in the course, assume a sample data block consists of a fixed size header (100 bytes), row directory (8 bytes per single entry), and data area. Find the total number of data blocks needed to store all 106 rows in the table Driver.
Show all calculations.
2) Assume that tablespace ATO has free extents of 10MB each. Assume that the initial storage allocation should be large enough to accommodate information about 5*105 drivers.Propose a STORAGE clause for create table statement given above.
Show all calculations.
1. 一条记录的长度=8+30+30+50+10+1+8+8+3=148 bytes
每条记录加8 bytes的指针区=148+8=156
共106条记录 106*156=16536 bytes
每个block的data区=(4*1024-100)*(1-0.2)=3196.8
16536/3196=5.17=6块
需要六个数据块
2. 需要存放的数据 5*105*156=81900 bytes
需要的块数 81900/3196=25.63=27 块
总大小 27*4=108K
CREATE TABLE Driver (
Licence# NUMBER(8),
FName VARCHAR(30),
LName VARCHAR(30),
Address VARCHAR(50),
Phone# CHAR(10),
LicenceClass CHAR,
DOB DATE,
LicenceExpireDate DATE,
IssueState CHAR(3))
PCTFREE 20 TABLESPACE ATO
STORAGE(INITIAL 108K);
2:简单描述table / segment / extent / block之间的关系
table创建时,默认创建了一个data segment,
每个data segment含有min extents指定的extents数,
每个extent据据表空间的存储参数分配一定数量的blocks
3:描述tablespace和datafile之间的关系
一个tablespace可以有一个或多个datafile,每个datafile只能在一个tablespace内,
table中的数据,通过hash算法分布在tablespace中的各个datafile中,
tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。
4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点
本地管理表空间(Locally Managed Tablespace简称LMT)
8i以后出现的一种新的表空间的管理模式,通过位图来管理表空间的空间使用。
字典管理表空间(Dictionary-Managed Tablespace简称DMT)
8i以前包括以后都还可以使用的一种表空间管理模式,通过数据字典管理表空间的空间使用。
动段空间管理(ASSM),
它首次出现在Oracle920里有了ASSM,链接列表freelist被位图所取代,它是一个二进制的数组,
能够迅速有效地管理存储扩展和剩余区块(free block),因此能够改善分段存储本质,
ASSM表空间上创建的段还有另外一个称呼叫Bitmap Managed Segments(BMB 段)。