Том Кайт Oracle Для Профессионалов .pdf

Скачать бесплатно, читать онлайн Oracle для профессионалов автора Кайт Том. Oracle для профессионалов. Oracle для профессионалов. Том Кайт и Дарл. Том Кайт и Дарл Кун придерживаются простой философии: вы можете. Обложка электронной книги в формате PDF 'Oracle для профессионалов.

У этого термина существуют и другие значения, см. Томас Кайт Thomas Kyte Дата рождения ( 1965-03-15) (53 года) Страна. Род деятельности Томас (Том) Кайт ( Thomas Kyte) — специалист по, вице-президент корпорации (работает в компании с 1993 года), старший архитектор отдела серверных технологий ( Server technologies division). Известен как эксперт в области разработки приложений.

Ведущий популярного сайта AskTom («Спроси у Тома»), посвящённого проблемам и методам их решений в Oracle Database, а также постоянный автор журнала Oracle Magazine. Автор нескольких бестселлеров по Oracle Database. Проживает в, штат. Библиография. Effective Oracle by Design (Osborne ORACLE Press Series), перевод на русский язык: «Эффективное проектирование приложений Oracle» (Лори, 2008 г.), 0-07-223065-7.

Expert One on One Oracle (Wrox Press), перевод на русский язык: «Oracle для профессионалов в 2-х томах» (ДиаСофтЮП, 2005 г.) 1-й том, 1-861004-82-6, 2-й том, 1-861004-82-6, 966-8035-30-5. Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions (Apress, 2005), перевод на русский язык: «Oracle для профессионалов.

Архитектура, методики программирования и основные особенности версий 9i и 10g» (Вильямс, 2007), 1-59-059530-0). Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions. Second edition(Apress, 2010), перевод на русский язык: «Oracle для профессионалов.

Том Кайт Oracle Для Профессионалов .pdfТом кайт oracle для профессионалов pdf скачать

Архитектура, методики программирования и особенности версий 9i, 10g и 11g» Вильямс, 2011,. Ссылки.

Обобщающие функции Если говорить по существу, обобщающая функция (aggregate function) суммирует результаты выражения для некоторого количества строк, возвращая одно значение. Синтаксис большинства обобщающих функций таков: обобщающаяфункция (DISTINCT ALL выражение ) Приведем перечень элементов конструкции: обобщающая функция Указывает имя функции, например SUM, COUNT, AVG, MAX, MIN и др.

DISTINCT Указывает, что обобщающая функция должна учитывать только неповторяющиеся значения выражения. ALL Указывает, что обобщающая функция должна учитывать все значения выражения, в том числе и все дублирующиеся. По умолчанию считается, что использовано ALL.

Выражение Указывает столбец или любое другое выражение, по которому необходимо выполнить обобщение. Давайте рассмотрим простой пример. Для нахождения максимальной зарплаты сотрудников SQL-операториспользует функцию МАХ: SELECT MAX(SALARY) FROM EMPLOYEE; MAX(SALARY) 5000 Инструкция GROUP BY Инструкция GROUP BY, используемая совместно с обобщающими функциями, разбивает результирующее множество на несколько групп, а затем для каждой группы выдается одна строка сводной информации. Например, если нужно вычислить общее количество заказов каждого клиента, выполним следующий запрос: SELECT CUST.NBR, COUNT(ORDERNBR) FROM CUST.ORDER GROUP BY CUST.NBR; Запрос выдает одну сводную строку для каждого клиента.

В этом заключается суть запроса GROUP BY. Мы просим Oracle сгруппировать (GROUP) результаты по номеру клиента (BY CUSTNBR), поэтому для каждого уникального значения CUSTNBR порождается одна строка вывода. Каждое значение для определенного клиента представляет собой сводную информацию по всем строкам данного клиента. Необобщенное выражение CUSTNBR из списка SELECT присутствует и в инструкции GROUP BY. Если в списке SELECT присутствует смесь обобщенных и необобщенных значений, SQL считает, что вы собираетесь выполнить операцию GROUP BY, поэтому все необобщенные выражения должны быть указаны и в инструкции GROUP BY. Если этого не сделать, SQL выдаст сообщение об ошибке.

Аналогично, если не включить все необобщенные выражения списка SELECT в инструкцию GROUP BY, то SQL выдаст такую ошибку: SELECT CUSTNBR, SALESEMPID, COUNT(ORDERNBR) FROM CUSTORDER GROUP BY CUSTNBR; SELECT CUSTNBR, SALESEMPID, COUNT(ORDERNBR) ERROR at line 1: ORA-00979:not a GROUP BY expression Наконец, не разрешено использование групповой (обобщающей) функции в инструкции GROUP BY. При попытке такого использования, как в приведенном ниже примере, вы получите следующее сообщение об ошибке: SELECT CUSTNBR, COUNT(ORDERNBR) 170. FROM CUSTORDER GROUP BY CUSTNBR, COUNT(ORDERNBR); GROUP BY CUSTNBR, COUNT(ORDERNBR). ERROR at line 3: ORA-00934:group function is not allowed here Инструкция HAVING Инструкция HAVING тесно связана с инструкцией GROUP BY. Инструкция HAVING используется для наложения фильтра на группы, созданные инструкцией GROUP BY. Если запрос содержит инструкцию HAVING и инструкцию GROUP BY, результирующее множество будет содержать только те группы, которые удовлетворяют условию, указанному в инструкции HAVING. Давайте рассмотрим несколько примеров, иллюстрирующих вышесказанное.

Том Кайт Oracle Для Профессионалов Pdf

Приведенный ниже запрос возвращает количество заказов каждого клиента: SELECT CUSTNBR, COUNT(ORDERNBR) FROM CUSTORDER GROUP BY CUSTNBR HAVING CUSTNBR 2; Обратите внимание на использование в инструкции HAVING обобщающей функции. Здесь инструкция HAVING применена надлежащим образом, так как результат выполнения обобщающей функции доступен только после проведения группировки. Синтаксис инструкции HAVING подобен синтаксису инструкции WHERE. Но для условия инструкции HAVING существует одно ограничение. Это условие может относиться только к выражениям списка SELECT или инструкции GROUP BY. Указать в инструкции HAVING выражение, не содержащееся ни в списке SELECT, ни в инструкции GROUP BY, то в ответ будет выдано сообщение об ошибке.

Например: Обработка дат и времени Разработчики баз данных постоянно имеют дело с данными, относящимися к датам и времени. Потребность в эффективной обработке значений дат и времени становится критичной на рубеже веков, когда приходится изобретать способы корректного управления двузначными значениями годов, когда они переходят от 99 к 00, а затем к 01. В эпоху глобальной электронной коммерции понятие времени актуально как никогда ранее: торговля происходит двадцать четыре часа в сутки во всех временных зонах. База данных должна эффективно и рационально организовывать хранение, извлечение и манипулирование следующих типов данных:. Дата. Время. Интервалы дат и времени.

Часовые пояса Обработка дат и времени в Oracle продуманна и эффективна. Oracle9i обеспечивает удобную работу с датами и временем. В Oracle9i вводится новый ряд возможностей, включая поддержку долей секунды, интервалов дат и времени и часовых поясов.

Вставка дат в БД и извлечение дат из БД В реальном мире даты не всегда представляются в формате типа данных DATE Oracle. Постоянно будет возникать необходимость преобразования значений типа DATE в другие типы данных и наоборот. Это особенно важно при сопряжении базы данных Oracle с внешней системой, например, если данные получаются из внешней системы, в которой даты представлены символьными строками (или даже числами), или при отправке данных из базы Oracle в другие приложения, которые не поддерживают тип DATE. Также нужно преобразовывать значения DATE при отображении дат на экране или создании отчета.

Том Кайт Oracle Для Профессионалов Pdf

Том кайт oracle для профессионалов pdf

Oracle предоставляет две чрезвычайно полезные функции преобразования дат:. TO.DATE. TOCHAR Как следует из их названий, функция TODATE используется для преобразования символьных или числовых данных в значение типа DATE, a функция TOCHAR выполняет преобразование значения DATE в строку символов. Обсуждаемые далее в этом разделе форматы даты хорошо приспособлены для таких преобразований. TODATE TODATE - это встроенная функция SQL, конвертирующая символьную строку в дату. На вход функции TODATE может подаваться символьная строка, переменная PL/SQL или столбец базы данных типа CHAR или VARCHAR2.

Вызов TODATE выглядит следующим образом: ТОDАТЕ(строка , формат) Перечислим элементы конструкции: строка Символьная строка, переменная PL/SQL или столбец базы данных, содержащий символьные (или числовые) данные, преобразуемые в дату. Формат Задает формат преобразуемой строки. Формат должен представлять собой допустимую комбинацию элементов формата. Указание формата даты является необязательным. Если не задавать формат, то будет считаться, что строка имеет формат по умолчанию (определяемый параметром NLSDATEFORMAT).

С помощью функции TODATE можно преобразовать число в формат DATE. Когда вы подаете на вход функции TODATE число, Oracle неявно преобразует введенное число в строку, затем эта строка передается функции TODATE. Использование для даты формата по умолчанию Каждая база данных Oracle имеет формат даты по умолчанию. Если администратор базы данных не определил ничего иного, то этот формат таков: DD-MON-YY В Oracle Database 10g Express Edition по умолчанию установлен следующий формат даты: DD.MM.RR. При вызове функции TODATE без явного указания формата даты Oracle считает, что строка ввода имеет формат даты по умолчанию. Следующий оператор INSERT преобразует строку в формате по умолчанию в значение типа DATE и вставляет его в таблицу EMPLOYEE: INSERT INTO EMPLOYEE (EMPID, FNAME, LNAME, DEPTID, MANAGEREMPID, SALARY, HIRE.DATE) VALUES (2304, -John', -Smith-,20, 1258, 20000, TODATE('22-OCT-99')); 1 row created.

SELECT. PROM EMPLOYEE; EMPID FNAME LNAME DEPTID MANAGEREMPID SALARY HIREDATE 2304 John Smith 20 1258 20000 22-OCT-99 Обратите внимание, что столбец HIREDATE имеет тип DATE, и символьная строка '22-OCT-99'была преобразована в дату функцией TODATE. В данном случае указание формата не требуется, так как вставляемая строка имеет формат даты по умолчанию. В действительности, если предлагаемая строка имеет формат даты по умолчанию, не нужна и сама функция TODATE. Oracle автоматически выполняет неявное преоб разование типов, как в приведенном ниже примере: INSERT INTO EMPLOYEE (EMP.ID, FNAME, LNAME, DEPTID, MANAGEREMPID, SALARY, HIRE.DATE) VALUES (2304, 'John',.Smith', 20, 1258, 20000, '22-OCT-99'); 1 row created. Но несмотря на то что Oracle производит неявное преобразование типов, рекомендуем всегда использовать явное преобразование, так как неявные преобразования не очевидны и могут привести к путанице. К тому же, если администратор базы данных изменит формат даты по умолчанию, неявные преобразования могут и не привести к желаемому результату.

TOCHAR Функция TOCHAR является обратной по отношению к TODATE и преобразует дату в символьную строку. Вызов TOCHAR выглядит следующим образом: ТОСНАR(дата ,формат) Рассмотрим элементы конструкции: дата Переменная PL/SQL или столбец базы данных типа DATE. Формат Указывает формат выводимой строки. Формат должен представлять собой допустимую комбинацию форматов. Указание формата даты является необязательным. Если не задавать формат, то дата выводится в формате по умолчанию (определяемом параметром NLSDATEFORMAT). В следующем примере функция TOCHAR применяется для преобразования вводимой даты в строку с использованием формата даты по умолчанию: SELECT FNAME, TOCHAR(HIREDATE) FROM EMPLOYEE; FNAM TOCHAR(H John 22-OCT-99 А вот как функция TOCHAR применяется для преобразования вводимой даты в строку с явным указанием формата даты: SELECT FNAME, TOCHAR(HIREDATE,'MM/DD/YY') FROM EMPLOYEE; FNAM TOCHAR( John 10/22/99 Бывают случаи, когда необходимо использовать функции TOCHAR и TODATE вместе.

Например, если вы хотите узнать, каким днем недели было 1 января 2000 года, можно выполнить такой запрос: SELECT TOCHAR(TODATE('01-JAN-2000','DD-MON-YYYY'),'Day')PROM DUAL; TOCHAR(T Saturday В данном примере сначала строка ' 01 -JAN-2000'преобразуется в значение типа DATE, которое затем функция TOCHAR преобразует в строку, представляющую день недели. 5.2 КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Назначение SQL. Реализации SQL. Наборы команд SQL.

Команда SELECT. Команда INSERT. Команда UPDATE. Команда DELETE. Типы данных Oracle. Последовательности и их использование.

Инструкция WHERE. Групповые операции и их применение. Инструкция HAVING. В результате выполнения запроса SELECT ename, job, dept.deptno, dname FROM emp, dept WHERE emp.deptno=dept.deptno; будет выдано: Возможные ответы: а) пересечение таблиц emp и dept, по совпадению полей deptno б) таблица emp и поля таблицы dept, если совпадают поля deptno в) таблица dept и поля таблицы emp, если совпадают поля deptno Ответы на тест: 1-a. Список литературы: 1.

Архипенков С и др. Хранилища данных. От концепции до внедрения. – М: Диалог- МИФИ, 2002, 424. Объектно-ориентированныйанализ и проектирование с примерами приложений, 3-еизд./Пер.

М.: “ Вильямс ”, 2008г. 721 с., ил. Гайдамакин Н.А. Автоматизация информационных систем, базы и банки данных. – М.: Гелиос АРВ, 2002. Гарсиа-Молина,Гектор, Ульман, Джеффри Д., Уидом, Дженнифер. Системы баз данных.

Полный курс, Вильямс, 2003. Введение в системы баз данных.

М.:Вильямс,2008.-1328с.с ил. Oracle для профессионалов: архитектура, методики программирования и основные особенности версий 9i и 10g – М.: Вильямс, 2007.- 848с. Базы данных: курс лекций и материалы для практических занятий /И. Карпова.-Санкт-Петербург:Питер, 2013.-240с.: ил.-( Учебное пособие ) ISBN 978- 5-496-00546-3р.388.70.-1000 8.

Коннолли, Томас, Бегг, Каролин. Проектирование, реализация и сопровождение. Теория и практика. 3-еиздание.: Пер.

– М.: Издательский дом «Вильямс», 2003. – 1440 с.: ил. Маклаков С.В. BPwin и Erwin. CASE-средстваразработки информационных систем. М.: ДИАЛОГ-МИФИ,1999 - 256.

Малыхина М.П. Базы данных: основы, проектирование, использование, 2-еизд. – СПб.: БХВ-Петербург,2007.- 512с.

Мишра С., Бьюли А. Секреты Oracle SQL. – СПб: Символ-Плюс,2005. – 368 с., ил.

Ролланд, Фред, Основные концепции баз данных, Вильямс, 2002. ОГЛАВЛЕНИЕ 1 Основные понятия 3 1.1 Информация как ресурс 3 1.2 Недостатки традиционных файловых систем 6 1.3 Информационные системы.

Использующие базы данных 8 1.4 База данных 9 1.5 Преимущества и недостатки СУБД 12 1.6 Программное обеспечение 18 1.7 Компоненты СУБД 21 1.8 Модели данных на основе записей 25 1.9 История развития систем управления базами данных 28 1.10 Стратегическое планирование базы данных 29 1.11 Жизненный цикл базы данных (ЖЦБД) 32 1.12 Трехуровневая архитектура ANSI SPARC 33 1.13 Архитектура многопользовательских СУБД 38 1.14 Этапы проектирования базы данных 42 1.15 Контрольные вопросы 47 1.16 Упражнения 47 1.17. Построение концептуальной модели 59 2.1 Реальность и модели 59 2.2 Критерии оценки модели данных 60 2.3 Концептуальные модели 60 2.4 Классы и объекты 62 2.5 Классификация 64 2.6 Основы концептуальной модели 72 2.7 Моделирование концептуальных и физических объектов 83 2.8 Примеры 84 2.9 Контрольные вопросы 90 2.10 Упражнения 90 2.11 Тесты 91 3.Реляционная модель 93 3.1 использование реляционной модели 93. 3.2 Нормализация 98 3.3 Перевод объектно ориентированной модели в реляционную 111 3.4 Реляционная алгебра 114 3.5 Контрольные вопросы 127 3.6 Упражнения 128 3.7 Тесты 130 4 Средства автоматизации проектирования БД 132 4.1 Модель «сущность связь» 132 4.2 Методология IDEF1X 132 4.3 Проблемы ER моделирования 135 4.4 Создание модели данных с помощью Toad Data Modeler Freeware 137 4.5 Контрольные вопросы 156 4.6 Упражнения 156 4.7 Тесты 158 5 Структурированный язык запросов 160 5.1 Основные конструкции SQL 160 5.2 Контрольные вопросы 175 5.3 Тесты 175 Список литературы 176 Оглавление 177.