W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Вы получили представление о значениях типа DATETIME, определяемых на базе стандарта ANSI. Но как и в случае многих других элементов SQL, в большинстве реализаций языка имеются отклонения имен функций и их синтаксиса от стандарта SQL, хотя лежащие в их основе концепции определяются стандартом. На предыдущем уроке вы видели, как варьируют в зависимости от реализации языка предлагаемые функции, а в ходе этого урока вы получили возможность увидеть подобные отклонения для типов даты и времени и используемых с ними функций и операторов. Не забывайте о том, что не все предлагаемые здесь примеры будут работать в рамках используемой вами реализации SQL, но вы должны понять принципы работы со значениями дат и времени, которые применимы в любой реализации языка.
По каким причинам в различных реализациях наблюдаются отклонения от стандартного набора типов данных и функций?
Такие различия в реализациях языка возникают, главным образом, по причине различного подхода производителей к выбору способа внутреннего хранения данных и, соответственно, оптимальных средств для извлечения этих данных. Все производители обязаны лишь обеспечить средства для хранения значений дат и времени на основе требований ANSI, предполагающих для дат и времени такие компоненты как год, месяц, день, час, минута, секунда и т. д.
Если я хочу сохранить дату и время не так, как предлагается в той конкретной реализации SQL, которую использую я, то какие возможности для этого у меня имеются?
Даты можно сохранить практически в любом виде, если сохранять их в столбце с атрибутами символьной строки переменной длины. Главное, о чем нужно не забывать, что при сравнении значений дат необходимо преобразовать строку со значением даты в значение подходящего типа DATETIME.
Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".
1. Откуда извлекаются системные дата и время?
2. Назовите стандартные компоненты значения типа DATETIME.
3. Какой фактор может оказаться важным при представлении и сравнении значений дат и времени, если ваша компания имеет статус международной организации?
4. Можно ли сравнить значение даты в виде символьной строки со значением даты типа DATETIME?
Запишите операторы SQL для представленных ниже упражнений, основываясь на следующей информации.
Используйте SYSDATE для получения текущих даты и времени. Используйте таблицу с именем DATES.
Для преобразования дат в символьные строки используйте функцию TO_CHAR со следующим синтаксисом:
TO_CHAR('выражение','шаблон представления даты')
Для преобразования символьных строк в даты используйте функцию TO_DATE со следующим синтаксисом:
TO_DATE('выражение','шаблон представления даты') Информация о шаблонах представления дат дана в следующей таблице.
Шаблон представления дат ___ Описание ___________________
MONTH название месяца
DAY название дня недели
DD номер дня месяца
мм номер месяца года
YY последние две цифры года
YYYY ГОД
MI минута часа ss секунда минуты
1. Предположив, что сегодняшней датой является 1999-12-31, преобразуйте текущую дату в формат December 31 1999.
2. Преобразуйте строку 'DECEMBER 31 1999' в формат DATE.
3. Запишите оператор, возвращающий день недели, на который выпадает новогодний вечер конца 1999 года. Предположите, что дата хранится в виде 31-DEC-99, являясь значением типа DATETIME.
13-й час Объединение таблиц в запросах
До сих пор создаваемые вами запросы извлекали данные из одной таблицы. Из этого урока вы узнаете, как связать таблицы в запросе так, чтобы можно было извлечь данные из нескольких таблиц.
Основными на этом уроке будут следующие темы.
• Основные подходы к связыванию таблиц
• Различные типы связей
• Как и когда следует использовать связывание таблиц
• Ряд практических примеров связывания таблиц
• Последствия неправильного связывания таблиц
• Использование псевдонимов таблиц в запросах
Возможность отбора данных из нескольких таблиц является одной из самых полезных возможностей SQL Без такой возможности теряет смысл сама идея реляционной базы данных. Запросы к одной таблице могут быть весьма информативными, но в реальных базах данных чаще всего бывают нужны данные сразу из нескольких таблиц.
В ходе урока по нормализации вас пытались убедить в том, что база данных должна быть разделена на более мелкие и лучше поддающиеся управлению таблицы. После разделения таблиц на более мелкие у родственных таблиц оказываются общие столбцы - ключевые поля или просто ключи Такие ключи и используются для связывания родственных таблиц.
Связь объединяет две или несколько таблиц для того, чтобы обеспечить возможность извлечь данные сразу из нескольких таблиц.
Вы можете удивиться - зачем нормализовать таблицы, если в конце концов снова приходится объединять их, чтобы извлечь необходимые данные? Ответ прост: извлекать все данные из всех таблиц сразу приходится крайне редко, поэтому лучше объединять в запросе только те несколько таблиц, которые оказываются нужны в каждом конкретном случае. Хотя при этом работа базы данных может несколько замедлиться, это очевидно компенсируется существенным упрощением работы с базой данных и управления ею.
Несмотря на то, что число предлагаемых различными реализациями SQL способов связывания таблиц достаточно велико, мы рассмотрим только самые общие типы связывания, к которым относятся
• связывание по равенству (EQU JOINS):
• естественное связывание (NATURAL JOINS);
• связывание по неравенству (NON-FQUUOINS);
• внешнее связывание (OUTEP JCINS);
• рекурсивное связывание (SELF JOINS).
Как вы уже знаете из предыдущих уроков, ключевые слова SELECT и FROM являются необходимыми элементами оператора SQL, определяющего запрос. При связывании таблиц необходимым элементом оператора SQL является ключевое слово WHERE. Имена таблиц для связывания указываются в списке ключевого слова FROM. Связь определяется в выражении ключевого слова WHERE В выражении для связывания таблиц можно использовать операции =, <, >, <>, -.-, >-, '=, BETWEEN, LIKE и NOT. Но наиболее часто для связывания используется знак равенства
Читать дальшеИнтервал:
Закладка: