Язык sql команды языка определения данных

SQL команды

Выделяют следующие группы команд SQL:

Команды языка определения данных

Команды языка определения данных DDL (Data Definition Language, язык определения данных) — это подмножество SQL, используемое для определения и модификации различных структур данных.
К данной группе относятся команды предназначенные для создания, изменения и удаления различных объектов базы данных. Команды CREATE (создание), ALTER (модификация) и DROP (удаление) имеют большинство типов объектов баз данных (таблиц, представлений, процедур, триггеров, табличных областей, пользователей и др.). Т.е. существует множество команд DDL, например, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE TRIGGER, CREATE USER, CREATE ROLE и т.д.

Некоторым кажется, что применение DDL является прерогативой администраторов базы данных, а операторы DML должны писать разработчики, но эти два языка не так-то просто разделить. Сложно организовать аффективный доступ к данным и их обработку, не понимая, какие структуры доступны и как они связаны. Также сложно проектировать соответствующие структуры, не зная, как они будут обрабатываться.

Команды языка управления данными

С помощью команд языка управления данными ( DCL (Data Control Language) ) можно управлять доступом пользователей к базе данных. Операторы управления данными включают в себя применяемые для предоставления и отмены полномочий команды GRANT и REVOKE, а также команду SET ROLE, которая разрешает или запрещает роли для текущего сеанса.

Команды языка управления транзакциями

Команды языка управления транзакциями ( TCL (Тгаnsасtiоn Соntrol Language) ) команды позволяют определить исход транзакции.
Команды управления транзакциями управляют изменениями в базе данных, которые осуществляются командами манипулирования данными.
Транзакция (или логическая единица работы) – неделимая с точки зрения воздействия на базу данных последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации) такая, что либо результаты всех операторов, входящих в транзакцию, отображаются в БД, либо воздействие всех этих операторов полностью отсутствует.
COMMIT — заканчивает («подтверждает») текущую транзакцию и делает постоянными (сохраняет в базе данных) изменения, осуществленные этой транзакцией. Также стирает точки сохранения этой транзакции и освобождает ее блокировки. Можно также использовать эту команду для того, чтобы вручную подтвердить сомнительную распределенную транзакцию.
ROLLBACK — выполняет откат транзакции, т.е. отменяет все изменения, сделанные в текущей транзакции. Можно также использовать эту команду для того, чтобы вручную отменить работу, проделанную сомнительной распределенной транзакцией.
Понятие транзакции имеет непосредственную связь с понятием целостности базы данных. Очень часто база данных может обладать такими ограничениями целостности, которые просто невозможно не нарушить, выполняя только один оператор изменения БД. Например, невозможно принять сотрудника в отдел, название и код которого отсутствует в базе данных.
В системах с развитыми средствами ограничения и контроля целостности каждая транзакция начинается при целостном состоянии базы данных и должна оставить это состояние целостными после своего завершения. Несоблюдение этого условия приводит к тому, что вместо фиксации результатов транзакции происходит ее откат (т.е. вместо оператора COMMIT выполняется оператор ROLLBACK), и база данных остается в таком состоянии, в котором находилась к моменту начала транзакции, т.е. в целостном состоянии.
В связи со свойством сохранения целостности БД транзакции являются подходящими единицами изолированности пользователей, т.е., если с каждым сеансом работы с базой данных ассоциируется транзакция, то каждый пользователь начинает работу с согласованным состоянием базы данных, т.е. с таким состоянием, в котором база данных могла бы находиться, даже если бы пользователь работал с ней в одиночку.

Команды языка манипулирования данными

Команды языка манипулирования данными

Команды языка манипулирования данными DML (Data Manipulation Language) позволяют пользователю перемещать данные в базу данных и из нее:

Каждый, кто работает с SQL в среде Oracle, должен вооружиться книгами: справочником по языку SQL, таким как «Oracle SQL: The Essential Reference? (O’Reilly), руководством по оптимизации производительности, например «Oracle SQL Tuning Pocket Reference» (O’Reilly).

Вы должны войти, чтобы оставить комментарий.

Источник

SQL. Язык определения данных

Лабораторная работа № 8

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

Поэтому в язык SQL в качестве составных частей входят:

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

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

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

Подчеркнем, что это не отдельные языки, а различные команды одного языка. Такое деление проведено только лишь с точки зрения различного функционального назначения этих команд.

CREATE DATABASE (создать базу данных)

CREATE TABLE (создать таблицу)

CREATE INDEX (создать индекс)

ALTER DATABASE (модифицировать базу данных)

ALTER TABLE(модифицировать таблицу)

ALTER INDEX(модифицировать индекс)

DROP DATABASE (удалить базу данных)

DROP TABLE(удалить таблицу)

DROP INDEX (удалить индекс)

Создать таблицу для хранения данных можно с помощью команды CREATE TABLE языка SQL. Это одна из команд языка определения данных DDL. Команды DDL являются подмножеством команд SQL и используются для создания, изменения и удаления структур базы данных.

Создание таблицы CREATE TABLE имя_таблицы
Определение столбцов (ПОЛЕ тип данных, [DEFAULT значение NOT NULL] Значение по Нет Умолчанию отсутствующих
Первичный ключ Primary key (поле, …),
Определение ограничения Constraint имя ограничения
Определение внешнего ключа Foreign key (поле, …) references имя таблицы (поле, …) On delete Cascade Set null No action Set default On update Cascade Set null No action Set default

CREATE TABLE groups

(id NUMBER CONSTRAINT groups_pk PRIMARY KEY,

num_gr CHAR(8) not null,

form CHAR(2) not null,

CONSTRAINT groups_uk UNIQUE (num_gr, form),

Команда создает таблицу GROUPS. Столбцы

id (уникальный идентификатор),

num_gr (номер группы, например, 3091),

form (форма обучения, дневная (Д) или заочная (З)).

Пример2:

CREATE TABLE students

(id NUMBER CONSTRAINT stud_pk PRIMARY KEY,

surname CHAR(100) not null,

name CHAR(100) not null,

patron CHAR(100) not null,

gr_id number not null,

CONSTRAINT stud_gr_id_fk FOREIGN KEY (gr_id)REFERENCES groups( id) ON DELETE CASCADE);

Команда создает таблицу STUDENTS. Столбцы

id (уникальный идентификатор),

patron – отчество студента,

gr_id – внешний ключ, ссылающийся на первичный ключ таблицы GROUPS.

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

Отметим, что таблицы создаются пустыми, а данные в них вносятся с помощью команды Insert.

Тип данных Описание
CHAR(длина) CHARACTER(длина) Строки символов постоянной длины
VARCHAR(длина) CHAR VARYING(длина) CHARACTER VARYING(длина) Строки символов переменной длины
INTEGER INT Целые числа
SMALLINT Малые целые числа
NUMERIC(точность, степень) DECIMAL(точность, степень) DEC(точность, степень) Десятичные числа
FLOAT(точность) Числа с плавающей запятой
REAL Числа с плавающей запятой низкой точности
DOUBLE PRECISION Числа с плавающей запятой высокой точности
DATE Дата
TIME(точность) Время
TIMESTAMP(точность) Дата и время
INTERVAL Временной интервал

Упражнения:

1. Записать инструкцию SQLдля создания таблицы Students с полями:

student_id (номер студента),

surname (фамилия),

name (имя),

_year (курс),

_group (группа),

city (город),

faculty (факультет),

the_head (староста).

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

Поле student_id является первичным ключом таблицы students.

Значение поля Курс находится в пределах от 1 до 5.

По умолчанию полю City присваивается значение Братск,

значение поля faculty получаем из списка: .

Поля номер студента, фамилия, имя, курс и группа не могут принимать значения Null.

2. Записать инструкцию SQL для создания таблицы Subjects (предметы) с полями: subject_id (номер предмета),

Subject_name (название предмета),

Lecturer (преподаватель),

Appointment (должность преподавателя),

Semester (семестр), _

Hours (часы).

Поле subject_id является первичным ключом таблицы. Поле Subject_name не может принимать значения Null. Значение поля Семестр находится в пределах от 1 до 10. По умолчанию полю Hours присваивается значение 0.0, значение поля Appointment получаем из списка: <ассистент, старший преподаватель, доцент, профессор>.

Задания к лабораторной работе:создать таблицы для БД «Детали и поставщики».

1. Создайте в MS Access БД с названием Детали и поставщики.

2. Перейдите в режим создания запроса на выборку. Закройте окно добавления таблиц и выполните команды меню Запрос – Запрос SQL – Управление.

3. В открывшемся окне наберите соответствующую инструкцию на создание таблицы «Поставщики», которая состоит из атрибутов:

Источник

Язык запросов SQL

Система управления базами данных (СУБД) — это отдельная программа, которая работает как сервер, независимо от PHP.
Создавать свои базы данных, таблицы и наполнять их данными можно прямо из этой же программы, но для выполнения этих операций прежде придётся познакомиться с ещё одним языком программирования — SQL.

SQL или Structured Query Language (язык структурированных запросов) — язык программирования, предназначенный для управления данными в СУБД. Все современные СУБД поддерживают SQL.

На языке SQL выражаются все действия, которые можно провести с данными: от записи и чтения данных, до администрирования самого сервера СУБД.
Для повседневной работы совсем не обязательно знать весь этот язык; достаточно ознакомиться лишь с основными понятиями синтаксиса и ключевыми словами. Кроме того, SQL очень простой язык по своей структуре, поэтому его освоение не составит большого труда.

Язык SQL — это в первую очередь язык запросов, а кроме того он очень похож на естественный язык.
Каждый раз, когда требуется прочитать или записать любую информацию в БД, требуется составить корректный запрос. Такой запрос должен быть выражен в терминах SQL.

Если перевести этот запрос на язык SQL, то корректным результатом будет:

Теперь напишем запрос на добавление в таблицу города нового города:

Эта команда создаст в таблице ‘города’ новую запись, где полю ‘имя города’ будет присвоено значение ‘Санкт-Петербург’.

С помощью SQL можно не только добавлять и читать данные, но и:

MySQL

Существует множество различных реляционных СУБД. Самая известная СУБД — это Microsoft Access, входящая в состав офисного пакета приложений Microsoft Office.
Нет никаких препятствий для использования в качестве СУБД MS Access, но для задач веб-программирования гораздо лучше подходит альтернативная программа — MySQL.
В отличие от MS Access, MySQL абсолютно бесплатна, может работать на серверах с Linux, обладает гораздо большей производительностью и безопасностью, что делает её идеальным кандидатом на роль базы данных в веб-разработке.
Подавляющее большинство сайтов и приложений на PHP используют в качестве СУБД именно MySQL.

Установка

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

Последняя версия MySQL доступна для загрузке по ссылке: https://dev.mysql.com/downloads/mysql/
На этой странице следует выбрать «MySQL Installer for Windows» и нажать на кнопку «Download» для загрузки.

В процессе установки запомните директорию, куда вы устанавливаете MySQL (скрывается под ссылкой «Advanced options»).
На шаге «Accounts and Roles» установщик потребует придумать пароль для доступа к БД (MySQL Root Password) — обязательно запомните или запишите этот пароль — он вам ещё понадобится.

Выполнение запросов

По умолчанию, если вы не устанавливали дополнительные программы, у MySQL нет графического интерфейса пользователя. Это значит, что единственный способ работы с ней — это использование командной строки.

Если вы всё выполнили верно, то в командной строке запустится клиент для работы с MySQL (вы поймете это по строке приглашения «mysql>»). С этого момента можно вводить любые SQL запросы, но каждый запрос обязательно должен заканчиваться точкой с запятой ;

Оператор SQL create database: создание новой базы данных

Приступим к практике — начнём создавать базу данных для ведения погодного дневника.
Начать следует с создания новой базы данных для нашего сайта.
Новая БД в MySQL создаётся простой командой: CREATE DATABASE

Оператор create table: создание таблиц

Создав новую БД, сообщим MySQL, что теперь мы собираемся работать именно с ней.
Выбор активной БД выполняется командой: USE ;

Пришло время создать первые таблицы!
Для ведения дневника по всем правилам, понадобится создать три таблицы: города (cities), пользователи (users) и записи о погоде (weather_log).
В подразделе «Запись» этой главы описано, как должна выглядеть структура таблицы weather_log. Переведём это описание на язык SQL:

Чтобы ввести многострочную команду в командной строке используйте символ \ в конце каждой строки (кроме последней).

Теперь создадим таблицу городов:

Первичный ключ

Оператор insert into: добавление записи в таблицу

Начнём с добавления новых данных в таблицу. Для добавления записи используется следующий синтаксис:

В начале добавим город в таблицу городов:

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

Оператор select: чтение информации из БД

Например, чтобы получить список всех доступных городов:

Все погодные записи:

Оператор update: обновление информации в БД

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

Но чтобы правильно составить запрос, необходимо определить условие для поиска записи, которую предлагается обновить. В противном случае, если не указать это условие, то будут обновлены абсолютно все записи в таблице.
В качестве такого условия лучше всего использовать первичный идентификатор записи. Поэтому, прежде чем выполнять запрос обновления, нужно выполнить запрос на чтение информации из таблицы, чтобы узнать, под каким идентификатором сохранилась ошибочная запись.
Допустим, этот идентификатор — единица, а правильная дата — пятое сентября 2017 года.

Запрос на обновление:

Оператор join: объединение записей из двух таблиц

Поменяем запрос на показ погодных записей, чтобы он объединял две таблицы, а в поле города показывалось его название, а не идентификатор:

Источник

Поделиться с друзьями
admin
Оцените автора
( Пока оценок нет )
Как переводится?
Adblock
detector