Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx58 / Лабораторная работа 1 (2).docx
Скачиваний:
16
Добавлен:
01.08.2013
Размер:
25.79 Кб
Скачать

Лабораторная работа №1

Задание 1.

SQL> Select * from USER_TABLESPACES

2 ;

TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS

------------------------------ ---------- -------------- ----------- -----------

MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN

----------- ------------ ---------- --------- --------- --------- --- ----------

ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG

--------- ------ -------- ----------- ---

SYSTEM 8192 65536 1

2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL

SYSTEM MANUAL DISABLED NOT APPLY NO

UNDOTBS1 8192 65536 1

2147483645 65536 ONLINE UNDO LOGGING NO LOCAL

SYSTEM MANUAL DISABLED NOGUARANTEE NO

TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS

------------------------------ ---------- -------------- ----------- -----------

MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN

----------- ------------ ---------- --------- --------- --------- --- ----------

ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG

--------- ------ -------- ----------- ---

SYSAUX 8192 65536 1

2147483645 65536 Online permanent logging no local

SYSTEM AUTO DISABLED NOT APPLY NO

TEMP 8192 1048576 1048576 1

0 1048576 Online temporary nologging no local

TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS

------------------------------ ---------- -------------- ----------- -----------

MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN

----------- ------------ ---------- --------- --------- --------- --- ----------

ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG

--------- ------ -------- ----------- ---

UNIFORM MANUAL DISABLED NOT APPLY NO

USERS 8192 65536 1

2147483645 65536 Online permanent logging no local

SYSTEM AUTO DISABLED NOT APPLY NO

Задание 2.

Создать однотабличную базу данных, заполнить ее данными и проверить ее содержимое.

SQL> CREATE TABLE table1 (attr1 VARCHAR2(5) NOT NULL, attr2 INT)

2 ;

Table created.

Задание 3.

C помощью представления USER_EXTENTS определить размеры экстентов (количество байтов и блоков данных) в сегментах, выделенных объектам базы данных, и найти сегменты с числом экстентов большим одного. Результаты отметить в отчете.

SQL> Select * from USER_EXTENTS;

SEGMENT_NAME

--------------------------------------------------------------------------------

PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME

------------------------------ ------------------ ------------------------------

EXTENT_ID BYTES BLOCKS

---------- ---------- ----------

TABLE1

TABLE USERS

0 65536 8

Задание 3.

Используя представления USER_SEGMENTS и USER_TABLES, определить табличное пространство, в котором по умолчанию создана таблица (имя таблицы хранится в столбце segment_name), и отметить это в отчете.

SQL> Select * from USER_SEGMENTS;

SEGMENT_NAME

--------------------------------------------------------------------------------

PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME

------------------------------ ------------------ ------------------------------

BYTES BLOCKS EXTENTS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS

---------- ---------- ---------- -------------- ----------- -----------

MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS BUFFER_

----------- ------------ ---------- --------------- -------

TABLE1

TABLE USERS

65536 8 1 65536 1

2147483645 DEFAULT

Ответ SYSTEM

Задание 4.

Скорректировать описание одной из таблиц многотабличной базы данных, разместив ее в ТП SYSAUX

SQL> alter table table1 move tablespace sysaux;

Table altered.

Задание 5.

CREATE TABLE ARTIST (

ArtistId int PRIMARY KEY,

Name varchar(25) NOT NULL,

Nationality varchar(30) NULL,

Birthdate date NULL);

CREATE UNIQUE INDEX ArtistNamelndex ON ARTIST(Name);

CREATE TABLE CUSTOMER (

CustomerID int NOT NULL,

Name varchar(25) NOT NULL,

Street varchar(30) NULL,

City varchar(35) NULL,

State varchar(2) NULL,

Zip varchar(5) NULL,

Area_Code varchar(3) NULL,

Phone Number varchar(8) NULL);

ALTER TABLE CUSTOMER

ADD CONSTRAINT CustomerPK PRIMARY KEY ( CustomerlD );

CREATE INDEX CustomerNamelndex ON CUSTOMER(Name);

CREATE TABLE CUSTOMER_ARTIST_INT(

ArtistID int NOT NULL,

CustomerlD int NOT NULL);

ALTER TABLE CUSTOMER_ARTIST_INT

ADD CONSTRAINT CustomerArtistPK PRIMARY KEY ( ArtistID, CustomerlD );

ALTER TABLE CUSTOMER_ARTIST_INT

ADD CONSTRAINT ArtistlntFK FOREIGN KEY(ArtistlD) REFERENCES ARTIST;

ALTER TABLE CUSTOMER_ARTIST_INT

ADD CONSTRAINT CustomerIntFK FOREIGN KEY(CustomerlD) REFERENCES CUSTOMER;

INSERT INTO ARTIST (ArtistID, Name, Nationality) Values

(1, 'Tobey’, 'US');

INSERT INTO CUSTOMER (CustomerID, Name, Area_Code, Phone_Number) Values

(1001, 'Jeffrey Janes', '206', '555-1234');

INSERT INTO CUSTOMER_ARTIST_INT (ArtistID, CustomerID) Values (1, 1001);