Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Блок 1 Программирование.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
295.81 Кб
Скачать
  1. Общая концепция языка sql. Особенности построения sql-запросов

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

SQL поддерживает: предложения определения данных (определение баз данных, а также определение и уничтожение таблиц и индексов); запросы на выбор данных (предложение SELECT); предложения модификации данных (добавление, удаление и изменение данных); и другие). Кроме того, он предоставляет возможность выполнять в этих предложениях: арифметические вычисления (включая разно-образные функциональные преобразования), обработку текстовых строк и выполнение операций сравнения значений арифметических выражений и текстов; упорядочение строк и (или) столбцов при выводе содержимого таблиц на печать или экран дисплея; запоминание выводимого по запросу содержимого таблицы, нескольких таблиц или представления в другой таблице (реляционная операция присваивания). группирование данных и применение к этим группам таких операций, как среднее, сумма, максимум, минимум, число элементов и т.п.

Команды SQL:

1. Создать табл.

CREATE TABLE table name (

`a` TINYINT UNSIGNED,

`b` TINYINT UNSIGNED,

`c` TINYINT UNSIGNED)

2. SELECT <список полей> FROM <список названий таблиц> [WHERE <список условий>] [ORDER BY <список полей>];

SELECT a,c FROM table name;

3. INSERT INTO users (login, password) VALUES ('hawker', 'qwerty');

4. UPDATE users SET password='asdfg' WHERE login='hawker';

5. DELETE FROM users WHERE login='hawker';

6. DROP TABLE users – удаление таблицы;

потребуется либо ввести какие-то ложные данные, либо создать дополнительные атрибуты, которые могут быть бессмысленными для пользователей. В данном примере можно попробовать представить отсутствующий комментарий с помощью значения -1. Кроме того, можно добавить в отношение Viewing еще один атрибут — "Имеется ли комментарий?" — со значением Y (Yes), если комментарий есть, и N (No) — в противном случае. Однако оба этих подхода могут запутать пользователя.

Применение определителя NULL может вызвать проблемы на этапе реализации. Трудности возникают из-за того, что реляционная модель основана на исчислении предикатов первого порядка, которое обладает двузначной, или булевой, логикой, т.е. допустимыми являются только два значения: истина и ложь. Применение определителя NULL означает, что придется вести работу с логикой более высокого порядка, например трехзначной или даже четырехзначной (Codd, 1986, 1987, 1990).

Использование понятия NULL в реляционной модели является спорным вопросом. Кодд (1990) рассматривает понятие NULL как составную часть этой модели, а другие специалисты считают этот подход неправильным, полагая что проблема отсутствующей информации еще не до конца понята, удовлетворительное ее решение не найдено, а потому включение определителя NULL в реляционную модель является преждевременным (Date, 1995). Следует отметить, что не во всех реляционных системах поддерживается работа с определителем NULL.

Теперь можно приступать к изучению реляционных ограничений целостности.