МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Примеры запросов к базе данных





Приведем примеры некоторых простых и многотабличных запросов к базе данных.

1). Данный запрос извлекает все данные из таблицы TARIFF, за исключением идентификатора.

Реляционная алгебра:

TITLE, PRICE_PER_CONVERSATION_MINUTE, SMS_PRICE (TARIFF)

Реляционное исчисление на кортежах:

{T.TITLE, T.PRICE_PER_CONFERSATION_MINUTES, T.SMS_PRICE | $(T)(TARIFF(T))}

Запрос на язык SQL:

SELECT TITLE, PRICE_PER_CONVERSATION_MINUTE, SMS_PRICE

FROM TARIFF

2). Данный запрос выводит имена всех клиентов

Реляционная алгебра:

NAME(CLIENT_INFO)

Реляционное исчисление на кортежах:

{C.NAME | $(C)(CLIENT_INFO(C))}

Запрос на язык SQL:

SELECT NAME

FROM CLIENT_INFO

3) Данный запрос выводит все зарегистрированные номера телефонов

Реляционная алгебра:

PHONE_NUMBER (TELEPHONES)

Реляционное исчисление на кортежах:

{T.PHONE_NUMBER | $(T)(TELEPHONES(T))}

Запрос на язык SQL:

SELECT PHONE_NUMBER

FROM TELEPHONES

4) Данный запрос показывает всех клиентов и их телефонные номера.

Реляционная алгебра:

PHONE_NUMBER, NAME (TELEPHONES×CLIENT_INFO)

Реляционное исчисление на кортежах:

{C.NAME,T.PHONE_NUMBER|$(T)(TELEPHINES(T))^$(C)(CLIENT_INFO(C))^C.PASSPORT_NUMBER=T.PASSPORT_NUMBER}

Запрос на язык SQL:

SELECT T.PHONE_NUMBER, C.NAME

FROM TELEPHONES T, CLIENT_INFO C

WHERE T.PASSPORT_NUMBER = C.PASSPORT_NUMBER

5) Данный запрос показывает все подключённые услуги у всех клиентов.

Реляционная алгебра:

TITLE,PHONE_NUMBER(TELEPHONES×(SERVICE×TELEPHONES_SERVICES))

Реляционное исчисление на кортежах:

{S.TITLE,T.PHONE_NUMBER|$(S)(SERVICE(S))^$(TS)(TELEPHONE_SERVICES(TS))^ $(T)(TELEPHONES(T))^T.ID_NUM=TS.ID_NUM^TS.ID_SERVICE=S.ID_SERVICE }

Запрос на язык SQL

SELECT S.TITLE, T.PHONE_NUMBER

FROM SERVICE S, TELEPHONES T, TELEPHONES_SERVICES TS

WHERE (T.ID_NUM = TS.ID_NUM) AND (TS.ID_SERVICE = S.ID_SERVICE)

6) Данный запрос выводит звонки всех абонентов с ценой потраченной

на разговор, отсортированных по дате.

Реляционная алгебра:

DATE_OF_CALL, PHONE_NUMBER, CALL_PRICE (TELEPHONES × DETAILED_CALLS)

Реляционное исчисление на кортежах:

{D.DATE_OF_CALL, T.PHONE_NUMVER, D.CALL_PRICE |$(D)(DETAILED_CALLS(D))^$(T)(TELEPHONES (T))^T.ID_NUM=D.ID_NUM}

Запрос на язык SQL

SELECT D.DATE_OF_CALL, T.PHONE_NUMBER, D.CALL_PRICE

FROM DETAILED_CALLS D, TELEPHONES T

WHERE T.ID_NUM = D.ID_NUM

ORDER BY D.DATE_OF_CALL

7) Данный запрос выводит все операции пополнения баланса, после 01.05.2015 года.

Реляционная алгебра:

REGARGE_SUM,DATE_RECHARGEDATE_RECHARGE>01.05.2015(RECHARGE_BALANCE))

Реляционное исчисление на кортежах:

{R.RECHARGE_SUM,R.DATE_RECHARGE|$(R)RECHARGE_BALANCE(R) ^ R.DATE_RECHARGE >01.05.215) }

Запрос на язык SQL

SELECT RECHARGE_SUM, DATE_RECHARGE

FROM RECHARGE_BALANCE

WHERE (DATE_RECHARGE > '01.05.2015')

8) Данный запрос выводит ФИО и адрес прописки всех пользователей, обслуживание которых отключено.

Реляционная алгебра:

NAME, ADRESSIS_ACTIVE == true (CLIENT_INFO))

Реляционное исчисление на кортежах:

{C.NAME, C.ADRESS |$(C)CLIENT_INFO(C) ^|$(T)TELEPHONES(T) ^ T.IS_ACTIVE =True) }

Запрос на язык SQL

SELECT C.NAME, C.ADDRESS

FROM CLIENT_INFO C, TELEPHONES T

WHERE (T.PASSPORT_NUMBER = C.PASSPORT_NUMBER) and ( T.IS_ACTIVE = '0')

9) Данный запрос выводит название самой дешёвой услуги

Реляционная алгебра:

πtitlemin(MONTHLY_PRICE)(SERVICE))

Реляционное исчисление на кортежах:

{S.TITLE |$(S)SERVICE(S) ^ MIN(S.MONTHLY_PRICE) }

Запрос на язык SQL

SELECT TITLE

FROM SERVICE

WHERE MONTHLY_PRICE = ( SELECT MIN(MONTHLY_PRICE) FROM SERVICE )

10) Данный запрос выводит ID и номер телефона всех абонентов, чьи услуги подключены на неограниченное время.

Реляционная алгебра:

ID_NUM, PHONE_NUMBERDATE_DISCTONNECTION <> NULL (TELEPHONES_SERVICES) ×TELEPHONES)

Реляционное исчисление на кортежах:

{T.ID_NUM, T.PHONE_NUMBER |$(T)TELEPHONES(T) ^ $(TS)(TELEPHONES_SERVICES(TS)) ^ (TS.DATE_DISCONNECTION <> NULL)}

Запрос на язык SQL

SELECT ID_NUM, PHONE_NUMBER

FROM TELEPHONES

WHERE ID_NUM IN (SELECT ID_NUM

FROM TELEPHONES_SERVICES

WHERE DATE_DISCONNECTION IS NOT NULL)

11) Данный запрос выводит историю звонков всех абонентов

Реляционная алгебра:

ID_DETAIL, CALL_NUMBER, PHONE_NUMBER (TELEPHONES×DETAILED_CALLS)

Реляционное исчисление на кортежах:

{D.ID_DETAILED, D.CALL_NUMBER, T.PHONE_NUMBER | $(T)(TELEPHINES(T))^ $(D)(DETAILED_CALLS(D))^T.ID_NUM = D.ID_NUM }

Запрос на язык SQL

SELECT D.ID_DETAIL, D.CALL_NUMBER, T.PHONE_NUMBER

FROM TELEPHONES T, DETAILED_CALLS D

WHERE T.ID_NUM = D.ID_NUM

12) Данный запрос выводит название тарифа абонента с паспортным номером 5408203000

Реляционная алгебра

title(∏((σPASSPORT_NUMBER=5408203000(CLIENT_INFO)×TELEPHONES)×DETAILED_CALLS)

Реляционное исчисление на кортежах:

{T.TITLE|$(T)(TARIFF(T))^$(TEL)(TELEPHONES(TEL)^$(CI)(CLIENT_INFO(CI) ^ CI.PASSPORT_NUMBER = TEL.PASSPORT_NUM BER ^ CI.PASSPORT_NUMBER = 5408203000}

Запрос на язык SQL:

SELECT T.TITLE

FROM TARIFF T

WHERE ID_TARIFF IN (SELECT TEL.ID_TARIFF

FROM TELEPHONES TEL, CLIENT_INFO CI

WHERE (CI.PASSPORT_NUMBER = 5408203000) AND

(CI.PASSPORT_NUMBER = TEL.PASSPORT_NUMBER))

13) Данный запрос выводит среднюю цену одного звонка среди клиентов женского пола

Реляционная алгебра

AVG(∏CALL_PRICE(∏(σSEX= ‘Ж(CLIENT_INFO) × TELEPHONES) ×DETAILED_CALLS)

Реляционное исчисление на кортежах:

{AVG(D.CALL_PRICE)|$(D)(DETAILED_CALLS(D))^$(T)(TELEPHONES(T)^$(CI)(CLIENT_INFO(CI)^CI.PASSPORT_NUMBER=TEL.PASSPORT_NUM BER ^ CI.SEX = “Ж”}

Запрос на язык SQL:

SELECT AVG(CALL_PRICE) AS AVERAGE_PRICE

FROM DETAILED_CALLS

WHERE ID_NUM in (SELECT T.ID_NUM

FROM TELEPHONES T, CLIENT_INFO C

WHERE (C.SEX = 'Ж') AND (C.PASSPORT_NUMBER = T.PASSPORT_NUMBER))

14) Данный запрос выводит номера всех клиентов, которые пополняли баланс после '18.04.2015'

Реляционная алгебра

PHONE_NUMBERDATE_RECHARGE>’18.04.2015’(RECHARGE_BALANCE)×TELEPHONES)

Реляционное исчисление на кортежах:

{T.PHONE_NUMBER|$(T)(TELEPHONES(T))^$(R)(RECHARGE_BALANCE(R)^CI.PASSPORT_NUMBER=TEL.PASSPORT_NUMBER^R.DATE_RECHARGE > “'18.04.2015'”}

Запрос на язык SQL:

SELECT T.PHONE_NUMBER

FROM TELEPHONES T

WHERE ID_NUM in ( SELECT ID_NUM

FROM RECHARGE_BALANCE

WHERE DATE_RECHARGE > '18.04.2015' )

15) Данный запрос выводит номера телефонов и имена всех абонентов женского пола

Реляционная алгебра

PHONE_NUMBER,NAMESEX=”Ж(TELEPHONES)×CLIENT_INFO)

Реляционное исчисление на кортежах:

{T.PHONE_NUMBER,C.NAME|$(T)(TELEPHONES(T))^$(C)(CLIENT_INFO(C)^C.PASSPORT_NUMBER=T.PASSPORT_NUMBER^C.SEX=’Ж}

Запрос на язык SQL:

SELECT C.NAME, T.PHONE_NUMBER

FROM TELEPHONES T, CLIENT_INFO C

WHERE (T.PASSPORT_NUMBER = C.PASSPORT_NUMBER) AND (C.SEX = 'Ж')

16) Данный запрос выводит дату отключения, номера телефонов абонентов и название не бесплатных услуг подключённых у каждого из них.

Реляционная алгебра

TITLE,PHONE_NUBMER,DATE_DISCONNECTIONMONTHLY_PRICE>0(SERVICE)×TELEPHONES×TELEPHONE_SERVICES)

Реляционное исчисление на кортежах:

{T.PHONE_NUMBER,C.NAME|$(T)(TELEPHONES(T))^$(C)(CLIENT_INFO(C)^C.PASSPORT_NUMBER=T.PASSPORT_NUMBER^C.SEX=’Ж’}

Запрос на язык SQL:

SELECT S.TITLE,T.PHONE_NUMBER, TS.DATE_DISCONNECTION

FROM SERVICE S, TELEPHONES T, TELEPHONES_SERVICES TS

WHERE (S.ID_SERVICE = TS.ID_SERVICE) and ( T.ID_NUM = TS.ID_NUM) and (MONTHLY_PRICE > 0)

17) Данный запрос выводит адреса всех активных пользователей

Реляционная алгебра

ADRESS,PHONE_NUMBERIS_ACTIVE=1(TELEPHONES)×CLIENT_INFO)

Реляционное исчисление на кортежах:

{T.PHONE_NUMBER,C.ADRESS|$(T)(TELEPHONES(T))^$(C)(CLIENT_INFO(C)^C.PASSPORT_NUMBER=T.PASSPORT_NUMBER^C.IS_ACTIVE=’1’}

Запрос на язык SQL:

SELECT C.ADDRESS, T.PHONE_NUMBER

FROM CLIENT_INFO C, TELEPHONES T

WHERE (C.PASSPORT_NUMBER = T.PASSPORT_NUMBER) AND (T.IS_ACTIVE = 1)

18) Данный запрос выводит названия тарифов и названия всех подключённый услуг у каждого абонента.

Реляционная алгебра

TE.PHONE_NUMBER,TA.TITLE,S.TITLE(TELEPHONES×TARIFF,SERVICE,TELEPHONES_SERVICES)

Реляционное исчисление на кортежах:

{TE.PHONE_NUMBER,TA.TITLE,S.TITLE|$(TE)(TELEPHONES(TE))^$(TA)(TARIFF(TA)^$(S)(SERVICE(S)^$(TS)(TELEPHONES_SERVICES(TS)^TE.ID_TARIFF=TA.ID_TARIFF^TE.ID_NUM=TS.ID_NUM^S.ID_NUM=TS.ID_SERVICE}

Запрос на языке SQL:

SELECT TE.PHONE_NUMBER, TA.TITLE, S.TITLE

FROM TELEPHONES TE, TARIFF TA, SERVICE S, TELEPHONES_SERVICES TS

WHERE (TE.ID_TARIFF = TA.ID_TARIFF) AND (TE.ID_NUM = TS.ID_NUM) AND (S.ID_SERVICE = TS.ID_SERVICE)

19) Данный запрос выводит номера телефонов и услуги подключенные к ним, дата подключения которых находится между 1.06.2015 и 1.07.2015

Реляционная алгебра

TITLE,PHONE_NUMBERbetween1.06.2015and1.07.2015(DATE_CONNECTION)×TELEPHONES×TELEPHONES_SERVICES)

Реляционное исчисление на кортежах:

{S.TITLE,T.PHONE_NUMBER|$(T)(TELEPHONES(T)^$(S)(SERVICE(S)^$(TS)(TELEPHONES_SERVICES(TS)^T.ID_NUM=TS.ID_NUM^S.ID_SERVICE=TS.ID_SERVICE^TS.DATE_CONNECTION >’1.06.2015’^TS.DATE_CONNECTION<’1.07.2015’}

Запрос на языке SQL:

SELECT S.TITLE, T.PHONE_NUMBER

FROM SERVICE S, TELEPHONES T, TELEPHONES_SERVICES TS

WHERE (S.ID_SERVICE = TS.ID_SERVICE) AND (T.ID_NUM = TS.ID_NUM) AND (TS.DATE_CONNECTION BETWEEN '1.06.2015' AND '1.07.2015')

20) Данный запрос находит когда последний раз была подключена каждая из услуг

Реляционная алгебра

MAX(DATE_CONNECTION),TELEPHONE_SERVICES(TELEPHONE_SERVICES)

Реляционное исчисление на кортежах:

{MAX(T.DATE_CONNECTION),ID_TELEPHONE_SERVICES|$(T)(TELEPHONES(T)}

Запрос на языке SQL:

SELECT MAX(DATE_CONNECTION), ID_TELEPHONE_SERVICES

FROM TELEPHONE_SERVICES

GROUP BY ID_TELEPHONE_SERVICES

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.