Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Компоненты SQL




w DML (Data Manipulation Language) язык манипулирования данными

w DDL (Data Definition Language) язык определения данных

w DCL (Data Control Language) язык управления данными

w CREATE TABLE ИмяТаблицы (

w { Имя поля таблицы Тип данных [(размер)][(ограничение)…].,…}

w { [, CONSTRAINT ограничения таблицы] }

w …);

Условные обозначения:

| - все, что предшествует символу, можно заменить тем, что следует за ним;

{ } - единое целое для применения символа;

[ ] - необязательное выражение;

… - повторяется произвольное число раз;

.,… - повторяется произвольное число раз, но любое вхождение отделяется запятой.

Пример создания простой таблицы без ограничений:

CREATE TABLE Студент (

НомерЗачКнижки INTEGER,

Фамилия CHAR (15),

Имя CHAR (10),

Отчество CHAR (15),

ДатаРождения Date,

Специальность CHAR (15),

Примечание TEXT

);

Определение первичного ключа в таблице:

CREATE TABLE Студент (

НомерЗачКнижки INTEGER PRIMARY KEY NOT NULL,

Фамилия CHAR (15),

Имя CHAR (10),

Отчество CHAR (15),

ДатаРождения Date,

Специальность CHAR (15),

Примечание TEXT

);

Структура таблицы с составным первичным ключом:

CREATE TABLE Студент (

Фамилия CHAR (15),

Имя CHAR (10),

Отчество CHAR (15),

ДатаРождения Date,

Специальность CHAR (15),

Примечание TEXT,

CONSTRAINT PRIMARY KEY (Фамилия, Имя, Отчество) );

Описание примера на языке SQL:

CREATE TABLE Контакты (

КодКонтакта INTEGER PRIMARY KEY NOT NULL,

Имя VARCHAR (10),

Фамилия VARCHAR (15),

Обращение VARCHAR (10),

Адрес VARCHAR (30));

CREATE TABLE Звонки (

КодЗвонка INTEGER PRIMARY KEY NOT NULL,

КодКонтакта INTEGER NOT NULL,

ДатаЗвонка DATE,

Описание TEXT,

CONSTRAINT FK1 FOREIGN KEY (КодКонтакта)

REFERENCES Контакты (КодКонтакта));

 

4) ВОПРОС: Типы данных в SQL.

ОТВЕТ:

 

Типы данных:

w Строковый (символьный)

w Числовой

w Логический

w Даты-времени

w Интервальный

Строковый тип данных:

w CHARACTER или CHAR (n)

w CHARACTER VARYING или VARCHAR (n)

w TEXT

Числовые типы данных:

q Точные числовые типы:

ü INTEGER

ü SMALLINT

ü BIGINT

ü NUMERIC

ü DECIMAL

 

Числовые типы данных:

q Приблизительные числовые типы:

ü REAL

ü DOUBLE PRECISION

ü FLOAT

Логический (булевский):

w BOOLEAN

Даты-времени:

w DATE

w TIME WITHOUT TIME ZONE

w TIME WITH TIME ZONE

w TIMESTAMP WITHOUT TIME ZONE

w TIMESTAMP WITH TIME ZONE

Интервалы:

Интервал представляет собой разность между двумя значениями типа дата-время

SQL поддерживает два типа интервалов:

w Год-месяц (количество лет и месяцев между двумя датами)

w День-время (количество дней, часов, минут и секунд между двумя моментами в пределах одного месяца)

Особые типы данных:

w ROW

w ARRAY

w MULTISET

 

5) ВОПРОС: Запросы. Назначение запросов.

ОТВЕТ:

Определение:

В результате выполнения запроса создается таблица, которая либо содержит запрашиваемые данные, либо пуста, если данных, соответствующих запросу не нашлось.

Эта таблица называется результирующий или результатной и существует только во время работы с БД и не присоединяется к числу ее таблиц.

Запросы можно использовать для следующих действий:

1. Просмотра записей таблицы без ее открытия;

2. Объединение на экране данных нескольких таблиц в виде одной таблицы;

3. Просмотра отдельных полей таблицы;

4. Выполнения вычислений над значениями полей.

Отличие запросов от фильтров:

1. Фильтры не позволяют добавить еще несколько таблиц, записи которых включаются в возвращаемый набор записей;

2. Фильтры не позволяют указать поля, которые должны отображаться в результате;

3. Фильтр нельзя выделить как отдельный объект БД;

4. Фильтры не позволяет производить вычислений.

Виды запросов:

На выборку;

На изменение;

На создание таблицы;

С параметрами;

С вычисляемыми полями;

На управление.

Виды запросов:

Список всех видов запросов можно увидеть Конструктор (работа с запросами) Ленты, в разделе Тип зпроса.

Способы создания запросов:

С помощью мастера запросов

С помощью конструктора запросов

Создание запроса из фильтра

Запрос с параметрами:

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

Вводимых параметров в одном запросе может быть несколько.

Основные SQL-выражения для выборки данных:

SELECT СписокСтолбцов

FROM СписокТаблиц;

Это обязательные SQL-выражения, ни одного из них нельзя пропустить!!!

Инструкция SELECT:

Сразу за оператором SELECT до списка атрибутов можно применять ключевые слова

ALL (все) и DISTINCT (отличающиеся), которые указывают какие записи представить в результирующую таблицу.

Если эти ключевые слова не используются, по подразумевается, что следует выбрать все записи, что соответствует применению ALL.

В случае использования DISTINCT в результатной таблице представляются только уникальные записи.

Использование псевдонимов:

Заголовки столбцов в результатной таблице можно переопределить по своему усмотрению, назначив им так называемые псевдономы, для этого служит операнд
AS (как) Заголовок_Столбца.

Например

SELECT Client.ClientName AS Клиент, Сlient.Adress AS Адрес

FROM Client;

Уточнения запросов:

WHERE (где)

GROUP BY (группировать по)

HAVING (имеющие, при условии)

ORDER BY (сортировать по)

Структура запроса с уточнениями:

SELECT СписокСтолбцов

FROM ИмяТаблицы

WHERE УсловиеПоиска

GROUP BY СтолбецГруппировки

HAVING УсловиеПоиска

ORDER BY УсловиеСортировки

Порядок выполнения операторов SQL в запросах:

1. FROM

2. WHERE

3. GROUP BY

4. HAVING

5. SELECT

6. ORDER BY

 

Оператор WHERE:

Предикаты сравнения: (=), (<), (>), (< >), (<=), (>=);

BETWEEN;

IN, NOT IN;

LIKE, NOT LIKE;

IS NULL;

ALL, SOME, ANY;

EXISTS;

UNIQUE;

DISTINCT,

OVERLAPS,

MATCH,

SIMILAR.

Оператор GROUP BY:

Служит для группировки записей по значениям одного или нескольких полей.

Если в SQL-выражении используется оператор WHERE, то GROUP BY находится и выполняется после него.

Оператор HAVING:

Обычно применяется совместно с оператором GROUP BY и задает фильтр записей в группах.

Если в SQL-выражении оператора GROUP BY нет, то оператор HAVING применяется ко всем записям, возвращаемым оператором WHERE.

Оператор ORDER BY:

ASC – по возрастанию (ascending);

DESC – по убыванию (descending);

 

6) ВОПРОС:Понятие целостности данных.

ОтВЕТ:

Выполнение операторов модификации данных в таблицах базы данных INSERT, DELETE и UPDATE может привести к нарушению целостности данных и их корректности, т.е. к потере их достоверности и непротиворечивости.

Чтобы информация, хранящаяся в базе данных, была однозначной и непротиворечивой, в реляционной модели устанавливаются некоторые ограничительные условия – правила, определяющие возможные значения данных и обеспечивающие логическую основу для поддержания корректных значений. Ограничения целостности позволяют свести к минимуму ошибки, возникающие при обновлении и обработке данных.

В базе данных, построенной на реляционной модели, задается ряд правил целостности, которые, по сути, являются ограничениями для всех допустимых состояний базы данных и гарантируют корректность данных. Рассмотрим следующие типы ограничений целостности данных:

· обязательные данные;

· ограничения для доменов полей;

· корпоративные ограничения;

· целостность сущностей;

· ссылочная целостность.

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 1043; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.