- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •1.1.2. Классификация субд
- •1.2. Субд начального уровня – MySql
- •1.2.1. Введение в MySql
- •1.2.2. Подготовка к работе с MySql
- •1.2.3. Создание базы данных, основы работы с таблицами MySql
- •1.2.4. Типы данных столбцов MySql
- •1.2.5. Работа с таблицами MySql
- •1.2.6. Логические операторы MySql
- •1.2.7. Команды обработки данных MySql
- •1.2.8. Математические функции MySql
- •1.2.9. Работа с датой и временем в MySql
- •1.2.10. Работа со строками в MySql
- •1.2.11. Дополнительные функции MySql
- •1.3. Субд корпоративного уровня – ms sql Server
- •1.3.1. Общая теория запросов sql
- •1.3.2. Имена в sql
- •1.3.3. Типы данных
- •1.3.4. Константы
- •1.3.5. Выражения
- •1.3.6. Встроенные функции
- •1.3.7. Отсутствующие значения (значения null)
- •1.3.8. Простые запросы sql на выборку данных
- •1.3.9. Предложение select
- •1.3.10. Предложение from
- •1.3.11. Вычисляемые столбцы
- •1.3.12. Выборка всех столбцов (инструкция select *)
- •1.3.13. Повторяющиеся строки (предикат distinct)
- •1.3.14. Отбор строк (предложение where)
- •1.3.15. Условия отбора
- •1.3.16. Составные условия отбора (операторы and, or и not)
- •1.3.17. Сортировка результатов запроса (предложение order by)
- •1.3.18. Правила выполнения однотабличных запросов
- •1.3.19. Сложные запросы
- •1.3.20. Запросы на объединение и повторяющиеся строки
- •1.3.21. Запросы на объединение и сортировка
- •1.3.22. Вложенные запросы на объединение
- •1.3.23. Многотабличные запросы на выборку
- •1.3.24. Запросы с использованием отношения предок/потомок
- •1.3.25. Запросы на выборку к трём и более таблицам
- •1.3.26. Объединение таблиц по неравенству
- •1.3.27. Особенности многотабличных запросов
- •1.3.28. Самообъединения
- •1.3.29. Производительность при обработке многотабличных запросов
- •1.3.30. Умножение таблиц
- •1.3.31. Правила выполнения многотабличных запросов на выборку
- •1.3.32. Внешнее объединение таблиц
- •1.3.33. Левое и правое внешние объединения
- •1.4. Способы взаимодействия программных средств в субд
- •1.4.1. Доступ к базе данных на стороне сервера
- •1.4.2. Доступ к базе данных на стороне клиента
- •1.5. Современные тенденции развития субд
- •1.5.1. Введение
- •1.5.2. Как предсказать тенденции развития субд
- •1.5.3. Эволюционный подход
- •1.5.4. Тенденции развития
- •1. Виртуализация ресурсов и grid-технологии
- •2. Встраивание Information Life Cycle Management (ilm) в субд
- •3. Самоуправление, самодиагностика, самолечение
- •4. Real Application Testing – механизмы промышленного тестирования версий и изменений
- •5. Совершенствование архитектур максимальной доступности
- •6. Включение измерения времени в субд
- •7. Поддержка новых типов данных (xml, rfid, Semantic Web, геном, медицина, быстрые lob и т.Д.)
- •8. Умные механизмы сжатия и дедублирования
- •9. Совершенствование методов защиты данных
- •11. Облачные вычисления (Cloud computing)
- •12. Машины баз данных
- •2.1.2. Администрирование ms sql Server
- •2.2. Повышение надёжности баз данных
- •2.2.1. Обеспечение сохранности данных в MySql
- •2.2.2. Обеспечеие сохранности данных в ms sql Server
- •2.3. Повышение производительности баз данных
- •2.3.1. Повышение производительности MySql
- •2.3.2. Повышение производительности ms sql Server
- •2.4. Повышение безопасности бд
- •2.4.1. Безопасность MySql
- •2.4.2. Безопасность ms sql Server
- •2.5. Модернизация бд в процессе эксплуатации
- •2.5.1. Расширение возможностей MySql
- •2.5.2. Распределённые базы данных
- •Указания по выбору варианта
- •Курсовое проектирование Методические указания по выполнению
- •Цель проектирования
- •Теоретические положения Основные понятия баз данных
- •Этапы проектирования базы данных
- •Модели данных
- •Нормальные формы отношений
- •Задания к выполнению курсового проекта
- •Указания по выбору варианта
- •Правила оформления выполненных заданий
- •Пример проектирования базы данных
1.3.4. Константы
В некоторых инструкциях SQL необходимо явно указывать значения чисел, строк или даты. Например, сказанное относится к следующей инструкции INSERT, которая добавляет в базу данных имя нового служащего:
INSERT INTO SALESREPS (EMPL_NUM, NAME, QUOTA, HIRE_DATE, SALES) VALUES (115, 'Dennis Irving1, 17500.00, ‘21-JUN-90’, 0.00)
Здесь в предложении VALUES определено значение для каждого столбца в новой строке. Константы используются также в выражениях, как в приведённой ниже инструкции SELECT:
SELECT CITY FROM OFFICES WHERE TARGET > (1.1*SALES) + 10000.0
В стандарте ANSI/ISO определён формат числовых и строковых констант, или литералов, которые представляют конкретные значения данных. Этот формат используется в большинстве СУБД.
Числовые константы
Целые и десятичные константы (известные также под названием точных числовых литералов) в инструкциях SQL представляются в виде обычных десятичных чисел с необязательным знаком плюс (+) или минус (-) перед ними:
21 -375 2000.00 +497500.8778
В числовых константах нельзя ставить символы разделения разрядов между цифрами, и не все диалекты SQL разрешают ставить перед числом знак плюс, так что лучше избегать этого. В случае с данными, представляющими денежные величины, в большинстве СУБД просто используются целые или десятичные константы, хотя в некоторых из них можно перед константой указывать символ денежной единицы:
$0.75 $5000.00 $-567.89
Константы с плавающей запятой (известные также под названием приблизительных числовых литералов) определяются с помощью символа Е и имеют такой же формат, как и в большинстве языков программирования. Ниже приведены примеры констант с плавающей запятой:
1.5ЕЗ -3.14159Е1 2.5Е-7 0.783926Е21
Символ Е читается как "умножить на десять в степени", так что первая константа представляет число "1,5 умножить на десять в степени 3", или 1500.
Строковые константы
В соответствии со стандартом ANSI/ISO строковые константы в SQL должны быть заключены в одинарные кавычки, как показано в следующих примерах:
‘Jones, John J.’ ‘New York’ ‘Western’
Если необходимо включить в строковую константу одинарную кавычку, вместо неё следует поставить две одинарные кавычки. Таким образом, следующая константа:
‘I can’’t’
представляет строку "I can’t".
В некоторых СУБД, например в SQL Server и Informix, строковые константы можно заключать в двойные кавычки:
"Jones, John J." "New York" "Western"
К сожалению, употребление двойных кавычек вызывает проблемы при переносе программ в другие СУБД.
В стандарте SQL2 имеется дополнительная возможность определять строковые константы на основе различных национальных алфавитов или пользовательских наборов символов. Но средства многоязыковой поддержки ещё не в полной мере внедрены в ведущие СУБД.
Константы даты и времени
В реляционных СУБД значения даты, времени и интервалов времени представляются в виде строковых констант. Форматы этих констант в различных СУБД отличаются друг от друга. Кроме того, способы записи даты и времени меняются в зависимости от страны.
Так, СУБД DB2 поддерживает несколько различных международных форматов для записи даты/времени (см. таблицу). Кроме того, в DB2 для представления интервалов времени используются специальные константы, как показано в следующем примере:
HIRE_DATE +30 DAYS
Обратите внимание на то, что информацию о периоде времени нельзя сохранить в базе данных, поскольку в DB2 нет соответствующего типа данных.
Форматы даты и времени в DB2
Формат |
Формат значений типа DATE |
Пример значения типа DATE |
Формат значения типа TIME |
Пример значения типа TIME |
Американский |
mm/dd/yyyy |
5/19/1960 |
hh mm am/pm |
2 18 PM |
Европейский |
dd.mm.yyyy |
19.5.1960 |
hh mm ss |
14 18 08 |
Японский |
yyyy-mm-dd |
1960-5-19 |
hh:mm:ss |
14:18:08 |
ISO |
yyyy-mm-dd |
1960-5-19 |
hh mm.ss |
14 18.08 |
Формат значений типа TIMESTAMP |
yyyy-mm-dd-hh.mm.ss.nnnnnn
|
|||
Пример значения типа TIMESTAMP |
1960-05-19-14 18.08.048632 |
СУБД SQL Server также поддерживает различные форматы констант даты и времени. Ниже приведён ряд примеров констант даты, допустимых в SQL Server:
March 15, 2008 Mar 15 2008 3/15/2008 3-15-08 2008 MAR 15
А вот примеры допустимых в этой СУБД констант времени:
15:30:25 3:30:25 РМ 3:30:25 pm 3 РМ
Значения даты и времени в Oracle также записываются в виде строковых констант с использованием следующего формата:
15-MAR-08
Кроме того, в Oracle можно использовать функцию TODATE () для преобразования констант даты из других форматов в этот формат.
Например:
SELECT NAME, AGE FROM SALESREPS WHERE HIRE_DATE = TO_DATE(‘JUN 14 2008’, ‘MON DD YYYY’)
В стандарте SQL2 определён формат констант даты и времени, совпадающий с форматом ISO, за исключением того, что в константах времени для разделения часов, минут и секунд используются двоеточия.
Именованные константы
Кроме пользовательских констант в SQL существуют специальные именованные константы, возвращающие значения, хранимые в самой СУБД. Например, значение константы CURRENT DATE, реализованной в ряде СУБД, всегда равно текущей дате. Эту константу можно использовать в таких запросах:
SELECT NАМЕ, HIRE_DATE FROM SALESREPS WHERE HIRE_DATE > CURRENT DATE