SQL лаба. Терминология отношение
Скачать 27.38 Kb.
|
Терминология отношение – это структура данных целиком, набор записей (в обычном понимании – таблица) , в примере –это Сотрудник; кортеж– это каждая строка, содержащая данные (более распространенный термин – запись ), например, <001, Борин С.А, 234-01-23, программист>, все кортежи в отношении должны быть различны; мощность– число кортежей в таблице (проще говоря, число записей), в данном случае 3, мощность отношения может быть любой (от 0 до бесконечности), порядок следования кортежей - неважен; атрибут – это столбец в таблице (более распространенный термин – поле ), в примере – Табельный номер, Фамилия И.О., Телефон, Должность) размерность – это число атрибутов в таблице, в данном случае – 4; размерность отношения должна быть больше 0, порядок следования атрибутов существенен; домен атрибута– это допустимые значения (неповторяющиеся), которые можно занести в поле , например для атрибута Должность домен – {инженер, программист}.
Рекомендации по выбору типов данных для полей таблицы. Выбирайте минимальный тип данных исходя из максимального значения поля. Например, если максимальный текст, который может быть записан в поле, имеет длину 25 символов, значит нужно использовать тип VARCHAR(25). Для описания ключевого поля используйте описание INT PRIMARY KEY AUTO_INCREMENT (book_id INT PRIMARY KEY AUTO_INCREMENT) Это значит, что в поле будут заноситься различные целые числа, при этом они будут автоматически генерироваться (каждая следующая строка будет иметь значение ключа на 1 больше предыдущего).
CREATE TABLE имя (столбцы с указанием типа переменных, через запятую) SELECT 'столбцы или * для выбора всех столбцов; обязательно' FROM 'таблица; обязательно' WHERE 'условие/фильтрация, например, city = 'Moscow'; необязательно' GROUP BY 'столбец, по которому хотим сгруппировать данные; необязательно' HAVING 'условие/фильтрация на уровне сгруппированных данных; необязательно' ORDER BY 'столбец, по которому хотим отсортировать вывод; необязательно' Занесение записи в таблицу: INSERT INTO таблица(поле1, поле2) VALUES (значение1, значение2); SELECT * FROM book – Выбрать все записи таблицы book SELECT title, amount FROM book; - выбрать столбцы title и amount SELECT title AS Название, amount FROM book; SELECT price * amount AS total FROM book; - создать поле с названием total, значение price * amount (только с числовыми) IF(логическое_выражение, выражение_1, выражение_2) – если истинно, то вносится первое значение, если ложно, то второе SELECT title, price FROM book WHERE price < 600; - делает таблицу со столбцами title, price и строками, в которых значение price< 600 Логическое выражение после ключевого слова WHERE кроме операторов сравнения и выражений может включать логические операции (И «and», ИЛИ «or», НЕ «not») и круглые скобки, изменяющие приоритеты выполнения операций. Приоритеты операций: круглые скобки умножение (*), деление (/) сложение (+), вычитание (-) операторы сравнения (=, >, <, >=, <=, <>), BETWEEN, IN NOT AND OR SELECT title, amount FROM book WHERE amount BETWEEN 5 AND 14; То же самое SELECT title, amount FROM book WHERE amount >= 5 AND amount <=14; SELECT title, price FROM book WHERE author IN ('Булгаков М.А.', 'Достоевский Ф.М.'); Логический порядок операций для запроса SQL следующий: FROM WHERE SELECT ORDER BY ORDER BY выполняет сортировку по возрастанию Чтобы управлять направлением сортировки вручную, после имени столбца указывается ключевое слово ASC (по возрастанию) или DESC (по убыванию) LIKE позволяет сравнивать строки не на полное совпадение (не совпадение), а в соответствии с шаблоном. Шаблон может включать обычные символы и символы-шаблоны.
|