Читайте также:
|
|
Символьные типы данных - содержат буквы, цифры и специальные символы.
CHAR или CHAR(n) -символьные строки фиксированной длины. Длина строки определяется параметром n. CHAR без параметра соответсвует CHAR(1). Для хранения таких данных всегда отводится n байт вне зависимости от реальной длины строки.
VARCHAR(n) - символьная строка переменной длины. Для хранения данных этого типа отводится число байт, соответствующее реальной длине строки.
Целые типы данных - поддерживают только целые числа (дробные части и десятичные точки не допускаются). Над этими типами разрешается выполнять арифметические операции и применять к ним агрегирующие функции (определение максимального, минимального, среднего и суммарного значения столбца реляционной таблицы).
INTEGER или INT - целое, для хранения которого отводится, как правило, 4 байта.
FLOAT и SMALLFLOAT - числа с плавающей точкой (для хранения отводится обычно 8 и 4 байта соответсвенно).
Денежные типы данных - описывают, естественно, денежные величины. Если в ваша система такого типа данных не поддерживает, то используйте DECIMAL(p,n).
MONEY(p,n) - все аналогично типу DECIMAL(p,n). Вводится только потому, что некоторые СУБД предусматривают для него специальные методы форматирования.
Дата и время - используются для хранения даты, времени и их комбинаций. Большинство СУБД умеет определять интервал между двумя датами, а также уменьшать или увеличивать дату на определенное количество времени.
DATE - тип данных для хранения даты.
TIME - тип данных для хранения времени.
INTERVAL - тип данных для хранения временного интервала.
DATETIME - тип данных для хранения моментов времени (год + месяц + день + часы + минуты + секунды + доли секунд).
Несмотря на то, что проектирование БД процесс творческий, определенные узловые моменты должны быть формализованы. Одним из таких требований формализации является процесс нормализации БД. Процесс нормализации был определен Е.Ф.Коддом при определении реляционной модели. Проводить нормализацию рекомендуется на ранней стадии проектирования БД: при разработке структур таблиц. Это может привести к появлению новых таблиц, но в последствии это окупится.
Разделы (подъязыки) языка SQL. Типы запросов SQL. Основные операторы языка. Оператор выборки SELECT; предложения (разделы) и аргументы оператора SELECT. Групповые операции в SQL, агрегатные функции и их использование.
Программа SQL – это группа команд, объединенных функциональным назначением.
Раздел DDL – язык определения данных (Data Difinition Language), состоит из команд, которые создают объекты (таблицы, индексы, представления) в БД.
Раздел DML – это язык манипулирования данными (Data Manipulation Language), множество команд, определяющих, какие данные представлены в таблицах в любой момент времени.
Раздел DCL – это язык управления данными (Data Control Language), состоит из предложений, определяющих, может ли пользователь выполнить отдельное действие.
SQL – язык, ориентированный специально на РБД (реляционная БД); язык структурированных запросов. Команды SQL могут выполняться над целой группой таблиц, как над единым объектом, а также могут оперировать любым количеством информации, которая извлекается из них как из единого целого (в отличие от традиционных языков).
Запрос – это команда, которая формируется для СУБД и требует предоставить опр-ую информацию. При выполнении операции SELECT ядро базы данных Microsoft Jet находит указанную таблицу или таблицы, извлекает заданные столбцы, выделяет строки, соотв-ие условию отбора, и сортирует или группирует результирующие строки в указанном порядке. Команда SELECT не изменяет данные в базе данных. Синтаксис SELECT {* или список столбцов, разделенных запятыми}
FROM таблица [WHERE... ] [GROUP BY... ] [ORDER BY... ]
Аргументы команды SELECT:
Элемент | Описание |
* | Указ-ет, что выбраны все поля зад табл или таблиц. |
таблица | Имя таблицы, из кот д/б отобраны записи. |
FROM – указывает таблицы или запросы, которые содержат поля, перечисленные в инструкции SELECT. WHERE – определяет, какие записи из таблиц, перечисленных в предложении FROM, следует включить в результат выполнения инструкции SELECT, UPDATE или DELETE. Пример: SELECT name, city FROM Country WHERE city=’London’; GROUP BY - объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит агрегированную функцию SQL, например, Sum или Count, то для каждой записи будет вычислено итоговое значение. SELECT список полей FROM таблица WHERE условие отбора[GROUP BY группируемые поля] ORDER BY - сортирует записи, полученные в результате запроса, в порядке возрастания или убывания на основе значений указанного поля или полей. SELECT список полей FROM таблица WHERE условие отбора [ORDER BY поле_1 [ASC | DESC ], поле_2 [ASC | DESC ]
IN – определяет множество, которому может принадлежать значение поля, указанного в условии.
SELECT * FROM Country SELECT * FROM Country
WHERE city=’ Barcelona’ WHERE city IN
OR city=’London’; (‘Barselona’,’London’);
- эти две команды равнозначны. Множество закл-ся в круглые скобки; эл-ты мн-ва перечисляются ч/з запятую; эл-ты мн-ва симв. типа закл-ся в одиночные кавычки.
BETWEEN – он по своим функциональным возможностям сходен с оператором IN, разница в том, что мн-во задается не перечнем, а диапазоном (граничные зн-я вкл-ся в проверяемое условие). BETWEEN <нач.граница> AND <конечная граница>
Операторы IN и BETWEEN чувствительны к порядку: первое значение в предложении д/б первым в соответствии с алфавитным или числовым порядком.
SQL распознает и булевы операторы: AND, OR, NOT.
Агрегатные функции применяются для обобщения группы значений по одному полю:
COUNT – определяет количество значений поля (не NULL), выбранных в результате запроса;
SUM – вычисляет сумму всех выбранных значений данного поля;
AVG – вычисляет среднее значение для всех выбранных значений поля;
MAX – вычисляет наибольшее значение из всех выбранных значений данного поля;
MIN – вычисляет наименьшее значение из всех выбранных значений данного поля.
Функции агрегирования используют как имена полей в предложении запроса SELECT, а имена полей как аргументы этих функций. Результатом всегда является единственное значение, независимо от количества строк в таблице.Агрегатные функции и поля не могут выбираться одновременно, если не используется предложение GROUP BY! Функция COUNT используется для подсчета количества строк в таблице или значений в столбце. В функции COUNT можно использовать атрибут DISTINCT, исключающий повторяющиеся значения поля.
SELECT Count (Distinct Snum) FROM Orders; - атрибут и поле, к которому оно применяется, заключается в круглые скобки. Атрибут DISTINCT можно применять к любой агрегатной функции. Для подсчета строк в таблице следует использовать функцию COUNT со «*» вместо имени поля.
SELECT COUNT (*) FROM Customers; - в этом случае атрибут DISTINCT применить нельзя, поэтому подсчитываются все строки, в т.ч. с NULL значениями и повторяющимися значениями.
Аргументы агрегатных функций:
ALL – по назначению противоположно атрибуту DISTINCT. Этот аргумент размещается перед именем поля. ALL не учитывает NULL-значения; ALL в качестве аргумента использует имя поля.
SELECT COUNT (ALL rating) FROM Customers;
Можно использовать агрегатные функции с аргументами, которые состоят из скалярных выражений, включающих одно или больше количество полей (при этом не разрешается применять DISTINCT);
- предложение GROUP BY. Дает возможность комбинироватьиспользование полей и агрегатных функций в одном предложении SELECT. Сообщает Oracle как сгруппировать записи вместе при использовании некоторых функций.
SELECT Snum, MAX(amt) FROM Orders
GROUP BY snum; - определяет максимальный заказ для каждого продавца. GROUP BY применяет агрегатную функцию для каждой серии групп, которые определяются общим значением поля. Каждая группа – строки, имеющие одно и тоже значение поля snum (продавец). Функция MAX применяется отдельно к каждой группе.
SELECT Snum, odate, MAX(amt) FROM orders
GROUP BY Snum, odate; - применение GROUP BY с многозначными полями. Определяет максимальный заказ на каждую дату;
Для получения обобщающих значений в языке SQL имеются агрегированные функции.
Агрегирующая ф-ия | Описание | Пример |
SUM([DISTINCT] выражение) | Сумма всех значений. | SELECT SUM(gb_id) FROM gb |
AVG([DISTINCT] выражение) | Среднеарифметич всех значений. | SELECT AVG(gb_id) FROM gb |
COUNT([DISTINCT] имя_столбца) | Кол-во ненулевых значений. | SELECT COUNT(name) from gb |
COUNT(*) | Кол-во выбранных записей. | SELECT COUNT(*) FROM gb |
MIN(выражение) | Минимальное значение | SELECT MIN(quantity) FROM gb |
MAX(выражение) | Максимальное значение | SELECT MAX(quantity) from gb |
Команда ORDER BY, позволяет внести опр. порядок в вых. данные запроса. Упорядочение может вып-ся по зн-ю одного или неск-ких полей. По умолчанию – возрастающая послед-ть; для задания убывающей послед-ти нужно указывать DESC. Предложение ORDER BY всегда вып-ся последним. Его можно исп-ть совместно с GROUP BY.
Общие характеристики и архитектура СУБД Microsoft SQL Server. Работа в архитектуре клиент-сервер с MS Access и MS SQL Server. Создание и ведение баз данных MS SQL Server с помощью проектов MS Access.
SQL Server – сервер баз данных, реализует подход «клиент-сервер» и взаимодействует с указанными пакетами. Главные достоинства: высоая степень защиты данных, мощные средства для обработки данных, высокая производительность. Область применения: хранение больших объемов данных, хранение высокоценных данных или данных, требующих соблюдения режима секретности. Минимальные ресурсы ПК: процессор 468DX-33МГц, Windows NT, объем оперативной памяти 16 (32) Мб, занимаемый объем на ЖМД 80 Мб.
Дата добавления: 2015-11-14; просмотров: 47 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Типы денормализации | | | Архитектура Microsoft SQL Server |