Программирование >>  Полное сканирование таблицы 

1 ... 45 46 47 [ 48 ] 49 50 51 ... 107


сы. В таблице Customers 5 ООО ООО строк, в таблице Zi pCcdes 250 ООО строк, в таблице ZIP Demographi cs 20 строк, и в таблице Regi ons 5 строк. Предполагается, что внешние ключи никогда не равны nul 1 и всегда указывают на допустимые первичные ключи. Следующий запрос возвращает 2 ООО ООО строк: SELECT COUNK*) FROM Customers С WHERE Activejlag = V AND Profiledjlag = N:

2. Создайте диаграмму для следующего запроса: SELECT ...

FROM Regions R. Zip Codes Z. Customers C. Customer Mailings CM.

Mailings M, Catalogs Cat. Brands В WHERE R.Region ID(+) = Z.Region ID

AND Z.ZIP Code(+) = C.ZIP Code

AND C.CustomerJD = CM.Customer ID

AND CM.MailingJD = M.MailingJD

AND M.CatalogJD = Cat.CatalogJD

AND Cat.BrandJD = B.BrandJD

AND B.Name = OhSoGreen

AND M.Mailing Date >= SYSDATE-365 GROUP BY... ORDER BY ...

Начните с тех же предположений и статистики, что и в упражнении 1. В таблице Customer Mailings находится 30 000 000 строк. В таблице Mailings - 40 000 строк. В Catalogs 200 строк. В Brands 12 строк и есть альтернативный уникальный ключ по Name. Следующий запрос возвращает 16 ООО строк: SELECT COUNK*) FROM Mailings М WHERE Mailing Date >= SYSDATE-365:

3. Создайте диаграмму для следующего запроса: SELECT ...

FROM Codejranslations SPOT. Codejranslations TRCT. Codejranslations CTCT.

Products P. ProductJines PL. Inventoryjalues IV. Brands B.

ProductJocations Loc. Warehouses W. Regions R.

InventoryJaxingjntities ITx. InventoryJax Rates ITxR. Consignees С WHERE W.RegionJD = R.Region ID AND Loc.Warehouse ID = W.WarehouseJD

AND W. InventoryJax1ngJntity ID = ITx. InventoryJaxing Entity ID

AND ITx. InventoryJaxingJntity IO = ITxR. InventoryJaxingJntityJD

AND ITxR.Effect1ve Start Date <= SYSDATE

AND ITxR.EffectiveJnd Date > SYSDATE

AND ITxR.Rate > 0

AND P.Product ID = Loc.Product ID

AND LOC.Quantity > 0

AND P.Product Line ID = PL.ProductJ1ne ID(+) AND P. Product ID = IV. Product JD AND P.TaxableJnventory Flag = Y AND P.ConsigneeJD = C.ConsigneeJD(+) AND P.Strategic Product Code = SPCT.Code AND SPOT. Codejype = STRATEGICJRODUCT AND P.Turnover Rate Code = TRCT.Code AND TRCT.Codejype = TURNOVER RATE AND P.ConsignmentJype Code = CTCT.CODE AND CTCT.Codejype = CONSIGNMENTJYPE AND IV.Effective Start Date <= SYSDATE AND IV.Effective End Date > SYSDATE AND IV.UnitJalue > 0 AND P.Brand ID = B.BrandJD AND B.Name = 2Much$ AND ITX.Tax Day OfJear = ОЕСЗГ GROUP BY... ORDER BY ...



Начните с тех же предположений и статистики, что и в упражнениях 1 и 2, за исключением того, что значение поля W. InventoryTaxi ngEnti tylD указывает на допустимую налоговую сущность, только в тех случаях, когда она не равна nul 1, то есть в 5 % случаев. Количества строк для таблиц следующие:

Products = В.500 Product Lines = 120 Inventoryjalues = 34000 Brands = 12

Product Locations = 176000 Warehouses = 80 Regions = 5

Inventory Taxing Entities = 4 Inventory Tax Rates = 7 Consignees = 14

В таблице Code Transl ati ons существует первичный ключ из двух частей: Code Type, Code.

В Inventory Val ues и Inventory Tax Rates есть зависящий от времени первичный ключ, состоящий из идентификатора и эффективного диапазона времени, так, что любая данная дата попадает в единственный диапазон даты для любого значения ключевого ID. В частности, условия соединения с каждой из этих таблиц гарантированно уникальны, что обеспечивается условиями Ef f ecti ve Start Date и Ef f ecti ve End Date, являющимися частью соединений, a не отдельными фильтрами. К сожалению, удобного способа гарантировать уникальность при помощи индекса нет, это условие создается приложением. Следующие запросы возвращают количества строк, указанные в строках, следующих за каждым запросом:

SELECT COUNT(*) Al FROM Inventory Taxing Entities ITx WHERE ITx.Tax Day Of Year - ОЕСЗГ

01 Al 02

A2 03 A3 04 A4 Q5

SELECT COUNTC*) A2 FROM Inventory Values IV

WHERE IV.Unit Value>0 AND IV.Effective Start Date <= SYSDATE AND IV.EffectiveEnd Date > SYSDATE 7400

SELECT COUNTC*) A3 FROM Products P WHERE P.Taxab1e Inventory Flag = Y 8300

SELECT COUNTC*) A4 FROM Product Location$ Loc WHERE Loc.Quantity > 0 123000

SELECT COUNTC*) A5 FROM Inventory Tax Rates ITxR WHERE ITxR.RATE > 0 AND ITxR.Effective Start Date <= SYSDATE AND ITxR.EffectiveJndJate > SYSDATE

A5: 4

06: SELECT COUNTC*) Аб FROM InventoryValues IV WHERE IV.EffPct1ve Start Date <= SYSDATE AND IV.Ef iCtive End Date > SYSDATE A6: 8500

07: SELECT COUNTC*) A7 FROM INVENTORY TAX RATES ITxR



WHERE ITxR.Effective Start Date <- SYSDATE AND ITxR.Effect!ve End Date > SYSDATE

A7: 4

QB: SELECT COUNTC*) A8 FROM Codejranslations SPOT WHERE Codejype - STRATEGICJRODUCT

AB: 3

09: SELECT COUNTC*) A9 FROM Codejranslations TRCT WHERE Codejype - TURNOVER RATE

A9: 2

010: SELECT COUNTC*) AlO FROM CTCT

WHERE Codejype - CONSIGNMENTJYPE AlO: 3

4. Полностью упростите диаграмму запроса из упражнения 1. Попробуйте начать с запросов и статистики по запросам, а не с полных диаграмм запросов. Затем сравните полученные результаты с результатами, полученными, если начать с полных диаграмм запросов, чем вы уже занимались.

5. Полностью упростите диаграмму запроса из упражнения 2, выполняя инструкции из упражнения 4.

6. Полностью упростите диафамму запроса из упражнения 3, выполняя инструкции из упражнения 4.



1 ... 45 46 47 [ 48 ] 49 50 51 ... 107

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика