В базе данных необходимо хранить информацию о шариках (номер, диаметр, цвет). Номер шарика должен быть уникальным. В качестве первичного ключа использовать номер шарика запрещено. Редактирование номера шарика запрещено. Номер шарика должен формироваться минимальным из незанятых других шариков. Шарики могут быть связанны между собой веревочкой. Между любыми двумя шариками не может быть две веревочки. Шарик НЕ может быть связан сам с собой. Шарики не могут быть связаны, если целая часть от деления суммы номеров шариков на остаток от деления номеров кратно 3.
Posts Tagged ‘Oracle’
Моделирование. Шарики.
Воскресенье, 3 июля, 2016Регулярное выражение
Воскресенье, 26 июня, 2016Необходимо написать регулярное выражение + код (или псевдокод) для извлечения нужных значений.
(далее…)
Вопрос
Воскресенье, 19 июня, 2016Как бы вы организовали удаление записей из дочерней таблицы, при удалении записей из родительской таблицы, на которые они ссылаются?
(далее…)
Моделирование. Клиент, заказ и товар
Суббота, 18 июня, 2016Что, в этой модели, не так?
Курсор по таблице
Понедельник, 13 июня, 2016Есть таблица CDR_TEL_YYYYMM
CREATE TABLE CDR_TEL_YYYYMM ("ID_TRANS" NUMBER(10), "N_DURATION" NUMBER(10), "B_PROCESSED" NUMBER(1) DEFAULT 0 ) TABLESPACE MIRAVILD_DATA; COMMENT ON TABLE CDR_TEL_YYYYMM IS 'Проводка'; COMMENT ON COLUMN CDR_TEL_YYYYMM.ID_TRANS IS 'Код проводки'; COMMENT ON COLUMN CDR_TEL_YYYYMM.N_DURATION IS 'Продолжительность проводки'; COMMENT ON COLUMN CDR_TEL_YYYYMM.B_PROCESSED IS 'Признак обработки (0 - не обработан)'; /
Интересные вопросы про Oracle
Воскресенье, 12 июня, 2016- Что будет, если попытаться вставить запись в DUAL?
- Задача – выгрузить 10 миллионов записей из таблицы в плоский файл. Как бы вы это сделали?
- Сколькими способами вы можете на чистом SQL получить ровно 56 строк (неважно какого содержания)? Какой из них быстрее?
- Что такое транспонирование строк? Сколькими разными способами вы сможете это проделать?
Справочник стран
Воскресенье, 12 июня, 2016Есть справочник стран — таблица FW_COUNTRY
CREATE TABLE FW_COUNTRY ("ID_COUNTRY" NUMBER(10), "V_NAME" VARCHAR2(64), "B_DELETED" NUMBER(1) DEFAULT 0 ) TABLESPACE MIRAVILD_DATA; COMMENT ON TABLE FW_COUNTRY IS 'Страна'; COMMENT ON COLUMN FW_COUNTRY.ID_COUNTRY IS 'Код страны'; COMMENT ON COLUMN FW_COUNTRY.V_NAME IS 'Наименование страны'; COMMENT ON COLUMN FW_COUNTRY.B_DELETED IS 'Признак удаления (0 - активна)'; /
Курс валюты
Воскресенье, 12 июня, 2016Имеется таблица изменений курса валют T_CURRENCY
CREATE TABLE T_CURRENCY ("CODE" VARCHAR2(32), "DATE_C" DATE, "VALUE" NUMBER ) TABLESPACE MIRAVILD_DATA; COMMENT ON TABLE T_CURRENCY IS 'Валюта'; COMMENT ON COLUMN T_CURRENCY.CODE IS 'Код валюты'; COMMENT ON COLUMN T_CURRENCY.DATE_C IS 'Дата изменения курса'; COMMENT ON COLUMN T_CURRENCY.VALUE IS 'Значение курса'; /
Дублирующиеся записи
Воскресенье, 5 июня, 2016При выполнении задачи – с мигрировать данные по адресам для контрактов, необходимо произвести проверку на наличие дублированных записей. Известно, что у одного контракта может быть только один адрес.
(далее…)
Задачка на SQL
Воскресенье, 29 мая, 2016Существует таблица, содержащая статусы доставки сообщений:
CREATE TABLE SMS_MESSAGE_DLV_STATUS (sms_message_id NUMBER(20), dlv_status VARCHAR2(20), dlv_status_at TIMESTAMP ) TABLESPACE MIRAVILD_DATA; COMMENT ON TABLE SMS_MESSAGE_DLV_STATUS IS 'Статус сообщения'; COMMENT ON COLUMN SMS_MESSAGE_DLV_STATUS.sms_message_id IS 'Идентификатор статуса'; COMMENT ON COLUMN SMS_MESSAGE_DLV_STATUS.dlv_status IS 'Статус доставки сообщения'; COMMENT ON COLUMN SMS_MESSAGE_DLV_STATUS.dlv_status_at IS 'Дата сообщения'; CREATE UNIQUE INDEX "U_IDX_SMS_MESSAGE_STATUS" ON SMS_MESSAGE_DLV_STATUS (sms_message_id) TABLESPACE MIRAVILD_INDEX; ALTER TABLE SMS_MESSAGE_DLV_STATUS ADD CONSTRAINT "PK_SMS_MESSAGE_STATUS" PRIMARY KEY (sms_message_id) USING INDEX "U_IDX_SMS_MESSAGE_STATUS" ENABLE VALIDATE; ALTER TABLE SMS_MESSAGE_DLV_STATUS MODIFY (dlv_status CONSTRAINT SMS_MESSAGE_STATUS_NN NOT NULL ENABLE); ALTER TABLE SMS_MESSAGE_DLV_STATUS MODIFY (dlv_status_at CONSTRAINT SMS_MESSAGE_AT_NN NOT NULL ENABLE); /