База ответов ИНТУИТ

Основы проектирования реляционных баз данных

<<- Назад к вопросам

Таблица базы данных СУБД SQLBASE создана командами
CREATE TABLE CUSTOMER(CUSTOMER_ID CHAR(5) NOT NULL,CUSTOMER_NAME VARCHAR(10),CUSTOMER_ADDR VARCHAR(30),CUSTOMER_RATING CHAR(5),PRIMARY KEY(CUSTOMER_ID))PCTFREE 15;CREATE UNIQUE CLUSTERED HASHED INDEX NDX_CUSTOMER ON CUSTOMER (CUSTOMER_ID) SIZE 47628;
Число строк в таблице = 50000. Оцените ее размер (в страницах).

(Отметьте один правильный вариант ответа.)

Варианты ответа
7800
7938(Верный ответ)
8937
Похожие вопросы
Таблица базы данных СУБД SQLBASE и ее индекс созданы командами
CREATE TABLE CONTACT(CUSTOMER_ID CHAR(5) NOT NULL,CONTACT_NAME VARCHAR(15) NOT NULL,CONTACT_PHONE DECIMAL(10,0),CONTACT_TEXT LONG VARCHAR,PRIMARY KEY (CUSTOMER_ID, CONTACT_NAME)FOREING KEY CUSTKEY (CUSTOMER_ID) REFERENCES CUSTOMER ON DELETE RESTRICT)PCTFREE 15;CREATE UNIQUE INDEX NDX_CONTACT ON CONTACTON CONTACT (CUSTOMER_ID, CONTACT_NAME)PCTFREE 10;
Число строк в таблице = 175000. Оцените размер индекса (в страницах).
Таблица базы данных СУБД SQLBASE создана командой
CREATE TABLE CONTACT(CUSTOMER_ID CHAR(5) NOT NULL,CONTACT_NAME VARCHAR(15) NOT NULL,CONTACT_PHONE DECIMAL(10,0),CONTACT_TEXT LONG VARCHAR,PRIMARY KEY (CUSTOMER_ID, CONTACT_NAME)FOREING KEY CUSTKEY (CUSTOMER_ID) REFERENCES CUSTOMER ON DELETE RESTRICT)PCTFREE 15;
Число строк в таблице = 175000. Средняя длина поля LONG VAR CHAR = 10. Оцените ее размер (в страницах).
В базе данных Oracle имеется три табличных пространства - системное с именем sys_ts, по умолчанию с именем default_ts и пользователя Usr100 с именем usr100_ts. Пользователь Usr100 создает таблицу командой
CREATE TABLE CONTACT(CUSTOMER_ID CHAR(5) NOT NULL,CONTACT_NAME VARCHAR(25) NOT NULL,CONTACT_PHONE DECIMAL(10,0),CONTACT_TEXT LONG VARCHAR,PRIMARY KEY (CUSTOMER_ID, CONTACT_NAME)FOREING KEY CUSTKEY (CUSTOMER_ID) REFERENCES CUSTOMER ON DELETE RESTRICT)PCTFREE 15;
В каком табличном пространстве будет находиться таблица CONTACT?
Решите задачу разрешения связи многие-ко-многим для следующей ситуации. Дано отношение многие ко многим

Требуется разрешить это отношение.

Решение.

create table CUSTOMER(CUSTOMER_NO		NUMBER(6) 		not null,CUSTOMER_NAME		VARCHAR2(45)	null,CUSTOMER_ADDRESS	VARCHAR2(35)	null,CUSTOMER_CITY		VARCHAR2(45)	null,CUSTOMER_STATE	CHAR(2)		null,CUSTOMER_ZIP		NUMBER(5)		null,primary key (CUSTOMER_NO))create table SALESMAN(SALESMAN_NO		NUMBER(6)		not null,SALESMAN_NAME 	VARCHAR2(45) 	null,SALESMAN_EMP_NO	NUMBER(6)		null,SALESMAN_YTD_SALES	NUMBER(9,2)	null,SALESMAN_QUOTA	NUMBER(6)		null,SALESMAN_PROD_GRP	CHAR(8)		null,primary key (SALESMAN_NO))create table CUSTOMER_ SALESMAN(CUSTOMER_NO	NUMBER(6)		not null,SALESMAN_NO	NUMBER(6)		not null,primary key (CUSTOMER_NO, SALESMAN_NO),foreing key (CUSTOMER_NO) references CUSTOMER,foreign key  (SALESMAN_NO) references SALESMAN)
Решите задачу разрешения связи многие-ко-многим для следующей ситуации. Дано отношение многие ко многим

Требуется разрешить это отношение.

Решение.

create table CUSTOMER(CUSTOMER_NO		NUMBER(6) 		not null,CUSTOMER_NAME		VARCHAR2(45)	null,CUSTOMER_ADDRESS	VARCHAR2(35)	null,CUSTOMER_CITY		VARCHAR2(45)	null,CUSTOMER_STATE	CHAR(2)		null,CUSTOMER_ZIP		NUMBER(5)		null,primary key (CUSTOMER_NO))create table SALESMAN(SALESMAN_NO		NUMBER(6)		not null,SALESMAN_NAME 	VARCHAR2(45) 	null,SALESMAN_EMP_NO	NUMBER(6)		null,SALESMAN_YTD_SALES	NUMBER(9,2)	null,SALESMAN_PROD_GRP	CHAR(8)		null,primary key (SALESMAN_NO))create table CUSTOMER_ SALESMAN(CUSTOMER_NO	NUMBER(6)			not null,SALESMAN_NO	NUMBER(6)			not null,SALESMAN_QUOTA	NUMBER(6)		null,primary key (CUSTOMER_NO, SALESMAN_NO),foreing key (CUSTOMER_NO) references CUSTOMER,foreign key  (SALESMAN_NO) references SALESMAN)
Рассмотрим базу данных обработки заказов и создадим индексный кластер для хранения одной из таблиц базы данных - Customer.
CREATE CLUSTER cust_c (cust_id varchar(8))INDEX;CREATE INDEX cust_c_id ON CLUSTER cust_c;CREATE TABLE cust (cust_id 	varchar2(8) NOT NULL REFERENCES customers,ent#		number	NOT NULL,date_ent	date		NOT NULL,comment	varchar2(60)	NOT NULL,…PRIMARY KEY(cust_id, ent#)) CLUSTER cust_c (cust_id);

Созданная таблица кластеризована по колонке cust_id, и все специальные записи о клиента в колонке comment будут расположены в одной странице физической базы данных, либо в смежных страницах. Их можно выбрать за одну операцию поиска по индексу:

SELECT date_ent, comment FROM cust_c WHERE cust_id=:cur_cust;

Комментарий. Ограничение первичного ключа в операторе CREATE сделано, чтобы избежать создания второго индекса.

Является ли такое решение преимуществом с точки зрения утверждения: "Очень немного строк о клиентах имеют специальные записи о клиенте".

Решите задачу разрешения связи многие-ко-многим для следующей ситуации. Дано отношение многие ко многим

Требуется разрешить это отношение.

Решение.

create table CUSTOMER(CUSTOMER_NO		NUMBER(6) 		not null,CUSTOMER_NAME		VARCHAR2(45)	null,CUSTOMER_ADDRESS	VARCHAR2(35)	null,CUSTOMER_CITY		VARCHAR2(45)	null,CUSTOMER_STATE	CHAR(2)		null,CUSTOMER_ZIP		NUMBER(5)		null,primary key (CUSTOMER_NO))create table SALESMAN(SALESMAN_NO		NUMBER(6)		not null,SALESMAN_NAME 	VARCHAR2(45) 	null,SALESMAN_EMP_NO	NUMBER(6)		null,SALESMAN_YTD_SALES	NUMBER(9,2)	null,SALESMAN_QUOTA	NUMBER(6)		null,SALESMAN_PROD_GRP	CHAR(8)		null,primary key (SALESMAN_NO))create table CUSTOMER_ SALESMAN(CUSTOMER_NO	NUMBER(6)		not null,SALESMAN_NO	NUMBER(6)		not null,primary key (CUSTOMER_NO, SALESMAN_NO))
Решите задачу разрешения связи многие-ко-многим для следующей ситуации. Дано отношение многие ко многим

Требуется разрешить это отношение.

Решение.

create table CUSTOMER(CUSTOMER_NO		NUMBER(6) 		not null,CUSTOMER_NAME		VARCHAR2(45)	null,CUSTOMER_ADDRESS	VARCHAR2(35)	null,CUSTOMER_CITY		VARCHAR2(45)	null,CUSTOMER_STATE	CHAR(2)		null,CUSTOMER_ZIP		NUMBER(5)		null,primary key (CUSTOMER_NO))create table SALESMAN(SALESMAN_NO		NUMBER(6)		not null,SALESMAN_NAME 	VARCHAR2(45) 	null,SALESMAN_EMP_NO	NUMBER(6)		null,SALESMAN_YTD_SALES	NUMBER(9,2)	null,SALESMAN_QUOTA	NUMBER(6)		null,SALESMAN_PROD_GRP	CHAR(8)		null,primary key (SALESMAN_NO))create table CUSTOMER_ SALESMAN(CUSTOMER_NO		NUMBER(6)		not null,SALESMAN_NO		NUMBER(6)		not null)
Рассмотрим базу данных обработки заказов и создадим индексный кластер для хранения одной из таблиц базы данных - Customer.
CREATE CLUSTER cust_c (cust_id varchar(8))INDEX;CREATE INDEX cust_c_id ON CLUSTER cust_c;CREATE TABLE cust (cust_id 	varchar2(8) NOT NULL REFERENCES customers,ent#		number	NOT NULL,date_ent	date		NOT NULL,comment	varchar2(60)	NOT NULL,…PRIMARY KEY(cust_id, ent#)) CLUSTER cust_c (cust_id);

Созданная таблица кластеризована по колонке cust_id, и все специальные записи о клиента в колонке comment будут расположены в одной странице физической базы данных либо в смежных страницах. Их можно выбрать за одну операцию поиска по индексу:

SELECT date_ent, comment FROM cust_c WHERE cust_id=:cur_cust;

Комментарий. Ограничение первичного ключа в операторе CREATE сделано, чтобы избежать создания второго индекса.

Является ли такое решение преимуществом с точки зрения утверждения: "Все записи о клиентах выбираются для ежегодного отчета".

Рассмотрим базу данных обработки заказов и создадим индексный кластер для хранения одной из таблиц базы данных - Customer.
CREATE CLUSTER cust_c (cust_id varchar(8))INDEX;CREATE INDEX cust_c_id ON CLUSTER cust_c;CREATE TABLE cust (cust_id 	varchar2(8) NOT NULL REFERENCES customers,ent#		number	NOT NULL,date_ent	date		NOT NULL,comment	varchar2(60)	NOT NULL,…PRIMARY KEY(cust_id, ent#)) CLUSTER cust_c (cust_id);

Созданная таблица кластеризована по колонке cust_id, и все специальные записи о клиента в колонке comment будут расположены в одной странице физической базы данных, либо в смежных страницах. Их можно выбрать за одну операцию поиска по индексу:

SELECT date_ent, comment FROM cust_c WHERE cust_id=:cur_cust;

Комментарий. Ограничение первичного ключа в операторе CREATE сделано, чтобы избежать создания второго индекса.

Является ли такое решение преимуществом с точки зрения утверждения: "При выборке специальных записей о клиенте для клиента выбираются все такие записи".