1. СУБД MySQL 2. Язык обработки данных SQL. Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.

Презентация:



Advertisements
Похожие презентации
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Advertisements

Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
SQL SQL (Structured Query Language Структурированный язык запросов) язык управления базами данных для реляционных баз данных.
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
«ИЗМЕНЕНИЕ ДАННЫХ В БД» Выполнил: студент 722 группы Специальности Информационные системы (по отрослям) Токарев Виктор.
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
СУБД MySQL - клиент-серверная СУБД Числовые(целые,действительные) Существует несколько разных типов целых чисел, различающихся количеством байтов данных,
Создание Web страниц Урок 12: PHP & MySQL Павел Бочаров.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
История развития языка SQL Structured Query Language ɛ skju ɛ l ɛ skju ɛ l или si:kwəlsi:kwəl DML (Data Manipulation Language) DDL (Data Definition Language)
Язык SQL Типы данных SQL Типы данных, используемые в стандартном SQL, можно подразделить на следующие группы: строковые типы; числовые типы; типы для представления.
Транксрипт:

1. СУБД MySQL 2. Язык обработки данных SQL

Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.

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

MySQL поддерживает запросы SQL, одновременный доступ нескольких пользователей к базам данных, индексы, права, множество типов данных и пр.

Можно давать отдельные права на выполнение разных видов запросов SQL. Атрибут прав SELECT дает пользователю возможность извлекать данные из таблицы. Права на добавление записей дает атрибут INSERT, на изменение UPDATE, а на удаление DELETE. Также можно дать права на создание, изменение и удаление таблиц и индексов, выполнение служебных операций и пр.

Можно также задать интернет-адрес компьютера, с которого данный пользователь может подключаться к серверу. Фактически интернет-адрес компьютера в MySQL является частью имени пользователя, которое в этом случае записывается вот то есть как адрес электронной почты.

Например: Пользователь root имеет право подключаться к серверу данных только с локального компьютера (localhost).

Пользователь remote_user может подключиться к серверу только с компьютера dev.domain.ru и ни с какого другого (даже локального).

Если нужно дать пользователю возможность подключаться с любого компьютера, нужно будет вместо интернет-адреса подставить шаблон %, задающий любой интернет-адрес. Например: Пользователь travelling_user может подключаться к серверу с любого компьютера и локального, и удаленного.

Шаблон % можно использовать и вместо имени пользователя; тогда он будет задавать любого пользователя. Так, если написать localhost то с локального компьютера к серверу сможет подключиться любой пользователь (с любым именем, даже если оно явно не записано в списке пользователей). А если записать то к серверу сможет подключиться любой пользователь с любого компьютера (такому пользователю будет нужно дать минимальные права).

Схема взаимодействия клиента данных с сервером : 1. Клиент данных формирует запрос на языке SQL. 2. Клиент данных передает сформированный запрос клиентской части сервера данных, установленной на клиентском компьютере. 3. Клиентская часть "упаковывает" принятый запрос в сетевые пакеты и передает его серверу данных. 4. Сервер данных принимает запрос, расшифровывает его, выполняет и отсылает результат обратно. 5. Клиентская часть сервера данных принимает результат, "распаковывает" его и возвращает клиенту данных. 6. Клиент данных принимает результат и выводит его на экран либо предпринимает какие-то действия (например, сообщает пользователю об ошибке).

Язык обработки данных SQL

SQL - информационно-логический язык, предназначенный для описания хранимых данных, для извлечения хранимых данных и для модификации данных.

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

Компоненты SQL язык определения данных (ЯОД) DDL – Data Definition Language язык манипулирования данными (ЯМД) DML – Data Manipulation Language язык управления данными (ЯУД) DCL – Data Control Language CREATE ALTER DROP SELECT INSERT UPDATE DELETE GRANT REVOKE DENY

Создание БД Create - позволяет создавать базы данных и таблицы CREATE mydb; - создание пустой БД mydb

Создание таблиц Базовые таблицы создаются с помощью предложения CREATE TABLE: CREATE TABLE имя_таблицы (описание_поля_1, [описание_поля_2] [,…]);

Описание поля таблицы имя_поля тип_данных [ограничения] где имя_поля – имя поля (столбца) таблицы; тип_данных – спецификация одного из типов данных

Ограничения: NOT NULL – запрещает пустые ячейки в данном поле DEFAULT по_умолч – определяет значение по умолчанию UNIQUE – значение в поле должно быть уникальным PRIMARY KEY – указывает, что поле является первичным ключом UNSIGNED - запрещает числовым полям принимать отрицательные значения AUTO_INCREMENT - превращает обычное целочисленное поле в поле счетчика и др.

Некоторые типы данных, поддерживаемые MySQL

Некоторые типы данных, поддерживаемые MySQL (продолжение)

Описание таблицы items

Описание таблицы categories

Таблица items Таблица categories dateauthornamecatid Кирсанов, Д.Цвет в веб-дизайне Семенов И.К вопросу об эффективности поиска конкретики в Интернете Олифер, Н.Сетевые операционные системы Андреев А.Исследование активности рынка интернет-ссылок в Рунете 1 namefilecatid Интернетда 1 Системанет 5 Офисда 2 Программированиеда 3 Интернетнет 4

CREATE TABLE categories ( id smallint UNSIGNED AUTO_INCREMENT, name varchar( 15 ) NOT NULL, file bool NOT NULL, PRIMARY KEY ( id ) )

CREATE TABLE items (id smallint UNSIGNED AUTO_INCREMENT, autor varchar(40) NOT NULL, name varchar(80) NOT NULL, added date NOT NULL, href varchar(255), catid smallint NOT NULL, PRIMARY KEY (id))

Удаление таблиц и баз данных DROP TABLE имя_таблицы;

Изменение записей таблицы

Добавление записи INSERT INTO ( ) VALUES ( );

Пример: INSERT INTO items (name, author) VALUES ("Цвет в веб-дизайне", "Кирсанов, Д.");

UPDATE SET =, =... WHERE ; Изменение записи

Например UPDATE categories SET name="Internet" WHERE id=1;

DELETE FROM WHERE ; Удаление записи

Пример: DELETE FROM categories WHERE id=3;

SELECT [DISTINCT] * | FROM ; Если вместо списка полей подставить знак звездочка (*), будут выбраны все поля. Простейший запрос выборки данных

Примеры SELECT * FROM items; SELECT name FROM categories;

Список значений поля name таблицы categories, возвращенных запросом SQL SELECT name FROM categories;

Если указано ключевое слово DISTINCT, то возвращаются только уникальные строки. Например, запрос: SELECT DISTINCT name FROM categories; вернет результат Вместо двух строк «Интернет» получили одну.

Сортировка данных Для задания порядка сортировки служит дополнительные ключевые слова ORDER BY, которые ставятся в конец запроса:... ORDER BY

Критерии сортировки имеют такой вид: [DESC]

Поля, по которым должна вестись сортировка записей, перечисляются через запятую после ключевого слова ORDER BY, которое, в свою очередь, ставится в конце запроса перед знаком точки с запятой. Правила сортировки: 1. Сначала записи сортируются по полю, указанному первым в списке. 2. Если для некоторых записей значения этого поля одинаковы, то записи далее сортируются по полю, указанному вторым в списке. 3. Если для каких-то записей значения и этого поля одинаковы, то они будут отсортированы по полю, указанному третьим в списке. 4. И т.д.

По умолчанию записи сортируются, так, чтобы значения поля выстроились по возрастанию. Если нужно отсортировать их по убыванию значений данного поля, нужно после имени этого поля поставить ключевое слово DESC.

Примеры: SELECT * FROM items ORDER BY author; SELECT file, name FROM categories ORDER BY file, name DESC;

Фильтрация данных Для фильтрации используется ключевое слово WHERE. Это слово ставится между ключевыми словами FROM и ORDER BY:... WHERE...

Сами критерии фильтрации имеют вид:

Оператор сравнения задает равенство или неравенство заданного значения и значения поля. Например: id = 3 имя поля оператор сравнения заданное значение

Доступные в стандарте SQL операторы сравнения

SELECT * FROM items WHERE author="Кирсанов, Д."; SELECT * FROM items WHERE author<>"Андреев, А.";

Строковые величины, являющиеся частью критериев в запросах SQL, должны заключаться в кавычки!

SELECT * FROM items WHERE author="Кирсанов, Д." OR author="Андреев, А."; SELECT id FROM categories WHERE name="Интернет" AND file=true; Логические операторы OR и AND

SELECT * FROM categories WHERE NOT id = 3; Логический оператор NOT (НЕ)

Логические операторы можно комбинировать SELECT * FROM items WHERE NOT (author="Кирсанов, Д." OR author="Андреев, А."); SELECT * FROM items WHERE NOT author="Кирсанов, Д." OR author="Андреев, А.";

Задание связей между таблицами Чтобы связать две таблицы и получить из них данные, используется ключевое слово WHERE. SELECT items.author, items.name, categories.name FROM items, categories WHERE items.catid=categories.id;

SELECT items.author, items.name, categories.name FROM items, categories WHERE items.catid=categories.id;

authorname Кирсанов, Д.Цвет в веб-дизайне Интернет Семенов И.К вопросу об эффективности поиска конкретики в Интернете Интернет Олифер, Н.Сетевые операционные системы Система Андреев А.Исследование активности рынка интернет-ссылок в Рунете Интернет

SELECT items.author, items.name, categories.name FROM items, categories WHERE items.catid=categories.id AND categories.file=false ORDER BY categories.name, items.name;

Псевдонимы полей Язык SQL предоставляет возможность дать полю другое имя (так называемый псевдоним). Псевдоним создается с помощью ключевого слова AS: SELECT... AS,...

SELECT items.author, items.name AS item_name, categories.name AS cat_name FROM items, categories WHERE items.catid=categories.id AND categories.file=false ORDER BY categories.name, items.name;

Агрегатные функции SQL Группировка это объединение записей в группы по какому-либо критерию, называемому критерием группировки. Выполняется группировка с помощью ключевого слова GROUP BY, после которого записываются сами критерии группировки: GROUP BY Ставится перед ключевыми словами ORDER BY.

Поля, по которым ведется группировка записей, должны быть первыми в списке полей ключевого слова SELECT и располагаться в том же порядке, в котором они перечислены после ключевого слова GROUP BY. Поля, по которым ведется группировка записей, должны быть первыми в списке полей ключевого слова ORDER BY и, опять же, располагаться в том же порядке, в котором они перечислены после ключевого слова GROUP BY.

Нужно получить количество статей в каждой категории. SELECT categories.name, COUNT(items.name) AS item_count FROM items, categories WHERE items.catid=categories.id AND categories.file=false GROUP BY categories.name ORDER BY categories.name;

Результат:

Агрегатные функции в языке SQL